@@ -8,31 +8,31 @@ declare void @shared_za_callee() "aarch64_inout_za"
88define void @test_lazy_save () nounwind "aarch64_inout_za" {
99; CHECK-LABEL: test_lazy_save:
1010; CHECK: // %bb.0:
11- ; CHECK-NEXT: stp x30, x29, [sp, #-32]! // 16 -byte Folded Spill
12- ; CHECK-NEXT: str x19, [sp, #16 ] // 8 -byte Folded Spill
13- ; CHECK-NEXT: mov x29, sp
11+ ; CHECK-NEXT: str x19, [sp, #-32]! // 8 -byte Folded Spill
12+ ; CHECK-NEXT: stp x29, x30, [sp, #8 ] // 16 -byte Folded Spill
13+ ; CHECK-NEXT: add x29, sp, #8
1414; CHECK-NEXT: sub sp, sp, #16
1515; CHECK-NEXT: rdsvl x8, #1
1616; CHECK-NEXT: mul x9, x8, x8
1717; CHECK-NEXT: lsr x15, x9, #4
1818; CHECK-NEXT: bl __chkstk
1919; CHECK-NEXT: sub x9, sp, x15, lsl #4
2020; CHECK-NEXT: mov sp, x9
21- ; CHECK-NEXT: sub x10, x29, #16
22- ; CHECK-NEXT: stp x9, x8, [x29, #-16 ]
21+ ; CHECK-NEXT: sub x10, x29, #24
22+ ; CHECK-NEXT: stp x9, x8, [x29, #-24 ]
2323; CHECK-NEXT: msr TPIDR2_EL0, x10
2424; CHECK-NEXT: bl private_za_callee
2525; CHECK-NEXT: smstart za
2626; CHECK-NEXT: mrs x8, TPIDR2_EL0
27- ; CHECK-NEXT: sub x0, x29, #16
27+ ; CHECK-NEXT: sub x0, x29, #24
2828; CHECK-NEXT: cbnz x8, .LBB0_2
2929; CHECK-NEXT: // %bb.1:
3030; CHECK-NEXT: bl __arm_tpidr2_restore
3131; CHECK-NEXT: .LBB0_2:
3232; CHECK-NEXT: msr TPIDR2_EL0, xzr
33- ; CHECK-NEXT: mov sp, x29
34- ; CHECK-NEXT: ldr x19, [sp, #16 ] // 8 -byte Folded Reload
35- ; CHECK-NEXT: ldp x30, x29, [sp], #32 // 16 -byte Folded Reload
33+ ; CHECK-NEXT: sub sp, x29, #8
34+ ; CHECK-NEXT: ldp x29, x30, [sp, #8 ] // 16 -byte Folded Reload
35+ ; CHECK-NEXT: ldr x19, [sp], #32 // 8 -byte Folded Reload
3636; CHECK-NEXT: ret
3737 call void @private_za_callee ()
3838 ret void
0 commit comments