@@ -20,17 +20,20 @@ define i32 @sink_load_and_copy(i32 %n) {
2020; CHECK-NEXT: b.lt .LBB0_3
2121; CHECK-NEXT: // %bb.1: // %for.body.preheader
2222; CHECK-NEXT: adrp x8, A
23- ; CHECK-NEXT: mov w21 , w19
24- ; CHECK-NEXT: ldr w20 , [x8, :lo12:A]
23+ ; CHECK-NEXT: mov w20 , w19
24+ ; CHECK-NEXT: ldr w21 , [x8, :lo12:A]
2525; CHECK-NEXT: .LBB0_2: // %for.body
2626; CHECK-NEXT: // =>This Inner Loop Header: Depth=1
27- ; CHECK-NEXT: mov w0, w20
27+ ; CHECK-NEXT: mov w0, w21
2828; CHECK-NEXT: bl _Z3usei
29- ; CHECK-NEXT: sdiv w19, w19 , w0
30- ; CHECK-NEXT: subs w21, w21 , #1
29+ ; CHECK-NEXT: sdiv w20, w20 , w0
30+ ; CHECK-NEXT: subs w19, w19 , #1
3131; CHECK-NEXT: b.ne .LBB0_2
32- ; CHECK-NEXT: .LBB0_3: // %for.cond.cleanup
33- ; CHECK-NEXT: mov w0, w19
32+ ; CHECK-NEXT: b .LBB0_4
33+ ; CHECK-NEXT: .LBB0_3:
34+ ; CHECK-NEXT: mov w20, w19
35+ ; CHECK-NEXT: .LBB0_4: // %for.cond.cleanup
36+ ; CHECK-NEXT: mov w0, w20
3437; CHECK-NEXT: ldp x20, x19, [sp, #16] // 16-byte Folded Reload
3538; CHECK-NEXT: ldp x30, x21, [sp], #32 // 16-byte Folded Reload
3639; CHECK-NEXT: ret
@@ -79,12 +82,15 @@ define i32 @cant_sink_successive_call(i32 %n) {
7982; CHECK-NEXT: // =>This Inner Loop Header: Depth=1
8083; CHECK-NEXT: mov w0, w20
8184; CHECK-NEXT: bl _Z3usei
82- ; CHECK-NEXT: sdiv w19, w19 , w0
83- ; CHECK-NEXT: subs w21, w21 , #1
85+ ; CHECK-NEXT: sdiv w21, w21 , w0
86+ ; CHECK-NEXT: subs w19, w19 , #1
8487; CHECK-NEXT: b.ne .LBB1_2
85- ; CHECK-NEXT: .LBB1_3: // %for.cond.cleanup
86- ; CHECK-NEXT: mov w0, w19
88+ ; CHECK-NEXT: b .LBB1_4
89+ ; CHECK-NEXT: .LBB1_3:
90+ ; CHECK-NEXT: mov w21, w19
91+ ; CHECK-NEXT: .LBB1_4: // %for.cond.cleanup
8792; CHECK-NEXT: ldp x20, x19, [sp, #16] // 16-byte Folded Reload
93+ ; CHECK-NEXT: mov w0, w21
8894; CHECK-NEXT: ldp x30, x21, [sp], #32 // 16-byte Folded Reload
8995; CHECK-NEXT: ret
9096entry:
@@ -133,12 +139,15 @@ define i32 @cant_sink_successive_store(ptr nocapture readnone %store, i32 %n) {
133139; CHECK-NEXT: // =>This Inner Loop Header: Depth=1
134140; CHECK-NEXT: mov w0, w20
135141; CHECK-NEXT: bl _Z3usei
136- ; CHECK-NEXT: sdiv w19, w19 , w0
137- ; CHECK-NEXT: subs w21, w21 , #1
142+ ; CHECK-NEXT: sdiv w21, w21 , w0
143+ ; CHECK-NEXT: subs w19, w19 , #1
138144; CHECK-NEXT: b.ne .LBB2_2
139- ; CHECK-NEXT: .LBB2_3: // %for.cond.cleanup
140- ; CHECK-NEXT: mov w0, w19
145+ ; CHECK-NEXT: b .LBB2_4
146+ ; CHECK-NEXT: .LBB2_3:
147+ ; CHECK-NEXT: mov w21, w19
148+ ; CHECK-NEXT: .LBB2_4: // %for.cond.cleanup
141149; CHECK-NEXT: ldp x20, x19, [sp, #16] // 16-byte Folded Reload
150+ ; CHECK-NEXT: mov w0, w21
142151; CHECK-NEXT: ldp x30, x21, [sp], #32 // 16-byte Folded Reload
143152; CHECK-NEXT: ret
144153entry:
0 commit comments