[llvm-branch-commits] [llvm] [AArch64] Define GCS operations as SYS and SYSL aliases (PR #203564)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Jun 12 09:31:10 PDT 2026
================
@@ -2164,6 +2162,23 @@ class SystemLXtI<bit L, string asm>
let Inst{7-5} = op2;
}
+class SystemLXtI<bit L, string asm>
+ : BaseSystemLXtI<L, (outs GPR64:$Rt),
+ (ins imm0_7:$op1, sys_cr_op:$Cn, sys_cr_op:$Cm, imm0_7:$op2), asm>;
+
+// Codegen-only GCS SYSL operations preserve the incoming Rt value when GCS is
+// disabled at runtime, so keep a tied def/use pseudo until asm emission.
+class GCSTiedSystemLXtPseudo
+ : Pseudo<(outs GPR64:$Rt),
+ (ins GPR64:$_Rt, imm0_7:$op1, sys_cr_op:$Cn, sys_cr_op:$Cm,
+ imm0_7:$op2), [], "$Rt = $_Rt">,
+ Sched<[WriteSys]> {
----------------
CarolineConcatto wrote:
Why are we adding this to the scheduler? This was not there before.
https://github.com/llvm/llvm-project/pull/203564
More information about the llvm-branch-commits
mailing list