[PATCH] D13648: AVX512: shuff62x2 DAG lowering

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 12 10:53:45 PDT 2015


RKSimon added inline comments.

================
Comment at: lib/Target/X86/Utils/X86ShuffleDecode.h:91
@@ -88,1 +90,3 @@
+void DecodeVSHUF128Mask(MVT VT, unsigned Imm,
+                          SmallVectorImpl<int> &ShuffleMask);
 
----------------
Shouldn't this be called DecodeVSHUF64x2Mask?

================
Comment at: lib/Target/X86/X86ISelLowering.cpp:10727
@@ +10726,3 @@
+  if (!canWidenShuffleElements(Mask, WidenedMask))
+    return SDValue();
+
----------------
Is this actually necessary? I'd expect it to have been dealt with by canonicalization in lowerVectorShuffle.

================
Comment at: test/CodeGen/X86/avx512-intrinsics.ll:4184
@@ -4185,1 +4183,3 @@
+; CHECK:         vshuff64x2 $22, %zmm1, %zmm0, %zmm0
+; CHECK:         vaddpd %zmm0, %zmm2, %zmm0
 ; CHECK-NEXT:    vaddpd %zmm3, %zmm0, %zmm0
----------------
Why isn't this CHECK-NEXT any more?

================
Comment at: test/CodeGen/X86/avx512-intrinsics.ll:4185
@@ -4185,2 +4184,3 @@
+; CHECK:         vaddpd %zmm0, %zmm2, %zmm0
 ; CHECK-NEXT:    vaddpd %zmm3, %zmm0, %zmm0
 ; CHECK-NEXT:    retq
----------------
Why isn't this CHECK-NEXT any more?

================
Comment at: test/CodeGen/X86/avx512-intrinsics.ll:4221
@@ -4222,1 +4220,3 @@
+; CHECK:         vshufi64x2 $22, %zmm1, %zmm0, %zmm0
+; CHECK:         vpaddq %zmm0, %zmm2, %zmm0
 ; CHECK-NEXT:    retq
----------------
Why isn't this CHECK-NEXT any more?

================
Comment at: test/CodeGen/X86/vector-shuffle-512-v8.ll:1237
@@ +1236,3 @@
+; ALL-NEXT:    vpmovsxwq %xmm1, %zmm1
+; ALL-NEXT:    vpandq {{.*}}(%rip){1to8}, %zmm1, %zmm1
+; ALL-NEXT:    vptestmq %zmm1, %zmm1, %k1
----------------
Nothing to do with this patch but its a shame that this is ANDing with a 512-bit constant mask instead of pre-ANDing with a 128-bit constant mask and then calling vpmovzxwq.


Repository:
  rL LLVM

http://reviews.llvm.org/D13648





More information about the llvm-commits mailing list