[llvm] [AArch64] Account for fixed-SVE high-lane insertelement/extractelement costs (PR #219244)
Utpal Bora via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 2 08:50:59 PDT 2026
================
@@ -5744,12 +5759,16 @@ InstructionCost AArch64TTIImpl::getInterleavedMemoryOpCost(
if (VecTy->isScalableTy() && !isPowerOf2_32(Factor))
return InstructionCost::getInvalid();
+ auto MaxNativeInterleaveFactor = TLI->getMaxSupportedInterleaveFactor();
// Vectorization for masked interleaved accesses is only enabled for scalable
- // VF.
- if (!VecTy->isScalableTy() && (UseMaskForCond || UseMaskForGaps))
+ // VF. For fixed-length SVE, avoid non-native interleave factor because
+ // the generic fallback costs wide fixed-vector shuffles too optimistically.
+ if (!VecTy->isScalableTy() && (UseMaskForCond || UseMaskForGaps ||
----------------
utpalbora wrote:
Updated. Thanks for the suggestion.
https://github.com/llvm/llvm-project/pull/219244
More information about the llvm-commits
mailing list