[llvm] [AArch64] Define GCS operations as SYS and SYSL aliases (PR #203564)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 2 09:16:27 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",
----------------
CarolineConcatto wrote:

I think if we keep the alias we avoid having to change to check if this is a instruction that could use the alias instead of sys.
Is that right @jthackray , IMO if that is true we should keep as it is.

https://github.com/llvm/llvm-project/pull/203564


More information about the llvm-commits mailing list