[llvm] [LV] Convert scatter stores with constant stride into strided stores (PR #206896)
Mel Chen via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 22 00:50:15 PDT 2026
================
@@ -3105,6 +3105,18 @@ static VPRecipeBase *optimizeMaskToEVL(VPValue *HeaderMask,
SpliceR, EVL, Mask);
}
+ if (match(&CurRecipe, m_Intrinsic<Intrinsic::experimental_vp_strided_store>(
+ m_VPValue(StoredVal), m_VPValue(Addr),
+ m_VPValue(Stride), m_RemoveMask(HeaderMask, Mask),
+ m_TruncOrSelf(m_Specific(&Plan->getVF()))))) {
+ if (!Mask)
+ Mask = Plan->getTrue();
+ auto *NewStore = cast<VPWidenMemIntrinsicRecipe>(&CurRecipe)->clone();
+ NewStore->setOperand(3, Mask);
----------------
Mel-Chen wrote:
https://github.com/llvm/llvm-project/pull/211193
https://github.com/llvm/llvm-project/pull/206896
More information about the llvm-commits
mailing list