[PATCH] D13252: [InstCombine] Teach how to convert SSSE3/AVX2 byte shuffles to builtin shuffles if the shuffle mask is constant.

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 29 10:20:33 PDT 2015


RKSimon added a comment.

Query about AVX2 instruction.


================
Comment at: lib/Transforms/InstCombine/InstCombineCalls.cpp:1184
@@ +1183,3 @@
+      // lane only. Indices for the high 128-bit lane can be deduced from
+      // the indices in the lower half of the resulting shuffle mask.
+      for (unsigned I = 0; I < 16; ++I) {
----------------
I don't think this is correct - AVX2 pshufb doesn't reuse the lower 128-bit lane it uses its own lane but with 'local' index values (0-15 representing the 16-31 of a shufflevector),

https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=shuffle_epi8&expand=4700


http://reviews.llvm.org/D13252





More information about the llvm-commits mailing list