This is an archive of the discontinued LLVM Phabricator instance.

[x86][AArch64] ask the target whether it has a vector blend instruction
ClosedPublic

Authored by sebpop on Mar 5 2018, 1:27 PM.

Details

Summary

The code to match and produce more x86 vector blends was enabled for all
architectures even though the transform may pessimize the code for other
architectures that do not provide a vector blend instruction.

Added an aarch64 testcase to check that a VZIP instruction is generated instead
of byte movs.

Diff Detail

Repository
rL LLVM

Event Timeline

sebpop created this revision.Mar 5 2018, 1:27 PM

It LGTM, but I wonder how it affects other major targets, like PPC. It's probably a good idea to give them some time to ponder this change.

This doesn't seem to make any difference for SystemZ. Adding Hal, Kit, and Nemanja for PowerPC ...

We have fairly comprehensive handling for vector shuffles in the PPC back end so I don't think this affects us. As long as there are no lit failures for PPC, this can go ahead as far as I'm concerned.

This revision was not accepted when it landed; it landed in state Needs Review.Mar 9 2018, 6:31 AM
This revision was automatically updated to reflect the committed changes.