[llvm] [AArch64] Define GCS operations as SYS and SYSL aliases (PR #203564)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 2 06:46:50 PDT 2026
================
@@ -2549,6 +2501,25 @@ def : InstAlias<"brb\tinj",
(SYSxt 1, 7, 2, 5, XZR), 2>, Requires<[HasBRBE]>;
def : InstAlias<"trcit $Rt",
(SYSxt 3, 7, 2, 7, GPR64:$Rt), 2>, Requires<[HasITE]>;
+def : InstAlias<"gcspushx",
+ (SYSxt 0, 7, 7, 4, XZR), 2>, Requires<[HasGCS]>;
+def : InstAlias<"gcspopcx",
+ (SYSxt 0, 7, 7, 5, XZR), 2>, Requires<[HasGCS]>;
+def : InstAlias<"gcspopx",
+ (SYSxt 0, 7, 7, 6, XZR), 2>, Requires<[HasGCS]>;
+def : InstAlias<"gcspushm $Rt",
----------------
Lukacma wrote:
I think since you need to create a new class anyway for those gcs intsructions for which Rt is both input and output, there is no reason to implement them as aliases but rather they can stay as a separate class. I think for these we rather need to have certain sys and sysl instructions alias to that class.
https://github.com/llvm/llvm-project/pull/203564
More information about the llvm-commits
mailing list