[llvm] [AArch64] Implement spill/fill of predicate pair register classes (PR #76068)
Paul Walker via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 21 06:14:45 PST 2023
================
@@ -2378,11 +2378,13 @@ let Predicates = [HasSVEorSME] in {
def LDR_ZZXI : Pseudo<(outs ZZ_b_strided_and_contiguous:$Zd), (ins GPR64sp:$sp, simm4s1:$offset),[]>, Sched<[]>;
def LDR_ZZZXI : Pseudo<(outs ZZZ_b:$Zd), (ins GPR64sp:$sp, simm4s1:$offset),[]>, Sched<[]>;
def LDR_ZZZZXI : Pseudo<(outs ZZZZ_b_strided_and_contiguous:$Zd), (ins GPR64sp:$sp, simm4s1:$offset),[]>, Sched<[]>;
+ def LDR_PPXI : Pseudo<(outs PPR2:$pp), (ins GPR64sp:$sp, simm4s1:$offset),[]>, Sched<[]>;
----------------
paulwalker-arm wrote:
`simm4s1` seems weird given the underlying instructions use `simm9` but then we don't target the pseudos via ISEL so I guess it doesn't really matter. It's also consistent with the existing pseudos, which also look wrong.
https://github.com/llvm/llvm-project/pull/76068
More information about the llvm-commits
mailing list