@@ -69,12 +69,12 @@ define i32 @va1(ptr %fmt, ...) {
69
69
; RV64-NEXT: sd a2, 32(sp)
70
70
; RV64-NEXT: sd a3, 40(sp)
71
71
; RV64-NEXT: sd a4, 48(sp)
72
- ; RV64-NEXT: sd a5, 56(sp)
73
72
; RV64-NEXT: addi a0, sp, 8
74
73
; RV64-NEXT: addi a1, sp, 24
75
74
; RV64-NEXT: sd a1, 8(sp)
76
75
; RV64-NEXT: lw a0, 4(a0)
77
76
; RV64-NEXT: lwu a1, 8(sp)
77
+ ; RV64-NEXT: sd a5, 56(sp)
78
78
; RV64-NEXT: sd a6, 64(sp)
79
79
; RV64-NEXT: sd a7, 72(sp)
80
80
; RV64-NEXT: slli a0, a0, 32
@@ -129,12 +129,12 @@ define i32 @va1(ptr %fmt, ...) {
129
129
; RV64-WITHFP-NEXT: sd a2, 16(s0)
130
130
; RV64-WITHFP-NEXT: sd a3, 24(s0)
131
131
; RV64-WITHFP-NEXT: sd a4, 32(s0)
132
- ; RV64-WITHFP-NEXT: sd a5, 40(s0)
133
132
; RV64-WITHFP-NEXT: addi a0, s0, -24
134
133
; RV64-WITHFP-NEXT: addi a1, s0, 8
135
134
; RV64-WITHFP-NEXT: sd a1, -24(s0)
136
135
; RV64-WITHFP-NEXT: lw a0, 4(a0)
137
136
; RV64-WITHFP-NEXT: lwu a1, -24(s0)
137
+ ; RV64-WITHFP-NEXT: sd a5, 40(s0)
138
138
; RV64-WITHFP-NEXT: sd a6, 48(s0)
139
139
; RV64-WITHFP-NEXT: sd a7, 56(s0)
140
140
; RV64-WITHFP-NEXT: slli a0, a0, 32
@@ -844,11 +844,11 @@ define i64 @va3(i32 %a, i64 %b, ...) nounwind {
844
844
; ILP32-LABEL: va3:
845
845
; ILP32: # %bb.0:
846
846
; ILP32-NEXT: addi sp, sp, -32
847
- ; ILP32-NEXT: sw a3, 12(sp)
848
- ; ILP32-NEXT: sw a4, 16(sp)
849
847
; ILP32-NEXT: addi a0, sp, 12
850
848
; ILP32-NEXT: sw a0, 4(sp)
851
849
; ILP32-NEXT: lw a0, 4(sp)
850
+ ; ILP32-NEXT: sw a3, 12(sp)
851
+ ; ILP32-NEXT: sw a4, 16(sp)
852
852
; ILP32-NEXT: sw a5, 20(sp)
853
853
; ILP32-NEXT: sw a6, 24(sp)
854
854
; ILP32-NEXT: sw a7, 28(sp)
@@ -868,11 +868,11 @@ define i64 @va3(i32 %a, i64 %b, ...) nounwind {
868
868
; RV32D-ILP32-LABEL: va3:
869
869
; RV32D-ILP32: # %bb.0:
870
870
; RV32D-ILP32-NEXT: addi sp, sp, -48
871
- ; RV32D-ILP32-NEXT: sw a3, 28(sp)
872
- ; RV32D-ILP32-NEXT: sw a4, 32(sp)
873
871
; RV32D-ILP32-NEXT: addi a0, sp, 28
874
872
; RV32D-ILP32-NEXT: sw a0, 20(sp)
875
873
; RV32D-ILP32-NEXT: lw a0, 20(sp)
874
+ ; RV32D-ILP32-NEXT: sw a3, 28(sp)
875
+ ; RV32D-ILP32-NEXT: sw a4, 32(sp)
876
876
; RV32D-ILP32-NEXT: sw a5, 36(sp)
877
877
; RV32D-ILP32-NEXT: sw a6, 40(sp)
878
878
; RV32D-ILP32-NEXT: sw a7, 44(sp)
@@ -894,11 +894,11 @@ define i64 @va3(i32 %a, i64 %b, ...) nounwind {
894
894
; RV32D-ILP32F-LABEL: va3:
895
895
; RV32D-ILP32F: # %bb.0:
896
896
; RV32D-ILP32F-NEXT: addi sp, sp, -48
897
- ; RV32D-ILP32F-NEXT: sw a3, 28(sp)
898
- ; RV32D-ILP32F-NEXT: sw a4, 32(sp)
899
897
; RV32D-ILP32F-NEXT: addi a0, sp, 28
900
898
; RV32D-ILP32F-NEXT: sw a0, 20(sp)
901
899
; RV32D-ILP32F-NEXT: lw a0, 20(sp)
900
+ ; RV32D-ILP32F-NEXT: sw a3, 28(sp)
901
+ ; RV32D-ILP32F-NEXT: sw a4, 32(sp)
902
902
; RV32D-ILP32F-NEXT: sw a5, 36(sp)
903
903
; RV32D-ILP32F-NEXT: sw a6, 40(sp)
904
904
; RV32D-ILP32F-NEXT: sw a7, 44(sp)
@@ -920,11 +920,11 @@ define i64 @va3(i32 %a, i64 %b, ...) nounwind {
920
920
; RV32D-ILP32D-LABEL: va3:
921
921
; RV32D-ILP32D: # %bb.0:
922
922
; RV32D-ILP32D-NEXT: addi sp, sp, -48
923
- ; RV32D-ILP32D-NEXT: sw a3, 28(sp)
924
- ; RV32D-ILP32D-NEXT: sw a4, 32(sp)
925
923
; RV32D-ILP32D-NEXT: addi a0, sp, 28
926
924
; RV32D-ILP32D-NEXT: sw a0, 20(sp)
927
925
; RV32D-ILP32D-NEXT: lw a0, 20(sp)
926
+ ; RV32D-ILP32D-NEXT: sw a3, 28(sp)
927
+ ; RV32D-ILP32D-NEXT: sw a4, 32(sp)
928
928
; RV32D-ILP32D-NEXT: sw a5, 36(sp)
929
929
; RV32D-ILP32D-NEXT: sw a6, 40(sp)
930
930
; RV32D-ILP32D-NEXT: sw a7, 44(sp)
@@ -946,12 +946,12 @@ define i64 @va3(i32 %a, i64 %b, ...) nounwind {
946
946
; RV64-LABEL: va3:
947
947
; RV64: # %bb.0:
948
948
; RV64-NEXT: addi sp, sp, -64
949
- ; RV64-NEXT: sd a2, 16(sp)
950
- ; RV64-NEXT: sd a3, 24(sp)
951
- ; RV64-NEXT: sd a4, 32(sp)
952
949
; RV64-NEXT: addi a0, sp, 16
953
950
; RV64-NEXT: sd a0, 8(sp)
954
951
; RV64-NEXT: ld a0, 8(sp)
952
+ ; RV64-NEXT: sd a2, 16(sp)
953
+ ; RV64-NEXT: sd a3, 24(sp)
954
+ ; RV64-NEXT: sd a4, 32(sp)
955
955
; RV64-NEXT: sd a5, 40(sp)
956
956
; RV64-NEXT: sd a6, 48(sp)
957
957
; RV64-NEXT: sd a7, 56(sp)
@@ -970,11 +970,11 @@ define i64 @va3(i32 %a, i64 %b, ...) nounwind {
970
970
; RV32-WITHFP-NEXT: sw ra, 20(sp) # 4-byte Folded Spill
971
971
; RV32-WITHFP-NEXT: sw s0, 16(sp) # 4-byte Folded Spill
972
972
; RV32-WITHFP-NEXT: addi s0, sp, 24
973
- ; RV32-WITHFP-NEXT: sw a3, 4(s0)
974
- ; RV32-WITHFP-NEXT: sw a4, 8(s0)
975
973
; RV32-WITHFP-NEXT: addi a0, s0, 4
976
974
; RV32-WITHFP-NEXT: sw a0, -12(s0)
977
975
; RV32-WITHFP-NEXT: lw a0, -12(s0)
976
+ ; RV32-WITHFP-NEXT: sw a3, 4(s0)
977
+ ; RV32-WITHFP-NEXT: sw a4, 8(s0)
978
978
; RV32-WITHFP-NEXT: sw a5, 12(s0)
979
979
; RV32-WITHFP-NEXT: sw a6, 16(s0)
980
980
; RV32-WITHFP-NEXT: sw a7, 20(s0)
@@ -999,12 +999,12 @@ define i64 @va3(i32 %a, i64 %b, ...) nounwind {
999
999
; RV64-WITHFP-NEXT: sd ra, 24(sp) # 8-byte Folded Spill
1000
1000
; RV64-WITHFP-NEXT: sd s0, 16(sp) # 8-byte Folded Spill
1001
1001
; RV64-WITHFP-NEXT: addi s0, sp, 32
1002
- ; RV64-WITHFP-NEXT: sd a2, 0(s0)
1003
- ; RV64-WITHFP-NEXT: sd a3, 8(s0)
1004
- ; RV64-WITHFP-NEXT: sd a4, 16(s0)
1005
1002
; RV64-WITHFP-NEXT: mv a0, s0
1006
1003
; RV64-WITHFP-NEXT: sd a0, -24(s0)
1007
1004
; RV64-WITHFP-NEXT: ld a0, -24(s0)
1005
+ ; RV64-WITHFP-NEXT: sd a2, 0(s0)
1006
+ ; RV64-WITHFP-NEXT: sd a3, 8(s0)
1007
+ ; RV64-WITHFP-NEXT: sd a4, 16(s0)
1008
1008
; RV64-WITHFP-NEXT: sd a5, 24(s0)
1009
1009
; RV64-WITHFP-NEXT: sd a6, 32(s0)
1010
1010
; RV64-WITHFP-NEXT: sd a7, 40(s0)
@@ -1622,9 +1622,6 @@ define i32 @va_large_stack(ptr %fmt, ...) {
1622
1622
; RV64-NEXT: lui a0, 24414
1623
1623
; RV64-NEXT: add a0, sp, a0
1624
1624
; RV64-NEXT: sd a4, 304(a0)
1625
- ; RV64-NEXT: lui a0, 24414
1626
- ; RV64-NEXT: add a0, sp, a0
1627
- ; RV64-NEXT: sd a5, 312(a0)
1628
1625
; RV64-NEXT: addi a0, sp, 8
1629
1626
; RV64-NEXT: lui a1, 24414
1630
1627
; RV64-NEXT: addiw a1, a1, 280
@@ -1634,6 +1631,9 @@ define i32 @va_large_stack(ptr %fmt, ...) {
1634
1631
; RV64-NEXT: lwu a1, 8(sp)
1635
1632
; RV64-NEXT: lui a2, 24414
1636
1633
; RV64-NEXT: add a2, sp, a2
1634
+ ; RV64-NEXT: sd a5, 312(a2)
1635
+ ; RV64-NEXT: lui a2, 24414
1636
+ ; RV64-NEXT: add a2, sp, a2
1637
1637
; RV64-NEXT: sd a6, 320(a2)
1638
1638
; RV64-NEXT: lui a2, 24414
1639
1639
; RV64-NEXT: add a2, sp, a2
0 commit comments