HomePhabricator

[SystemZ] Eliminate the need to create a zero vector by reusing the VPERM mask.

Authored by jonpa on May 13 2020, 5:19 AM.

Description

[SystemZ] Eliminate the need to create a zero vector by reusing the VPERM mask.

Try to avoid creating VGBMs by reusing the permutation mask if it contains a
zero. If the first byte was into (any byte of) a zero vector, then the first
byte of the mask can become zero and reused by putting the mask also as the
first operand. If there instead was a first-byte use of the other source
operand, then that zero index can be reused if the mask is placed as the
second operand.

Review: Ulrich Weigand

Differential Revision: https://reviews.llvm.org/D79925