[llvm] [AArch64][llvm] Redefine some insns as an alias of `SYS` (PR #187004)
Jonathan Thackray via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 28 08:20:54 PDT 2026
================
@@ -526,6 +533,45 @@ foo:
sys #4, c8, c7, #6, x31
; CHECK: tlbi vmalls12e1
+ sys #3, c7, c2, #7, x2
+; CHECK-ITE: trcit x2
+; CHECK-NO-ITE: sys #3, c7, c2, #7, x2
+
+ sys #3, c7, c7, #2, x20
+; CHECK-GCS: gcsss1 x20
+; CHECK-NO-GCS: sys #3, c7, c7, #2, x20
+ sysl x23, #3, c7, c7, #3
+; CHECK-GCS: gcsss2 x23
+; CHECK-NO-GCS: sysl x23, #3, c7, c7, #3
+ sys #3, c7, c7, #0, x24
+; CHECK-GCS: gcspushm x24
+; CHECK-NO-GCS: sys #3, c7, c7, #0, x24
+ sysl xzr, #3, c7, c7, #1
+; CHECK-GCS: gcspopm
+; CHECK-NO-GCS: sysl xzr, #3, c7, c7, #1
+ sysl x24, #3, c7, c7, #1
+; CHECK-GCS: gcspopm x24
+; CHECK-NO-GCS: sysl x24, #3, c7, c7, #1
+ sys #0, c7, c7, #4
+; CHECK-GCS: gcspushx
+; CHECK-NO-GCS: sys #0, c7, c7, #4
+ sys #0, c7, c7, #5
+; CHECK-GCS: gcspopcx
+; CHECK-NO-GCS: sys #0, c7, c7, #5
+ sys #0, c7, c7, #6
+; CHECK-GCS: gcspopx
+; CHECK-NO-GCS: sys #0, c7, c7, #6
+
+ sys #1, c7, c2, #4
+; CHECK-BRBE: brb iall
+; CHECK-NO-BRBE: sys #1, c7, c2, #4
+ sys #1, c7, c2, #5
+; CHECK-BRBE: brb inj
----------------
jthackray wrote:
Yes, they do decompose to `sys` without `+brbe`. However, `llvm/test/MC/AArch64/brbe.s` contains intentionally invalid msr testcases, so I've added a new test case, but had to use `split-file` to avoid these test cases.
https://github.com/llvm/llvm-project/pull/187004
More information about the llvm-commits
mailing list