[libc] [llvm] [libcxx] [compiler-rt] [flang] [lld] [clang] Fix ISel crash when lowering BUILD_VECTOR (PR #73186)

Phoebe Wang via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 23 06:19:34 PST 2023


================
@@ -7254,6 +7255,10 @@ static SDValue lowerBuildVectorAsBroadcast(BuildVectorSDNode *BVOp,
     EVT CVT = Ld.getValueType();
     assert(!CVT.isVector() && "Must not broadcast a vector type");
 
+    // 512 bit vpbroadcastw is only available with AVX512BW
+    if (ScalarSize == 16 && IsGT256 && !Subtarget.hasBWI())
+      return SDValue();
----------------
phoebewang wrote:

The problem only exists for `v32f16` which is not handled by `PreprocessISelDAG`. Maybe we need add `v32f16` support there.

https://github.com/llvm/llvm-project/pull/73186


More information about the cfe-commits mailing list