Skip to content

Commit c1d9129

Browse files
committed
Precommit tests
1 parent e974c65 commit c1d9129

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

llvm/test/CodeGen/RISCV/remat.ll

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,3 +201,97 @@ for.end: ; preds = %for.inc, %entry
201201
}
202202

203203
declare i32 @foo(i32, i32, i32, i32, i32, i32)
204+
205+
define i32 @remat_ld(i32 %0, i32 %1, i32 %2, i32 %3, i32 %4, i32 %5, i32 %6, i32 %7, i32 %stack0, i32 %stack1, ptr %p, ptr %q) {
206+
; RV32I-LABEL: remat_ld:
207+
; RV32I: # %bb.0: # %entry
208+
; RV32I-NEXT: addi sp, sp, -64
209+
; RV32I-NEXT: .cfi_def_cfa_offset 64
210+
; RV32I-NEXT: sw ra, 60(sp) # 4-byte Folded Spill
211+
; RV32I-NEXT: sw s0, 56(sp) # 4-byte Folded Spill
212+
; RV32I-NEXT: sw s1, 52(sp) # 4-byte Folded Spill
213+
; RV32I-NEXT: sw s2, 48(sp) # 4-byte Folded Spill
214+
; RV32I-NEXT: sw s3, 44(sp) # 4-byte Folded Spill
215+
; RV32I-NEXT: sw s4, 40(sp) # 4-byte Folded Spill
216+
; RV32I-NEXT: sw s5, 36(sp) # 4-byte Folded Spill
217+
; RV32I-NEXT: sw s6, 32(sp) # 4-byte Folded Spill
218+
; RV32I-NEXT: sw s7, 28(sp) # 4-byte Folded Spill
219+
; RV32I-NEXT: sw s8, 24(sp) # 4-byte Folded Spill
220+
; RV32I-NEXT: sw s9, 20(sp) # 4-byte Folded Spill
221+
; RV32I-NEXT: sw s10, 16(sp) # 4-byte Folded Spill
222+
; RV32I-NEXT: sw s11, 12(sp) # 4-byte Folded Spill
223+
; RV32I-NEXT: .cfi_offset ra, -4
224+
; RV32I-NEXT: .cfi_offset s0, -8
225+
; RV32I-NEXT: .cfi_offset s1, -12
226+
; RV32I-NEXT: .cfi_offset s2, -16
227+
; RV32I-NEXT: .cfi_offset s3, -20
228+
; RV32I-NEXT: .cfi_offset s4, -24
229+
; RV32I-NEXT: .cfi_offset s5, -28
230+
; RV32I-NEXT: .cfi_offset s6, -32
231+
; RV32I-NEXT: .cfi_offset s7, -36
232+
; RV32I-NEXT: .cfi_offset s8, -40
233+
; RV32I-NEXT: .cfi_offset s9, -44
234+
; RV32I-NEXT: .cfi_offset s10, -48
235+
; RV32I-NEXT: .cfi_offset s11, -52
236+
; RV32I-NEXT: sw a0, 8(sp) # 4-byte Folded Spill
237+
; RV32I-NEXT: lw a2, 68(sp)
238+
; RV32I-NEXT: lw a3, 64(sp)
239+
; RV32I-NEXT: lw a0, 72(sp)
240+
; RV32I-NEXT: lw a1, 76(sp)
241+
; RV32I-NEXT: sw a3, 0(sp) # 4-byte Folded Spill
242+
; RV32I-NEXT: sw a3, 0(a0)
243+
; RV32I-NEXT: sw a2, 4(sp) # 4-byte Folded Spill
244+
; RV32I-NEXT: sw a2, 0(a1)
245+
; RV32I-NEXT: #APP
246+
; RV32I-NEXT: #NO_APP
247+
; RV32I-NEXT: lw a0, 8(sp) # 4-byte Folded Reload
248+
; RV32I-NEXT: beqz a0, .LBB1_2
249+
; RV32I-NEXT: # %bb.1: # %falsebb
250+
; RV32I-NEXT: li a0, 0
251+
; RV32I-NEXT: j .LBB1_3
252+
; RV32I-NEXT: .LBB1_2: # %truebb
253+
; RV32I-NEXT: lw a0, 4(sp) # 4-byte Folded Reload
254+
; RV32I-NEXT: lw a1, 0(sp) # 4-byte Folded Reload
255+
; RV32I-NEXT: add a0, a1, a0
256+
; RV32I-NEXT: .LBB1_3: # %falsebb
257+
; RV32I-NEXT: lw ra, 60(sp) # 4-byte Folded Reload
258+
; RV32I-NEXT: lw s0, 56(sp) # 4-byte Folded Reload
259+
; RV32I-NEXT: lw s1, 52(sp) # 4-byte Folded Reload
260+
; RV32I-NEXT: lw s2, 48(sp) # 4-byte Folded Reload
261+
; RV32I-NEXT: lw s3, 44(sp) # 4-byte Folded Reload
262+
; RV32I-NEXT: lw s4, 40(sp) # 4-byte Folded Reload
263+
; RV32I-NEXT: lw s5, 36(sp) # 4-byte Folded Reload
264+
; RV32I-NEXT: lw s6, 32(sp) # 4-byte Folded Reload
265+
; RV32I-NEXT: lw s7, 28(sp) # 4-byte Folded Reload
266+
; RV32I-NEXT: lw s8, 24(sp) # 4-byte Folded Reload
267+
; RV32I-NEXT: lw s9, 20(sp) # 4-byte Folded Reload
268+
; RV32I-NEXT: lw s10, 16(sp) # 4-byte Folded Reload
269+
; RV32I-NEXT: lw s11, 12(sp) # 4-byte Folded Reload
270+
; RV32I-NEXT: .cfi_restore ra
271+
; RV32I-NEXT: .cfi_restore s0
272+
; RV32I-NEXT: .cfi_restore s1
273+
; RV32I-NEXT: .cfi_restore s2
274+
; RV32I-NEXT: .cfi_restore s3
275+
; RV32I-NEXT: .cfi_restore s4
276+
; RV32I-NEXT: .cfi_restore s5
277+
; RV32I-NEXT: .cfi_restore s6
278+
; RV32I-NEXT: .cfi_restore s7
279+
; RV32I-NEXT: .cfi_restore s8
280+
; RV32I-NEXT: .cfi_restore s9
281+
; RV32I-NEXT: .cfi_restore s10
282+
; RV32I-NEXT: .cfi_restore s11
283+
; RV32I-NEXT: addi sp, sp, 64
284+
; RV32I-NEXT: .cfi_def_cfa_offset 0
285+
; RV32I-NEXT: ret
286+
entry:
287+
store i32 %stack0, ptr %p
288+
store i32 %stack1, ptr %q
289+
tail call void asm sideeffect "", "~{x1},~{x3},~{x4},~{x5},~{x6},~{x7},~{x8},~{x9},~{x10},~{x11},~{x12},~{x13},~{x14},~{x15},~{x16},~{x17},~{x18},~{x19},~{x20},~{x21},~{x22},~{x23},~{x24},~{x25},~{x26},~{x27},~{x28},~{x29},~{x30},~{x31}"()
290+
%a = icmp eq i32 %0, 0
291+
br i1 %a, label %truebb, label %falsebb
292+
truebb:
293+
%b = add i32 %stack0, %stack1
294+
ret i32 %b
295+
falsebb:
296+
ret i32 0
297+
}

0 commit comments

Comments
 (0)