[llvm] [AArch64][SME] Use entry pstate.sm for conditional streaming-mode chnges (PR #152169)
Benjamin Maxwell via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 5 09:21:52 PDT 2025
================
@@ -3336,18 +3331,19 @@ define i32 @svecc_call_dynamic_alloca(<4 x i16> %P0, i32 %P1, i32 %P2, <vscale x
; CHECK64-NEXT: .cfi_escape 0x10, 0x4e, 0x0b, 0x11, 0x80, 0x7f, 0x22, 0x11, 0x48, 0x92, 0x2e, 0x00, 0x1e, 0x22 // $d14 @ cfa - 128 - 56 * VG
; CHECK64-NEXT: .cfi_escape 0x10, 0x4f, 0x0b, 0x11, 0x80, 0x7f, 0x22, 0x11, 0x40, 0x92, 0x2e, 0x00, 0x1e, 0x22 // $d15 @ cfa - 128 - 64 * VG
; CHECK64-NEXT: sub sp, sp, #64
-; CHECK64-NEXT: mov w9, w0
-; CHECK64-NEXT: mov x8, sp
-; CHECK64-NEXT: mov w2, w1
-; CHECK64-NEXT: add x9, x9, #15
; CHECK64-NEXT: mov x19, sp
-; CHECK64-NEXT: and x9, x9, #0x1fffffff0
-; CHECK64-NEXT: sub x8, x8, x9
+; CHECK64-NEXT: mov w2, w1
+; CHECK64-NEXT: mov w8, w0
+; CHECK64-NEXT: bl __arm_sme_state
----------------
MacDue wrote:
Note: We can use `mrs $var, SVCR` when we have `+sme` which further cleans up code-gen (by not clobbering x0 and x1).
https://github.com/llvm/llvm-project/pull/152169
More information about the llvm-commits
mailing list