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

Andrea Di Biagio via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 29 10:26:21 PDT 2015


andreadb added inline comments.

================
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) {
----------------
RKSimon wrote:
> 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
Right. This is wrong.
I will upload a new patch.

Thanks Simon.


http://reviews.llvm.org/D13252





More information about the llvm-commits mailing list