@@ -815,8 +815,7 @@ define void @caller1024() {
815
815
; RV32I-NEXT: andi sp, sp, -1024
816
816
; RV32I-NEXT: addi a0, sp, 1024
817
817
; RV32I-NEXT: call callee
818
- ; RV32I-NEXT: addi sp, s0, -2048
819
- ; RV32I-NEXT: addi sp, sp, 16
818
+ ; RV32I-NEXT: addi sp, s0, -2032
820
819
; RV32I-NEXT: lw ra, 2028(sp) # 4-byte Folded Reload
821
820
; RV32I-NEXT: lw s0, 2024(sp) # 4-byte Folded Reload
822
821
; RV32I-NEXT: addi sp, sp, 2032
@@ -836,8 +835,7 @@ define void @caller1024() {
836
835
; RV32I-ILP32E-NEXT: andi sp, sp, -1024
837
836
; RV32I-ILP32E-NEXT: addi a0, sp, 1024
838
837
; RV32I-ILP32E-NEXT: call callee
839
- ; RV32I-ILP32E-NEXT: addi sp, s0, -2048
840
- ; RV32I-ILP32E-NEXT: addi sp, sp, 4
838
+ ; RV32I-ILP32E-NEXT: addi sp, s0, -2044
841
839
; RV32I-ILP32E-NEXT: lw ra, 2040(sp) # 4-byte Folded Reload
842
840
; RV32I-ILP32E-NEXT: lw s0, 2036(sp) # 4-byte Folded Reload
843
841
; RV32I-ILP32E-NEXT: addi sp, sp, 2044
@@ -857,8 +855,7 @@ define void @caller1024() {
857
855
; RV64I-NEXT: andi sp, sp, -1024
858
856
; RV64I-NEXT: addi a0, sp, 1024
859
857
; RV64I-NEXT: call callee
860
- ; RV64I-NEXT: addi sp, s0, -2048
861
- ; RV64I-NEXT: addi sp, sp, 16
858
+ ; RV64I-NEXT: addi sp, s0, -2032
862
859
; RV64I-NEXT: ld ra, 2024(sp) # 8-byte Folded Reload
863
860
; RV64I-NEXT: ld s0, 2016(sp) # 8-byte Folded Reload
864
861
; RV64I-NEXT: addi sp, sp, 2032
@@ -878,8 +875,7 @@ define void @caller1024() {
878
875
; RV64I-LP64E-NEXT: andi sp, sp, -1024
879
876
; RV64I-LP64E-NEXT: addi a0, sp, 1024
880
877
; RV64I-LP64E-NEXT: call callee
881
- ; RV64I-LP64E-NEXT: addi sp, s0, -2048
882
- ; RV64I-LP64E-NEXT: addi sp, sp, 8
878
+ ; RV64I-LP64E-NEXT: addi sp, s0, -2040
883
879
; RV64I-LP64E-NEXT: ld ra, 2032(sp) # 8-byte Folded Reload
884
880
; RV64I-LP64E-NEXT: ld s0, 2024(sp) # 8-byte Folded Reload
885
881
; RV64I-LP64E-NEXT: addi sp, sp, 2040
@@ -959,10 +955,7 @@ define void @caller2048() {
959
955
; RV32I-NEXT: addi a0, sp, 2047
960
956
; RV32I-NEXT: addi a0, a0, 1
961
957
; RV32I-NEXT: call callee
962
- ; RV32I-NEXT: lui a0, 1
963
- ; RV32I-NEXT: sub sp, s0, a0
964
- ; RV32I-NEXT: addi sp, sp, 2032
965
- ; RV32I-NEXT: addi sp, sp, 32
958
+ ; RV32I-NEXT: addi sp, s0, -2032
966
959
; RV32I-NEXT: lw ra, 2028(sp) # 4-byte Folded Reload
967
960
; RV32I-NEXT: lw s0, 2024(sp) # 4-byte Folded Reload
968
961
; RV32I-NEXT: addi sp, sp, 2032
@@ -984,10 +977,7 @@ define void @caller2048() {
984
977
; RV32I-ILP32E-NEXT: addi a0, sp, 2047
985
978
; RV32I-ILP32E-NEXT: addi a0, a0, 1
986
979
; RV32I-ILP32E-NEXT: call callee
987
- ; RV32I-ILP32E-NEXT: lui a0, 1
988
- ; RV32I-ILP32E-NEXT: sub sp, s0, a0
989
- ; RV32I-ILP32E-NEXT: addi sp, sp, 2044
990
- ; RV32I-ILP32E-NEXT: addi sp, sp, 8
980
+ ; RV32I-ILP32E-NEXT: addi sp, s0, -2044
991
981
; RV32I-ILP32E-NEXT: lw ra, 2040(sp) # 4-byte Folded Reload
992
982
; RV32I-ILP32E-NEXT: lw s0, 2036(sp) # 4-byte Folded Reload
993
983
; RV32I-ILP32E-NEXT: addi sp, sp, 2044
@@ -1009,10 +999,7 @@ define void @caller2048() {
1009
999
; RV64I-NEXT: addi a0, sp, 2047
1010
1000
; RV64I-NEXT: addi a0, a0, 1
1011
1001
; RV64I-NEXT: call callee
1012
- ; RV64I-NEXT: lui a0, 1
1013
- ; RV64I-NEXT: sub sp, s0, a0
1014
- ; RV64I-NEXT: addi sp, sp, 2032
1015
- ; RV64I-NEXT: addi sp, sp, 32
1002
+ ; RV64I-NEXT: addi sp, s0, -2032
1016
1003
; RV64I-NEXT: ld ra, 2024(sp) # 8-byte Folded Reload
1017
1004
; RV64I-NEXT: ld s0, 2016(sp) # 8-byte Folded Reload
1018
1005
; RV64I-NEXT: addi sp, sp, 2032
@@ -1034,10 +1021,7 @@ define void @caller2048() {
1034
1021
; RV64I-LP64E-NEXT: addi a0, sp, 2047
1035
1022
; RV64I-LP64E-NEXT: addi a0, a0, 1
1036
1023
; RV64I-LP64E-NEXT: call callee
1037
- ; RV64I-LP64E-NEXT: lui a0, 1
1038
- ; RV64I-LP64E-NEXT: sub sp, s0, a0
1039
- ; RV64I-LP64E-NEXT: addi sp, sp, 2040
1040
- ; RV64I-LP64E-NEXT: addi sp, sp, 16
1024
+ ; RV64I-LP64E-NEXT: addi sp, s0, -2040
1041
1025
; RV64I-LP64E-NEXT: ld ra, 2032(sp) # 8-byte Folded Reload
1042
1026
; RV64I-LP64E-NEXT: ld s0, 2024(sp) # 8-byte Folded Reload
1043
1027
; RV64I-LP64E-NEXT: addi sp, sp, 2040
@@ -1119,10 +1103,7 @@ define void @caller4096() {
1119
1103
; RV32I-NEXT: lui a0, 1
1120
1104
; RV32I-NEXT: add a0, sp, a0
1121
1105
; RV32I-NEXT: call callee
1122
- ; RV32I-NEXT: lui a0, 2
1123
- ; RV32I-NEXT: sub sp, s0, a0
1124
- ; RV32I-NEXT: addi a0, a0, -2032
1125
- ; RV32I-NEXT: add sp, sp, a0
1106
+ ; RV32I-NEXT: addi sp, s0, -2032
1126
1107
; RV32I-NEXT: lw ra, 2028(sp) # 4-byte Folded Reload
1127
1108
; RV32I-NEXT: lw s0, 2024(sp) # 4-byte Folded Reload
1128
1109
; RV32I-NEXT: addi sp, sp, 2032
@@ -1146,10 +1127,7 @@ define void @caller4096() {
1146
1127
; RV32I-ILP32E-NEXT: lui a0, 1
1147
1128
; RV32I-ILP32E-NEXT: add a0, sp, a0
1148
1129
; RV32I-ILP32E-NEXT: call callee
1149
- ; RV32I-ILP32E-NEXT: lui a0, 2
1150
- ; RV32I-ILP32E-NEXT: sub sp, s0, a0
1151
- ; RV32I-ILP32E-NEXT: addi a0, a0, -2044
1152
- ; RV32I-ILP32E-NEXT: add sp, sp, a0
1130
+ ; RV32I-ILP32E-NEXT: addi sp, s0, -2044
1153
1131
; RV32I-ILP32E-NEXT: lw ra, 2040(sp) # 4-byte Folded Reload
1154
1132
; RV32I-ILP32E-NEXT: lw s0, 2036(sp) # 4-byte Folded Reload
1155
1133
; RV32I-ILP32E-NEXT: addi sp, sp, 2044
@@ -1173,10 +1151,7 @@ define void @caller4096() {
1173
1151
; RV64I-NEXT: lui a0, 1
1174
1152
; RV64I-NEXT: add a0, sp, a0
1175
1153
; RV64I-NEXT: call callee
1176
- ; RV64I-NEXT: lui a0, 2
1177
- ; RV64I-NEXT: sub sp, s0, a0
1178
- ; RV64I-NEXT: addiw a0, a0, -2032
1179
- ; RV64I-NEXT: add sp, sp, a0
1154
+ ; RV64I-NEXT: addi sp, s0, -2032
1180
1155
; RV64I-NEXT: ld ra, 2024(sp) # 8-byte Folded Reload
1181
1156
; RV64I-NEXT: ld s0, 2016(sp) # 8-byte Folded Reload
1182
1157
; RV64I-NEXT: addi sp, sp, 2032
@@ -1200,10 +1175,7 @@ define void @caller4096() {
1200
1175
; RV64I-LP64E-NEXT: lui a0, 1
1201
1176
; RV64I-LP64E-NEXT: add a0, sp, a0
1202
1177
; RV64I-LP64E-NEXT: call callee
1203
- ; RV64I-LP64E-NEXT: lui a0, 2
1204
- ; RV64I-LP64E-NEXT: sub sp, s0, a0
1205
- ; RV64I-LP64E-NEXT: addiw a0, a0, -2040
1206
- ; RV64I-LP64E-NEXT: add sp, sp, a0
1178
+ ; RV64I-LP64E-NEXT: addi sp, s0, -2040
1207
1179
; RV64I-LP64E-NEXT: ld ra, 2032(sp) # 8-byte Folded Reload
1208
1180
; RV64I-LP64E-NEXT: ld s0, 2024(sp) # 8-byte Folded Reload
1209
1181
; RV64I-LP64E-NEXT: addi sp, sp, 2040
0 commit comments