================
@@ -213,19 +213,18 @@ declare double @za_shared_callee(double)
"aarch64_inout_za"
define double @za_new_caller_to_za_shared_callee(double %x) nounwind noinline
optnone "aarch64_new_za"{
; CHECK-COMMON-LABEL: za_new_caller_to_za_shared_callee:
-; CHECK-COMMON: // %bb.0: // %prelude
+; CHECK-COMMON: // %bb.0: // %entry
; CHECK-COMMON-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill
-; CHECK-COMMON-NEXT: rdsvl x8, #1
; CHECK-COMMON-NEXT: mrs x8, TPIDR2_EL0
-; CHECK-COMMON-NEXT: cbz x8, .LBB6_2
-; CHECK-COMMON-NEXT: b .LBB6_1
-; CHECK-COMMON-NEXT: .LBB6_1: // %save.za
+; CHECK-COMMON-NEXT: cbnz x8, .LBB6_1
+; CHECK-COMMON-NEXT: b .LBB6_2
+; CHECK-COMMON-NEXT: .LBB6_1: // %entry
; CHECK-COMMON-NEXT: bl __arm_tpidr2_save
; CHECK-COMMON-NEXT: msr TPIDR2_EL0, xzr
+; CHECK-COMMON-NEXT: zero {za}
----------------
sdesmalen-arm wrote:
Is this correct? `smstart za` does not zero ZA. So if PSTATE.ZA=0 on entry,
then as per definition of `__arm_new("za")` it should explicitly zero ZA (it
might still have state from a previous use of ZA)
https://github.com/llvm/llvm-project/pull/172642
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits