[compiler-rt] [AArch64][SME] Rewrite __arm_get_current_vg to preserve required registers (PR #100143)

Sander de Smalen via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 23 08:47:40 PDT 2024


================
@@ -180,6 +184,48 @@ DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED(__arm_za_disable)
   ret
 END_COMPILERRT_OUTLINE_FUNCTION(__arm_za_disable)
 
+DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED(__arm_get_current_vg)
+  .variant_pcs __arm_get_current_vg
+  BTI_C
+  mov x0, xzr
+
+  stp     x29, x30, [sp, #-16]!
+  .cfi_def_cfa_offset 16
+  mov     x29, sp
+  .cfi_def_cfa w29, 16
+  .cfi_offset w30, -8
+  .cfi_offset w29, -16
+  mov     x17, x1
+  bl      __arm_sme_state
----------------
sdesmalen-arm wrote:

Should this call be moved into the `0:` branch?

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


More information about the llvm-commits mailing list