[llvm] [AArch64] Remove copy in SVE/SME predicate spill and fill (PR #81716)
Sander de Smalen via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 28 06:46:13 PST 2024
================
@@ -6680,7 +6680,7 @@ multiclass sve_mem_z_spill<string asm> {
}
class sve_mem_p_spill<string asm>
-: I<(outs), (ins PPRAny:$Pt, GPR64sp:$Rn, simm9:$imm9),
+: I<(outs), (ins PPRorPNRAny:$Pt, GPR64sp:$Rn, simm9:$imm9),
----------------
sdesmalen-arm wrote:
This removes the need for having the following InstAliases in AArch64SVEInstrInfo.td:
```
// Aliases for existing SVE instructions for which predicate-as-counter are
// accepted as an operand to the instruction
def : InstAlias<"ldr $Pt, [$Rn, $imm9, mul vl]",
(LDR_PXI PNRasPPRAny:$Pt, GPR64sp:$Rn, simm9:$imm9), 0>;
def : InstAlias<"ldr $Pt, [$Rn]",
(LDR_PXI PNRasPPRAny:$Pt, GPR64sp:$Rn, 0), 0>;
def : InstAlias<"str $Pt, [$Rn, $imm9, mul vl]",
(STR_PXI PNRasPPRAny:$Pt, GPR64sp:$Rn, simm9:$imm9), 0>;
def : InstAlias<"str $Pt, [$Rn]",
(STR_PXI PNRasPPRAny:$Pt, GPR64sp:$Rn, 0), 0>;
```
Can you remove them?
https://github.com/llvm/llvm-project/pull/81716
More information about the llvm-commits
mailing list