@@ -204,50 +204,41 @@ declare i32 @foo(i32, i32, i32, i32, i32, i32)
204204define void @remat_load (i32 %0 , i32 %1 , i32 %2 , i32 %3 , i32 %4 , i32 %5 , i32 %6 , i32 %7 , double %8 , double %9 , double %10 , double %11 , double %12 , double %13 , double %14 , double %15 , i8 %stackarg0 , i16 %stackarg1 , i32 %stackarg2 , i64 %stackarg3 , half %stackarg4 , bfloat %stackarg5 , float %stackarg6 , double %stackarg7 , ptr %p ) nounwind {
205205; CHECK-LABEL: remat_load:
206206; CHECK: # %bb.0: # %entry
207- ; CHECK-NEXT: addi sp, sp, -256
208- ; CHECK-NEXT: sd ra, 248(sp) # 8-byte Folded Spill
209- ; CHECK-NEXT: sd s0, 240(sp) # 8-byte Folded Spill
210- ; CHECK-NEXT: sd s1, 232(sp) # 8-byte Folded Spill
211- ; CHECK-NEXT: sd s2, 224(sp) # 8-byte Folded Spill
212- ; CHECK-NEXT: sd s3, 216(sp) # 8-byte Folded Spill
213- ; CHECK-NEXT: sd s4, 208(sp) # 8-byte Folded Spill
214- ; CHECK-NEXT: sd s5, 200(sp) # 8-byte Folded Spill
215- ; CHECK-NEXT: sd s6, 192(sp) # 8-byte Folded Spill
216- ; CHECK-NEXT: sd s7, 184(sp) # 8-byte Folded Spill
217- ; CHECK-NEXT: sd s8, 176(sp) # 8-byte Folded Spill
218- ; CHECK-NEXT: sd s9, 168(sp) # 8-byte Folded Spill
219- ; CHECK-NEXT: sd s10, 160(sp) # 8-byte Folded Spill
220- ; CHECK-NEXT: sd s11, 152(sp) # 8-byte Folded Spill
221- ; CHECK-NEXT: fsd fs0, 144(sp) # 8-byte Folded Spill
222- ; CHECK-NEXT: fsd fs1, 136(sp) # 8-byte Folded Spill
223- ; CHECK-NEXT: fsd fs2, 128(sp) # 8-byte Folded Spill
224- ; CHECK-NEXT: fsd fs3, 120(sp) # 8-byte Folded Spill
225- ; CHECK-NEXT: fsd fs4, 112(sp) # 8-byte Folded Spill
226- ; CHECK-NEXT: fsd fs5, 104(sp) # 8-byte Folded Spill
227- ; CHECK-NEXT: fsd fs6, 96(sp) # 8-byte Folded Spill
228- ; CHECK-NEXT: fsd fs7, 88(sp) # 8-byte Folded Spill
229- ; CHECK-NEXT: fsd fs8, 80(sp) # 8-byte Folded Spill
230- ; CHECK-NEXT: fsd fs9, 72(sp) # 8-byte Folded Spill
231- ; CHECK-NEXT: fsd fs10, 64(sp) # 8-byte Folded Spill
232- ; CHECK-NEXT: fsd fs11, 56(sp) # 8-byte Folded Spill
233- ; CHECK-NEXT: fld fa5, 312(sp)
234- ; CHECK-NEXT: fsd fa5, 48(sp) # 8-byte Folded Spill
235- ; CHECK-NEXT: flw fa4, 304(sp)
236- ; CHECK-NEXT: fsw fa4, 44(sp) # 4-byte Folded Spill
237- ; CHECK-NEXT: flh fa3, 296(sp)
238- ; CHECK-NEXT: fsh fa3, 42(sp) # 2-byte Folded Spill
239- ; CHECK-NEXT: flh fa2, 288(sp)
240- ; CHECK-NEXT: fsh fa2, 40(sp) # 2-byte Folded Spill
241- ; CHECK-NEXT: ld a0, 320(sp)
242- ; CHECK-NEXT: sd a0, 0(sp) # 8-byte Folded Spill
243- ; CHECK-NEXT: lbu a4, 256(sp)
244- ; CHECK-NEXT: sd a4, 8(sp) # 8-byte Folded Spill
245- ; CHECK-NEXT: lh a3, 264(sp)
246- ; CHECK-NEXT: sd a3, 16(sp) # 8-byte Folded Spill
247- ; CHECK-NEXT: lw a2, 272(sp)
248- ; CHECK-NEXT: sd a2, 24(sp) # 8-byte Folded Spill
249- ; CHECK-NEXT: ld a1, 280(sp)
250- ; CHECK-NEXT: sd a1, 32(sp) # 8-byte Folded Spill
207+ ; CHECK-NEXT: addi sp, sp, -208
208+ ; CHECK-NEXT: sd ra, 200(sp) # 8-byte Folded Spill
209+ ; CHECK-NEXT: sd s0, 192(sp) # 8-byte Folded Spill
210+ ; CHECK-NEXT: sd s1, 184(sp) # 8-byte Folded Spill
211+ ; CHECK-NEXT: sd s2, 176(sp) # 8-byte Folded Spill
212+ ; CHECK-NEXT: sd s3, 168(sp) # 8-byte Folded Spill
213+ ; CHECK-NEXT: sd s4, 160(sp) # 8-byte Folded Spill
214+ ; CHECK-NEXT: sd s5, 152(sp) # 8-byte Folded Spill
215+ ; CHECK-NEXT: sd s6, 144(sp) # 8-byte Folded Spill
216+ ; CHECK-NEXT: sd s7, 136(sp) # 8-byte Folded Spill
217+ ; CHECK-NEXT: sd s8, 128(sp) # 8-byte Folded Spill
218+ ; CHECK-NEXT: sd s9, 120(sp) # 8-byte Folded Spill
219+ ; CHECK-NEXT: sd s10, 112(sp) # 8-byte Folded Spill
220+ ; CHECK-NEXT: sd s11, 104(sp) # 8-byte Folded Spill
221+ ; CHECK-NEXT: fsd fs0, 96(sp) # 8-byte Folded Spill
222+ ; CHECK-NEXT: fsd fs1, 88(sp) # 8-byte Folded Spill
223+ ; CHECK-NEXT: fsd fs2, 80(sp) # 8-byte Folded Spill
224+ ; CHECK-NEXT: fsd fs3, 72(sp) # 8-byte Folded Spill
225+ ; CHECK-NEXT: fsd fs4, 64(sp) # 8-byte Folded Spill
226+ ; CHECK-NEXT: fsd fs5, 56(sp) # 8-byte Folded Spill
227+ ; CHECK-NEXT: fsd fs6, 48(sp) # 8-byte Folded Spill
228+ ; CHECK-NEXT: fsd fs7, 40(sp) # 8-byte Folded Spill
229+ ; CHECK-NEXT: fsd fs8, 32(sp) # 8-byte Folded Spill
230+ ; CHECK-NEXT: fsd fs9, 24(sp) # 8-byte Folded Spill
231+ ; CHECK-NEXT: fsd fs10, 16(sp) # 8-byte Folded Spill
232+ ; CHECK-NEXT: fsd fs11, 8(sp) # 8-byte Folded Spill
233+ ; CHECK-NEXT: fld fa5, 264(sp)
234+ ; CHECK-NEXT: flw fa4, 256(sp)
235+ ; CHECK-NEXT: flh fa3, 248(sp)
236+ ; CHECK-NEXT: flh fa2, 240(sp)
237+ ; CHECK-NEXT: ld a0, 272(sp)
238+ ; CHECK-NEXT: lbu a4, 208(sp)
239+ ; CHECK-NEXT: lh a3, 216(sp)
240+ ; CHECK-NEXT: lw a2, 224(sp)
241+ ; CHECK-NEXT: ld a1, 232(sp)
251242; CHECK-NEXT: sb a4, 0(a0)
252243; CHECK-NEXT: sh a3, 0(a0)
253244; CHECK-NEXT: sw a2, 0(a0)
@@ -258,49 +249,49 @@ define void @remat_load(i32 %0, i32 %1, i32 %2, i32 %3, i32 %4, i32 %5, i32 %6,
258249; CHECK-NEXT: fsd fa5, 0(a0)
259250; CHECK-NEXT: #APP
260251; CHECK-NEXT: #NO_APP
261- ; CHECK-NEXT: ld a0, 0 (sp) # 8-byte Folded Reload
262- ; CHECK-NEXT: ld a1, 8 (sp) # 8-byte Folded Reload
252+ ; CHECK-NEXT: ld a0, 272 (sp)
253+ ; CHECK-NEXT: lbu a1, 208 (sp)
263254; CHECK-NEXT: sb a1, 0(a0)
264- ; CHECK-NEXT: ld a1, 16 (sp) # 8-byte Folded Reload
255+ ; CHECK-NEXT: lh a1, 216 (sp)
265256; CHECK-NEXT: sh a1, 0(a0)
266- ; CHECK-NEXT: ld a1, 24 (sp) # 8-byte Folded Reload
257+ ; CHECK-NEXT: lw a1, 224 (sp)
267258; CHECK-NEXT: sw a1, 0(a0)
268- ; CHECK-NEXT: ld a1, 32 (sp) # 8-byte Folded Reload
259+ ; CHECK-NEXT: ld a1, 232 (sp)
269260; CHECK-NEXT: sd a1, 0(a0)
270- ; CHECK-NEXT: flh fa5, 40 (sp) # 2-byte Folded Reload
261+ ; CHECK-NEXT: flh fa5, 240 (sp)
271262; CHECK-NEXT: fsh fa5, 0(a0)
272- ; CHECK-NEXT: flh fa5, 42 (sp) # 2-byte Folded Reload
263+ ; CHECK-NEXT: flh fa5, 248 (sp)
273264; CHECK-NEXT: fsh fa5, 0(a0)
274- ; CHECK-NEXT: flw fa5, 44 (sp) # 4-byte Folded Reload
265+ ; CHECK-NEXT: flw fa5, 256 (sp)
275266; CHECK-NEXT: fsw fa5, 0(a0)
276- ; CHECK-NEXT: fld fa5, 48 (sp) # 8-byte Folded Reload
267+ ; CHECK-NEXT: fld fa5, 264 (sp)
277268; CHECK-NEXT: fsd fa5, 0(a0)
278- ; CHECK-NEXT: ld ra, 248 (sp) # 8-byte Folded Reload
279- ; CHECK-NEXT: ld s0, 240 (sp) # 8-byte Folded Reload
280- ; CHECK-NEXT: ld s1, 232 (sp) # 8-byte Folded Reload
281- ; CHECK-NEXT: ld s2, 224 (sp) # 8-byte Folded Reload
282- ; CHECK-NEXT: ld s3, 216 (sp) # 8-byte Folded Reload
283- ; CHECK-NEXT: ld s4, 208 (sp) # 8-byte Folded Reload
284- ; CHECK-NEXT: ld s5, 200 (sp) # 8-byte Folded Reload
285- ; CHECK-NEXT: ld s6, 192 (sp) # 8-byte Folded Reload
286- ; CHECK-NEXT: ld s7, 184 (sp) # 8-byte Folded Reload
287- ; CHECK-NEXT: ld s8, 176 (sp) # 8-byte Folded Reload
288- ; CHECK-NEXT: ld s9, 168 (sp) # 8-byte Folded Reload
289- ; CHECK-NEXT: ld s10, 160 (sp) # 8-byte Folded Reload
290- ; CHECK-NEXT: ld s11, 152 (sp) # 8-byte Folded Reload
291- ; CHECK-NEXT: fld fs0, 144 (sp) # 8-byte Folded Reload
292- ; CHECK-NEXT: fld fs1, 136 (sp) # 8-byte Folded Reload
293- ; CHECK-NEXT: fld fs2, 128 (sp) # 8-byte Folded Reload
294- ; CHECK-NEXT: fld fs3, 120 (sp) # 8-byte Folded Reload
295- ; CHECK-NEXT: fld fs4, 112 (sp) # 8-byte Folded Reload
296- ; CHECK-NEXT: fld fs5, 104 (sp) # 8-byte Folded Reload
297- ; CHECK-NEXT: fld fs6, 96 (sp) # 8-byte Folded Reload
298- ; CHECK-NEXT: fld fs7, 88 (sp) # 8-byte Folded Reload
299- ; CHECK-NEXT: fld fs8, 80 (sp) # 8-byte Folded Reload
300- ; CHECK-NEXT: fld fs9, 72 (sp) # 8-byte Folded Reload
301- ; CHECK-NEXT: fld fs10, 64 (sp) # 8-byte Folded Reload
302- ; CHECK-NEXT: fld fs11, 56 (sp) # 8-byte Folded Reload
303- ; CHECK-NEXT: addi sp, sp, 256
269+ ; CHECK-NEXT: ld ra, 200 (sp) # 8-byte Folded Reload
270+ ; CHECK-NEXT: ld s0, 192 (sp) # 8-byte Folded Reload
271+ ; CHECK-NEXT: ld s1, 184 (sp) # 8-byte Folded Reload
272+ ; CHECK-NEXT: ld s2, 176 (sp) # 8-byte Folded Reload
273+ ; CHECK-NEXT: ld s3, 168 (sp) # 8-byte Folded Reload
274+ ; CHECK-NEXT: ld s4, 160 (sp) # 8-byte Folded Reload
275+ ; CHECK-NEXT: ld s5, 152 (sp) # 8-byte Folded Reload
276+ ; CHECK-NEXT: ld s6, 144 (sp) # 8-byte Folded Reload
277+ ; CHECK-NEXT: ld s7, 136 (sp) # 8-byte Folded Reload
278+ ; CHECK-NEXT: ld s8, 128 (sp) # 8-byte Folded Reload
279+ ; CHECK-NEXT: ld s9, 120 (sp) # 8-byte Folded Reload
280+ ; CHECK-NEXT: ld s10, 112 (sp) # 8-byte Folded Reload
281+ ; CHECK-NEXT: ld s11, 104 (sp) # 8-byte Folded Reload
282+ ; CHECK-NEXT: fld fs0, 96 (sp) # 8-byte Folded Reload
283+ ; CHECK-NEXT: fld fs1, 88 (sp) # 8-byte Folded Reload
284+ ; CHECK-NEXT: fld fs2, 80 (sp) # 8-byte Folded Reload
285+ ; CHECK-NEXT: fld fs3, 72 (sp) # 8-byte Folded Reload
286+ ; CHECK-NEXT: fld fs4, 64 (sp) # 8-byte Folded Reload
287+ ; CHECK-NEXT: fld fs5, 56 (sp) # 8-byte Folded Reload
288+ ; CHECK-NEXT: fld fs6, 48 (sp) # 8-byte Folded Reload
289+ ; CHECK-NEXT: fld fs7, 40 (sp) # 8-byte Folded Reload
290+ ; CHECK-NEXT: fld fs8, 32 (sp) # 8-byte Folded Reload
291+ ; CHECK-NEXT: fld fs9, 24 (sp) # 8-byte Folded Reload
292+ ; CHECK-NEXT: fld fs10, 16 (sp) # 8-byte Folded Reload
293+ ; CHECK-NEXT: fld fs11, 8 (sp) # 8-byte Folded Reload
294+ ; CHECK-NEXT: addi sp, sp, 208
304295; CHECK-NEXT: ret
305296entry:
306297 ; Force loading the stack arguments to create their live interval
0 commit comments