================
@@ -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}
----------------
MacDue wrote:

Yes, `smstart za` zeros ZA in the transition from `off` -> `on`. See: 
https://www.scs.stanford.edu/~zyedidia/arm64/shared_pseudocode.html#impl-aarch64.SetPSTATE_ZA.1
 (note this is also somewhere on the official site).

https://github.com/llvm/llvm-project/pull/172642
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to