[PATCH] D13644: AVX-512 bit shuffle in 32-bit mode - fixed a bug

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


RKSimon added inline comments.

================
Comment at: ../lib/Target/X86/X86ISelLowering.cpp:10746
@@ -10729,2 +10745,3 @@
+    MaskNode = DAG.getNode(ISD::BITCAST, DL, TargetMaskVT, MaskNode);
   if (isSingleInputShuffleMask(Mask))
     return DAG.getNode(X86ISD::VPERMV, DL, VT, MaskNode, V1);
----------------
Is the constant build vector splitting worth putting into a helper function instead of bulking out this function? I haven't actually checked if there is similar code anywhere else (possibly vector variable shifts?)

================
Comment at: ../test/CodeGen/X86/vector-shuffle-512-v8.ll:2
@@ -3,1 +1,3 @@
+; RUN: llc < %s -mcpu=x86-64 -mattr=+avx512f | FileCheck %s --check-prefix=ALL --check-prefix=AVX512F
+; RUN: llc < %s -mcpu=x86-64 -mtriple=i386-unknown-linux-gnu -mattr=+avx512f | FileCheck %s --check-prefix=ALL --check-prefix=AVX512F-32
 
----------------
You are setting a 64-bit cpu and then overriding with a 32-bit triple? Most of the vector shuffle test files are just using triples.

================
Comment at: ../test/CodeGen/X86/vector-shuffle-512-v8.ll:29
@@ +28,3 @@
+; AVX512F-32:       # BB#0:
+; AVX512F-32-NEXT:    vmovdqa64 {{.*#+}} zmm1 = [0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0]
+; AVX512F-32-NEXT:    vpermpd %zmm0, %zmm1, %zmm0
----------------
Should this be vmovdqa32?


Repository:
  rL LLVM

http://reviews.llvm.org/D13644





More information about the llvm-commits mailing list