1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=riscv32 -mattr=+f -target-abi ilp32 -verify-machineinstrs < %s \
3 ; RUN: | FileCheck %s -check-prefix=ILP32
4 ; RUN: llc -mtriple=riscv32 -mattr=+f -target-abi ilp32e -verify-machineinstrs < %s \
5 ; RUN: | FileCheck %s -check-prefix=ILP32E
6 ; RUN: llc -mtriple=riscv64 -mattr=+f -target-abi lp64 -verify-machineinstrs < %s \
7 ; RUN: | FileCheck %s -check-prefix=LP64
8 ; RUN: llc -mtriple=riscv64 -mattr=+f -target-abi lp64e -verify-machineinstrs < %s \
9 ; RUN: | FileCheck %s -check-prefix=LP64E
10 ; RUN: llc -mtriple=riscv32 -mattr=+f -target-abi ilp32f -verify-machineinstrs < %s \
11 ; RUN: | FileCheck %s -check-prefix=ILP32F
12 ; RUN: llc -mtriple=riscv64 -mattr=+f -target-abi lp64f -verify-machineinstrs < %s \
13 ; RUN: | FileCheck %s -check-prefix=LP64F
14 ; RUN: llc -mtriple=riscv32 -mattr=+d -target-abi ilp32d -verify-machineinstrs < %s \
15 ; RUN: | FileCheck %s -check-prefix=ILP32D
16 ; RUN: llc -mtriple=riscv64 -mattr=+d -target-abi lp64d -verify-machineinstrs < %s \
17 ; RUN: | FileCheck %s -check-prefix=LP64D
19 @var = global [32 x float] zeroinitializer
21 ; All floating point registers are temporaries for the ilp32, ilp32e, lp64e and lp64
22 ; ABIs. fs0-fs11 are callee-saved for the ilp32f, ilp32d, lp64f, and lp64d ABIs.
24 ; This function tests that RISCVRegisterInfo::getCalleeSavedRegs returns
25 ; something appropriate.
27 define void @callee() nounwind {
28 ; ILP32-LABEL: callee:
30 ; ILP32-NEXT: lui a0, %hi(var)
31 ; ILP32-NEXT: flw fa5, %lo(var)(a0)
32 ; ILP32-NEXT: flw fa4, %lo(var+4)(a0)
33 ; ILP32-NEXT: flw fa3, %lo(var+8)(a0)
34 ; ILP32-NEXT: flw fa2, %lo(var+12)(a0)
35 ; ILP32-NEXT: addi a1, a0, %lo(var)
36 ; ILP32-NEXT: flw fa1, 16(a1)
37 ; ILP32-NEXT: flw fa0, 20(a1)
38 ; ILP32-NEXT: flw ft0, 24(a1)
39 ; ILP32-NEXT: flw ft1, 28(a1)
40 ; ILP32-NEXT: flw ft2, 32(a1)
41 ; ILP32-NEXT: flw ft3, 36(a1)
42 ; ILP32-NEXT: flw ft4, 40(a1)
43 ; ILP32-NEXT: flw ft5, 44(a1)
44 ; ILP32-NEXT: flw ft6, 48(a1)
45 ; ILP32-NEXT: flw ft7, 52(a1)
46 ; ILP32-NEXT: flw fa6, 56(a1)
47 ; ILP32-NEXT: flw fa7, 60(a1)
48 ; ILP32-NEXT: flw ft8, 64(a1)
49 ; ILP32-NEXT: flw ft9, 68(a1)
50 ; ILP32-NEXT: flw ft10, 72(a1)
51 ; ILP32-NEXT: flw ft11, 76(a1)
52 ; ILP32-NEXT: flw fs0, 80(a1)
53 ; ILP32-NEXT: flw fs1, 84(a1)
54 ; ILP32-NEXT: flw fs2, 88(a1)
55 ; ILP32-NEXT: flw fs3, 92(a1)
56 ; ILP32-NEXT: flw fs4, 96(a1)
57 ; ILP32-NEXT: flw fs5, 100(a1)
58 ; ILP32-NEXT: flw fs6, 104(a1)
59 ; ILP32-NEXT: flw fs7, 108(a1)
60 ; ILP32-NEXT: flw fs8, 124(a1)
61 ; ILP32-NEXT: flw fs9, 120(a1)
62 ; ILP32-NEXT: flw fs10, 116(a1)
63 ; ILP32-NEXT: flw fs11, 112(a1)
64 ; ILP32-NEXT: fsw fs8, 124(a1)
65 ; ILP32-NEXT: fsw fs9, 120(a1)
66 ; ILP32-NEXT: fsw fs10, 116(a1)
67 ; ILP32-NEXT: fsw fs11, 112(a1)
68 ; ILP32-NEXT: fsw fs7, 108(a1)
69 ; ILP32-NEXT: fsw fs6, 104(a1)
70 ; ILP32-NEXT: fsw fs5, 100(a1)
71 ; ILP32-NEXT: fsw fs4, 96(a1)
72 ; ILP32-NEXT: fsw fs3, 92(a1)
73 ; ILP32-NEXT: fsw fs2, 88(a1)
74 ; ILP32-NEXT: fsw fs1, 84(a1)
75 ; ILP32-NEXT: fsw fs0, 80(a1)
76 ; ILP32-NEXT: fsw ft11, 76(a1)
77 ; ILP32-NEXT: fsw ft10, 72(a1)
78 ; ILP32-NEXT: fsw ft9, 68(a1)
79 ; ILP32-NEXT: fsw ft8, 64(a1)
80 ; ILP32-NEXT: fsw fa7, 60(a1)
81 ; ILP32-NEXT: fsw fa6, 56(a1)
82 ; ILP32-NEXT: fsw ft7, 52(a1)
83 ; ILP32-NEXT: fsw ft6, 48(a1)
84 ; ILP32-NEXT: fsw ft5, 44(a1)
85 ; ILP32-NEXT: fsw ft4, 40(a1)
86 ; ILP32-NEXT: fsw ft3, 36(a1)
87 ; ILP32-NEXT: fsw ft2, 32(a1)
88 ; ILP32-NEXT: fsw ft1, 28(a1)
89 ; ILP32-NEXT: fsw ft0, 24(a1)
90 ; ILP32-NEXT: fsw fa0, 20(a1)
91 ; ILP32-NEXT: fsw fa1, 16(a1)
92 ; ILP32-NEXT: fsw fa2, %lo(var+12)(a0)
93 ; ILP32-NEXT: fsw fa3, %lo(var+8)(a0)
94 ; ILP32-NEXT: fsw fa4, %lo(var+4)(a0)
95 ; ILP32-NEXT: fsw fa5, %lo(var)(a0)
98 ; ILP32E-LABEL: callee:
100 ; ILP32E-NEXT: lui a0, %hi(var)
101 ; ILP32E-NEXT: flw fa5, %lo(var)(a0)
102 ; ILP32E-NEXT: flw fa4, %lo(var+4)(a0)
103 ; ILP32E-NEXT: flw fa3, %lo(var+8)(a0)
104 ; ILP32E-NEXT: flw fa2, %lo(var+12)(a0)
105 ; ILP32E-NEXT: addi a1, a0, %lo(var)
106 ; ILP32E-NEXT: flw fa1, 16(a1)
107 ; ILP32E-NEXT: flw fa0, 20(a1)
108 ; ILP32E-NEXT: flw ft0, 24(a1)
109 ; ILP32E-NEXT: flw ft1, 28(a1)
110 ; ILP32E-NEXT: flw ft2, 32(a1)
111 ; ILP32E-NEXT: flw ft3, 36(a1)
112 ; ILP32E-NEXT: flw ft4, 40(a1)
113 ; ILP32E-NEXT: flw ft5, 44(a1)
114 ; ILP32E-NEXT: flw ft6, 48(a1)
115 ; ILP32E-NEXT: flw ft7, 52(a1)
116 ; ILP32E-NEXT: flw fa6, 56(a1)
117 ; ILP32E-NEXT: flw fa7, 60(a1)
118 ; ILP32E-NEXT: flw ft8, 64(a1)
119 ; ILP32E-NEXT: flw ft9, 68(a1)
120 ; ILP32E-NEXT: flw ft10, 72(a1)
121 ; ILP32E-NEXT: flw ft11, 76(a1)
122 ; ILP32E-NEXT: flw fs0, 80(a1)
123 ; ILP32E-NEXT: flw fs1, 84(a1)
124 ; ILP32E-NEXT: flw fs2, 88(a1)
125 ; ILP32E-NEXT: flw fs3, 92(a1)
126 ; ILP32E-NEXT: flw fs4, 96(a1)
127 ; ILP32E-NEXT: flw fs5, 100(a1)
128 ; ILP32E-NEXT: flw fs6, 104(a1)
129 ; ILP32E-NEXT: flw fs7, 108(a1)
130 ; ILP32E-NEXT: flw fs8, 124(a1)
131 ; ILP32E-NEXT: flw fs9, 120(a1)
132 ; ILP32E-NEXT: flw fs10, 116(a1)
133 ; ILP32E-NEXT: flw fs11, 112(a1)
134 ; ILP32E-NEXT: fsw fs8, 124(a1)
135 ; ILP32E-NEXT: fsw fs9, 120(a1)
136 ; ILP32E-NEXT: fsw fs10, 116(a1)
137 ; ILP32E-NEXT: fsw fs11, 112(a1)
138 ; ILP32E-NEXT: fsw fs7, 108(a1)
139 ; ILP32E-NEXT: fsw fs6, 104(a1)
140 ; ILP32E-NEXT: fsw fs5, 100(a1)
141 ; ILP32E-NEXT: fsw fs4, 96(a1)
142 ; ILP32E-NEXT: fsw fs3, 92(a1)
143 ; ILP32E-NEXT: fsw fs2, 88(a1)
144 ; ILP32E-NEXT: fsw fs1, 84(a1)
145 ; ILP32E-NEXT: fsw fs0, 80(a1)
146 ; ILP32E-NEXT: fsw ft11, 76(a1)
147 ; ILP32E-NEXT: fsw ft10, 72(a1)
148 ; ILP32E-NEXT: fsw ft9, 68(a1)
149 ; ILP32E-NEXT: fsw ft8, 64(a1)
150 ; ILP32E-NEXT: fsw fa7, 60(a1)
151 ; ILP32E-NEXT: fsw fa6, 56(a1)
152 ; ILP32E-NEXT: fsw ft7, 52(a1)
153 ; ILP32E-NEXT: fsw ft6, 48(a1)
154 ; ILP32E-NEXT: fsw ft5, 44(a1)
155 ; ILP32E-NEXT: fsw ft4, 40(a1)
156 ; ILP32E-NEXT: fsw ft3, 36(a1)
157 ; ILP32E-NEXT: fsw ft2, 32(a1)
158 ; ILP32E-NEXT: fsw ft1, 28(a1)
159 ; ILP32E-NEXT: fsw ft0, 24(a1)
160 ; ILP32E-NEXT: fsw fa0, 20(a1)
161 ; ILP32E-NEXT: fsw fa1, 16(a1)
162 ; ILP32E-NEXT: fsw fa2, %lo(var+12)(a0)
163 ; ILP32E-NEXT: fsw fa3, %lo(var+8)(a0)
164 ; ILP32E-NEXT: fsw fa4, %lo(var+4)(a0)
165 ; ILP32E-NEXT: fsw fa5, %lo(var)(a0)
168 ; LP64-LABEL: callee:
170 ; LP64-NEXT: lui a0, %hi(var)
171 ; LP64-NEXT: flw fa5, %lo(var)(a0)
172 ; LP64-NEXT: flw fa4, %lo(var+4)(a0)
173 ; LP64-NEXT: flw fa3, %lo(var+8)(a0)
174 ; LP64-NEXT: flw fa2, %lo(var+12)(a0)
175 ; LP64-NEXT: addi a1, a0, %lo(var)
176 ; LP64-NEXT: flw fa1, 16(a1)
177 ; LP64-NEXT: flw fa0, 20(a1)
178 ; LP64-NEXT: flw ft0, 24(a1)
179 ; LP64-NEXT: flw ft1, 28(a1)
180 ; LP64-NEXT: flw ft2, 32(a1)
181 ; LP64-NEXT: flw ft3, 36(a1)
182 ; LP64-NEXT: flw ft4, 40(a1)
183 ; LP64-NEXT: flw ft5, 44(a1)
184 ; LP64-NEXT: flw ft6, 48(a1)
185 ; LP64-NEXT: flw ft7, 52(a1)
186 ; LP64-NEXT: flw fa6, 56(a1)
187 ; LP64-NEXT: flw fa7, 60(a1)
188 ; LP64-NEXT: flw ft8, 64(a1)
189 ; LP64-NEXT: flw ft9, 68(a1)
190 ; LP64-NEXT: flw ft10, 72(a1)
191 ; LP64-NEXT: flw ft11, 76(a1)
192 ; LP64-NEXT: flw fs0, 80(a1)
193 ; LP64-NEXT: flw fs1, 84(a1)
194 ; LP64-NEXT: flw fs2, 88(a1)
195 ; LP64-NEXT: flw fs3, 92(a1)
196 ; LP64-NEXT: flw fs4, 96(a1)
197 ; LP64-NEXT: flw fs5, 100(a1)
198 ; LP64-NEXT: flw fs6, 104(a1)
199 ; LP64-NEXT: flw fs7, 108(a1)
200 ; LP64-NEXT: flw fs8, 124(a1)
201 ; LP64-NEXT: flw fs9, 120(a1)
202 ; LP64-NEXT: flw fs10, 116(a1)
203 ; LP64-NEXT: flw fs11, 112(a1)
204 ; LP64-NEXT: fsw fs8, 124(a1)
205 ; LP64-NEXT: fsw fs9, 120(a1)
206 ; LP64-NEXT: fsw fs10, 116(a1)
207 ; LP64-NEXT: fsw fs11, 112(a1)
208 ; LP64-NEXT: fsw fs7, 108(a1)
209 ; LP64-NEXT: fsw fs6, 104(a1)
210 ; LP64-NEXT: fsw fs5, 100(a1)
211 ; LP64-NEXT: fsw fs4, 96(a1)
212 ; LP64-NEXT: fsw fs3, 92(a1)
213 ; LP64-NEXT: fsw fs2, 88(a1)
214 ; LP64-NEXT: fsw fs1, 84(a1)
215 ; LP64-NEXT: fsw fs0, 80(a1)
216 ; LP64-NEXT: fsw ft11, 76(a1)
217 ; LP64-NEXT: fsw ft10, 72(a1)
218 ; LP64-NEXT: fsw ft9, 68(a1)
219 ; LP64-NEXT: fsw ft8, 64(a1)
220 ; LP64-NEXT: fsw fa7, 60(a1)
221 ; LP64-NEXT: fsw fa6, 56(a1)
222 ; LP64-NEXT: fsw ft7, 52(a1)
223 ; LP64-NEXT: fsw ft6, 48(a1)
224 ; LP64-NEXT: fsw ft5, 44(a1)
225 ; LP64-NEXT: fsw ft4, 40(a1)
226 ; LP64-NEXT: fsw ft3, 36(a1)
227 ; LP64-NEXT: fsw ft2, 32(a1)
228 ; LP64-NEXT: fsw ft1, 28(a1)
229 ; LP64-NEXT: fsw ft0, 24(a1)
230 ; LP64-NEXT: fsw fa0, 20(a1)
231 ; LP64-NEXT: fsw fa1, 16(a1)
232 ; LP64-NEXT: fsw fa2, %lo(var+12)(a0)
233 ; LP64-NEXT: fsw fa3, %lo(var+8)(a0)
234 ; LP64-NEXT: fsw fa4, %lo(var+4)(a0)
235 ; LP64-NEXT: fsw fa5, %lo(var)(a0)
238 ; LP64E-LABEL: callee:
240 ; LP64E-NEXT: lui a0, %hi(var)
241 ; LP64E-NEXT: flw fa5, %lo(var)(a0)
242 ; LP64E-NEXT: flw fa4, %lo(var+4)(a0)
243 ; LP64E-NEXT: flw fa3, %lo(var+8)(a0)
244 ; LP64E-NEXT: flw fa2, %lo(var+12)(a0)
245 ; LP64E-NEXT: addi a1, a0, %lo(var)
246 ; LP64E-NEXT: flw fa1, 16(a1)
247 ; LP64E-NEXT: flw fa0, 20(a1)
248 ; LP64E-NEXT: flw ft0, 24(a1)
249 ; LP64E-NEXT: flw ft1, 28(a1)
250 ; LP64E-NEXT: flw ft2, 32(a1)
251 ; LP64E-NEXT: flw ft3, 36(a1)
252 ; LP64E-NEXT: flw ft4, 40(a1)
253 ; LP64E-NEXT: flw ft5, 44(a1)
254 ; LP64E-NEXT: flw ft6, 48(a1)
255 ; LP64E-NEXT: flw ft7, 52(a1)
256 ; LP64E-NEXT: flw fa6, 56(a1)
257 ; LP64E-NEXT: flw fa7, 60(a1)
258 ; LP64E-NEXT: flw ft8, 64(a1)
259 ; LP64E-NEXT: flw ft9, 68(a1)
260 ; LP64E-NEXT: flw ft10, 72(a1)
261 ; LP64E-NEXT: flw ft11, 76(a1)
262 ; LP64E-NEXT: flw fs0, 80(a1)
263 ; LP64E-NEXT: flw fs1, 84(a1)
264 ; LP64E-NEXT: flw fs2, 88(a1)
265 ; LP64E-NEXT: flw fs3, 92(a1)
266 ; LP64E-NEXT: flw fs4, 96(a1)
267 ; LP64E-NEXT: flw fs5, 100(a1)
268 ; LP64E-NEXT: flw fs6, 104(a1)
269 ; LP64E-NEXT: flw fs7, 108(a1)
270 ; LP64E-NEXT: flw fs8, 124(a1)
271 ; LP64E-NEXT: flw fs9, 120(a1)
272 ; LP64E-NEXT: flw fs10, 116(a1)
273 ; LP64E-NEXT: flw fs11, 112(a1)
274 ; LP64E-NEXT: fsw fs8, 124(a1)
275 ; LP64E-NEXT: fsw fs9, 120(a1)
276 ; LP64E-NEXT: fsw fs10, 116(a1)
277 ; LP64E-NEXT: fsw fs11, 112(a1)
278 ; LP64E-NEXT: fsw fs7, 108(a1)
279 ; LP64E-NEXT: fsw fs6, 104(a1)
280 ; LP64E-NEXT: fsw fs5, 100(a1)
281 ; LP64E-NEXT: fsw fs4, 96(a1)
282 ; LP64E-NEXT: fsw fs3, 92(a1)
283 ; LP64E-NEXT: fsw fs2, 88(a1)
284 ; LP64E-NEXT: fsw fs1, 84(a1)
285 ; LP64E-NEXT: fsw fs0, 80(a1)
286 ; LP64E-NEXT: fsw ft11, 76(a1)
287 ; LP64E-NEXT: fsw ft10, 72(a1)
288 ; LP64E-NEXT: fsw ft9, 68(a1)
289 ; LP64E-NEXT: fsw ft8, 64(a1)
290 ; LP64E-NEXT: fsw fa7, 60(a1)
291 ; LP64E-NEXT: fsw fa6, 56(a1)
292 ; LP64E-NEXT: fsw ft7, 52(a1)
293 ; LP64E-NEXT: fsw ft6, 48(a1)
294 ; LP64E-NEXT: fsw ft5, 44(a1)
295 ; LP64E-NEXT: fsw ft4, 40(a1)
296 ; LP64E-NEXT: fsw ft3, 36(a1)
297 ; LP64E-NEXT: fsw ft2, 32(a1)
298 ; LP64E-NEXT: fsw ft1, 28(a1)
299 ; LP64E-NEXT: fsw ft0, 24(a1)
300 ; LP64E-NEXT: fsw fa0, 20(a1)
301 ; LP64E-NEXT: fsw fa1, 16(a1)
302 ; LP64E-NEXT: fsw fa2, %lo(var+12)(a0)
303 ; LP64E-NEXT: fsw fa3, %lo(var+8)(a0)
304 ; LP64E-NEXT: fsw fa4, %lo(var+4)(a0)
305 ; LP64E-NEXT: fsw fa5, %lo(var)(a0)
308 ; ILP32F-LABEL: callee:
310 ; ILP32F-NEXT: addi sp, sp, -48
311 ; ILP32F-NEXT: fsw fs0, 44(sp) # 4-byte Folded Spill
312 ; ILP32F-NEXT: fsw fs1, 40(sp) # 4-byte Folded Spill
313 ; ILP32F-NEXT: fsw fs2, 36(sp) # 4-byte Folded Spill
314 ; ILP32F-NEXT: fsw fs3, 32(sp) # 4-byte Folded Spill
315 ; ILP32F-NEXT: fsw fs4, 28(sp) # 4-byte Folded Spill
316 ; ILP32F-NEXT: fsw fs5, 24(sp) # 4-byte Folded Spill
317 ; ILP32F-NEXT: fsw fs6, 20(sp) # 4-byte Folded Spill
318 ; ILP32F-NEXT: fsw fs7, 16(sp) # 4-byte Folded Spill
319 ; ILP32F-NEXT: fsw fs8, 12(sp) # 4-byte Folded Spill
320 ; ILP32F-NEXT: fsw fs9, 8(sp) # 4-byte Folded Spill
321 ; ILP32F-NEXT: fsw fs10, 4(sp) # 4-byte Folded Spill
322 ; ILP32F-NEXT: fsw fs11, 0(sp) # 4-byte Folded Spill
323 ; ILP32F-NEXT: lui a0, %hi(var)
324 ; ILP32F-NEXT: flw fa5, %lo(var)(a0)
325 ; ILP32F-NEXT: flw fa4, %lo(var+4)(a0)
326 ; ILP32F-NEXT: flw fa3, %lo(var+8)(a0)
327 ; ILP32F-NEXT: flw fa2, %lo(var+12)(a0)
328 ; ILP32F-NEXT: addi a1, a0, %lo(var)
329 ; ILP32F-NEXT: flw fa1, 16(a1)
330 ; ILP32F-NEXT: flw fa0, 20(a1)
331 ; ILP32F-NEXT: flw ft0, 24(a1)
332 ; ILP32F-NEXT: flw ft1, 28(a1)
333 ; ILP32F-NEXT: flw ft2, 32(a1)
334 ; ILP32F-NEXT: flw ft3, 36(a1)
335 ; ILP32F-NEXT: flw ft4, 40(a1)
336 ; ILP32F-NEXT: flw ft5, 44(a1)
337 ; ILP32F-NEXT: flw ft6, 48(a1)
338 ; ILP32F-NEXT: flw ft7, 52(a1)
339 ; ILP32F-NEXT: flw fa6, 56(a1)
340 ; ILP32F-NEXT: flw fa7, 60(a1)
341 ; ILP32F-NEXT: flw ft8, 64(a1)
342 ; ILP32F-NEXT: flw ft9, 68(a1)
343 ; ILP32F-NEXT: flw ft10, 72(a1)
344 ; ILP32F-NEXT: flw ft11, 76(a1)
345 ; ILP32F-NEXT: flw fs0, 80(a1)
346 ; ILP32F-NEXT: flw fs1, 84(a1)
347 ; ILP32F-NEXT: flw fs2, 88(a1)
348 ; ILP32F-NEXT: flw fs3, 92(a1)
349 ; ILP32F-NEXT: flw fs4, 96(a1)
350 ; ILP32F-NEXT: flw fs5, 100(a1)
351 ; ILP32F-NEXT: flw fs6, 104(a1)
352 ; ILP32F-NEXT: flw fs7, 108(a1)
353 ; ILP32F-NEXT: flw fs8, 124(a1)
354 ; ILP32F-NEXT: flw fs9, 120(a1)
355 ; ILP32F-NEXT: flw fs10, 116(a1)
356 ; ILP32F-NEXT: flw fs11, 112(a1)
357 ; ILP32F-NEXT: fsw fs8, 124(a1)
358 ; ILP32F-NEXT: fsw fs9, 120(a1)
359 ; ILP32F-NEXT: fsw fs10, 116(a1)
360 ; ILP32F-NEXT: fsw fs11, 112(a1)
361 ; ILP32F-NEXT: fsw fs7, 108(a1)
362 ; ILP32F-NEXT: fsw fs6, 104(a1)
363 ; ILP32F-NEXT: fsw fs5, 100(a1)
364 ; ILP32F-NEXT: fsw fs4, 96(a1)
365 ; ILP32F-NEXT: fsw fs3, 92(a1)
366 ; ILP32F-NEXT: fsw fs2, 88(a1)
367 ; ILP32F-NEXT: fsw fs1, 84(a1)
368 ; ILP32F-NEXT: fsw fs0, 80(a1)
369 ; ILP32F-NEXT: fsw ft11, 76(a1)
370 ; ILP32F-NEXT: fsw ft10, 72(a1)
371 ; ILP32F-NEXT: fsw ft9, 68(a1)
372 ; ILP32F-NEXT: fsw ft8, 64(a1)
373 ; ILP32F-NEXT: fsw fa7, 60(a1)
374 ; ILP32F-NEXT: fsw fa6, 56(a1)
375 ; ILP32F-NEXT: fsw ft7, 52(a1)
376 ; ILP32F-NEXT: fsw ft6, 48(a1)
377 ; ILP32F-NEXT: fsw ft5, 44(a1)
378 ; ILP32F-NEXT: fsw ft4, 40(a1)
379 ; ILP32F-NEXT: fsw ft3, 36(a1)
380 ; ILP32F-NEXT: fsw ft2, 32(a1)
381 ; ILP32F-NEXT: fsw ft1, 28(a1)
382 ; ILP32F-NEXT: fsw ft0, 24(a1)
383 ; ILP32F-NEXT: fsw fa0, 20(a1)
384 ; ILP32F-NEXT: fsw fa1, 16(a1)
385 ; ILP32F-NEXT: fsw fa2, %lo(var+12)(a0)
386 ; ILP32F-NEXT: fsw fa3, %lo(var+8)(a0)
387 ; ILP32F-NEXT: fsw fa4, %lo(var+4)(a0)
388 ; ILP32F-NEXT: fsw fa5, %lo(var)(a0)
389 ; ILP32F-NEXT: flw fs0, 44(sp) # 4-byte Folded Reload
390 ; ILP32F-NEXT: flw fs1, 40(sp) # 4-byte Folded Reload
391 ; ILP32F-NEXT: flw fs2, 36(sp) # 4-byte Folded Reload
392 ; ILP32F-NEXT: flw fs3, 32(sp) # 4-byte Folded Reload
393 ; ILP32F-NEXT: flw fs4, 28(sp) # 4-byte Folded Reload
394 ; ILP32F-NEXT: flw fs5, 24(sp) # 4-byte Folded Reload
395 ; ILP32F-NEXT: flw fs6, 20(sp) # 4-byte Folded Reload
396 ; ILP32F-NEXT: flw fs7, 16(sp) # 4-byte Folded Reload
397 ; ILP32F-NEXT: flw fs8, 12(sp) # 4-byte Folded Reload
398 ; ILP32F-NEXT: flw fs9, 8(sp) # 4-byte Folded Reload
399 ; ILP32F-NEXT: flw fs10, 4(sp) # 4-byte Folded Reload
400 ; ILP32F-NEXT: flw fs11, 0(sp) # 4-byte Folded Reload
401 ; ILP32F-NEXT: addi sp, sp, 48
404 ; LP64F-LABEL: callee:
406 ; LP64F-NEXT: addi sp, sp, -48
407 ; LP64F-NEXT: fsw fs0, 44(sp) # 4-byte Folded Spill
408 ; LP64F-NEXT: fsw fs1, 40(sp) # 4-byte Folded Spill
409 ; LP64F-NEXT: fsw fs2, 36(sp) # 4-byte Folded Spill
410 ; LP64F-NEXT: fsw fs3, 32(sp) # 4-byte Folded Spill
411 ; LP64F-NEXT: fsw fs4, 28(sp) # 4-byte Folded Spill
412 ; LP64F-NEXT: fsw fs5, 24(sp) # 4-byte Folded Spill
413 ; LP64F-NEXT: fsw fs6, 20(sp) # 4-byte Folded Spill
414 ; LP64F-NEXT: fsw fs7, 16(sp) # 4-byte Folded Spill
415 ; LP64F-NEXT: fsw fs8, 12(sp) # 4-byte Folded Spill
416 ; LP64F-NEXT: fsw fs9, 8(sp) # 4-byte Folded Spill
417 ; LP64F-NEXT: fsw fs10, 4(sp) # 4-byte Folded Spill
418 ; LP64F-NEXT: fsw fs11, 0(sp) # 4-byte Folded Spill
419 ; LP64F-NEXT: lui a0, %hi(var)
420 ; LP64F-NEXT: flw fa5, %lo(var)(a0)
421 ; LP64F-NEXT: flw fa4, %lo(var+4)(a0)
422 ; LP64F-NEXT: flw fa3, %lo(var+8)(a0)
423 ; LP64F-NEXT: flw fa2, %lo(var+12)(a0)
424 ; LP64F-NEXT: addi a1, a0, %lo(var)
425 ; LP64F-NEXT: flw fa1, 16(a1)
426 ; LP64F-NEXT: flw fa0, 20(a1)
427 ; LP64F-NEXT: flw ft0, 24(a1)
428 ; LP64F-NEXT: flw ft1, 28(a1)
429 ; LP64F-NEXT: flw ft2, 32(a1)
430 ; LP64F-NEXT: flw ft3, 36(a1)
431 ; LP64F-NEXT: flw ft4, 40(a1)
432 ; LP64F-NEXT: flw ft5, 44(a1)
433 ; LP64F-NEXT: flw ft6, 48(a1)
434 ; LP64F-NEXT: flw ft7, 52(a1)
435 ; LP64F-NEXT: flw fa6, 56(a1)
436 ; LP64F-NEXT: flw fa7, 60(a1)
437 ; LP64F-NEXT: flw ft8, 64(a1)
438 ; LP64F-NEXT: flw ft9, 68(a1)
439 ; LP64F-NEXT: flw ft10, 72(a1)
440 ; LP64F-NEXT: flw ft11, 76(a1)
441 ; LP64F-NEXT: flw fs0, 80(a1)
442 ; LP64F-NEXT: flw fs1, 84(a1)
443 ; LP64F-NEXT: flw fs2, 88(a1)
444 ; LP64F-NEXT: flw fs3, 92(a1)
445 ; LP64F-NEXT: flw fs4, 96(a1)
446 ; LP64F-NEXT: flw fs5, 100(a1)
447 ; LP64F-NEXT: flw fs6, 104(a1)
448 ; LP64F-NEXT: flw fs7, 108(a1)
449 ; LP64F-NEXT: flw fs8, 124(a1)
450 ; LP64F-NEXT: flw fs9, 120(a1)
451 ; LP64F-NEXT: flw fs10, 116(a1)
452 ; LP64F-NEXT: flw fs11, 112(a1)
453 ; LP64F-NEXT: fsw fs8, 124(a1)
454 ; LP64F-NEXT: fsw fs9, 120(a1)
455 ; LP64F-NEXT: fsw fs10, 116(a1)
456 ; LP64F-NEXT: fsw fs11, 112(a1)
457 ; LP64F-NEXT: fsw fs7, 108(a1)
458 ; LP64F-NEXT: fsw fs6, 104(a1)
459 ; LP64F-NEXT: fsw fs5, 100(a1)
460 ; LP64F-NEXT: fsw fs4, 96(a1)
461 ; LP64F-NEXT: fsw fs3, 92(a1)
462 ; LP64F-NEXT: fsw fs2, 88(a1)
463 ; LP64F-NEXT: fsw fs1, 84(a1)
464 ; LP64F-NEXT: fsw fs0, 80(a1)
465 ; LP64F-NEXT: fsw ft11, 76(a1)
466 ; LP64F-NEXT: fsw ft10, 72(a1)
467 ; LP64F-NEXT: fsw ft9, 68(a1)
468 ; LP64F-NEXT: fsw ft8, 64(a1)
469 ; LP64F-NEXT: fsw fa7, 60(a1)
470 ; LP64F-NEXT: fsw fa6, 56(a1)
471 ; LP64F-NEXT: fsw ft7, 52(a1)
472 ; LP64F-NEXT: fsw ft6, 48(a1)
473 ; LP64F-NEXT: fsw ft5, 44(a1)
474 ; LP64F-NEXT: fsw ft4, 40(a1)
475 ; LP64F-NEXT: fsw ft3, 36(a1)
476 ; LP64F-NEXT: fsw ft2, 32(a1)
477 ; LP64F-NEXT: fsw ft1, 28(a1)
478 ; LP64F-NEXT: fsw ft0, 24(a1)
479 ; LP64F-NEXT: fsw fa0, 20(a1)
480 ; LP64F-NEXT: fsw fa1, 16(a1)
481 ; LP64F-NEXT: fsw fa2, %lo(var+12)(a0)
482 ; LP64F-NEXT: fsw fa3, %lo(var+8)(a0)
483 ; LP64F-NEXT: fsw fa4, %lo(var+4)(a0)
484 ; LP64F-NEXT: fsw fa5, %lo(var)(a0)
485 ; LP64F-NEXT: flw fs0, 44(sp) # 4-byte Folded Reload
486 ; LP64F-NEXT: flw fs1, 40(sp) # 4-byte Folded Reload
487 ; LP64F-NEXT: flw fs2, 36(sp) # 4-byte Folded Reload
488 ; LP64F-NEXT: flw fs3, 32(sp) # 4-byte Folded Reload
489 ; LP64F-NEXT: flw fs4, 28(sp) # 4-byte Folded Reload
490 ; LP64F-NEXT: flw fs5, 24(sp) # 4-byte Folded Reload
491 ; LP64F-NEXT: flw fs6, 20(sp) # 4-byte Folded Reload
492 ; LP64F-NEXT: flw fs7, 16(sp) # 4-byte Folded Reload
493 ; LP64F-NEXT: flw fs8, 12(sp) # 4-byte Folded Reload
494 ; LP64F-NEXT: flw fs9, 8(sp) # 4-byte Folded Reload
495 ; LP64F-NEXT: flw fs10, 4(sp) # 4-byte Folded Reload
496 ; LP64F-NEXT: flw fs11, 0(sp) # 4-byte Folded Reload
497 ; LP64F-NEXT: addi sp, sp, 48
500 ; ILP32D-LABEL: callee:
502 ; ILP32D-NEXT: addi sp, sp, -96
503 ; ILP32D-NEXT: fsd fs0, 88(sp) # 8-byte Folded Spill
504 ; ILP32D-NEXT: fsd fs1, 80(sp) # 8-byte Folded Spill
505 ; ILP32D-NEXT: fsd fs2, 72(sp) # 8-byte Folded Spill
506 ; ILP32D-NEXT: fsd fs3, 64(sp) # 8-byte Folded Spill
507 ; ILP32D-NEXT: fsd fs4, 56(sp) # 8-byte Folded Spill
508 ; ILP32D-NEXT: fsd fs5, 48(sp) # 8-byte Folded Spill
509 ; ILP32D-NEXT: fsd fs6, 40(sp) # 8-byte Folded Spill
510 ; ILP32D-NEXT: fsd fs7, 32(sp) # 8-byte Folded Spill
511 ; ILP32D-NEXT: fsd fs8, 24(sp) # 8-byte Folded Spill
512 ; ILP32D-NEXT: fsd fs9, 16(sp) # 8-byte Folded Spill
513 ; ILP32D-NEXT: fsd fs10, 8(sp) # 8-byte Folded Spill
514 ; ILP32D-NEXT: fsd fs11, 0(sp) # 8-byte Folded Spill
515 ; ILP32D-NEXT: lui a0, %hi(var)
516 ; ILP32D-NEXT: flw fa5, %lo(var)(a0)
517 ; ILP32D-NEXT: flw fa4, %lo(var+4)(a0)
518 ; ILP32D-NEXT: flw fa3, %lo(var+8)(a0)
519 ; ILP32D-NEXT: flw fa2, %lo(var+12)(a0)
520 ; ILP32D-NEXT: addi a1, a0, %lo(var)
521 ; ILP32D-NEXT: flw fa1, 16(a1)
522 ; ILP32D-NEXT: flw fa0, 20(a1)
523 ; ILP32D-NEXT: flw ft0, 24(a1)
524 ; ILP32D-NEXT: flw ft1, 28(a1)
525 ; ILP32D-NEXT: flw ft2, 32(a1)
526 ; ILP32D-NEXT: flw ft3, 36(a1)
527 ; ILP32D-NEXT: flw ft4, 40(a1)
528 ; ILP32D-NEXT: flw ft5, 44(a1)
529 ; ILP32D-NEXT: flw ft6, 48(a1)
530 ; ILP32D-NEXT: flw ft7, 52(a1)
531 ; ILP32D-NEXT: flw fa6, 56(a1)
532 ; ILP32D-NEXT: flw fa7, 60(a1)
533 ; ILP32D-NEXT: flw ft8, 64(a1)
534 ; ILP32D-NEXT: flw ft9, 68(a1)
535 ; ILP32D-NEXT: flw ft10, 72(a1)
536 ; ILP32D-NEXT: flw ft11, 76(a1)
537 ; ILP32D-NEXT: flw fs0, 80(a1)
538 ; ILP32D-NEXT: flw fs1, 84(a1)
539 ; ILP32D-NEXT: flw fs2, 88(a1)
540 ; ILP32D-NEXT: flw fs3, 92(a1)
541 ; ILP32D-NEXT: flw fs4, 96(a1)
542 ; ILP32D-NEXT: flw fs5, 100(a1)
543 ; ILP32D-NEXT: flw fs6, 104(a1)
544 ; ILP32D-NEXT: flw fs7, 108(a1)
545 ; ILP32D-NEXT: flw fs8, 124(a1)
546 ; ILP32D-NEXT: flw fs9, 120(a1)
547 ; ILP32D-NEXT: flw fs10, 116(a1)
548 ; ILP32D-NEXT: flw fs11, 112(a1)
549 ; ILP32D-NEXT: fsw fs8, 124(a1)
550 ; ILP32D-NEXT: fsw fs9, 120(a1)
551 ; ILP32D-NEXT: fsw fs10, 116(a1)
552 ; ILP32D-NEXT: fsw fs11, 112(a1)
553 ; ILP32D-NEXT: fsw fs7, 108(a1)
554 ; ILP32D-NEXT: fsw fs6, 104(a1)
555 ; ILP32D-NEXT: fsw fs5, 100(a1)
556 ; ILP32D-NEXT: fsw fs4, 96(a1)
557 ; ILP32D-NEXT: fsw fs3, 92(a1)
558 ; ILP32D-NEXT: fsw fs2, 88(a1)
559 ; ILP32D-NEXT: fsw fs1, 84(a1)
560 ; ILP32D-NEXT: fsw fs0, 80(a1)
561 ; ILP32D-NEXT: fsw ft11, 76(a1)
562 ; ILP32D-NEXT: fsw ft10, 72(a1)
563 ; ILP32D-NEXT: fsw ft9, 68(a1)
564 ; ILP32D-NEXT: fsw ft8, 64(a1)
565 ; ILP32D-NEXT: fsw fa7, 60(a1)
566 ; ILP32D-NEXT: fsw fa6, 56(a1)
567 ; ILP32D-NEXT: fsw ft7, 52(a1)
568 ; ILP32D-NEXT: fsw ft6, 48(a1)
569 ; ILP32D-NEXT: fsw ft5, 44(a1)
570 ; ILP32D-NEXT: fsw ft4, 40(a1)
571 ; ILP32D-NEXT: fsw ft3, 36(a1)
572 ; ILP32D-NEXT: fsw ft2, 32(a1)
573 ; ILP32D-NEXT: fsw ft1, 28(a1)
574 ; ILP32D-NEXT: fsw ft0, 24(a1)
575 ; ILP32D-NEXT: fsw fa0, 20(a1)
576 ; ILP32D-NEXT: fsw fa1, 16(a1)
577 ; ILP32D-NEXT: fsw fa2, %lo(var+12)(a0)
578 ; ILP32D-NEXT: fsw fa3, %lo(var+8)(a0)
579 ; ILP32D-NEXT: fsw fa4, %lo(var+4)(a0)
580 ; ILP32D-NEXT: fsw fa5, %lo(var)(a0)
581 ; ILP32D-NEXT: fld fs0, 88(sp) # 8-byte Folded Reload
582 ; ILP32D-NEXT: fld fs1, 80(sp) # 8-byte Folded Reload
583 ; ILP32D-NEXT: fld fs2, 72(sp) # 8-byte Folded Reload
584 ; ILP32D-NEXT: fld fs3, 64(sp) # 8-byte Folded Reload
585 ; ILP32D-NEXT: fld fs4, 56(sp) # 8-byte Folded Reload
586 ; ILP32D-NEXT: fld fs5, 48(sp) # 8-byte Folded Reload
587 ; ILP32D-NEXT: fld fs6, 40(sp) # 8-byte Folded Reload
588 ; ILP32D-NEXT: fld fs7, 32(sp) # 8-byte Folded Reload
589 ; ILP32D-NEXT: fld fs8, 24(sp) # 8-byte Folded Reload
590 ; ILP32D-NEXT: fld fs9, 16(sp) # 8-byte Folded Reload
591 ; ILP32D-NEXT: fld fs10, 8(sp) # 8-byte Folded Reload
592 ; ILP32D-NEXT: fld fs11, 0(sp) # 8-byte Folded Reload
593 ; ILP32D-NEXT: addi sp, sp, 96
596 ; LP64D-LABEL: callee:
598 ; LP64D-NEXT: addi sp, sp, -96
599 ; LP64D-NEXT: fsd fs0, 88(sp) # 8-byte Folded Spill
600 ; LP64D-NEXT: fsd fs1, 80(sp) # 8-byte Folded Spill
601 ; LP64D-NEXT: fsd fs2, 72(sp) # 8-byte Folded Spill
602 ; LP64D-NEXT: fsd fs3, 64(sp) # 8-byte Folded Spill
603 ; LP64D-NEXT: fsd fs4, 56(sp) # 8-byte Folded Spill
604 ; LP64D-NEXT: fsd fs5, 48(sp) # 8-byte Folded Spill
605 ; LP64D-NEXT: fsd fs6, 40(sp) # 8-byte Folded Spill
606 ; LP64D-NEXT: fsd fs7, 32(sp) # 8-byte Folded Spill
607 ; LP64D-NEXT: fsd fs8, 24(sp) # 8-byte Folded Spill
608 ; LP64D-NEXT: fsd fs9, 16(sp) # 8-byte Folded Spill
609 ; LP64D-NEXT: fsd fs10, 8(sp) # 8-byte Folded Spill
610 ; LP64D-NEXT: fsd fs11, 0(sp) # 8-byte Folded Spill
611 ; LP64D-NEXT: lui a0, %hi(var)
612 ; LP64D-NEXT: flw fa5, %lo(var)(a0)
613 ; LP64D-NEXT: flw fa4, %lo(var+4)(a0)
614 ; LP64D-NEXT: flw fa3, %lo(var+8)(a0)
615 ; LP64D-NEXT: flw fa2, %lo(var+12)(a0)
616 ; LP64D-NEXT: addi a1, a0, %lo(var)
617 ; LP64D-NEXT: flw fa1, 16(a1)
618 ; LP64D-NEXT: flw fa0, 20(a1)
619 ; LP64D-NEXT: flw ft0, 24(a1)
620 ; LP64D-NEXT: flw ft1, 28(a1)
621 ; LP64D-NEXT: flw ft2, 32(a1)
622 ; LP64D-NEXT: flw ft3, 36(a1)
623 ; LP64D-NEXT: flw ft4, 40(a1)
624 ; LP64D-NEXT: flw ft5, 44(a1)
625 ; LP64D-NEXT: flw ft6, 48(a1)
626 ; LP64D-NEXT: flw ft7, 52(a1)
627 ; LP64D-NEXT: flw fa6, 56(a1)
628 ; LP64D-NEXT: flw fa7, 60(a1)
629 ; LP64D-NEXT: flw ft8, 64(a1)
630 ; LP64D-NEXT: flw ft9, 68(a1)
631 ; LP64D-NEXT: flw ft10, 72(a1)
632 ; LP64D-NEXT: flw ft11, 76(a1)
633 ; LP64D-NEXT: flw fs0, 80(a1)
634 ; LP64D-NEXT: flw fs1, 84(a1)
635 ; LP64D-NEXT: flw fs2, 88(a1)
636 ; LP64D-NEXT: flw fs3, 92(a1)
637 ; LP64D-NEXT: flw fs4, 96(a1)
638 ; LP64D-NEXT: flw fs5, 100(a1)
639 ; LP64D-NEXT: flw fs6, 104(a1)
640 ; LP64D-NEXT: flw fs7, 108(a1)
641 ; LP64D-NEXT: flw fs8, 124(a1)
642 ; LP64D-NEXT: flw fs9, 120(a1)
643 ; LP64D-NEXT: flw fs10, 116(a1)
644 ; LP64D-NEXT: flw fs11, 112(a1)
645 ; LP64D-NEXT: fsw fs8, 124(a1)
646 ; LP64D-NEXT: fsw fs9, 120(a1)
647 ; LP64D-NEXT: fsw fs10, 116(a1)
648 ; LP64D-NEXT: fsw fs11, 112(a1)
649 ; LP64D-NEXT: fsw fs7, 108(a1)
650 ; LP64D-NEXT: fsw fs6, 104(a1)
651 ; LP64D-NEXT: fsw fs5, 100(a1)
652 ; LP64D-NEXT: fsw fs4, 96(a1)
653 ; LP64D-NEXT: fsw fs3, 92(a1)
654 ; LP64D-NEXT: fsw fs2, 88(a1)
655 ; LP64D-NEXT: fsw fs1, 84(a1)
656 ; LP64D-NEXT: fsw fs0, 80(a1)
657 ; LP64D-NEXT: fsw ft11, 76(a1)
658 ; LP64D-NEXT: fsw ft10, 72(a1)
659 ; LP64D-NEXT: fsw ft9, 68(a1)
660 ; LP64D-NEXT: fsw ft8, 64(a1)
661 ; LP64D-NEXT: fsw fa7, 60(a1)
662 ; LP64D-NEXT: fsw fa6, 56(a1)
663 ; LP64D-NEXT: fsw ft7, 52(a1)
664 ; LP64D-NEXT: fsw ft6, 48(a1)
665 ; LP64D-NEXT: fsw ft5, 44(a1)
666 ; LP64D-NEXT: fsw ft4, 40(a1)
667 ; LP64D-NEXT: fsw ft3, 36(a1)
668 ; LP64D-NEXT: fsw ft2, 32(a1)
669 ; LP64D-NEXT: fsw ft1, 28(a1)
670 ; LP64D-NEXT: fsw ft0, 24(a1)
671 ; LP64D-NEXT: fsw fa0, 20(a1)
672 ; LP64D-NEXT: fsw fa1, 16(a1)
673 ; LP64D-NEXT: fsw fa2, %lo(var+12)(a0)
674 ; LP64D-NEXT: fsw fa3, %lo(var+8)(a0)
675 ; LP64D-NEXT: fsw fa4, %lo(var+4)(a0)
676 ; LP64D-NEXT: fsw fa5, %lo(var)(a0)
677 ; LP64D-NEXT: fld fs0, 88(sp) # 8-byte Folded Reload
678 ; LP64D-NEXT: fld fs1, 80(sp) # 8-byte Folded Reload
679 ; LP64D-NEXT: fld fs2, 72(sp) # 8-byte Folded Reload
680 ; LP64D-NEXT: fld fs3, 64(sp) # 8-byte Folded Reload
681 ; LP64D-NEXT: fld fs4, 56(sp) # 8-byte Folded Reload
682 ; LP64D-NEXT: fld fs5, 48(sp) # 8-byte Folded Reload
683 ; LP64D-NEXT: fld fs6, 40(sp) # 8-byte Folded Reload
684 ; LP64D-NEXT: fld fs7, 32(sp) # 8-byte Folded Reload
685 ; LP64D-NEXT: fld fs8, 24(sp) # 8-byte Folded Reload
686 ; LP64D-NEXT: fld fs9, 16(sp) # 8-byte Folded Reload
687 ; LP64D-NEXT: fld fs10, 8(sp) # 8-byte Folded Reload
688 ; LP64D-NEXT: fld fs11, 0(sp) # 8-byte Folded Reload
689 ; LP64D-NEXT: addi sp, sp, 96
691 %val = load [32 x float], ptr @var
692 store volatile [32 x float] %val, ptr @var
696 ; This function tests that RISCVRegisterInfo::getCallPreservedMask returns
697 ; something appropriate.
699 ; For the soft float ABIs, no floating point registers are preserved, and
700 ; codegen will use only ft0 in the body of caller. For the 'f' and 'd ABIs,
701 ; fs0-fs11 are preserved across calls.
703 define void @caller() nounwind {
704 ; ILP32-LABEL: caller:
706 ; ILP32-NEXT: addi sp, sp, -144
707 ; ILP32-NEXT: sw ra, 140(sp) # 4-byte Folded Spill
708 ; ILP32-NEXT: sw s0, 136(sp) # 4-byte Folded Spill
709 ; ILP32-NEXT: sw s1, 132(sp) # 4-byte Folded Spill
710 ; ILP32-NEXT: lui s0, %hi(var)
711 ; ILP32-NEXT: flw fa5, %lo(var)(s0)
712 ; ILP32-NEXT: fsw fa5, 128(sp) # 4-byte Folded Spill
713 ; ILP32-NEXT: flw fa5, %lo(var+4)(s0)
714 ; ILP32-NEXT: fsw fa5, 124(sp) # 4-byte Folded Spill
715 ; ILP32-NEXT: flw fa5, %lo(var+8)(s0)
716 ; ILP32-NEXT: fsw fa5, 120(sp) # 4-byte Folded Spill
717 ; ILP32-NEXT: flw fa5, %lo(var+12)(s0)
718 ; ILP32-NEXT: fsw fa5, 116(sp) # 4-byte Folded Spill
719 ; ILP32-NEXT: addi s1, s0, %lo(var)
720 ; ILP32-NEXT: flw fa5, 16(s1)
721 ; ILP32-NEXT: fsw fa5, 112(sp) # 4-byte Folded Spill
722 ; ILP32-NEXT: flw fa5, 20(s1)
723 ; ILP32-NEXT: fsw fa5, 108(sp) # 4-byte Folded Spill
724 ; ILP32-NEXT: flw fa5, 24(s1)
725 ; ILP32-NEXT: fsw fa5, 104(sp) # 4-byte Folded Spill
726 ; ILP32-NEXT: flw fa5, 28(s1)
727 ; ILP32-NEXT: fsw fa5, 100(sp) # 4-byte Folded Spill
728 ; ILP32-NEXT: flw fa5, 32(s1)
729 ; ILP32-NEXT: fsw fa5, 96(sp) # 4-byte Folded Spill
730 ; ILP32-NEXT: flw fa5, 36(s1)
731 ; ILP32-NEXT: fsw fa5, 92(sp) # 4-byte Folded Spill
732 ; ILP32-NEXT: flw fa5, 40(s1)
733 ; ILP32-NEXT: fsw fa5, 88(sp) # 4-byte Folded Spill
734 ; ILP32-NEXT: flw fa5, 44(s1)
735 ; ILP32-NEXT: fsw fa5, 84(sp) # 4-byte Folded Spill
736 ; ILP32-NEXT: flw fa5, 48(s1)
737 ; ILP32-NEXT: fsw fa5, 80(sp) # 4-byte Folded Spill
738 ; ILP32-NEXT: flw fa5, 52(s1)
739 ; ILP32-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill
740 ; ILP32-NEXT: flw fa5, 56(s1)
741 ; ILP32-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill
742 ; ILP32-NEXT: flw fa5, 60(s1)
743 ; ILP32-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill
744 ; ILP32-NEXT: flw fa5, 64(s1)
745 ; ILP32-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill
746 ; ILP32-NEXT: flw fa5, 68(s1)
747 ; ILP32-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill
748 ; ILP32-NEXT: flw fa5, 72(s1)
749 ; ILP32-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill
750 ; ILP32-NEXT: flw fa5, 76(s1)
751 ; ILP32-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill
752 ; ILP32-NEXT: flw fa5, 80(s1)
753 ; ILP32-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill
754 ; ILP32-NEXT: flw fa5, 84(s1)
755 ; ILP32-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill
756 ; ILP32-NEXT: flw fa5, 88(s1)
757 ; ILP32-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill
758 ; ILP32-NEXT: flw fa5, 92(s1)
759 ; ILP32-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill
760 ; ILP32-NEXT: flw fa5, 96(s1)
761 ; ILP32-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill
762 ; ILP32-NEXT: flw fa5, 100(s1)
763 ; ILP32-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill
764 ; ILP32-NEXT: flw fa5, 104(s1)
765 ; ILP32-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill
766 ; ILP32-NEXT: flw fa5, 108(s1)
767 ; ILP32-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill
768 ; ILP32-NEXT: flw fa5, 112(s1)
769 ; ILP32-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill
770 ; ILP32-NEXT: flw fa5, 116(s1)
771 ; ILP32-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill
772 ; ILP32-NEXT: flw fa5, 120(s1)
773 ; ILP32-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill
774 ; ILP32-NEXT: flw fa5, 124(s1)
775 ; ILP32-NEXT: fsw fa5, 4(sp) # 4-byte Folded Spill
776 ; ILP32-NEXT: call callee
777 ; ILP32-NEXT: flw fa5, 4(sp) # 4-byte Folded Reload
778 ; ILP32-NEXT: fsw fa5, 124(s1)
779 ; ILP32-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload
780 ; ILP32-NEXT: fsw fa5, 120(s1)
781 ; ILP32-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload
782 ; ILP32-NEXT: fsw fa5, 116(s1)
783 ; ILP32-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload
784 ; ILP32-NEXT: fsw fa5, 112(s1)
785 ; ILP32-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload
786 ; ILP32-NEXT: fsw fa5, 108(s1)
787 ; ILP32-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload
788 ; ILP32-NEXT: fsw fa5, 104(s1)
789 ; ILP32-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload
790 ; ILP32-NEXT: fsw fa5, 100(s1)
791 ; ILP32-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload
792 ; ILP32-NEXT: fsw fa5, 96(s1)
793 ; ILP32-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload
794 ; ILP32-NEXT: fsw fa5, 92(s1)
795 ; ILP32-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload
796 ; ILP32-NEXT: fsw fa5, 88(s1)
797 ; ILP32-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload
798 ; ILP32-NEXT: fsw fa5, 84(s1)
799 ; ILP32-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload
800 ; ILP32-NEXT: fsw fa5, 80(s1)
801 ; ILP32-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload
802 ; ILP32-NEXT: fsw fa5, 76(s1)
803 ; ILP32-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload
804 ; ILP32-NEXT: fsw fa5, 72(s1)
805 ; ILP32-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload
806 ; ILP32-NEXT: fsw fa5, 68(s1)
807 ; ILP32-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload
808 ; ILP32-NEXT: fsw fa5, 64(s1)
809 ; ILP32-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload
810 ; ILP32-NEXT: fsw fa5, 60(s1)
811 ; ILP32-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload
812 ; ILP32-NEXT: fsw fa5, 56(s1)
813 ; ILP32-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload
814 ; ILP32-NEXT: fsw fa5, 52(s1)
815 ; ILP32-NEXT: flw fa5, 80(sp) # 4-byte Folded Reload
816 ; ILP32-NEXT: fsw fa5, 48(s1)
817 ; ILP32-NEXT: flw fa5, 84(sp) # 4-byte Folded Reload
818 ; ILP32-NEXT: fsw fa5, 44(s1)
819 ; ILP32-NEXT: flw fa5, 88(sp) # 4-byte Folded Reload
820 ; ILP32-NEXT: fsw fa5, 40(s1)
821 ; ILP32-NEXT: flw fa5, 92(sp) # 4-byte Folded Reload
822 ; ILP32-NEXT: fsw fa5, 36(s1)
823 ; ILP32-NEXT: flw fa5, 96(sp) # 4-byte Folded Reload
824 ; ILP32-NEXT: fsw fa5, 32(s1)
825 ; ILP32-NEXT: flw fa5, 100(sp) # 4-byte Folded Reload
826 ; ILP32-NEXT: fsw fa5, 28(s1)
827 ; ILP32-NEXT: flw fa5, 104(sp) # 4-byte Folded Reload
828 ; ILP32-NEXT: fsw fa5, 24(s1)
829 ; ILP32-NEXT: flw fa5, 108(sp) # 4-byte Folded Reload
830 ; ILP32-NEXT: fsw fa5, 20(s1)
831 ; ILP32-NEXT: flw fa5, 112(sp) # 4-byte Folded Reload
832 ; ILP32-NEXT: fsw fa5, 16(s1)
833 ; ILP32-NEXT: flw fa5, 116(sp) # 4-byte Folded Reload
834 ; ILP32-NEXT: fsw fa5, %lo(var+12)(s0)
835 ; ILP32-NEXT: flw fa5, 120(sp) # 4-byte Folded Reload
836 ; ILP32-NEXT: fsw fa5, %lo(var+8)(s0)
837 ; ILP32-NEXT: flw fa5, 124(sp) # 4-byte Folded Reload
838 ; ILP32-NEXT: fsw fa5, %lo(var+4)(s0)
839 ; ILP32-NEXT: flw fa5, 128(sp) # 4-byte Folded Reload
840 ; ILP32-NEXT: fsw fa5, %lo(var)(s0)
841 ; ILP32-NEXT: lw ra, 140(sp) # 4-byte Folded Reload
842 ; ILP32-NEXT: lw s0, 136(sp) # 4-byte Folded Reload
843 ; ILP32-NEXT: lw s1, 132(sp) # 4-byte Folded Reload
844 ; ILP32-NEXT: addi sp, sp, 144
847 ; ILP32E-LABEL: caller:
849 ; ILP32E-NEXT: addi sp, sp, -140
850 ; ILP32E-NEXT: sw ra, 136(sp) # 4-byte Folded Spill
851 ; ILP32E-NEXT: sw s0, 132(sp) # 4-byte Folded Spill
852 ; ILP32E-NEXT: sw s1, 128(sp) # 4-byte Folded Spill
853 ; ILP32E-NEXT: lui s0, %hi(var)
854 ; ILP32E-NEXT: flw fa5, %lo(var)(s0)
855 ; ILP32E-NEXT: fsw fa5, 124(sp) # 4-byte Folded Spill
856 ; ILP32E-NEXT: flw fa5, %lo(var+4)(s0)
857 ; ILP32E-NEXT: fsw fa5, 120(sp) # 4-byte Folded Spill
858 ; ILP32E-NEXT: flw fa5, %lo(var+8)(s0)
859 ; ILP32E-NEXT: fsw fa5, 116(sp) # 4-byte Folded Spill
860 ; ILP32E-NEXT: flw fa5, %lo(var+12)(s0)
861 ; ILP32E-NEXT: fsw fa5, 112(sp) # 4-byte Folded Spill
862 ; ILP32E-NEXT: addi s1, s0, %lo(var)
863 ; ILP32E-NEXT: flw fa5, 16(s1)
864 ; ILP32E-NEXT: fsw fa5, 108(sp) # 4-byte Folded Spill
865 ; ILP32E-NEXT: flw fa5, 20(s1)
866 ; ILP32E-NEXT: fsw fa5, 104(sp) # 4-byte Folded Spill
867 ; ILP32E-NEXT: flw fa5, 24(s1)
868 ; ILP32E-NEXT: fsw fa5, 100(sp) # 4-byte Folded Spill
869 ; ILP32E-NEXT: flw fa5, 28(s1)
870 ; ILP32E-NEXT: fsw fa5, 96(sp) # 4-byte Folded Spill
871 ; ILP32E-NEXT: flw fa5, 32(s1)
872 ; ILP32E-NEXT: fsw fa5, 92(sp) # 4-byte Folded Spill
873 ; ILP32E-NEXT: flw fa5, 36(s1)
874 ; ILP32E-NEXT: fsw fa5, 88(sp) # 4-byte Folded Spill
875 ; ILP32E-NEXT: flw fa5, 40(s1)
876 ; ILP32E-NEXT: fsw fa5, 84(sp) # 4-byte Folded Spill
877 ; ILP32E-NEXT: flw fa5, 44(s1)
878 ; ILP32E-NEXT: fsw fa5, 80(sp) # 4-byte Folded Spill
879 ; ILP32E-NEXT: flw fa5, 48(s1)
880 ; ILP32E-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill
881 ; ILP32E-NEXT: flw fa5, 52(s1)
882 ; ILP32E-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill
883 ; ILP32E-NEXT: flw fa5, 56(s1)
884 ; ILP32E-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill
885 ; ILP32E-NEXT: flw fa5, 60(s1)
886 ; ILP32E-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill
887 ; ILP32E-NEXT: flw fa5, 64(s1)
888 ; ILP32E-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill
889 ; ILP32E-NEXT: flw fa5, 68(s1)
890 ; ILP32E-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill
891 ; ILP32E-NEXT: flw fa5, 72(s1)
892 ; ILP32E-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill
893 ; ILP32E-NEXT: flw fa5, 76(s1)
894 ; ILP32E-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill
895 ; ILP32E-NEXT: flw fa5, 80(s1)
896 ; ILP32E-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill
897 ; ILP32E-NEXT: flw fa5, 84(s1)
898 ; ILP32E-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill
899 ; ILP32E-NEXT: flw fa5, 88(s1)
900 ; ILP32E-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill
901 ; ILP32E-NEXT: flw fa5, 92(s1)
902 ; ILP32E-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill
903 ; ILP32E-NEXT: flw fa5, 96(s1)
904 ; ILP32E-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill
905 ; ILP32E-NEXT: flw fa5, 100(s1)
906 ; ILP32E-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill
907 ; ILP32E-NEXT: flw fa5, 104(s1)
908 ; ILP32E-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill
909 ; ILP32E-NEXT: flw fa5, 108(s1)
910 ; ILP32E-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill
911 ; ILP32E-NEXT: flw fa5, 112(s1)
912 ; ILP32E-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill
913 ; ILP32E-NEXT: flw fa5, 116(s1)
914 ; ILP32E-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill
915 ; ILP32E-NEXT: flw fa5, 120(s1)
916 ; ILP32E-NEXT: fsw fa5, 4(sp) # 4-byte Folded Spill
917 ; ILP32E-NEXT: flw fa5, 124(s1)
918 ; ILP32E-NEXT: fsw fa5, 0(sp) # 4-byte Folded Spill
919 ; ILP32E-NEXT: call callee
920 ; ILP32E-NEXT: flw fa5, 0(sp) # 4-byte Folded Reload
921 ; ILP32E-NEXT: fsw fa5, 124(s1)
922 ; ILP32E-NEXT: flw fa5, 4(sp) # 4-byte Folded Reload
923 ; ILP32E-NEXT: fsw fa5, 120(s1)
924 ; ILP32E-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload
925 ; ILP32E-NEXT: fsw fa5, 116(s1)
926 ; ILP32E-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload
927 ; ILP32E-NEXT: fsw fa5, 112(s1)
928 ; ILP32E-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload
929 ; ILP32E-NEXT: fsw fa5, 108(s1)
930 ; ILP32E-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload
931 ; ILP32E-NEXT: fsw fa5, 104(s1)
932 ; ILP32E-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload
933 ; ILP32E-NEXT: fsw fa5, 100(s1)
934 ; ILP32E-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload
935 ; ILP32E-NEXT: fsw fa5, 96(s1)
936 ; ILP32E-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload
937 ; ILP32E-NEXT: fsw fa5, 92(s1)
938 ; ILP32E-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload
939 ; ILP32E-NEXT: fsw fa5, 88(s1)
940 ; ILP32E-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload
941 ; ILP32E-NEXT: fsw fa5, 84(s1)
942 ; ILP32E-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload
943 ; ILP32E-NEXT: fsw fa5, 80(s1)
944 ; ILP32E-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload
945 ; ILP32E-NEXT: fsw fa5, 76(s1)
946 ; ILP32E-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload
947 ; ILP32E-NEXT: fsw fa5, 72(s1)
948 ; ILP32E-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload
949 ; ILP32E-NEXT: fsw fa5, 68(s1)
950 ; ILP32E-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload
951 ; ILP32E-NEXT: fsw fa5, 64(s1)
952 ; ILP32E-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload
953 ; ILP32E-NEXT: fsw fa5, 60(s1)
954 ; ILP32E-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload
955 ; ILP32E-NEXT: fsw fa5, 56(s1)
956 ; ILP32E-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload
957 ; ILP32E-NEXT: fsw fa5, 52(s1)
958 ; ILP32E-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload
959 ; ILP32E-NEXT: fsw fa5, 48(s1)
960 ; ILP32E-NEXT: flw fa5, 80(sp) # 4-byte Folded Reload
961 ; ILP32E-NEXT: fsw fa5, 44(s1)
962 ; ILP32E-NEXT: flw fa5, 84(sp) # 4-byte Folded Reload
963 ; ILP32E-NEXT: fsw fa5, 40(s1)
964 ; ILP32E-NEXT: flw fa5, 88(sp) # 4-byte Folded Reload
965 ; ILP32E-NEXT: fsw fa5, 36(s1)
966 ; ILP32E-NEXT: flw fa5, 92(sp) # 4-byte Folded Reload
967 ; ILP32E-NEXT: fsw fa5, 32(s1)
968 ; ILP32E-NEXT: flw fa5, 96(sp) # 4-byte Folded Reload
969 ; ILP32E-NEXT: fsw fa5, 28(s1)
970 ; ILP32E-NEXT: flw fa5, 100(sp) # 4-byte Folded Reload
971 ; ILP32E-NEXT: fsw fa5, 24(s1)
972 ; ILP32E-NEXT: flw fa5, 104(sp) # 4-byte Folded Reload
973 ; ILP32E-NEXT: fsw fa5, 20(s1)
974 ; ILP32E-NEXT: flw fa5, 108(sp) # 4-byte Folded Reload
975 ; ILP32E-NEXT: fsw fa5, 16(s1)
976 ; ILP32E-NEXT: flw fa5, 112(sp) # 4-byte Folded Reload
977 ; ILP32E-NEXT: fsw fa5, %lo(var+12)(s0)
978 ; ILP32E-NEXT: flw fa5, 116(sp) # 4-byte Folded Reload
979 ; ILP32E-NEXT: fsw fa5, %lo(var+8)(s0)
980 ; ILP32E-NEXT: flw fa5, 120(sp) # 4-byte Folded Reload
981 ; ILP32E-NEXT: fsw fa5, %lo(var+4)(s0)
982 ; ILP32E-NEXT: flw fa5, 124(sp) # 4-byte Folded Reload
983 ; ILP32E-NEXT: fsw fa5, %lo(var)(s0)
984 ; ILP32E-NEXT: lw ra, 136(sp) # 4-byte Folded Reload
985 ; ILP32E-NEXT: lw s0, 132(sp) # 4-byte Folded Reload
986 ; ILP32E-NEXT: lw s1, 128(sp) # 4-byte Folded Reload
987 ; ILP32E-NEXT: addi sp, sp, 140
990 ; LP64-LABEL: caller:
992 ; LP64-NEXT: addi sp, sp, -160
993 ; LP64-NEXT: sd ra, 152(sp) # 8-byte Folded Spill
994 ; LP64-NEXT: sd s0, 144(sp) # 8-byte Folded Spill
995 ; LP64-NEXT: sd s1, 136(sp) # 8-byte Folded Spill
996 ; LP64-NEXT: lui s0, %hi(var)
997 ; LP64-NEXT: flw fa5, %lo(var)(s0)
998 ; LP64-NEXT: fsw fa5, 132(sp) # 4-byte Folded Spill
999 ; LP64-NEXT: flw fa5, %lo(var+4)(s0)
1000 ; LP64-NEXT: fsw fa5, 128(sp) # 4-byte Folded Spill
1001 ; LP64-NEXT: flw fa5, %lo(var+8)(s0)
1002 ; LP64-NEXT: fsw fa5, 124(sp) # 4-byte Folded Spill
1003 ; LP64-NEXT: flw fa5, %lo(var+12)(s0)
1004 ; LP64-NEXT: fsw fa5, 120(sp) # 4-byte Folded Spill
1005 ; LP64-NEXT: addi s1, s0, %lo(var)
1006 ; LP64-NEXT: flw fa5, 16(s1)
1007 ; LP64-NEXT: fsw fa5, 116(sp) # 4-byte Folded Spill
1008 ; LP64-NEXT: flw fa5, 20(s1)
1009 ; LP64-NEXT: fsw fa5, 112(sp) # 4-byte Folded Spill
1010 ; LP64-NEXT: flw fa5, 24(s1)
1011 ; LP64-NEXT: fsw fa5, 108(sp) # 4-byte Folded Spill
1012 ; LP64-NEXT: flw fa5, 28(s1)
1013 ; LP64-NEXT: fsw fa5, 104(sp) # 4-byte Folded Spill
1014 ; LP64-NEXT: flw fa5, 32(s1)
1015 ; LP64-NEXT: fsw fa5, 100(sp) # 4-byte Folded Spill
1016 ; LP64-NEXT: flw fa5, 36(s1)
1017 ; LP64-NEXT: fsw fa5, 96(sp) # 4-byte Folded Spill
1018 ; LP64-NEXT: flw fa5, 40(s1)
1019 ; LP64-NEXT: fsw fa5, 92(sp) # 4-byte Folded Spill
1020 ; LP64-NEXT: flw fa5, 44(s1)
1021 ; LP64-NEXT: fsw fa5, 88(sp) # 4-byte Folded Spill
1022 ; LP64-NEXT: flw fa5, 48(s1)
1023 ; LP64-NEXT: fsw fa5, 84(sp) # 4-byte Folded Spill
1024 ; LP64-NEXT: flw fa5, 52(s1)
1025 ; LP64-NEXT: fsw fa5, 80(sp) # 4-byte Folded Spill
1026 ; LP64-NEXT: flw fa5, 56(s1)
1027 ; LP64-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill
1028 ; LP64-NEXT: flw fa5, 60(s1)
1029 ; LP64-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill
1030 ; LP64-NEXT: flw fa5, 64(s1)
1031 ; LP64-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill
1032 ; LP64-NEXT: flw fa5, 68(s1)
1033 ; LP64-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill
1034 ; LP64-NEXT: flw fa5, 72(s1)
1035 ; LP64-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill
1036 ; LP64-NEXT: flw fa5, 76(s1)
1037 ; LP64-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill
1038 ; LP64-NEXT: flw fa5, 80(s1)
1039 ; LP64-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill
1040 ; LP64-NEXT: flw fa5, 84(s1)
1041 ; LP64-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill
1042 ; LP64-NEXT: flw fa5, 88(s1)
1043 ; LP64-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill
1044 ; LP64-NEXT: flw fa5, 92(s1)
1045 ; LP64-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill
1046 ; LP64-NEXT: flw fa5, 96(s1)
1047 ; LP64-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill
1048 ; LP64-NEXT: flw fa5, 100(s1)
1049 ; LP64-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill
1050 ; LP64-NEXT: flw fa5, 104(s1)
1051 ; LP64-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill
1052 ; LP64-NEXT: flw fa5, 108(s1)
1053 ; LP64-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill
1054 ; LP64-NEXT: flw fa5, 112(s1)
1055 ; LP64-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill
1056 ; LP64-NEXT: flw fa5, 116(s1)
1057 ; LP64-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill
1058 ; LP64-NEXT: flw fa5, 120(s1)
1059 ; LP64-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill
1060 ; LP64-NEXT: flw fa5, 124(s1)
1061 ; LP64-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill
1062 ; LP64-NEXT: call callee
1063 ; LP64-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload
1064 ; LP64-NEXT: fsw fa5, 124(s1)
1065 ; LP64-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload
1066 ; LP64-NEXT: fsw fa5, 120(s1)
1067 ; LP64-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload
1068 ; LP64-NEXT: fsw fa5, 116(s1)
1069 ; LP64-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload
1070 ; LP64-NEXT: fsw fa5, 112(s1)
1071 ; LP64-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload
1072 ; LP64-NEXT: fsw fa5, 108(s1)
1073 ; LP64-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload
1074 ; LP64-NEXT: fsw fa5, 104(s1)
1075 ; LP64-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload
1076 ; LP64-NEXT: fsw fa5, 100(s1)
1077 ; LP64-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload
1078 ; LP64-NEXT: fsw fa5, 96(s1)
1079 ; LP64-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload
1080 ; LP64-NEXT: fsw fa5, 92(s1)
1081 ; LP64-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload
1082 ; LP64-NEXT: fsw fa5, 88(s1)
1083 ; LP64-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload
1084 ; LP64-NEXT: fsw fa5, 84(s1)
1085 ; LP64-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload
1086 ; LP64-NEXT: fsw fa5, 80(s1)
1087 ; LP64-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload
1088 ; LP64-NEXT: fsw fa5, 76(s1)
1089 ; LP64-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload
1090 ; LP64-NEXT: fsw fa5, 72(s1)
1091 ; LP64-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload
1092 ; LP64-NEXT: fsw fa5, 68(s1)
1093 ; LP64-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload
1094 ; LP64-NEXT: fsw fa5, 64(s1)
1095 ; LP64-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload
1096 ; LP64-NEXT: fsw fa5, 60(s1)
1097 ; LP64-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload
1098 ; LP64-NEXT: fsw fa5, 56(s1)
1099 ; LP64-NEXT: flw fa5, 80(sp) # 4-byte Folded Reload
1100 ; LP64-NEXT: fsw fa5, 52(s1)
1101 ; LP64-NEXT: flw fa5, 84(sp) # 4-byte Folded Reload
1102 ; LP64-NEXT: fsw fa5, 48(s1)
1103 ; LP64-NEXT: flw fa5, 88(sp) # 4-byte Folded Reload
1104 ; LP64-NEXT: fsw fa5, 44(s1)
1105 ; LP64-NEXT: flw fa5, 92(sp) # 4-byte Folded Reload
1106 ; LP64-NEXT: fsw fa5, 40(s1)
1107 ; LP64-NEXT: flw fa5, 96(sp) # 4-byte Folded Reload
1108 ; LP64-NEXT: fsw fa5, 36(s1)
1109 ; LP64-NEXT: flw fa5, 100(sp) # 4-byte Folded Reload
1110 ; LP64-NEXT: fsw fa5, 32(s1)
1111 ; LP64-NEXT: flw fa5, 104(sp) # 4-byte Folded Reload
1112 ; LP64-NEXT: fsw fa5, 28(s1)
1113 ; LP64-NEXT: flw fa5, 108(sp) # 4-byte Folded Reload
1114 ; LP64-NEXT: fsw fa5, 24(s1)
1115 ; LP64-NEXT: flw fa5, 112(sp) # 4-byte Folded Reload
1116 ; LP64-NEXT: fsw fa5, 20(s1)
1117 ; LP64-NEXT: flw fa5, 116(sp) # 4-byte Folded Reload
1118 ; LP64-NEXT: fsw fa5, 16(s1)
1119 ; LP64-NEXT: flw fa5, 120(sp) # 4-byte Folded Reload
1120 ; LP64-NEXT: fsw fa5, %lo(var+12)(s0)
1121 ; LP64-NEXT: flw fa5, 124(sp) # 4-byte Folded Reload
1122 ; LP64-NEXT: fsw fa5, %lo(var+8)(s0)
1123 ; LP64-NEXT: flw fa5, 128(sp) # 4-byte Folded Reload
1124 ; LP64-NEXT: fsw fa5, %lo(var+4)(s0)
1125 ; LP64-NEXT: flw fa5, 132(sp) # 4-byte Folded Reload
1126 ; LP64-NEXT: fsw fa5, %lo(var)(s0)
1127 ; LP64-NEXT: ld ra, 152(sp) # 8-byte Folded Reload
1128 ; LP64-NEXT: ld s0, 144(sp) # 8-byte Folded Reload
1129 ; LP64-NEXT: ld s1, 136(sp) # 8-byte Folded Reload
1130 ; LP64-NEXT: addi sp, sp, 160
1133 ; LP64E-LABEL: caller:
1135 ; LP64E-NEXT: addi sp, sp, -152
1136 ; LP64E-NEXT: sd ra, 144(sp) # 8-byte Folded Spill
1137 ; LP64E-NEXT: sd s0, 136(sp) # 8-byte Folded Spill
1138 ; LP64E-NEXT: sd s1, 128(sp) # 8-byte Folded Spill
1139 ; LP64E-NEXT: lui s0, %hi(var)
1140 ; LP64E-NEXT: flw fa5, %lo(var)(s0)
1141 ; LP64E-NEXT: fsw fa5, 124(sp) # 4-byte Folded Spill
1142 ; LP64E-NEXT: flw fa5, %lo(var+4)(s0)
1143 ; LP64E-NEXT: fsw fa5, 120(sp) # 4-byte Folded Spill
1144 ; LP64E-NEXT: flw fa5, %lo(var+8)(s0)
1145 ; LP64E-NEXT: fsw fa5, 116(sp) # 4-byte Folded Spill
1146 ; LP64E-NEXT: flw fa5, %lo(var+12)(s0)
1147 ; LP64E-NEXT: fsw fa5, 112(sp) # 4-byte Folded Spill
1148 ; LP64E-NEXT: addi s1, s0, %lo(var)
1149 ; LP64E-NEXT: flw fa5, 16(s1)
1150 ; LP64E-NEXT: fsw fa5, 108(sp) # 4-byte Folded Spill
1151 ; LP64E-NEXT: flw fa5, 20(s1)
1152 ; LP64E-NEXT: fsw fa5, 104(sp) # 4-byte Folded Spill
1153 ; LP64E-NEXT: flw fa5, 24(s1)
1154 ; LP64E-NEXT: fsw fa5, 100(sp) # 4-byte Folded Spill
1155 ; LP64E-NEXT: flw fa5, 28(s1)
1156 ; LP64E-NEXT: fsw fa5, 96(sp) # 4-byte Folded Spill
1157 ; LP64E-NEXT: flw fa5, 32(s1)
1158 ; LP64E-NEXT: fsw fa5, 92(sp) # 4-byte Folded Spill
1159 ; LP64E-NEXT: flw fa5, 36(s1)
1160 ; LP64E-NEXT: fsw fa5, 88(sp) # 4-byte Folded Spill
1161 ; LP64E-NEXT: flw fa5, 40(s1)
1162 ; LP64E-NEXT: fsw fa5, 84(sp) # 4-byte Folded Spill
1163 ; LP64E-NEXT: flw fa5, 44(s1)
1164 ; LP64E-NEXT: fsw fa5, 80(sp) # 4-byte Folded Spill
1165 ; LP64E-NEXT: flw fa5, 48(s1)
1166 ; LP64E-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill
1167 ; LP64E-NEXT: flw fa5, 52(s1)
1168 ; LP64E-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill
1169 ; LP64E-NEXT: flw fa5, 56(s1)
1170 ; LP64E-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill
1171 ; LP64E-NEXT: flw fa5, 60(s1)
1172 ; LP64E-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill
1173 ; LP64E-NEXT: flw fa5, 64(s1)
1174 ; LP64E-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill
1175 ; LP64E-NEXT: flw fa5, 68(s1)
1176 ; LP64E-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill
1177 ; LP64E-NEXT: flw fa5, 72(s1)
1178 ; LP64E-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill
1179 ; LP64E-NEXT: flw fa5, 76(s1)
1180 ; LP64E-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill
1181 ; LP64E-NEXT: flw fa5, 80(s1)
1182 ; LP64E-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill
1183 ; LP64E-NEXT: flw fa5, 84(s1)
1184 ; LP64E-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill
1185 ; LP64E-NEXT: flw fa5, 88(s1)
1186 ; LP64E-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill
1187 ; LP64E-NEXT: flw fa5, 92(s1)
1188 ; LP64E-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill
1189 ; LP64E-NEXT: flw fa5, 96(s1)
1190 ; LP64E-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill
1191 ; LP64E-NEXT: flw fa5, 100(s1)
1192 ; LP64E-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill
1193 ; LP64E-NEXT: flw fa5, 104(s1)
1194 ; LP64E-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill
1195 ; LP64E-NEXT: flw fa5, 108(s1)
1196 ; LP64E-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill
1197 ; LP64E-NEXT: flw fa5, 112(s1)
1198 ; LP64E-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill
1199 ; LP64E-NEXT: flw fa5, 116(s1)
1200 ; LP64E-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill
1201 ; LP64E-NEXT: flw fa5, 120(s1)
1202 ; LP64E-NEXT: fsw fa5, 4(sp) # 4-byte Folded Spill
1203 ; LP64E-NEXT: flw fa5, 124(s1)
1204 ; LP64E-NEXT: fsw fa5, 0(sp) # 4-byte Folded Spill
1205 ; LP64E-NEXT: call callee
1206 ; LP64E-NEXT: flw fa5, 0(sp) # 4-byte Folded Reload
1207 ; LP64E-NEXT: fsw fa5, 124(s1)
1208 ; LP64E-NEXT: flw fa5, 4(sp) # 4-byte Folded Reload
1209 ; LP64E-NEXT: fsw fa5, 120(s1)
1210 ; LP64E-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload
1211 ; LP64E-NEXT: fsw fa5, 116(s1)
1212 ; LP64E-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload
1213 ; LP64E-NEXT: fsw fa5, 112(s1)
1214 ; LP64E-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload
1215 ; LP64E-NEXT: fsw fa5, 108(s1)
1216 ; LP64E-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload
1217 ; LP64E-NEXT: fsw fa5, 104(s1)
1218 ; LP64E-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload
1219 ; LP64E-NEXT: fsw fa5, 100(s1)
1220 ; LP64E-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload
1221 ; LP64E-NEXT: fsw fa5, 96(s1)
1222 ; LP64E-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload
1223 ; LP64E-NEXT: fsw fa5, 92(s1)
1224 ; LP64E-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload
1225 ; LP64E-NEXT: fsw fa5, 88(s1)
1226 ; LP64E-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload
1227 ; LP64E-NEXT: fsw fa5, 84(s1)
1228 ; LP64E-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload
1229 ; LP64E-NEXT: fsw fa5, 80(s1)
1230 ; LP64E-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload
1231 ; LP64E-NEXT: fsw fa5, 76(s1)
1232 ; LP64E-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload
1233 ; LP64E-NEXT: fsw fa5, 72(s1)
1234 ; LP64E-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload
1235 ; LP64E-NEXT: fsw fa5, 68(s1)
1236 ; LP64E-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload
1237 ; LP64E-NEXT: fsw fa5, 64(s1)
1238 ; LP64E-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload
1239 ; LP64E-NEXT: fsw fa5, 60(s1)
1240 ; LP64E-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload
1241 ; LP64E-NEXT: fsw fa5, 56(s1)
1242 ; LP64E-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload
1243 ; LP64E-NEXT: fsw fa5, 52(s1)
1244 ; LP64E-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload
1245 ; LP64E-NEXT: fsw fa5, 48(s1)
1246 ; LP64E-NEXT: flw fa5, 80(sp) # 4-byte Folded Reload
1247 ; LP64E-NEXT: fsw fa5, 44(s1)
1248 ; LP64E-NEXT: flw fa5, 84(sp) # 4-byte Folded Reload
1249 ; LP64E-NEXT: fsw fa5, 40(s1)
1250 ; LP64E-NEXT: flw fa5, 88(sp) # 4-byte Folded Reload
1251 ; LP64E-NEXT: fsw fa5, 36(s1)
1252 ; LP64E-NEXT: flw fa5, 92(sp) # 4-byte Folded Reload
1253 ; LP64E-NEXT: fsw fa5, 32(s1)
1254 ; LP64E-NEXT: flw fa5, 96(sp) # 4-byte Folded Reload
1255 ; LP64E-NEXT: fsw fa5, 28(s1)
1256 ; LP64E-NEXT: flw fa5, 100(sp) # 4-byte Folded Reload
1257 ; LP64E-NEXT: fsw fa5, 24(s1)
1258 ; LP64E-NEXT: flw fa5, 104(sp) # 4-byte Folded Reload
1259 ; LP64E-NEXT: fsw fa5, 20(s1)
1260 ; LP64E-NEXT: flw fa5, 108(sp) # 4-byte Folded Reload
1261 ; LP64E-NEXT: fsw fa5, 16(s1)
1262 ; LP64E-NEXT: flw fa5, 112(sp) # 4-byte Folded Reload
1263 ; LP64E-NEXT: fsw fa5, %lo(var+12)(s0)
1264 ; LP64E-NEXT: flw fa5, 116(sp) # 4-byte Folded Reload
1265 ; LP64E-NEXT: fsw fa5, %lo(var+8)(s0)
1266 ; LP64E-NEXT: flw fa5, 120(sp) # 4-byte Folded Reload
1267 ; LP64E-NEXT: fsw fa5, %lo(var+4)(s0)
1268 ; LP64E-NEXT: flw fa5, 124(sp) # 4-byte Folded Reload
1269 ; LP64E-NEXT: fsw fa5, %lo(var)(s0)
1270 ; LP64E-NEXT: ld ra, 144(sp) # 8-byte Folded Reload
1271 ; LP64E-NEXT: ld s0, 136(sp) # 8-byte Folded Reload
1272 ; LP64E-NEXT: ld s1, 128(sp) # 8-byte Folded Reload
1273 ; LP64E-NEXT: addi sp, sp, 152
1276 ; ILP32F-LABEL: caller:
1278 ; ILP32F-NEXT: addi sp, sp, -144
1279 ; ILP32F-NEXT: sw ra, 140(sp) # 4-byte Folded Spill
1280 ; ILP32F-NEXT: sw s0, 136(sp) # 4-byte Folded Spill
1281 ; ILP32F-NEXT: sw s1, 132(sp) # 4-byte Folded Spill
1282 ; ILP32F-NEXT: fsw fs0, 128(sp) # 4-byte Folded Spill
1283 ; ILP32F-NEXT: fsw fs1, 124(sp) # 4-byte Folded Spill
1284 ; ILP32F-NEXT: fsw fs2, 120(sp) # 4-byte Folded Spill
1285 ; ILP32F-NEXT: fsw fs3, 116(sp) # 4-byte Folded Spill
1286 ; ILP32F-NEXT: fsw fs4, 112(sp) # 4-byte Folded Spill
1287 ; ILP32F-NEXT: fsw fs5, 108(sp) # 4-byte Folded Spill
1288 ; ILP32F-NEXT: fsw fs6, 104(sp) # 4-byte Folded Spill
1289 ; ILP32F-NEXT: fsw fs7, 100(sp) # 4-byte Folded Spill
1290 ; ILP32F-NEXT: fsw fs8, 96(sp) # 4-byte Folded Spill
1291 ; ILP32F-NEXT: fsw fs9, 92(sp) # 4-byte Folded Spill
1292 ; ILP32F-NEXT: fsw fs10, 88(sp) # 4-byte Folded Spill
1293 ; ILP32F-NEXT: fsw fs11, 84(sp) # 4-byte Folded Spill
1294 ; ILP32F-NEXT: lui s0, %hi(var)
1295 ; ILP32F-NEXT: flw fa5, %lo(var)(s0)
1296 ; ILP32F-NEXT: fsw fa5, 80(sp) # 4-byte Folded Spill
1297 ; ILP32F-NEXT: flw fa5, %lo(var+4)(s0)
1298 ; ILP32F-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill
1299 ; ILP32F-NEXT: flw fa5, %lo(var+8)(s0)
1300 ; ILP32F-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill
1301 ; ILP32F-NEXT: flw fa5, %lo(var+12)(s0)
1302 ; ILP32F-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill
1303 ; ILP32F-NEXT: addi s1, s0, %lo(var)
1304 ; ILP32F-NEXT: flw fa5, 16(s1)
1305 ; ILP32F-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill
1306 ; ILP32F-NEXT: flw fa5, 20(s1)
1307 ; ILP32F-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill
1308 ; ILP32F-NEXT: flw fa5, 24(s1)
1309 ; ILP32F-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill
1310 ; ILP32F-NEXT: flw fa5, 28(s1)
1311 ; ILP32F-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill
1312 ; ILP32F-NEXT: flw fa5, 32(s1)
1313 ; ILP32F-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill
1314 ; ILP32F-NEXT: flw fa5, 36(s1)
1315 ; ILP32F-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill
1316 ; ILP32F-NEXT: flw fa5, 40(s1)
1317 ; ILP32F-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill
1318 ; ILP32F-NEXT: flw fa5, 44(s1)
1319 ; ILP32F-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill
1320 ; ILP32F-NEXT: flw fa5, 48(s1)
1321 ; ILP32F-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill
1322 ; ILP32F-NEXT: flw fa5, 52(s1)
1323 ; ILP32F-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill
1324 ; ILP32F-NEXT: flw fa5, 56(s1)
1325 ; ILP32F-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill
1326 ; ILP32F-NEXT: flw fa5, 60(s1)
1327 ; ILP32F-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill
1328 ; ILP32F-NEXT: flw fa5, 64(s1)
1329 ; ILP32F-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill
1330 ; ILP32F-NEXT: flw fa5, 68(s1)
1331 ; ILP32F-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill
1332 ; ILP32F-NEXT: flw fa5, 72(s1)
1333 ; ILP32F-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill
1334 ; ILP32F-NEXT: flw fa5, 76(s1)
1335 ; ILP32F-NEXT: fsw fa5, 4(sp) # 4-byte Folded Spill
1336 ; ILP32F-NEXT: flw fs8, 80(s1)
1337 ; ILP32F-NEXT: flw fs9, 84(s1)
1338 ; ILP32F-NEXT: flw fs10, 88(s1)
1339 ; ILP32F-NEXT: flw fs11, 92(s1)
1340 ; ILP32F-NEXT: flw fs0, 96(s1)
1341 ; ILP32F-NEXT: flw fs1, 100(s1)
1342 ; ILP32F-NEXT: flw fs2, 104(s1)
1343 ; ILP32F-NEXT: flw fs3, 108(s1)
1344 ; ILP32F-NEXT: flw fs4, 112(s1)
1345 ; ILP32F-NEXT: flw fs5, 116(s1)
1346 ; ILP32F-NEXT: flw fs6, 120(s1)
1347 ; ILP32F-NEXT: flw fs7, 124(s1)
1348 ; ILP32F-NEXT: call callee
1349 ; ILP32F-NEXT: fsw fs7, 124(s1)
1350 ; ILP32F-NEXT: fsw fs6, 120(s1)
1351 ; ILP32F-NEXT: fsw fs5, 116(s1)
1352 ; ILP32F-NEXT: fsw fs4, 112(s1)
1353 ; ILP32F-NEXT: fsw fs3, 108(s1)
1354 ; ILP32F-NEXT: fsw fs2, 104(s1)
1355 ; ILP32F-NEXT: fsw fs1, 100(s1)
1356 ; ILP32F-NEXT: fsw fs0, 96(s1)
1357 ; ILP32F-NEXT: fsw fs11, 92(s1)
1358 ; ILP32F-NEXT: fsw fs10, 88(s1)
1359 ; ILP32F-NEXT: fsw fs9, 84(s1)
1360 ; ILP32F-NEXT: fsw fs8, 80(s1)
1361 ; ILP32F-NEXT: flw fa5, 4(sp) # 4-byte Folded Reload
1362 ; ILP32F-NEXT: fsw fa5, 76(s1)
1363 ; ILP32F-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload
1364 ; ILP32F-NEXT: fsw fa5, 72(s1)
1365 ; ILP32F-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload
1366 ; ILP32F-NEXT: fsw fa5, 68(s1)
1367 ; ILP32F-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload
1368 ; ILP32F-NEXT: fsw fa5, 64(s1)
1369 ; ILP32F-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload
1370 ; ILP32F-NEXT: fsw fa5, 60(s1)
1371 ; ILP32F-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload
1372 ; ILP32F-NEXT: fsw fa5, 56(s1)
1373 ; ILP32F-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload
1374 ; ILP32F-NEXT: fsw fa5, 52(s1)
1375 ; ILP32F-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload
1376 ; ILP32F-NEXT: fsw fa5, 48(s1)
1377 ; ILP32F-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload
1378 ; ILP32F-NEXT: fsw fa5, 44(s1)
1379 ; ILP32F-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload
1380 ; ILP32F-NEXT: fsw fa5, 40(s1)
1381 ; ILP32F-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload
1382 ; ILP32F-NEXT: fsw fa5, 36(s1)
1383 ; ILP32F-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload
1384 ; ILP32F-NEXT: fsw fa5, 32(s1)
1385 ; ILP32F-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload
1386 ; ILP32F-NEXT: fsw fa5, 28(s1)
1387 ; ILP32F-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload
1388 ; ILP32F-NEXT: fsw fa5, 24(s1)
1389 ; ILP32F-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload
1390 ; ILP32F-NEXT: fsw fa5, 20(s1)
1391 ; ILP32F-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload
1392 ; ILP32F-NEXT: fsw fa5, 16(s1)
1393 ; ILP32F-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload
1394 ; ILP32F-NEXT: fsw fa5, %lo(var+12)(s0)
1395 ; ILP32F-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload
1396 ; ILP32F-NEXT: fsw fa5, %lo(var+8)(s0)
1397 ; ILP32F-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload
1398 ; ILP32F-NEXT: fsw fa5, %lo(var+4)(s0)
1399 ; ILP32F-NEXT: flw fa5, 80(sp) # 4-byte Folded Reload
1400 ; ILP32F-NEXT: fsw fa5, %lo(var)(s0)
1401 ; ILP32F-NEXT: lw ra, 140(sp) # 4-byte Folded Reload
1402 ; ILP32F-NEXT: lw s0, 136(sp) # 4-byte Folded Reload
1403 ; ILP32F-NEXT: lw s1, 132(sp) # 4-byte Folded Reload
1404 ; ILP32F-NEXT: flw fs0, 128(sp) # 4-byte Folded Reload
1405 ; ILP32F-NEXT: flw fs1, 124(sp) # 4-byte Folded Reload
1406 ; ILP32F-NEXT: flw fs2, 120(sp) # 4-byte Folded Reload
1407 ; ILP32F-NEXT: flw fs3, 116(sp) # 4-byte Folded Reload
1408 ; ILP32F-NEXT: flw fs4, 112(sp) # 4-byte Folded Reload
1409 ; ILP32F-NEXT: flw fs5, 108(sp) # 4-byte Folded Reload
1410 ; ILP32F-NEXT: flw fs6, 104(sp) # 4-byte Folded Reload
1411 ; ILP32F-NEXT: flw fs7, 100(sp) # 4-byte Folded Reload
1412 ; ILP32F-NEXT: flw fs8, 96(sp) # 4-byte Folded Reload
1413 ; ILP32F-NEXT: flw fs9, 92(sp) # 4-byte Folded Reload
1414 ; ILP32F-NEXT: flw fs10, 88(sp) # 4-byte Folded Reload
1415 ; ILP32F-NEXT: flw fs11, 84(sp) # 4-byte Folded Reload
1416 ; ILP32F-NEXT: addi sp, sp, 144
1419 ; LP64F-LABEL: caller:
1421 ; LP64F-NEXT: addi sp, sp, -160
1422 ; LP64F-NEXT: sd ra, 152(sp) # 8-byte Folded Spill
1423 ; LP64F-NEXT: sd s0, 144(sp) # 8-byte Folded Spill
1424 ; LP64F-NEXT: sd s1, 136(sp) # 8-byte Folded Spill
1425 ; LP64F-NEXT: fsw fs0, 132(sp) # 4-byte Folded Spill
1426 ; LP64F-NEXT: fsw fs1, 128(sp) # 4-byte Folded Spill
1427 ; LP64F-NEXT: fsw fs2, 124(sp) # 4-byte Folded Spill
1428 ; LP64F-NEXT: fsw fs3, 120(sp) # 4-byte Folded Spill
1429 ; LP64F-NEXT: fsw fs4, 116(sp) # 4-byte Folded Spill
1430 ; LP64F-NEXT: fsw fs5, 112(sp) # 4-byte Folded Spill
1431 ; LP64F-NEXT: fsw fs6, 108(sp) # 4-byte Folded Spill
1432 ; LP64F-NEXT: fsw fs7, 104(sp) # 4-byte Folded Spill
1433 ; LP64F-NEXT: fsw fs8, 100(sp) # 4-byte Folded Spill
1434 ; LP64F-NEXT: fsw fs9, 96(sp) # 4-byte Folded Spill
1435 ; LP64F-NEXT: fsw fs10, 92(sp) # 4-byte Folded Spill
1436 ; LP64F-NEXT: fsw fs11, 88(sp) # 4-byte Folded Spill
1437 ; LP64F-NEXT: lui s0, %hi(var)
1438 ; LP64F-NEXT: flw fa5, %lo(var)(s0)
1439 ; LP64F-NEXT: fsw fa5, 84(sp) # 4-byte Folded Spill
1440 ; LP64F-NEXT: flw fa5, %lo(var+4)(s0)
1441 ; LP64F-NEXT: fsw fa5, 80(sp) # 4-byte Folded Spill
1442 ; LP64F-NEXT: flw fa5, %lo(var+8)(s0)
1443 ; LP64F-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill
1444 ; LP64F-NEXT: flw fa5, %lo(var+12)(s0)
1445 ; LP64F-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill
1446 ; LP64F-NEXT: addi s1, s0, %lo(var)
1447 ; LP64F-NEXT: flw fa5, 16(s1)
1448 ; LP64F-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill
1449 ; LP64F-NEXT: flw fa5, 20(s1)
1450 ; LP64F-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill
1451 ; LP64F-NEXT: flw fa5, 24(s1)
1452 ; LP64F-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill
1453 ; LP64F-NEXT: flw fa5, 28(s1)
1454 ; LP64F-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill
1455 ; LP64F-NEXT: flw fa5, 32(s1)
1456 ; LP64F-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill
1457 ; LP64F-NEXT: flw fa5, 36(s1)
1458 ; LP64F-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill
1459 ; LP64F-NEXT: flw fa5, 40(s1)
1460 ; LP64F-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill
1461 ; LP64F-NEXT: flw fa5, 44(s1)
1462 ; LP64F-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill
1463 ; LP64F-NEXT: flw fa5, 48(s1)
1464 ; LP64F-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill
1465 ; LP64F-NEXT: flw fa5, 52(s1)
1466 ; LP64F-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill
1467 ; LP64F-NEXT: flw fa5, 56(s1)
1468 ; LP64F-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill
1469 ; LP64F-NEXT: flw fa5, 60(s1)
1470 ; LP64F-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill
1471 ; LP64F-NEXT: flw fa5, 64(s1)
1472 ; LP64F-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill
1473 ; LP64F-NEXT: flw fa5, 68(s1)
1474 ; LP64F-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill
1475 ; LP64F-NEXT: flw fa5, 72(s1)
1476 ; LP64F-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill
1477 ; LP64F-NEXT: flw fa5, 76(s1)
1478 ; LP64F-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill
1479 ; LP64F-NEXT: flw fs8, 80(s1)
1480 ; LP64F-NEXT: flw fs9, 84(s1)
1481 ; LP64F-NEXT: flw fs10, 88(s1)
1482 ; LP64F-NEXT: flw fs11, 92(s1)
1483 ; LP64F-NEXT: flw fs0, 96(s1)
1484 ; LP64F-NEXT: flw fs1, 100(s1)
1485 ; LP64F-NEXT: flw fs2, 104(s1)
1486 ; LP64F-NEXT: flw fs3, 108(s1)
1487 ; LP64F-NEXT: flw fs4, 112(s1)
1488 ; LP64F-NEXT: flw fs5, 116(s1)
1489 ; LP64F-NEXT: flw fs6, 120(s1)
1490 ; LP64F-NEXT: flw fs7, 124(s1)
1491 ; LP64F-NEXT: call callee
1492 ; LP64F-NEXT: fsw fs7, 124(s1)
1493 ; LP64F-NEXT: fsw fs6, 120(s1)
1494 ; LP64F-NEXT: fsw fs5, 116(s1)
1495 ; LP64F-NEXT: fsw fs4, 112(s1)
1496 ; LP64F-NEXT: fsw fs3, 108(s1)
1497 ; LP64F-NEXT: fsw fs2, 104(s1)
1498 ; LP64F-NEXT: fsw fs1, 100(s1)
1499 ; LP64F-NEXT: fsw fs0, 96(s1)
1500 ; LP64F-NEXT: fsw fs11, 92(s1)
1501 ; LP64F-NEXT: fsw fs10, 88(s1)
1502 ; LP64F-NEXT: fsw fs9, 84(s1)
1503 ; LP64F-NEXT: fsw fs8, 80(s1)
1504 ; LP64F-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload
1505 ; LP64F-NEXT: fsw fa5, 76(s1)
1506 ; LP64F-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload
1507 ; LP64F-NEXT: fsw fa5, 72(s1)
1508 ; LP64F-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload
1509 ; LP64F-NEXT: fsw fa5, 68(s1)
1510 ; LP64F-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload
1511 ; LP64F-NEXT: fsw fa5, 64(s1)
1512 ; LP64F-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload
1513 ; LP64F-NEXT: fsw fa5, 60(s1)
1514 ; LP64F-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload
1515 ; LP64F-NEXT: fsw fa5, 56(s1)
1516 ; LP64F-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload
1517 ; LP64F-NEXT: fsw fa5, 52(s1)
1518 ; LP64F-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload
1519 ; LP64F-NEXT: fsw fa5, 48(s1)
1520 ; LP64F-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload
1521 ; LP64F-NEXT: fsw fa5, 44(s1)
1522 ; LP64F-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload
1523 ; LP64F-NEXT: fsw fa5, 40(s1)
1524 ; LP64F-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload
1525 ; LP64F-NEXT: fsw fa5, 36(s1)
1526 ; LP64F-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload
1527 ; LP64F-NEXT: fsw fa5, 32(s1)
1528 ; LP64F-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload
1529 ; LP64F-NEXT: fsw fa5, 28(s1)
1530 ; LP64F-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload
1531 ; LP64F-NEXT: fsw fa5, 24(s1)
1532 ; LP64F-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload
1533 ; LP64F-NEXT: fsw fa5, 20(s1)
1534 ; LP64F-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload
1535 ; LP64F-NEXT: fsw fa5, 16(s1)
1536 ; LP64F-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload
1537 ; LP64F-NEXT: fsw fa5, %lo(var+12)(s0)
1538 ; LP64F-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload
1539 ; LP64F-NEXT: fsw fa5, %lo(var+8)(s0)
1540 ; LP64F-NEXT: flw fa5, 80(sp) # 4-byte Folded Reload
1541 ; LP64F-NEXT: fsw fa5, %lo(var+4)(s0)
1542 ; LP64F-NEXT: flw fa5, 84(sp) # 4-byte Folded Reload
1543 ; LP64F-NEXT: fsw fa5, %lo(var)(s0)
1544 ; LP64F-NEXT: ld ra, 152(sp) # 8-byte Folded Reload
1545 ; LP64F-NEXT: ld s0, 144(sp) # 8-byte Folded Reload
1546 ; LP64F-NEXT: ld s1, 136(sp) # 8-byte Folded Reload
1547 ; LP64F-NEXT: flw fs0, 132(sp) # 4-byte Folded Reload
1548 ; LP64F-NEXT: flw fs1, 128(sp) # 4-byte Folded Reload
1549 ; LP64F-NEXT: flw fs2, 124(sp) # 4-byte Folded Reload
1550 ; LP64F-NEXT: flw fs3, 120(sp) # 4-byte Folded Reload
1551 ; LP64F-NEXT: flw fs4, 116(sp) # 4-byte Folded Reload
1552 ; LP64F-NEXT: flw fs5, 112(sp) # 4-byte Folded Reload
1553 ; LP64F-NEXT: flw fs6, 108(sp) # 4-byte Folded Reload
1554 ; LP64F-NEXT: flw fs7, 104(sp) # 4-byte Folded Reload
1555 ; LP64F-NEXT: flw fs8, 100(sp) # 4-byte Folded Reload
1556 ; LP64F-NEXT: flw fs9, 96(sp) # 4-byte Folded Reload
1557 ; LP64F-NEXT: flw fs10, 92(sp) # 4-byte Folded Reload
1558 ; LP64F-NEXT: flw fs11, 88(sp) # 4-byte Folded Reload
1559 ; LP64F-NEXT: addi sp, sp, 160
1562 ; ILP32D-LABEL: caller:
1564 ; ILP32D-NEXT: addi sp, sp, -192
1565 ; ILP32D-NEXT: sw ra, 188(sp) # 4-byte Folded Spill
1566 ; ILP32D-NEXT: sw s0, 184(sp) # 4-byte Folded Spill
1567 ; ILP32D-NEXT: sw s1, 180(sp) # 4-byte Folded Spill
1568 ; ILP32D-NEXT: fsd fs0, 168(sp) # 8-byte Folded Spill
1569 ; ILP32D-NEXT: fsd fs1, 160(sp) # 8-byte Folded Spill
1570 ; ILP32D-NEXT: fsd fs2, 152(sp) # 8-byte Folded Spill
1571 ; ILP32D-NEXT: fsd fs3, 144(sp) # 8-byte Folded Spill
1572 ; ILP32D-NEXT: fsd fs4, 136(sp) # 8-byte Folded Spill
1573 ; ILP32D-NEXT: fsd fs5, 128(sp) # 8-byte Folded Spill
1574 ; ILP32D-NEXT: fsd fs6, 120(sp) # 8-byte Folded Spill
1575 ; ILP32D-NEXT: fsd fs7, 112(sp) # 8-byte Folded Spill
1576 ; ILP32D-NEXT: fsd fs8, 104(sp) # 8-byte Folded Spill
1577 ; ILP32D-NEXT: fsd fs9, 96(sp) # 8-byte Folded Spill
1578 ; ILP32D-NEXT: fsd fs10, 88(sp) # 8-byte Folded Spill
1579 ; ILP32D-NEXT: fsd fs11, 80(sp) # 8-byte Folded Spill
1580 ; ILP32D-NEXT: lui s0, %hi(var)
1581 ; ILP32D-NEXT: flw fa5, %lo(var)(s0)
1582 ; ILP32D-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill
1583 ; ILP32D-NEXT: flw fa5, %lo(var+4)(s0)
1584 ; ILP32D-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill
1585 ; ILP32D-NEXT: flw fa5, %lo(var+8)(s0)
1586 ; ILP32D-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill
1587 ; ILP32D-NEXT: flw fa5, %lo(var+12)(s0)
1588 ; ILP32D-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill
1589 ; ILP32D-NEXT: addi s1, s0, %lo(var)
1590 ; ILP32D-NEXT: flw fa5, 16(s1)
1591 ; ILP32D-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill
1592 ; ILP32D-NEXT: flw fa5, 20(s1)
1593 ; ILP32D-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill
1594 ; ILP32D-NEXT: flw fa5, 24(s1)
1595 ; ILP32D-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill
1596 ; ILP32D-NEXT: flw fa5, 28(s1)
1597 ; ILP32D-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill
1598 ; ILP32D-NEXT: flw fa5, 32(s1)
1599 ; ILP32D-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill
1600 ; ILP32D-NEXT: flw fa5, 36(s1)
1601 ; ILP32D-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill
1602 ; ILP32D-NEXT: flw fa5, 40(s1)
1603 ; ILP32D-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill
1604 ; ILP32D-NEXT: flw fa5, 44(s1)
1605 ; ILP32D-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill
1606 ; ILP32D-NEXT: flw fa5, 48(s1)
1607 ; ILP32D-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill
1608 ; ILP32D-NEXT: flw fa5, 52(s1)
1609 ; ILP32D-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill
1610 ; ILP32D-NEXT: flw fa5, 56(s1)
1611 ; ILP32D-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill
1612 ; ILP32D-NEXT: flw fa5, 60(s1)
1613 ; ILP32D-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill
1614 ; ILP32D-NEXT: flw fa5, 64(s1)
1615 ; ILP32D-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill
1616 ; ILP32D-NEXT: flw fa5, 68(s1)
1617 ; ILP32D-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill
1618 ; ILP32D-NEXT: flw fa5, 72(s1)
1619 ; ILP32D-NEXT: fsw fa5, 4(sp) # 4-byte Folded Spill
1620 ; ILP32D-NEXT: flw fa5, 76(s1)
1621 ; ILP32D-NEXT: fsw fa5, 0(sp) # 4-byte Folded Spill
1622 ; ILP32D-NEXT: flw fs8, 80(s1)
1623 ; ILP32D-NEXT: flw fs9, 84(s1)
1624 ; ILP32D-NEXT: flw fs10, 88(s1)
1625 ; ILP32D-NEXT: flw fs11, 92(s1)
1626 ; ILP32D-NEXT: flw fs0, 96(s1)
1627 ; ILP32D-NEXT: flw fs1, 100(s1)
1628 ; ILP32D-NEXT: flw fs2, 104(s1)
1629 ; ILP32D-NEXT: flw fs3, 108(s1)
1630 ; ILP32D-NEXT: flw fs4, 112(s1)
1631 ; ILP32D-NEXT: flw fs5, 116(s1)
1632 ; ILP32D-NEXT: flw fs6, 120(s1)
1633 ; ILP32D-NEXT: flw fs7, 124(s1)
1634 ; ILP32D-NEXT: call callee
1635 ; ILP32D-NEXT: fsw fs7, 124(s1)
1636 ; ILP32D-NEXT: fsw fs6, 120(s1)
1637 ; ILP32D-NEXT: fsw fs5, 116(s1)
1638 ; ILP32D-NEXT: fsw fs4, 112(s1)
1639 ; ILP32D-NEXT: fsw fs3, 108(s1)
1640 ; ILP32D-NEXT: fsw fs2, 104(s1)
1641 ; ILP32D-NEXT: fsw fs1, 100(s1)
1642 ; ILP32D-NEXT: fsw fs0, 96(s1)
1643 ; ILP32D-NEXT: fsw fs11, 92(s1)
1644 ; ILP32D-NEXT: fsw fs10, 88(s1)
1645 ; ILP32D-NEXT: fsw fs9, 84(s1)
1646 ; ILP32D-NEXT: fsw fs8, 80(s1)
1647 ; ILP32D-NEXT: flw fa5, 0(sp) # 4-byte Folded Reload
1648 ; ILP32D-NEXT: fsw fa5, 76(s1)
1649 ; ILP32D-NEXT: flw fa5, 4(sp) # 4-byte Folded Reload
1650 ; ILP32D-NEXT: fsw fa5, 72(s1)
1651 ; ILP32D-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload
1652 ; ILP32D-NEXT: fsw fa5, 68(s1)
1653 ; ILP32D-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload
1654 ; ILP32D-NEXT: fsw fa5, 64(s1)
1655 ; ILP32D-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload
1656 ; ILP32D-NEXT: fsw fa5, 60(s1)
1657 ; ILP32D-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload
1658 ; ILP32D-NEXT: fsw fa5, 56(s1)
1659 ; ILP32D-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload
1660 ; ILP32D-NEXT: fsw fa5, 52(s1)
1661 ; ILP32D-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload
1662 ; ILP32D-NEXT: fsw fa5, 48(s1)
1663 ; ILP32D-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload
1664 ; ILP32D-NEXT: fsw fa5, 44(s1)
1665 ; ILP32D-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload
1666 ; ILP32D-NEXT: fsw fa5, 40(s1)
1667 ; ILP32D-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload
1668 ; ILP32D-NEXT: fsw fa5, 36(s1)
1669 ; ILP32D-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload
1670 ; ILP32D-NEXT: fsw fa5, 32(s1)
1671 ; ILP32D-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload
1672 ; ILP32D-NEXT: fsw fa5, 28(s1)
1673 ; ILP32D-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload
1674 ; ILP32D-NEXT: fsw fa5, 24(s1)
1675 ; ILP32D-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload
1676 ; ILP32D-NEXT: fsw fa5, 20(s1)
1677 ; ILP32D-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload
1678 ; ILP32D-NEXT: fsw fa5, 16(s1)
1679 ; ILP32D-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload
1680 ; ILP32D-NEXT: fsw fa5, %lo(var+12)(s0)
1681 ; ILP32D-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload
1682 ; ILP32D-NEXT: fsw fa5, %lo(var+8)(s0)
1683 ; ILP32D-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload
1684 ; ILP32D-NEXT: fsw fa5, %lo(var+4)(s0)
1685 ; ILP32D-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload
1686 ; ILP32D-NEXT: fsw fa5, %lo(var)(s0)
1687 ; ILP32D-NEXT: lw ra, 188(sp) # 4-byte Folded Reload
1688 ; ILP32D-NEXT: lw s0, 184(sp) # 4-byte Folded Reload
1689 ; ILP32D-NEXT: lw s1, 180(sp) # 4-byte Folded Reload
1690 ; ILP32D-NEXT: fld fs0, 168(sp) # 8-byte Folded Reload
1691 ; ILP32D-NEXT: fld fs1, 160(sp) # 8-byte Folded Reload
1692 ; ILP32D-NEXT: fld fs2, 152(sp) # 8-byte Folded Reload
1693 ; ILP32D-NEXT: fld fs3, 144(sp) # 8-byte Folded Reload
1694 ; ILP32D-NEXT: fld fs4, 136(sp) # 8-byte Folded Reload
1695 ; ILP32D-NEXT: fld fs5, 128(sp) # 8-byte Folded Reload
1696 ; ILP32D-NEXT: fld fs6, 120(sp) # 8-byte Folded Reload
1697 ; ILP32D-NEXT: fld fs7, 112(sp) # 8-byte Folded Reload
1698 ; ILP32D-NEXT: fld fs8, 104(sp) # 8-byte Folded Reload
1699 ; ILP32D-NEXT: fld fs9, 96(sp) # 8-byte Folded Reload
1700 ; ILP32D-NEXT: fld fs10, 88(sp) # 8-byte Folded Reload
1701 ; ILP32D-NEXT: fld fs11, 80(sp) # 8-byte Folded Reload
1702 ; ILP32D-NEXT: addi sp, sp, 192
1705 ; LP64D-LABEL: caller:
1707 ; LP64D-NEXT: addi sp, sp, -208
1708 ; LP64D-NEXT: sd ra, 200(sp) # 8-byte Folded Spill
1709 ; LP64D-NEXT: sd s0, 192(sp) # 8-byte Folded Spill
1710 ; LP64D-NEXT: sd s1, 184(sp) # 8-byte Folded Spill
1711 ; LP64D-NEXT: fsd fs0, 176(sp) # 8-byte Folded Spill
1712 ; LP64D-NEXT: fsd fs1, 168(sp) # 8-byte Folded Spill
1713 ; LP64D-NEXT: fsd fs2, 160(sp) # 8-byte Folded Spill
1714 ; LP64D-NEXT: fsd fs3, 152(sp) # 8-byte Folded Spill
1715 ; LP64D-NEXT: fsd fs4, 144(sp) # 8-byte Folded Spill
1716 ; LP64D-NEXT: fsd fs5, 136(sp) # 8-byte Folded Spill
1717 ; LP64D-NEXT: fsd fs6, 128(sp) # 8-byte Folded Spill
1718 ; LP64D-NEXT: fsd fs7, 120(sp) # 8-byte Folded Spill
1719 ; LP64D-NEXT: fsd fs8, 112(sp) # 8-byte Folded Spill
1720 ; LP64D-NEXT: fsd fs9, 104(sp) # 8-byte Folded Spill
1721 ; LP64D-NEXT: fsd fs10, 96(sp) # 8-byte Folded Spill
1722 ; LP64D-NEXT: fsd fs11, 88(sp) # 8-byte Folded Spill
1723 ; LP64D-NEXT: lui s0, %hi(var)
1724 ; LP64D-NEXT: flw fa5, %lo(var)(s0)
1725 ; LP64D-NEXT: fsw fa5, 84(sp) # 4-byte Folded Spill
1726 ; LP64D-NEXT: flw fa5, %lo(var+4)(s0)
1727 ; LP64D-NEXT: fsw fa5, 80(sp) # 4-byte Folded Spill
1728 ; LP64D-NEXT: flw fa5, %lo(var+8)(s0)
1729 ; LP64D-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill
1730 ; LP64D-NEXT: flw fa5, %lo(var+12)(s0)
1731 ; LP64D-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill
1732 ; LP64D-NEXT: addi s1, s0, %lo(var)
1733 ; LP64D-NEXT: flw fa5, 16(s1)
1734 ; LP64D-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill
1735 ; LP64D-NEXT: flw fa5, 20(s1)
1736 ; LP64D-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill
1737 ; LP64D-NEXT: flw fa5, 24(s1)
1738 ; LP64D-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill
1739 ; LP64D-NEXT: flw fa5, 28(s1)
1740 ; LP64D-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill
1741 ; LP64D-NEXT: flw fa5, 32(s1)
1742 ; LP64D-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill
1743 ; LP64D-NEXT: flw fa5, 36(s1)
1744 ; LP64D-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill
1745 ; LP64D-NEXT: flw fa5, 40(s1)
1746 ; LP64D-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill
1747 ; LP64D-NEXT: flw fa5, 44(s1)
1748 ; LP64D-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill
1749 ; LP64D-NEXT: flw fa5, 48(s1)
1750 ; LP64D-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill
1751 ; LP64D-NEXT: flw fa5, 52(s1)
1752 ; LP64D-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill
1753 ; LP64D-NEXT: flw fa5, 56(s1)
1754 ; LP64D-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill
1755 ; LP64D-NEXT: flw fa5, 60(s1)
1756 ; LP64D-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill
1757 ; LP64D-NEXT: flw fa5, 64(s1)
1758 ; LP64D-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill
1759 ; LP64D-NEXT: flw fa5, 68(s1)
1760 ; LP64D-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill
1761 ; LP64D-NEXT: flw fa5, 72(s1)
1762 ; LP64D-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill
1763 ; LP64D-NEXT: flw fa5, 76(s1)
1764 ; LP64D-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill
1765 ; LP64D-NEXT: flw fs8, 80(s1)
1766 ; LP64D-NEXT: flw fs9, 84(s1)
1767 ; LP64D-NEXT: flw fs10, 88(s1)
1768 ; LP64D-NEXT: flw fs11, 92(s1)
1769 ; LP64D-NEXT: flw fs0, 96(s1)
1770 ; LP64D-NEXT: flw fs1, 100(s1)
1771 ; LP64D-NEXT: flw fs2, 104(s1)
1772 ; LP64D-NEXT: flw fs3, 108(s1)
1773 ; LP64D-NEXT: flw fs4, 112(s1)
1774 ; LP64D-NEXT: flw fs5, 116(s1)
1775 ; LP64D-NEXT: flw fs6, 120(s1)
1776 ; LP64D-NEXT: flw fs7, 124(s1)
1777 ; LP64D-NEXT: call callee
1778 ; LP64D-NEXT: fsw fs7, 124(s1)
1779 ; LP64D-NEXT: fsw fs6, 120(s1)
1780 ; LP64D-NEXT: fsw fs5, 116(s1)
1781 ; LP64D-NEXT: fsw fs4, 112(s1)
1782 ; LP64D-NEXT: fsw fs3, 108(s1)
1783 ; LP64D-NEXT: fsw fs2, 104(s1)
1784 ; LP64D-NEXT: fsw fs1, 100(s1)
1785 ; LP64D-NEXT: fsw fs0, 96(s1)
1786 ; LP64D-NEXT: fsw fs11, 92(s1)
1787 ; LP64D-NEXT: fsw fs10, 88(s1)
1788 ; LP64D-NEXT: fsw fs9, 84(s1)
1789 ; LP64D-NEXT: fsw fs8, 80(s1)
1790 ; LP64D-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload
1791 ; LP64D-NEXT: fsw fa5, 76(s1)
1792 ; LP64D-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload
1793 ; LP64D-NEXT: fsw fa5, 72(s1)
1794 ; LP64D-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload
1795 ; LP64D-NEXT: fsw fa5, 68(s1)
1796 ; LP64D-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload
1797 ; LP64D-NEXT: fsw fa5, 64(s1)
1798 ; LP64D-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload
1799 ; LP64D-NEXT: fsw fa5, 60(s1)
1800 ; LP64D-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload
1801 ; LP64D-NEXT: fsw fa5, 56(s1)
1802 ; LP64D-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload
1803 ; LP64D-NEXT: fsw fa5, 52(s1)
1804 ; LP64D-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload
1805 ; LP64D-NEXT: fsw fa5, 48(s1)
1806 ; LP64D-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload
1807 ; LP64D-NEXT: fsw fa5, 44(s1)
1808 ; LP64D-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload
1809 ; LP64D-NEXT: fsw fa5, 40(s1)
1810 ; LP64D-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload
1811 ; LP64D-NEXT: fsw fa5, 36(s1)
1812 ; LP64D-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload
1813 ; LP64D-NEXT: fsw fa5, 32(s1)
1814 ; LP64D-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload
1815 ; LP64D-NEXT: fsw fa5, 28(s1)
1816 ; LP64D-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload
1817 ; LP64D-NEXT: fsw fa5, 24(s1)
1818 ; LP64D-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload
1819 ; LP64D-NEXT: fsw fa5, 20(s1)
1820 ; LP64D-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload
1821 ; LP64D-NEXT: fsw fa5, 16(s1)
1822 ; LP64D-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload
1823 ; LP64D-NEXT: fsw fa5, %lo(var+12)(s0)
1824 ; LP64D-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload
1825 ; LP64D-NEXT: fsw fa5, %lo(var+8)(s0)
1826 ; LP64D-NEXT: flw fa5, 80(sp) # 4-byte Folded Reload
1827 ; LP64D-NEXT: fsw fa5, %lo(var+4)(s0)
1828 ; LP64D-NEXT: flw fa5, 84(sp) # 4-byte Folded Reload
1829 ; LP64D-NEXT: fsw fa5, %lo(var)(s0)
1830 ; LP64D-NEXT: ld ra, 200(sp) # 8-byte Folded Reload
1831 ; LP64D-NEXT: ld s0, 192(sp) # 8-byte Folded Reload
1832 ; LP64D-NEXT: ld s1, 184(sp) # 8-byte Folded Reload
1833 ; LP64D-NEXT: fld fs0, 176(sp) # 8-byte Folded Reload
1834 ; LP64D-NEXT: fld fs1, 168(sp) # 8-byte Folded Reload
1835 ; LP64D-NEXT: fld fs2, 160(sp) # 8-byte Folded Reload
1836 ; LP64D-NEXT: fld fs3, 152(sp) # 8-byte Folded Reload
1837 ; LP64D-NEXT: fld fs4, 144(sp) # 8-byte Folded Reload
1838 ; LP64D-NEXT: fld fs5, 136(sp) # 8-byte Folded Reload
1839 ; LP64D-NEXT: fld fs6, 128(sp) # 8-byte Folded Reload
1840 ; LP64D-NEXT: fld fs7, 120(sp) # 8-byte Folded Reload
1841 ; LP64D-NEXT: fld fs8, 112(sp) # 8-byte Folded Reload
1842 ; LP64D-NEXT: fld fs9, 104(sp) # 8-byte Folded Reload
1843 ; LP64D-NEXT: fld fs10, 96(sp) # 8-byte Folded Reload
1844 ; LP64D-NEXT: fld fs11, 88(sp) # 8-byte Folded Reload
1845 ; LP64D-NEXT: addi sp, sp, 208
1847 %val = load [32 x float], ptr @var
1849 store volatile [32 x float] %val, ptr @var