11; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2- ; RUN: llc -mtriple=riscv64 -verify-machineinstrs < %s \
2+ ; RUN: llc -O0 - mtriple=riscv64 -verify-machineinstrs < %s \
33; RUN: | FileCheck -check-prefix=RV64 %s
4- ; RUN: llc -mtriple=riscv64-unknown-linux-gnu -verify-machineinstrs < %s \
4+ ; RUN: llc -O0 - mtriple=riscv64-unknown-linux-gnu -verify-machineinstrs < %s \
55; RUN: | FileCheck -check-prefix=RV64-LINUX %s
66
77declare void @llvm.init.trampoline (ptr , ptr , ptr )
@@ -13,62 +13,62 @@ define i64 @test0(i64 %n, ptr %p) nounwind {
1313; RV64: # %bb.0:
1414; RV64-NEXT: addi sp, sp, -64
1515; RV64-NEXT: sd ra, 56(sp) # 8-byte Folded Spill
16- ; RV64-NEXT: sd s0, 48(sp) # 8-byte Folded Spill
17- ; RV64-NEXT: sd s1, 40(sp) # 8-byte Folded Spill
18- ; RV64-NEXT: mv s0, a0
16+ ; RV64-NEXT: sd a0, 8(sp) # 8-byte Folded Spill
1917; RV64-NEXT: lui a0, %hi(f)
2018; RV64-NEXT: addi a0, a0, %lo(f)
21- ; RV64-NEXT: li a2, 919
22- ; RV64-NEXT: lui a3, %hi(.LCPI0_0)
23- ; RV64-NEXT: sd a0, 32(sp)
19+ ; RV64-NEXT: sd a0, 48(sp)
20+ ; RV64-NEXT: sd a1, 40(sp)
21+ ; RV64-NEXT: li a0, 919
22+ ; RV64-NEXT: sw a0, 24(sp)
23+ ; RV64-NEXT: lui a0, 40
24+ ; RV64-NEXT: addiw a0, a0, 103
25+ ; RV64-NEXT: sw a0, 36(sp)
26+ ; RV64-NEXT: lui a0, 4155
27+ ; RV64-NEXT: addiw a0, a0, 899
28+ ; RV64-NEXT: sw a0, 32(sp)
2429; RV64-NEXT: lui a0, 6203
25- ; RV64-NEXT: ld a3, %lo(.LCPI0_0)(a3)
26- ; RV64-NEXT: addi a0, a0, 643
27- ; RV64-NEXT: sw a2, 8(sp)
28- ; RV64-NEXT: sw a0, 12(sp)
29- ; RV64-NEXT: sd a3, 16(sp)
30- ; RV64-NEXT: sd a1, 24(sp)
31- ; RV64-NEXT: addi a1, sp, 24
32- ; RV64-NEXT: addi a0, sp, 8
33- ; RV64-NEXT: addi s1, sp, 8
30+ ; RV64-NEXT: addiw a0, a0, 643
31+ ; RV64-NEXT: sw a0, 28(sp)
32+ ; RV64-NEXT: addi a1, sp, 40
33+ ; RV64-NEXT: addi a0, sp, 24
34+ ; RV64-NEXT: sd a0, 16(sp) # 8-byte Folded Spill
3435; RV64-NEXT: call __clear_cache
35- ; RV64-NEXT: mv a0, s0
36- ; RV64-NEXT: jalr s1
36+ ; RV64-NEXT: ld a0, 8(sp) # 8-byte Folded Reload
37+ ; RV64-NEXT: ld a1, 16(sp) # 8-byte Folded Reload
38+ ; RV64-NEXT: jalr a1
3739; RV64-NEXT: ld ra, 56(sp) # 8-byte Folded Reload
38- ; RV64-NEXT: ld s0, 48(sp) # 8-byte Folded Reload
39- ; RV64-NEXT: ld s1, 40(sp) # 8-byte Folded Reload
4040; RV64-NEXT: addi sp, sp, 64
4141; RV64-NEXT: ret
4242;
4343; RV64-LINUX-LABEL: test0:
4444; RV64-LINUX: # %bb.0:
4545; RV64-LINUX-NEXT: addi sp, sp, -64
4646; RV64-LINUX-NEXT: sd ra, 56(sp) # 8-byte Folded Spill
47- ; RV64-LINUX-NEXT: sd s0, 48(sp) # 8-byte Folded Spill
48- ; RV64-LINUX-NEXT: sd s1, 40(sp) # 8-byte Folded Spill
49- ; RV64-LINUX-NEXT: mv s0, a0
47+ ; RV64-LINUX-NEXT: sd a0, 8(sp) # 8-byte Folded Spill
5048; RV64-LINUX-NEXT: lui a0, %hi(f)
5149; RV64-LINUX-NEXT: addi a0, a0, %lo(f)
52- ; RV64-LINUX-NEXT: li a2, 919
53- ; RV64-LINUX-NEXT: lui a3, %hi(.LCPI0_0)
54- ; RV64-LINUX-NEXT: sd a0, 32(sp)
50+ ; RV64-LINUX-NEXT: sd a0, 48(sp)
51+ ; RV64-LINUX-NEXT: sd a1, 40(sp)
52+ ; RV64-LINUX-NEXT: li a0, 919
53+ ; RV64-LINUX-NEXT: sw a0, 24(sp)
54+ ; RV64-LINUX-NEXT: lui a0, 40
55+ ; RV64-LINUX-NEXT: addiw a0, a0, 103
56+ ; RV64-LINUX-NEXT: sw a0, 36(sp)
57+ ; RV64-LINUX-NEXT: lui a0, 4155
58+ ; RV64-LINUX-NEXT: addiw a0, a0, 899
59+ ; RV64-LINUX-NEXT: sw a0, 32(sp)
5560; RV64-LINUX-NEXT: lui a0, 6203
56- ; RV64-LINUX-NEXT: ld a3, %lo(.LCPI0_0)(a3)
57- ; RV64-LINUX-NEXT: addi a0, a0, 643
58- ; RV64-LINUX-NEXT: sw a2, 8(sp)
59- ; RV64-LINUX-NEXT: sw a0, 12(sp)
60- ; RV64-LINUX-NEXT: sd a3, 16(sp)
61- ; RV64-LINUX-NEXT: sd a1, 24(sp)
62- ; RV64-LINUX-NEXT: addi a1, sp, 24
63- ; RV64-LINUX-NEXT: addi a0, sp, 8
64- ; RV64-LINUX-NEXT: addi s1, sp, 8
61+ ; RV64-LINUX-NEXT: addiw a0, a0, 643
62+ ; RV64-LINUX-NEXT: sw a0, 28(sp)
63+ ; RV64-LINUX-NEXT: addi a1, sp, 40
64+ ; RV64-LINUX-NEXT: addi a0, sp, 24
65+ ; RV64-LINUX-NEXT: sd a0, 16(sp) # 8-byte Folded Spill
6566; RV64-LINUX-NEXT: li a2, 0
6667; RV64-LINUX-NEXT: call __riscv_flush_icache
67- ; RV64-LINUX-NEXT: mv a0, s0
68- ; RV64-LINUX-NEXT: jalr s1
68+ ; RV64-LINUX-NEXT: ld a0, 8(sp) # 8-byte Folded Reload
69+ ; RV64-LINUX-NEXT: ld a1, 16(sp) # 8-byte Folded Reload
70+ ; RV64-LINUX-NEXT: jalr a1
6971; RV64-LINUX-NEXT: ld ra, 56(sp) # 8-byte Folded Reload
70- ; RV64-LINUX-NEXT: ld s0, 48(sp) # 8-byte Folded Reload
71- ; RV64-LINUX-NEXT: ld s1, 40(sp) # 8-byte Folded Reload
7272; RV64-LINUX-NEXT: addi sp, sp, 64
7373; RV64-LINUX-NEXT: ret
7474 %alloca = alloca [32 x i8 ], align 8
0 commit comments