|
6 | 6 | define void @test1(ptr %s, i32 %n) {
|
7 | 7 | ; CHECK-LABEL: test1:
|
8 | 8 | ; CHECK: // %bb.0: // %entry
|
9 |
| -; CHECK-NEXT: ldr x9, [x0] |
10 |
| -; CHECK-NEXT: mov w10, #40000 // =0x9c40 |
11 |
| -; CHECK-NEXT: mov w8, wzr |
12 |
| -; CHECK-NEXT: add x9, x9, x10 |
13 |
| -; CHECK-NEXT: cmp w8, w1 |
| 9 | +; CHECK-NEXT: ldr x8, [x0] |
| 10 | +; CHECK-NEXT: mov w9, wzr |
| 11 | +; CHECK-NEXT: add x8, x8, #9, lsl #12 // =36864 |
| 12 | +; CHECK-NEXT: cmp w9, w1 |
14 | 13 | ; CHECK-NEXT: b.ge .LBB0_2
|
15 | 14 | ; CHECK-NEXT: .LBB0_1: // %while_body
|
16 | 15 | ; CHECK-NEXT: // =>This Inner Loop Header: Depth=1
|
17 |
| -; CHECK-NEXT: str w8, [x9, #4] |
18 |
| -; CHECK-NEXT: add w8, w8, #1 |
19 |
| -; CHECK-NEXT: str w8, [x9] |
20 |
| -; CHECK-NEXT: cmp w8, w1 |
| 16 | +; CHECK-NEXT: str w9, [x8, #3140] |
| 17 | +; CHECK-NEXT: add w9, w9, #1 |
| 18 | +; CHECK-NEXT: str w9, [x8, #3136] |
| 19 | +; CHECK-NEXT: cmp w9, w1 |
21 | 20 | ; CHECK-NEXT: b.lt .LBB0_1
|
22 | 21 | ; CHECK-NEXT: .LBB0_2: // %while_end
|
23 | 22 | ; CHECK-NEXT: ret
|
@@ -47,16 +46,15 @@ define void @test2(ptr %struct, i32 %n) {
|
47 | 46 | ; CHECK: // %bb.0: // %entry
|
48 | 47 | ; CHECK-NEXT: cbz x0, .LBB1_3
|
49 | 48 | ; CHECK-NEXT: // %bb.1: // %while_cond.preheader
|
50 |
| -; CHECK-NEXT: mov w8, #40000 // =0x9c40 |
51 | 49 | ; CHECK-NEXT: mov w9, wzr
|
52 |
| -; CHECK-NEXT: add x8, x0, x8 |
| 50 | +; CHECK-NEXT: add x8, x0, #9, lsl #12 // =36864 |
53 | 51 | ; CHECK-NEXT: cmp w9, w1
|
54 | 52 | ; CHECK-NEXT: b.ge .LBB1_3
|
55 | 53 | ; CHECK-NEXT: .LBB1_2: // %while_body
|
56 | 54 | ; CHECK-NEXT: // =>This Inner Loop Header: Depth=1
|
57 |
| -; CHECK-NEXT: str w9, [x8, #4] |
| 55 | +; CHECK-NEXT: str w9, [x8, #3140] |
58 | 56 | ; CHECK-NEXT: add w9, w9, #1
|
59 |
| -; CHECK-NEXT: str w9, [x8] |
| 57 | +; CHECK-NEXT: str w9, [x8, #3136] |
60 | 58 | ; CHECK-NEXT: cmp w9, w1
|
61 | 59 | ; CHECK-NEXT: b.lt .LBB1_2
|
62 | 60 | ; CHECK-NEXT: .LBB1_3: // %while_end
|
@@ -89,16 +87,15 @@ define void @test3(ptr %s1, ptr %s2, i1 %cond, i32 %n) {
|
89 | 87 | ; CHECK-NEXT: csel x8, x1, x0, ne
|
90 | 88 | ; CHECK-NEXT: cbz x8, .LBB2_3
|
91 | 89 | ; CHECK-NEXT: // %bb.1: // %while_cond.preheader
|
92 |
| -; CHECK-NEXT: mov w10, #40000 // =0x9c40 |
93 | 90 | ; CHECK-NEXT: mov w9, wzr
|
94 |
| -; CHECK-NEXT: add x8, x8, x10 |
| 91 | +; CHECK-NEXT: add x8, x8, #9, lsl #12 // =36864 |
95 | 92 | ; CHECK-NEXT: cmp w9, w3
|
96 | 93 | ; CHECK-NEXT: b.ge .LBB2_3
|
97 | 94 | ; CHECK-NEXT: .LBB2_2: // %while_body
|
98 | 95 | ; CHECK-NEXT: // =>This Inner Loop Header: Depth=1
|
99 |
| -; CHECK-NEXT: str w9, [x8, #4] |
| 96 | +; CHECK-NEXT: str w9, [x8, #3140] |
100 | 97 | ; CHECK-NEXT: add w9, w9, #1
|
101 |
| -; CHECK-NEXT: str w9, [x8] |
| 98 | +; CHECK-NEXT: str w9, [x8, #3136] |
102 | 99 | ; CHECK-NEXT: cmp w9, w3
|
103 | 100 | ; CHECK-NEXT: b.lt .LBB2_2
|
104 | 101 | ; CHECK-NEXT: .LBB2_3: // %while_end
|
@@ -141,41 +138,38 @@ define void @test4(i32 %n) uwtable personality ptr @__FrameHandler {
|
141 | 138 | ; CHECK-NEXT: .cfi_personality 156, DW.ref.__FrameHandler
|
142 | 139 | ; CHECK-NEXT: .cfi_lsda 28, .Lexception0
|
143 | 140 | ; CHECK-NEXT: // %bb.0: // %entry
|
144 |
| -; CHECK-NEXT: stp x30, x21, [sp, #-32]! // 16-byte Folded Spill |
| 141 | +; CHECK-NEXT: str x30, [sp, #-32]! // 8-byte Folded Spill |
145 | 142 | ; CHECK-NEXT: .cfi_def_cfa_offset 32
|
146 | 143 | ; CHECK-NEXT: stp x20, x19, [sp, #16] // 16-byte Folded Spill
|
147 | 144 | ; CHECK-NEXT: .cfi_offset w19, -8
|
148 | 145 | ; CHECK-NEXT: .cfi_offset w20, -16
|
149 |
| -; CHECK-NEXT: .cfi_offset w21, -24 |
150 | 146 | ; CHECK-NEXT: .cfi_offset w30, -32
|
151 | 147 | ; CHECK-NEXT: .cfi_remember_state
|
152 | 148 | ; CHECK-NEXT: mov w19, w0
|
153 |
| -; CHECK-NEXT: mov w21, wzr |
154 |
| -; CHECK-NEXT: mov w20, #40000 // =0x9c40 |
| 149 | +; CHECK-NEXT: mov w20, wzr |
155 | 150 | ; CHECK-NEXT: .LBB3_1: // %while_cond
|
156 | 151 | ; CHECK-NEXT: // =>This Inner Loop Header: Depth=1
|
157 | 152 | ; CHECK-NEXT: .Ltmp0:
|
158 | 153 | ; CHECK-NEXT: bl foo
|
159 | 154 | ; CHECK-NEXT: .Ltmp1:
|
160 | 155 | ; CHECK-NEXT: // %bb.2: // %while_cond_x.split
|
161 | 156 | ; CHECK-NEXT: // in Loop: Header=BB3_1 Depth=1
|
162 |
| -; CHECK-NEXT: add x8, x0, x20 |
163 |
| -; CHECK-NEXT: cmp w21, w19 |
164 |
| -; CHECK-NEXT: str wzr, [x8] |
| 157 | +; CHECK-NEXT: add x8, x0, #9, lsl #12 // =36864 |
| 158 | +; CHECK-NEXT: cmp w20, w19 |
| 159 | +; CHECK-NEXT: str wzr, [x8, #3136] |
165 | 160 | ; CHECK-NEXT: b.ge .LBB3_4
|
166 | 161 | ; CHECK-NEXT: // %bb.3: // %while_body
|
167 | 162 | ; CHECK-NEXT: // in Loop: Header=BB3_1 Depth=1
|
168 |
| -; CHECK-NEXT: str w21, [x8, #4] |
169 |
| -; CHECK-NEXT: add w21, w21, #1 |
170 |
| -; CHECK-NEXT: str w21, [x8] |
| 163 | +; CHECK-NEXT: str w20, [x8, #3140] |
| 164 | +; CHECK-NEXT: add w20, w20, #1 |
| 165 | +; CHECK-NEXT: str w20, [x8, #3136] |
171 | 166 | ; CHECK-NEXT: b .LBB3_1
|
172 | 167 | ; CHECK-NEXT: .LBB3_4: // %while_end
|
173 | 168 | ; CHECK-NEXT: ldp x20, x19, [sp, #16] // 16-byte Folded Reload
|
174 |
| -; CHECK-NEXT: ldp x30, x21, [sp], #32 // 16-byte Folded Reload |
| 169 | +; CHECK-NEXT: ldr x30, [sp], #32 // 8-byte Folded Reload |
175 | 170 | ; CHECK-NEXT: .cfi_def_cfa_offset 0
|
176 | 171 | ; CHECK-NEXT: .cfi_restore w19
|
177 | 172 | ; CHECK-NEXT: .cfi_restore w20
|
178 |
| -; CHECK-NEXT: .cfi_restore w21 |
179 | 173 | ; CHECK-NEXT: .cfi_restore w30
|
180 | 174 | ; CHECK-NEXT: ret
|
181 | 175 | ; CHECK-NEXT: .LBB3_5: // %cleanup
|
@@ -223,14 +217,13 @@ define void @test5(ptr %s, i32 %n) {
|
223 | 217 | ; CHECK-NEXT: ldr x8, [x0]
|
224 | 218 | ; CHECK-NEXT: mov w9, wzr
|
225 | 219 | ; CHECK-NEXT: add x8, x8, #19, lsl #12 // =77824
|
226 |
| -; CHECK-NEXT: add x8, x8, #2176 |
227 | 220 | ; CHECK-NEXT: cmp w9, w1
|
228 | 221 | ; CHECK-NEXT: b.ge .LBB4_2
|
229 | 222 | ; CHECK-NEXT: .LBB4_1: // %while_body
|
230 | 223 | ; CHECK-NEXT: // =>This Inner Loop Header: Depth=1
|
231 |
| -; CHECK-NEXT: str w9, [x8, #4] |
| 224 | +; CHECK-NEXT: str w9, [x8, #2180] |
232 | 225 | ; CHECK-NEXT: add w9, w9, #1
|
233 |
| -; CHECK-NEXT: str w9, [x8] |
| 226 | +; CHECK-NEXT: str w9, [x8, #2176] |
234 | 227 | ; CHECK-NEXT: cmp w9, w1
|
235 | 228 | ; CHECK-NEXT: b.lt .LBB4_1
|
236 | 229 | ; CHECK-NEXT: .LBB4_2: // %while_end
|
|
0 commit comments