@@ -118,27 +118,31 @@ define dso_local void @sspFunc() #0 {
118118; CHECK-NEXT: // %bb.0: // %entry
119119; CHECK-NEXT: sub sp, sp, #32
120120; CHECK-NEXT: .seh_stackalloc 32
121- ; CHECK-NEXT: str x30, [sp, #16] // 8-byte Folded Spill
122- ; CHECK-NEXT: .seh_save_reg x30, 16
121+ ; CHECK-NEXT: str x19, [sp, #16] // 8-byte Spill
122+ ; CHECK-NEXT: .seh_save_reg x19, 16
123+ ; CHECK-NEXT: str x30, [sp, #24] // 8-byte Spill
124+ ; CHECK-NEXT: .seh_save_reg x30, 24
123125; CHECK-NEXT: .seh_endprologue
124- ; CHECK-NEXT: adrp x8, .refptr.__stack_chk_guard
126+ ; CHECK-NEXT: adrp x19, .refptr.__stack_chk_guard
127+ ; CHECK-NEXT: mov x9, sp
125128; CHECK-NEXT: add x0, sp, #7
126- ; CHECK-NEXT: ldr x8 , [x8 , :lo12:.refptr.__stack_chk_guard]
127- ; CHECK-NEXT: ldr x8, [x8 ]
128- ; CHECK-NEXT: sub x8, sp, x8
129+ ; CHECK-NEXT: ldr x19 , [x19 , :lo12:.refptr.__stack_chk_guard]
130+ ; CHECK-NEXT: ldr x8, [x19 ]
131+ ; CHECK-NEXT: eor x8, x8, x9
129132; CHECK-NEXT: str x8, [sp, #8]
130133; CHECK-NEXT: bl ptrUser
131- ; CHECK-NEXT: adrp x8, .refptr.__stack_chk_guard
132- ; CHECK-NEXT: ldr x8, [x8, :lo12:.refptr.__stack_chk_guard]
133134; CHECK-NEXT: ldr x9, [sp, #8]
134- ; CHECK-NEXT: ldr x8, [x8]
135- ; CHECK-NEXT: sub x8, sp, x8
136- ; CHECK-NEXT: cmp x8, x9
135+ ; CHECK-NEXT: mov x8, sp
136+ ; CHECK-NEXT: ldr x10, [x19]
137+ ; CHECK-NEXT: eor x8, x9, x8
138+ ; CHECK-NEXT: cmp x10, x8
137139; CHECK-NEXT: b.ne .LBB6_2
138140; CHECK-NEXT: // %bb.1: // %entry
139141; CHECK-NEXT: .seh_startepilogue
140- ; CHECK-NEXT: ldr x30, [sp, #16] // 8-byte Folded Reload
141- ; CHECK-NEXT: .seh_save_reg x30, 16
142+ ; CHECK-NEXT: ldr x30, [sp, #24] // 8-byte Reload
143+ ; CHECK-NEXT: .seh_save_reg x30, 24
144+ ; CHECK-NEXT: ldr x19, [sp, #16] // 8-byte Reload
145+ ; CHECK-NEXT: .seh_save_reg x19, 16
142146; CHECK-NEXT: add sp, sp, #32
143147; CHECK-NEXT: .seh_stackalloc 32
144148; CHECK-NEXT: .seh_endepilogue
0 commit comments