[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
Tue Apr 8 04:25:40 PDT 2025
================
@@ -2911,6 +2914,17 @@ bool AArch64InstrInfo::isCandidateToMergeOrPair(const MachineInstr &MI) const {
return false;
}
+ // Pairing SVE fills/spills is only valid for little-endian targets that
+ // implement VLS 128.
+ switch (MI.getOpcode()) {
+ default:
+ break;
+ case AArch64::LDR_ZXI:
+ case AArch64::STR_ZXI:
+ return Subtarget.isLittleEndian() &&
+ Subtarget.getSVEVectorSizeInBits() == 128;
----------------
paulwalker-arm wrote:
```suggestion
if (!Subtarget.isLittleEndian() ||
Subtarget.getSVEVectorSizeInBits() != 128)
return false;
```
So that we continue to bail based on the later check plus if anything new is added.
https://github.com/llvm/llvm-project/pull/134068
More information about the llvm-commits
mailing list