[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