@@ -17,25 +17,27 @@ define i64 @test0(i64 %n, ptr %p) nounwind {
1717; RV64-NEXT: sd a0, 0(sp) # 8-byte Folded Spill
1818; RV64-NEXT: lui a0, %hi(f)
1919; RV64-NEXT: addi a0, a0, %lo(f)
20- ; RV64-NEXT: sd a0, 48(sp)
21- ; RV64-NEXT: sd a1, 40(sp)
22- ; RV64-NEXT: li a0, 951
23- ; RV64-NEXT: sw a0, 32(sp)
20+ ; RV64-NEXT: sw a0, 44(sp)
21+ ; RV64-NEXT: srli a0, a0, 32
22+ ; RV64-NEXT: sw a0, 48(sp)
23+ ; RV64-NEXT: sw a1, 36(sp)
24+ ; RV64-NEXT: srli a0, a1, 32
25+ ; RV64-NEXT: sw a0, 40(sp)
2426; RV64-NEXT: li a0, 23
2527; RV64-NEXT: sw a0, 16(sp)
26- ; RV64-NEXT: lui a0, 40
28+ ; RV64-NEXT: lui a0, 56
2729; RV64-NEXT: addiw a0, a0, 103
28- ; RV64-NEXT: sw a0, 36 (sp)
29- ; RV64-NEXT: lui a0, 5348
30+ ; RV64-NEXT: sw a0, 32 (sp)
31+ ; RV64-NEXT: lui a0, 4324
3032; RV64-NEXT: addiw a0, a0, -509
3133; RV64-NEXT: sw a0, 28(sp)
32- ; RV64-NEXT: lui a0, 7395
33- ; RV64-NEXT: addiw a0, a0, 643
34+ ; RV64-NEXT: lui a0, 6371
35+ ; RV64-NEXT: addiw a0, a0, 899
3436; RV64-NEXT: sw a0, 24(sp)
3537; RV64-NEXT: lui a0, 1
3638; RV64-NEXT: addiw a0, a0, -489
3739; RV64-NEXT: sw a0, 20(sp)
38- ; RV64-NEXT: addi a1, sp, 40
40+ ; RV64-NEXT: addi a1, sp, 36
3941; RV64-NEXT: addi a0, sp, 16
4042; RV64-NEXT: sd a0, 8(sp) # 8-byte Folded Spill
4143; RV64-NEXT: call __clear_cache
@@ -54,25 +56,27 @@ define i64 @test0(i64 %n, ptr %p) nounwind {
5456; RV64-LINUX-NEXT: sd a0, 0(sp) # 8-byte Folded Spill
5557; RV64-LINUX-NEXT: lui a0, %hi(f)
5658; RV64-LINUX-NEXT: addi a0, a0, %lo(f)
57- ; RV64-LINUX-NEXT: sd a0, 48(sp)
58- ; RV64-LINUX-NEXT: sd a1, 40(sp)
59- ; RV64-LINUX-NEXT: li a0, 951
60- ; RV64-LINUX-NEXT: sw a0, 32(sp)
59+ ; RV64-LINUX-NEXT: sw a0, 44(sp)
60+ ; RV64-LINUX-NEXT: srli a0, a0, 32
61+ ; RV64-LINUX-NEXT: sw a0, 48(sp)
62+ ; RV64-LINUX-NEXT: sw a1, 36(sp)
63+ ; RV64-LINUX-NEXT: srli a0, a1, 32
64+ ; RV64-LINUX-NEXT: sw a0, 40(sp)
6165; RV64-LINUX-NEXT: li a0, 23
6266; RV64-LINUX-NEXT: sw a0, 16(sp)
63- ; RV64-LINUX-NEXT: lui a0, 40
67+ ; RV64-LINUX-NEXT: lui a0, 56
6468; RV64-LINUX-NEXT: addiw a0, a0, 103
65- ; RV64-LINUX-NEXT: sw a0, 36 (sp)
66- ; RV64-LINUX-NEXT: lui a0, 5348
69+ ; RV64-LINUX-NEXT: sw a0, 32 (sp)
70+ ; RV64-LINUX-NEXT: lui a0, 4324
6771; RV64-LINUX-NEXT: addiw a0, a0, -509
6872; RV64-LINUX-NEXT: sw a0, 28(sp)
69- ; RV64-LINUX-NEXT: lui a0, 7395
70- ; RV64-LINUX-NEXT: addiw a0, a0, 643
73+ ; RV64-LINUX-NEXT: lui a0, 6371
74+ ; RV64-LINUX-NEXT: addiw a0, a0, 899
7175; RV64-LINUX-NEXT: sw a0, 24(sp)
7276; RV64-LINUX-NEXT: lui a0, 1
7377; RV64-LINUX-NEXT: addiw a0, a0, -489
7478; RV64-LINUX-NEXT: sw a0, 20(sp)
75- ; RV64-LINUX-NEXT: addi a1, sp, 40
79+ ; RV64-LINUX-NEXT: addi a1, sp, 36
7680; RV64-LINUX-NEXT: addi a0, sp, 16
7781; RV64-LINUX-NEXT: sd a0, 8(sp) # 8-byte Folded Spill
7882; RV64-LINUX-NEXT: li a2, 0
@@ -83,7 +87,7 @@ define i64 @test0(i64 %n, ptr %p) nounwind {
8387; RV64-LINUX-NEXT: ld ra, 56(sp) # 8-byte Folded Reload
8488; RV64-LINUX-NEXT: addi sp, sp, 64
8589; RV64-LINUX-NEXT: ret
86- %alloca = alloca [40 x i8 ], align 8
90+ %alloca = alloca [36 x i8 ], align 8
8791 call void @llvm.init.trampoline (ptr %alloca , ptr @f , ptr %p )
8892 %tramp = call ptr @llvm.adjust.trampoline (ptr %alloca )
8993 %ret = call i64 %tramp (i64 %n )
0 commit comments