[PATCH] D17916: [X86][AVX512] Fixed VPERMT2* shuffle mask decoding and enabled target shuffle combining.

Elena Demikhovsky via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 6 06:12:14 PST 2016


delena added inline comments.

================
Comment at: lib/Target/X86/Utils/X86ShuffleDecode.cpp:485
@@ -484,3 +484,3 @@
                       SmallVectorImpl<int> &ShuffleMask) {
-  for (int i = 0, e = RawMask.size(); i < e; ++i) {
-    uint64_t M = RawMask[i];
+  uint64_t EltMaskSize = Log2_64(RawMask.size() * 2);
+  for (auto M : RawMask) {
----------------
Let's assume that VT is v16i32. RawMask.size() = 16
log2(16*2) = log2(32) = 5

M &= 5           ??

I suppose it should be: Mask &= (RawMask.size() * 2 -1)


Repository:
  rL LLVM

http://reviews.llvm.org/D17916





More information about the llvm-commits mailing list