[PATCH] D35772: [LV][X86] Support of AVX2 Gathers code generation and update the LV with this

Elena Demikhovsky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 1 10:39:48 PDT 2017


delena added inline comments.


================
Comment at: lib/Target/X86/X86ISelLowering.cpp:24197
+      else
+        Mask = DAG.getVectorShuffle(MVT::v4i32, dl,
+                                    DAG.getBitcast(MVT::v4i32, Mask),
----------------
I think that this transformation of mask is wrong for V2F32. unlike integer, it was widened to v4f32 and the mask should be correct.


================
Comment at: lib/Target/X86/X86TargetTransformInfo.cpp:2462
   // is better in the VariableMask case.
-  if (VF == 2 || (VF == 4 && !ST->hasVLX()))
+  if (ST->hasAVX512() && (VF == 2 || (VF == 4 && !ST->hasVLX())))
     Scalarize = true;
----------------
this "if" is not clear. Please add appropriate comments and describe what you are going to check.


================
Comment at: lib/Target/X86/X86TargetTransformInfo.cpp:2515
+  return (DataWidth == 32 || DataWidth == 64) &&
+         (ST->hasAVX512() || ST->hasAVX2());
 }
----------------
512 includes avx2


https://reviews.llvm.org/D35772





More information about the llvm-commits mailing list