This is an archive of the discontinued LLVM Phabricator instance.

[X86][SSE] Lower shuffles to permute(unpack(x,y)) (PR31151)
ClosedPublic

Authored by RKSimon on Sep 13 2018, 9:13 AM.

Details

Summary

Attempt to lower a shuffle as an unpack of elements from two inputs followed by a single-input (wider) permutation.

As long as the permutation is wider this is a win - there may be some circumstances where same size permutations would also be useful but I've left that for future work.

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon created this revision.Sep 13 2018, 9:13 AM

Looks alright to me, and cleaner than what I suggested in bug 31151. And the test results look great too.

Any more comments?

This revision is now accepted and ready to land.Sep 14 2018, 10:17 AM
This revision was automatically updated to reflect the committed changes.