[llvm] [AArch64] Separate PNR into its own Register Class (PR #65306)
Sander de Smalen via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 19 07:30:08 PDT 2023
================
@@ -909,69 +929,89 @@ class PPRAsmOperand <string name, string RegClass, int Width>: AsmOperandClass {
let ParserMethod = "tryParseSVEPredicateVector<RegKind::SVEPredicateVector>";
}
-def PPRAsmOpAny : PPRAsmOperand<"PredicateAny", "PPR", 0>;
-def PPRAsmOp8 : PPRAsmOperand<"PredicateB", "PPR", 8>;
-def PPRAsmOp16 : PPRAsmOperand<"PredicateH", "PPR", 16>;
-def PPRAsmOp32 : PPRAsmOperand<"PredicateS", "PPR", 32>;
-def PPRAsmOp64 : PPRAsmOperand<"PredicateD", "PPR", 64>;
-
-def PPRAny : PPRRegOp<"", PPRAsmOpAny, ElementSizeNone, PPR>;
-def PPR8 : PPRRegOp<"b", PPRAsmOp8, ElementSizeB, PPR>;
-def PPR16 : PPRRegOp<"h", PPRAsmOp16, ElementSizeH, PPR>;
-def PPR32 : PPRRegOp<"s", PPRAsmOp32, ElementSizeS, PPR>;
-def PPR64 : PPRRegOp<"d", PPRAsmOp64, ElementSizeD, PPR>;
-
+def PPRAsmOpAny : PPRAsmOperand<"PredicateAny", "PPR", 0>;
----------------
sdesmalen-arm wrote:
Sorry, just ignore my comment above. The code is already in and used in `getPredicateRegisterClass` for inline-asm constraints. I'm not sure if anyone will ever use this for mask-predicates, but I guess there's no need to remove that functionality.
https://github.com/llvm/llvm-project/pull/65306
More information about the llvm-commits
mailing list