[llvm] [AArch64][SVE] Pair SVE fill/spill into LDP/STP with -msve-vector-bits=128. (PR #134068)
Paul Walker via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 7 04:43:34 PDT 2025
================
@@ -2782,6 +2815,9 @@ bool AArch64LoadStoreOpt::tryToMergeIndexLdSt(MachineBasicBlock::iterator &MBBI,
bool AArch64LoadStoreOpt::optimizeBlock(MachineBasicBlock &MBB,
bool EnableNarrowZeroStOpt) {
AArch64FunctionInfo &AFI = *MBB.getParent()->getInfo<AArch64FunctionInfo>();
+ bool const CanPairFillSpill = EnableSVEFillSpillPairing &&
+ Subtarget->isSVEorStreamingSVEAvailable() &&
+ Subtarget->getSVEVectorSizeInBits() == 128;
----------------
paulwalker-arm wrote:
I believe the transformation should be disable for big-endian? because SVE LDR performs 8-bit accesses but SIMD LDP accesses are 128-bit.
https://github.com/llvm/llvm-project/pull/134068
More information about the llvm-commits
mailing list