[llvm] [WIP][X86] lowerBuildVectorAsBroadcast - don't convert constant vectors to broadcasts on AVX512VL targets (PR #73509)

Phoebe Wang via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 27 05:15:32 PST 2023


================
@@ -7114,6 +7114,12 @@ static SDValue lowerBuildVectorAsBroadcast(BuildVectorSDNode *BVOp,
   assert((VT.is128BitVector() || VT.is256BitVector() || VT.is512BitVector()) &&
          "Unsupported vector type for broadcast.");
 
+  // On AVX512VL targets we're better off keeping the full width constant load
+  // and letting X86FixupVectorConstantsPass handle conversion to
+  // broadcast/broadcast-fold.
+  if (Subtarget.hasAVX512() && Subtarget.hasVLX() && BVOp->isConstant())
----------------
phoebewang wrote:

Don't need `hasAVX512()` when checking `hasVLX()`

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


More information about the llvm-commits mailing list