@@ -150,24 +150,24 @@ define void @callee() nounwind {
150
150
;
151
151
; RV32I-ILP32E-LABEL: callee:
152
152
; RV32I-ILP32E: # %bb.0:
153
- ; RV32I-ILP32E-NEXT: addi sp, sp, -48
154
- ; RV32I-ILP32E-NEXT: sw ra, 44 (sp) # 4-byte Folded Spill
155
- ; RV32I-ILP32E-NEXT: sw s0, 40 (sp) # 4-byte Folded Spill
156
- ; RV32I-ILP32E-NEXT: sw s1, 36 (sp) # 4-byte Folded Spill
153
+ ; RV32I-ILP32E-NEXT: addi sp, sp, -36
154
+ ; RV32I-ILP32E-NEXT: sw ra, 32 (sp) # 4-byte Folded Spill
155
+ ; RV32I-ILP32E-NEXT: sw s0, 28 (sp) # 4-byte Folded Spill
156
+ ; RV32I-ILP32E-NEXT: sw s1, 24 (sp) # 4-byte Folded Spill
157
157
; RV32I-ILP32E-NEXT: lui a6, %hi(var)
158
158
; RV32I-ILP32E-NEXT: lw a0, %lo(var)(a6)
159
- ; RV32I-ILP32E-NEXT: sw a0, 32 (sp) # 4-byte Folded Spill
159
+ ; RV32I-ILP32E-NEXT: sw a0, 20 (sp) # 4-byte Folded Spill
160
160
; RV32I-ILP32E-NEXT: lw a0, %lo(var+4)(a6)
161
- ; RV32I-ILP32E-NEXT: sw a0, 28 (sp) # 4-byte Folded Spill
161
+ ; RV32I-ILP32E-NEXT: sw a0, 16 (sp) # 4-byte Folded Spill
162
162
; RV32I-ILP32E-NEXT: lw a0, %lo(var+8)(a6)
163
- ; RV32I-ILP32E-NEXT: sw a0, 24 (sp) # 4-byte Folded Spill
163
+ ; RV32I-ILP32E-NEXT: sw a0, 12 (sp) # 4-byte Folded Spill
164
164
; RV32I-ILP32E-NEXT: lw a0, %lo(var+12)(a6)
165
- ; RV32I-ILP32E-NEXT: sw a0, 20 (sp) # 4-byte Folded Spill
165
+ ; RV32I-ILP32E-NEXT: sw a0, 8 (sp) # 4-byte Folded Spill
166
166
; RV32I-ILP32E-NEXT: addi a5, a6, %lo(var)
167
167
; RV32I-ILP32E-NEXT: lw a0, 16(a5)
168
- ; RV32I-ILP32E-NEXT: sw a0, 16 (sp) # 4-byte Folded Spill
168
+ ; RV32I-ILP32E-NEXT: sw a0, 4 (sp) # 4-byte Folded Spill
169
169
; RV32I-ILP32E-NEXT: lw a0, 20(a5)
170
- ; RV32I-ILP32E-NEXT: sw a0, 12 (sp) # 4-byte Folded Spill
170
+ ; RV32I-ILP32E-NEXT: sw a0, 0 (sp) # 4-byte Folded Spill
171
171
; RV32I-ILP32E-NEXT: lw t0, 24(a5)
172
172
; RV32I-ILP32E-NEXT: lw t1, 28(a5)
173
173
; RV32I-ILP32E-NEXT: lw t2, 32(a5)
@@ -220,22 +220,22 @@ define void @callee() nounwind {
220
220
; RV32I-ILP32E-NEXT: sw t2, 32(a5)
221
221
; RV32I-ILP32E-NEXT: sw t1, 28(a5)
222
222
; RV32I-ILP32E-NEXT: sw t0, 24(a5)
223
- ; RV32I-ILP32E-NEXT: lw a0, 12 (sp) # 4-byte Folded Reload
223
+ ; RV32I-ILP32E-NEXT: lw a0, 0 (sp) # 4-byte Folded Reload
224
224
; RV32I-ILP32E-NEXT: sw a0, 20(a5)
225
- ; RV32I-ILP32E-NEXT: lw a0, 16 (sp) # 4-byte Folded Reload
225
+ ; RV32I-ILP32E-NEXT: lw a0, 4 (sp) # 4-byte Folded Reload
226
226
; RV32I-ILP32E-NEXT: sw a0, 16(a5)
227
- ; RV32I-ILP32E-NEXT: lw a0, 20 (sp) # 4-byte Folded Reload
227
+ ; RV32I-ILP32E-NEXT: lw a0, 8 (sp) # 4-byte Folded Reload
228
228
; RV32I-ILP32E-NEXT: sw a0, %lo(var+12)(a6)
229
- ; RV32I-ILP32E-NEXT: lw a0, 24 (sp) # 4-byte Folded Reload
229
+ ; RV32I-ILP32E-NEXT: lw a0, 12 (sp) # 4-byte Folded Reload
230
230
; RV32I-ILP32E-NEXT: sw a0, %lo(var+8)(a6)
231
- ; RV32I-ILP32E-NEXT: lw a0, 28 (sp) # 4-byte Folded Reload
231
+ ; RV32I-ILP32E-NEXT: lw a0, 16 (sp) # 4-byte Folded Reload
232
232
; RV32I-ILP32E-NEXT: sw a0, %lo(var+4)(a6)
233
- ; RV32I-ILP32E-NEXT: lw a0, 32 (sp) # 4-byte Folded Reload
233
+ ; RV32I-ILP32E-NEXT: lw a0, 20 (sp) # 4-byte Folded Reload
234
234
; RV32I-ILP32E-NEXT: sw a0, %lo(var)(a6)
235
- ; RV32I-ILP32E-NEXT: lw ra, 44 (sp) # 4-byte Folded Reload
236
- ; RV32I-ILP32E-NEXT: lw s0, 40 (sp) # 4-byte Folded Reload
237
- ; RV32I-ILP32E-NEXT: lw s1, 36 (sp) # 4-byte Folded Reload
238
- ; RV32I-ILP32E-NEXT: addi sp, sp, 48
235
+ ; RV32I-ILP32E-NEXT: lw ra, 32 (sp) # 4-byte Folded Reload
236
+ ; RV32I-ILP32E-NEXT: lw s0, 28 (sp) # 4-byte Folded Reload
237
+ ; RV32I-ILP32E-NEXT: lw s1, 24 (sp) # 4-byte Folded Reload
238
+ ; RV32I-ILP32E-NEXT: addi sp, sp, 36
239
239
; RV32I-ILP32E-NEXT: ret
240
240
;
241
241
; RV32I-WITH-FP-LABEL: callee:
@@ -659,24 +659,24 @@ define void @callee() nounwind {
659
659
;
660
660
; RV64I-LP64E-LABEL: callee:
661
661
; RV64I-LP64E: # %bb.0:
662
- ; RV64I-LP64E-NEXT: addi sp, sp, -80
663
- ; RV64I-LP64E-NEXT: sd ra, 72 (sp) # 8-byte Folded Spill
664
- ; RV64I-LP64E-NEXT: sd s0, 64 (sp) # 8-byte Folded Spill
665
- ; RV64I-LP64E-NEXT: sd s1, 56 (sp) # 8-byte Folded Spill
662
+ ; RV64I-LP64E-NEXT: addi sp, sp, -72
663
+ ; RV64I-LP64E-NEXT: sd ra, 64 (sp) # 8-byte Folded Spill
664
+ ; RV64I-LP64E-NEXT: sd s0, 56 (sp) # 8-byte Folded Spill
665
+ ; RV64I-LP64E-NEXT: sd s1, 48 (sp) # 8-byte Folded Spill
666
666
; RV64I-LP64E-NEXT: lui a6, %hi(var)
667
667
; RV64I-LP64E-NEXT: lw a0, %lo(var)(a6)
668
- ; RV64I-LP64E-NEXT: sd a0, 48(sp) # 8-byte Folded Spill
669
- ; RV64I-LP64E-NEXT: lw a0, %lo(var+4)(a6)
670
668
; RV64I-LP64E-NEXT: sd a0, 40(sp) # 8-byte Folded Spill
671
- ; RV64I-LP64E-NEXT: lw a0, %lo(var+8 )(a6)
669
+ ; RV64I-LP64E-NEXT: lw a0, %lo(var+4 )(a6)
672
670
; RV64I-LP64E-NEXT: sd a0, 32(sp) # 8-byte Folded Spill
673
- ; RV64I-LP64E-NEXT: lw a0, %lo(var+12 )(a6)
671
+ ; RV64I-LP64E-NEXT: lw a0, %lo(var+8 )(a6)
674
672
; RV64I-LP64E-NEXT: sd a0, 24(sp) # 8-byte Folded Spill
673
+ ; RV64I-LP64E-NEXT: lw a0, %lo(var+12)(a6)
674
+ ; RV64I-LP64E-NEXT: sd a0, 16(sp) # 8-byte Folded Spill
675
675
; RV64I-LP64E-NEXT: addi a5, a6, %lo(var)
676
676
; RV64I-LP64E-NEXT: lw a0, 16(a5)
677
- ; RV64I-LP64E-NEXT: sd a0, 16(sp) # 8-byte Folded Spill
678
- ; RV64I-LP64E-NEXT: lw a0, 20(a5)
679
677
; RV64I-LP64E-NEXT: sd a0, 8(sp) # 8-byte Folded Spill
678
+ ; RV64I-LP64E-NEXT: lw a0, 20(a5)
679
+ ; RV64I-LP64E-NEXT: sd a0, 0(sp) # 8-byte Folded Spill
680
680
; RV64I-LP64E-NEXT: lw t0, 24(a5)
681
681
; RV64I-LP64E-NEXT: lw t1, 28(a5)
682
682
; RV64I-LP64E-NEXT: lw t2, 32(a5)
@@ -729,22 +729,22 @@ define void @callee() nounwind {
729
729
; RV64I-LP64E-NEXT: sw t2, 32(a5)
730
730
; RV64I-LP64E-NEXT: sw t1, 28(a5)
731
731
; RV64I-LP64E-NEXT: sw t0, 24(a5)
732
- ; RV64I-LP64E-NEXT: ld a0, 8 (sp) # 8-byte Folded Reload
732
+ ; RV64I-LP64E-NEXT: ld a0, 0 (sp) # 8-byte Folded Reload
733
733
; RV64I-LP64E-NEXT: sw a0, 20(a5)
734
- ; RV64I-LP64E-NEXT: ld a0, 16 (sp) # 8-byte Folded Reload
734
+ ; RV64I-LP64E-NEXT: ld a0, 8 (sp) # 8-byte Folded Reload
735
735
; RV64I-LP64E-NEXT: sw a0, 16(a5)
736
- ; RV64I-LP64E-NEXT: ld a0, 24 (sp) # 8-byte Folded Reload
736
+ ; RV64I-LP64E-NEXT: ld a0, 16 (sp) # 8-byte Folded Reload
737
737
; RV64I-LP64E-NEXT: sw a0, %lo(var+12)(a6)
738
- ; RV64I-LP64E-NEXT: ld a0, 32 (sp) # 8-byte Folded Reload
738
+ ; RV64I-LP64E-NEXT: ld a0, 24 (sp) # 8-byte Folded Reload
739
739
; RV64I-LP64E-NEXT: sw a0, %lo(var+8)(a6)
740
- ; RV64I-LP64E-NEXT: ld a0, 40 (sp) # 8-byte Folded Reload
740
+ ; RV64I-LP64E-NEXT: ld a0, 32 (sp) # 8-byte Folded Reload
741
741
; RV64I-LP64E-NEXT: sw a0, %lo(var+4)(a6)
742
- ; RV64I-LP64E-NEXT: ld a0, 48 (sp) # 8-byte Folded Reload
742
+ ; RV64I-LP64E-NEXT: ld a0, 40 (sp) # 8-byte Folded Reload
743
743
; RV64I-LP64E-NEXT: sw a0, %lo(var)(a6)
744
- ; RV64I-LP64E-NEXT: ld ra, 72 (sp) # 8-byte Folded Reload
745
- ; RV64I-LP64E-NEXT: ld s0, 64 (sp) # 8-byte Folded Reload
746
- ; RV64I-LP64E-NEXT: ld s1, 56 (sp) # 8-byte Folded Reload
747
- ; RV64I-LP64E-NEXT: addi sp, sp, 80
744
+ ; RV64I-LP64E-NEXT: ld ra, 64 (sp) # 8-byte Folded Reload
745
+ ; RV64I-LP64E-NEXT: ld s0, 56 (sp) # 8-byte Folded Reload
746
+ ; RV64I-LP64E-NEXT: ld s1, 48 (sp) # 8-byte Folded Reload
747
+ ; RV64I-LP64E-NEXT: addi sp, sp, 72
748
748
; RV64I-LP64E-NEXT: ret
749
749
;
750
750
; RV64I-WITH-FP-LABEL: callee:
0 commit comments