Lines Matching refs:LP64
15 ; RUN: | FileCheck -check-prefix=LP64-LP64F-LP64D-FPELIM %s
18 ; RUN: | FileCheck -check-prefix=LP64-LP64F-LP64D-FPELIM %s
21 ; RUN: | FileCheck -check-prefix=LP64-LP64F-LP64D-FPELIM %s
23 ; RUN: | FileCheck -check-prefix=LP64-LP64F-LP64D-WITHFP %s
100 ; LP64-LP64F-LP64D-FPELIM-LABEL: va1:
101 ; LP64-LP64F-LP64D-FPELIM: # %bb.0:
102 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, -80
103 ; LP64-LP64F-LP64D-FPELIM-NEXT: .cfi_def_cfa_offset 80
104 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a1, 24(sp)
105 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a7, 72(sp)
106 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a6, 64(sp)
107 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a5, 56(sp)
108 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a4, 48(sp)
109 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a3, 40(sp)
110 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a2, 32(sp)
111 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a0, sp, 28
112 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a0, 8(sp)
113 ; LP64-LP64F-LP64D-FPELIM-NEXT: lw a0, 24(sp)
114 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, 80
115 ; LP64-LP64F-LP64D-FPELIM-NEXT: ret
117 ; LP64-LP64F-LP64D-WITHFP-LABEL: va1:
118 ; LP64-LP64F-LP64D-WITHFP: # %bb.0:
119 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, -96
120 ; LP64-LP64F-LP64D-WITHFP-NEXT: .cfi_def_cfa_offset 96
121 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd ra, 24(sp) # 8-byte Folded Spill
122 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s0, 16(sp) # 8-byte Folded Spill
123 ; LP64-LP64F-LP64D-WITHFP-NEXT: .cfi_offset ra, -72
124 ; LP64-LP64F-LP64D-WITHFP-NEXT: .cfi_offset s0, -80
125 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi s0, sp, 32
126 ; LP64-LP64F-LP64D-WITHFP-NEXT: .cfi_def_cfa s0, 64
127 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a1, 8(s0)
128 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a7, 56(s0)
129 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a6, 48(s0)
130 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a5, 40(s0)
131 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a4, 32(s0)
132 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a3, 24(s0)
133 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a2, 16(s0)
134 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a0, s0, 12
135 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a0, -24(s0)
136 ; LP64-LP64F-LP64D-WITHFP-NEXT: lw a0, 8(s0)
137 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
138 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
139 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, 96
140 ; LP64-LP64F-LP64D-WITHFP-NEXT: ret
207 ; LP64-LP64F-LP64D-FPELIM-LABEL: va1_va_arg:
208 ; LP64-LP64F-LP64D-FPELIM: # %bb.0:
209 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, -80
210 ; LP64-LP64F-LP64D-FPELIM-NEXT: mv a0, a1
211 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a7, 72(sp)
212 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a6, 64(sp)
213 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a5, 56(sp)
214 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a4, 48(sp)
215 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a3, 40(sp)
216 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a2, 32(sp)
217 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a1, 24(sp)
218 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a1, sp, 32
219 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a1, 8(sp)
220 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, 80
221 ; LP64-LP64F-LP64D-FPELIM-NEXT: ret
223 ; LP64-LP64F-LP64D-WITHFP-LABEL: va1_va_arg:
224 ; LP64-LP64F-LP64D-WITHFP: # %bb.0:
225 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, -96
226 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd ra, 24(sp) # 8-byte Folded Spill
227 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s0, 16(sp) # 8-byte Folded Spill
228 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi s0, sp, 32
229 ; LP64-LP64F-LP64D-WITHFP-NEXT: mv a0, a1
230 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a7, 56(s0)
231 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a6, 48(s0)
232 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a5, 40(s0)
233 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a4, 32(s0)
234 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a3, 24(s0)
235 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a2, 16(s0)
236 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a1, 8(s0)
237 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a1, s0, 16
238 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a1, -24(s0)
239 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
240 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
241 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, 96
242 ; LP64-LP64F-LP64D-WITHFP-NEXT: ret
344 ; LP64-LP64F-LP64D-FPELIM-LABEL: va1_va_arg_alloca:
345 ; LP64-LP64F-LP64D-FPELIM: # %bb.0:
346 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, -96
347 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd ra, 24(sp) # 8-byte Folded Spill
348 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd s0, 16(sp) # 8-byte Folded Spill
349 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd s1, 8(sp) # 8-byte Folded Spill
350 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi s0, sp, 32
351 ; LP64-LP64F-LP64D-FPELIM-NEXT: mv s1, a1
352 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a7, 56(s0)
353 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a6, 48(s0)
354 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a5, 40(s0)
355 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a4, 32(s0)
356 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a3, 24(s0)
357 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a2, 16(s0)
358 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a1, 8(s0)
359 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a0, s0, 16
360 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a0, -32(s0)
361 ; LP64-LP64F-LP64D-FPELIM-NEXT: slli a0, a1, 32
362 ; LP64-LP64F-LP64D-FPELIM-NEXT: srli a0, a0, 32
363 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a0, a0, 15
364 ; LP64-LP64F-LP64D-FPELIM-NEXT: andi a0, a0, -16
365 ; LP64-LP64F-LP64D-FPELIM-NEXT: sub a0, sp, a0
366 ; LP64-LP64F-LP64D-FPELIM-NEXT: mv sp, a0
367 ; LP64-LP64F-LP64D-FPELIM-NEXT: call notdead@plt
368 ; LP64-LP64F-LP64D-FPELIM-NEXT: mv a0, s1
369 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, s0, -32
370 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
371 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
372 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld s1, 8(sp) # 8-byte Folded Reload
373 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, 96
374 ; LP64-LP64F-LP64D-FPELIM-NEXT: ret
376 ; LP64-LP64F-LP64D-WITHFP-LABEL: va1_va_arg_alloca:
377 ; LP64-LP64F-LP64D-WITHFP: # %bb.0:
378 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, -96
379 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd ra, 24(sp) # 8-byte Folded Spill
380 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s0, 16(sp) # 8-byte Folded Spill
381 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s1, 8(sp) # 8-byte Folded Spill
382 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi s0, sp, 32
383 ; LP64-LP64F-LP64D-WITHFP-NEXT: mv s1, a1
384 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a7, 56(s0)
385 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a6, 48(s0)
386 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a5, 40(s0)
387 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a4, 32(s0)
388 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a3, 24(s0)
389 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a2, 16(s0)
390 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a1, 8(s0)
391 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a0, s0, 16
392 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a0, -32(s0)
393 ; LP64-LP64F-LP64D-WITHFP-NEXT: slli a0, a1, 32
394 ; LP64-LP64F-LP64D-WITHFP-NEXT: srli a0, a0, 32
395 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a0, a0, 15
396 ; LP64-LP64F-LP64D-WITHFP-NEXT: andi a0, a0, -16
397 ; LP64-LP64F-LP64D-WITHFP-NEXT: sub a0, sp, a0
398 ; LP64-LP64F-LP64D-WITHFP-NEXT: mv sp, a0
399 ; LP64-LP64F-LP64D-WITHFP-NEXT: call notdead@plt
400 ; LP64-LP64F-LP64D-WITHFP-NEXT: mv a0, s1
401 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, s0, -32
402 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
403 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
404 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s1, 8(sp) # 8-byte Folded Reload
405 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, 96
406 ; LP64-LP64F-LP64D-WITHFP-NEXT: ret
458 ; LP64-LP64F-LP64D-FPELIM-LABEL: va1_caller:
459 ; LP64-LP64F-LP64D-FPELIM: # %bb.0:
460 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, -16
461 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd ra, 8(sp) # 8-byte Folded Spill
462 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a0, 1023
463 ; LP64-LP64F-LP64D-FPELIM-NEXT: slli a1, a0, 52
464 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a2, 2
465 ; LP64-LP64F-LP64D-FPELIM-NEXT: call va1@plt
466 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
467 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, 16
468 ; LP64-LP64F-LP64D-FPELIM-NEXT: ret
470 ; LP64-LP64F-LP64D-WITHFP-LABEL: va1_caller:
471 ; LP64-LP64F-LP64D-WITHFP: # %bb.0:
472 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, -16
473 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd ra, 8(sp) # 8-byte Folded Spill
474 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s0, 0(sp) # 8-byte Folded Spill
475 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi s0, sp, 16
476 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a0, 1023
477 ; LP64-LP64F-LP64D-WITHFP-NEXT: slli a1, a0, 52
478 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a2, 2
479 ; LP64-LP64F-LP64D-WITHFP-NEXT: call va1@plt
480 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
481 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s0, 0(sp) # 8-byte Folded Reload
482 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, 16
483 ; LP64-LP64F-LP64D-WITHFP-NEXT: ret
554 ; LP64-LP64F-LP64D-FPELIM-LABEL: va2:
555 ; LP64-LP64F-LP64D-FPELIM: # %bb.0:
556 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, -80
557 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a7, 72(sp)
558 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a6, 64(sp)
559 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a5, 56(sp)
560 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a4, 48(sp)
561 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a3, 40(sp)
562 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a2, 32(sp)
563 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a1, 24(sp)
564 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a0, sp, 24
565 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a0, 8(sp)
566 ; LP64-LP64F-LP64D-FPELIM-NEXT: lw a0, 8(sp)
567 ; LP64-LP64F-LP64D-FPELIM-NEXT: addiw a0, a0, 7
568 ; LP64-LP64F-LP64D-FPELIM-NEXT: slli a1, a0, 32
569 ; LP64-LP64F-LP64D-FPELIM-NEXT: srli a1, a1, 32
570 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a1, a1, 8
571 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a1, 8(sp)
572 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a1, 1
573 ; LP64-LP64F-LP64D-FPELIM-NEXT: slli a1, a1, 32
574 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a1, a1, -8
575 ; LP64-LP64F-LP64D-FPELIM-NEXT: and a0, a0, a1
576 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld a0, 0(a0)
577 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, 80
578 ; LP64-LP64F-LP64D-FPELIM-NEXT: ret
580 ; LP64-LP64F-LP64D-WITHFP-LABEL: va2:
581 ; LP64-LP64F-LP64D-WITHFP: # %bb.0:
582 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, -96
583 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd ra, 24(sp) # 8-byte Folded Spill
584 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s0, 16(sp) # 8-byte Folded Spill
585 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi s0, sp, 32
586 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a7, 56(s0)
587 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a6, 48(s0)
588 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a5, 40(s0)
589 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a4, 32(s0)
590 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a3, 24(s0)
591 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a2, 16(s0)
592 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a1, 8(s0)
593 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a0, s0, 8
594 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a0, -24(s0)
595 ; LP64-LP64F-LP64D-WITHFP-NEXT: lw a0, -24(s0)
596 ; LP64-LP64F-LP64D-WITHFP-NEXT: addiw a0, a0, 7
597 ; LP64-LP64F-LP64D-WITHFP-NEXT: slli a1, a0, 32
598 ; LP64-LP64F-LP64D-WITHFP-NEXT: srli a1, a1, 32
599 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a1, a1, 8
600 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a1, -24(s0)
601 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a1, 1
602 ; LP64-LP64F-LP64D-WITHFP-NEXT: slli a1, a1, 32
603 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a1, a1, -8
604 ; LP64-LP64F-LP64D-WITHFP-NEXT: and a0, a0, a1
605 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld a0, 0(a0)
606 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
607 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
608 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, 96
609 ; LP64-LP64F-LP64D-WITHFP-NEXT: ret
696 ; LP64-LP64F-LP64D-FPELIM-LABEL: va2_va_arg:
697 ; LP64-LP64F-LP64D-FPELIM: # %bb.0:
698 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, -80
699 ; LP64-LP64F-LP64D-FPELIM-NEXT: mv a0, a1
700 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a7, 72(sp)
701 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a6, 64(sp)
702 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a5, 56(sp)
703 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a4, 48(sp)
704 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a3, 40(sp)
705 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a2, 32(sp)
706 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a1, 24(sp)
707 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a1, sp, 32
708 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a1, 8(sp)
709 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, 80
710 ; LP64-LP64F-LP64D-FPELIM-NEXT: ret
712 ; LP64-LP64F-LP64D-WITHFP-LABEL: va2_va_arg:
713 ; LP64-LP64F-LP64D-WITHFP: # %bb.0:
714 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, -96
715 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd ra, 24(sp) # 8-byte Folded Spill
716 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s0, 16(sp) # 8-byte Folded Spill
717 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi s0, sp, 32
718 ; LP64-LP64F-LP64D-WITHFP-NEXT: mv a0, a1
719 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a7, 56(s0)
720 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a6, 48(s0)
721 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a5, 40(s0)
722 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a4, 32(s0)
723 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a3, 24(s0)
724 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a2, 16(s0)
725 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a1, 8(s0)
726 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a1, s0, 16
727 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a1, -24(s0)
728 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
729 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
730 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, 96
731 ; LP64-LP64F-LP64D-WITHFP-NEXT: ret
778 ; LP64-LP64F-LP64D-FPELIM-LABEL: va2_caller:
779 ; LP64-LP64F-LP64D-FPELIM: # %bb.0:
780 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, -16
781 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd ra, 8(sp) # 8-byte Folded Spill
782 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a0, 1023
783 ; LP64-LP64F-LP64D-FPELIM-NEXT: slli a1, a0, 52
784 ; LP64-LP64F-LP64D-FPELIM-NEXT: call va2@plt
785 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
786 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, 16
787 ; LP64-LP64F-LP64D-FPELIM-NEXT: ret
789 ; LP64-LP64F-LP64D-WITHFP-LABEL: va2_caller:
790 ; LP64-LP64F-LP64D-WITHFP: # %bb.0:
791 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, -16
792 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd ra, 8(sp) # 8-byte Folded Spill
793 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s0, 0(sp) # 8-byte Folded Spill
794 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi s0, sp, 16
795 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a0, 1023
796 ; LP64-LP64F-LP64D-WITHFP-NEXT: slli a1, a0, 52
797 ; LP64-LP64F-LP64D-WITHFP-NEXT: call va2@plt
798 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
799 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s0, 0(sp) # 8-byte Folded Reload
800 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, 16
801 ; LP64-LP64F-LP64D-WITHFP-NEXT: ret
878 ; LP64-LP64F-LP64D-FPELIM-LABEL: va3:
879 ; LP64-LP64F-LP64D-FPELIM: # %bb.0:
880 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, -64
881 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a7, 56(sp)
882 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a6, 48(sp)
883 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a5, 40(sp)
884 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a4, 32(sp)
885 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a3, 24(sp)
886 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a0, sp, 16
887 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a0, 8(sp)
888 ; LP64-LP64F-LP64D-FPELIM-NEXT: lw a0, 8(sp)
889 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a2, 16(sp)
890 ; LP64-LP64F-LP64D-FPELIM-NEXT: addiw a0, a0, 7
891 ; LP64-LP64F-LP64D-FPELIM-NEXT: slli a2, a0, 32
892 ; LP64-LP64F-LP64D-FPELIM-NEXT: srli a2, a2, 32
893 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a2, a2, 8
894 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a2, 8(sp)
895 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a2, 1
896 ; LP64-LP64F-LP64D-FPELIM-NEXT: slli a2, a2, 32
897 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a2, a2, -8
898 ; LP64-LP64F-LP64D-FPELIM-NEXT: and a0, a0, a2
899 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld a0, 0(a0)
900 ; LP64-LP64F-LP64D-FPELIM-NEXT: add a0, a1, a0
901 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, 64
902 ; LP64-LP64F-LP64D-FPELIM-NEXT: ret
904 ; LP64-LP64F-LP64D-WITHFP-LABEL: va3:
905 ; LP64-LP64F-LP64D-WITHFP: # %bb.0:
906 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, -80
907 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd ra, 24(sp) # 8-byte Folded Spill
908 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s0, 16(sp) # 8-byte Folded Spill
909 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi s0, sp, 32
910 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a7, 40(s0)
911 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a6, 32(s0)
912 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a5, 24(s0)
913 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a4, 16(s0)
914 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a3, 8(s0)
915 ; LP64-LP64F-LP64D-WITHFP-NEXT: mv a0, s0
916 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a0, -24(s0)
917 ; LP64-LP64F-LP64D-WITHFP-NEXT: lw a0, -24(s0)
918 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a2, 0(s0)
919 ; LP64-LP64F-LP64D-WITHFP-NEXT: addiw a0, a0, 7
920 ; LP64-LP64F-LP64D-WITHFP-NEXT: slli a2, a0, 32
921 ; LP64-LP64F-LP64D-WITHFP-NEXT: srli a2, a2, 32
922 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a2, a2, 8
923 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a2, -24(s0)
924 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a2, 1
925 ; LP64-LP64F-LP64D-WITHFP-NEXT: slli a2, a2, 32
926 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a2, a2, -8
927 ; LP64-LP64F-LP64D-WITHFP-NEXT: and a0, a0, a2
928 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld a0, 0(a0)
929 ; LP64-LP64F-LP64D-WITHFP-NEXT: add a0, a1, a0
930 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
931 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
932 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, 80
933 ; LP64-LP64F-LP64D-WITHFP-NEXT: ret
1027 ; LP64-LP64F-LP64D-FPELIM-LABEL: va3_va_arg:
1028 ; LP64-LP64F-LP64D-FPELIM: # %bb.0:
1029 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, -64
1030 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a7, 56(sp)
1031 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a6, 48(sp)
1032 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a5, 40(sp)
1033 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a4, 32(sp)
1034 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a3, 24(sp)
1035 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a2, 16(sp)
1036 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a3, sp, 24
1037 ; LP64-LP64F-LP64D-FPELIM-NEXT: add a0, a1, a2
1038 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a3, 8(sp)
1039 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, 64
1040 ; LP64-LP64F-LP64D-FPELIM-NEXT: ret
1042 ; LP64-LP64F-LP64D-WITHFP-LABEL: va3_va_arg:
1043 ; LP64-LP64F-LP64D-WITHFP: # %bb.0:
1044 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, -80
1045 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd ra, 24(sp) # 8-byte Folded Spill
1046 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s0, 16(sp) # 8-byte Folded Spill
1047 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi s0, sp, 32
1048 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a7, 40(s0)
1049 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a6, 32(s0)
1050 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a5, 24(s0)
1051 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a4, 16(s0)
1052 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a3, 8(s0)
1053 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a2, 0(s0)
1054 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a3, s0, 8
1055 ; LP64-LP64F-LP64D-WITHFP-NEXT: add a0, a1, a2
1056 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a3, -24(s0)
1057 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
1058 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
1059 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, 80
1060 ; LP64-LP64F-LP64D-WITHFP-NEXT: ret
1117 ; LP64-LP64F-LP64D-FPELIM-LABEL: va3_caller:
1118 ; LP64-LP64F-LP64D-FPELIM: # %bb.0:
1119 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, -16
1120 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd ra, 8(sp) # 8-byte Folded Spill
1121 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a0, 1
1122 ; LP64-LP64F-LP64D-FPELIM-NEXT: slli a2, a0, 62
1123 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a0, 2
1124 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a1, 1111
1125 ; LP64-LP64F-LP64D-FPELIM-NEXT: call va3@plt
1126 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
1127 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, 16
1128 ; LP64-LP64F-LP64D-FPELIM-NEXT: ret
1130 ; LP64-LP64F-LP64D-WITHFP-LABEL: va3_caller:
1131 ; LP64-LP64F-LP64D-WITHFP: # %bb.0:
1132 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, -16
1133 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd ra, 8(sp) # 8-byte Folded Spill
1134 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s0, 0(sp) # 8-byte Folded Spill
1135 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi s0, sp, 16
1136 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a0, 1
1137 ; LP64-LP64F-LP64D-WITHFP-NEXT: slli a2, a0, 62
1138 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a0, 2
1139 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a1, 1111
1140 ; LP64-LP64F-LP64D-WITHFP-NEXT: call va3@plt
1141 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
1142 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s0, 0(sp) # 8-byte Folded Reload
1143 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, 16
1144 ; LP64-LP64F-LP64D-WITHFP-NEXT: ret
1278 ; LP64-LP64F-LP64D-FPELIM-LABEL: va4_va_copy:
1279 ; LP64-LP64F-LP64D-FPELIM: # %bb.0:
1280 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, -96
1281 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd ra, 24(sp) # 8-byte Folded Spill
1282 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd s0, 16(sp) # 8-byte Folded Spill
1283 ; LP64-LP64F-LP64D-FPELIM-NEXT: mv s0, a1
1284 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a7, 88(sp)
1285 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a6, 80(sp)
1286 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a5, 72(sp)
1287 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a4, 64(sp)
1288 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a3, 56(sp)
1289 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a2, 48(sp)
1290 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a1, 40(sp)
1291 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a0, sp, 48
1292 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a0, 8(sp)
1293 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a0, 0(sp)
1294 ; LP64-LP64F-LP64D-FPELIM-NEXT: call notdead@plt
1295 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld a0, 8(sp)
1296 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a0, a0, 3
1297 ; LP64-LP64F-LP64D-FPELIM-NEXT: andi a0, a0, -4
1298 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a1, a0, 8
1299 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a1, 8(sp)
1300 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld a1, 0(a0)
1301 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a0, a0, 11
1302 ; LP64-LP64F-LP64D-FPELIM-NEXT: andi a0, a0, -4
1303 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a2, a0, 8
1304 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a2, 8(sp)
1305 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld a2, 0(a0)
1306 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a0, a0, 11
1307 ; LP64-LP64F-LP64D-FPELIM-NEXT: andi a0, a0, -4
1308 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a3, a0, 8
1309 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a3, 8(sp)
1310 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld a0, 0(a0)
1311 ; LP64-LP64F-LP64D-FPELIM-NEXT: addw a1, a1, s0
1312 ; LP64-LP64F-LP64D-FPELIM-NEXT: addw a1, a1, a2
1313 ; LP64-LP64F-LP64D-FPELIM-NEXT: addw a0, a1, a0
1314 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
1315 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
1316 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, 96
1317 ; LP64-LP64F-LP64D-FPELIM-NEXT: ret
1319 ; LP64-LP64F-LP64D-WITHFP-LABEL: va4_va_copy:
1320 ; LP64-LP64F-LP64D-WITHFP: # %bb.0:
1321 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, -112
1322 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd ra, 40(sp) # 8-byte Folded Spill
1323 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s0, 32(sp) # 8-byte Folded Spill
1324 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s1, 24(sp) # 8-byte Folded Spill
1325 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi s0, sp, 48
1326 ; LP64-LP64F-LP64D-WITHFP-NEXT: mv s1, a1
1327 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a7, 56(s0)
1328 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a6, 48(s0)
1329 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a5, 40(s0)
1330 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a4, 32(s0)
1331 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a3, 24(s0)
1332 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a2, 16(s0)
1333 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a1, 8(s0)
1334 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a0, s0, 16
1335 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a0, -32(s0)
1336 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a0, -40(s0)
1337 ; LP64-LP64F-LP64D-WITHFP-NEXT: call notdead@plt
1338 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld a0, -32(s0)
1339 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a0, a0, 3
1340 ; LP64-LP64F-LP64D-WITHFP-NEXT: andi a0, a0, -4
1341 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a1, a0, 8
1342 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a1, -32(s0)
1343 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld a1, 0(a0)
1344 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a0, a0, 11
1345 ; LP64-LP64F-LP64D-WITHFP-NEXT: andi a0, a0, -4
1346 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a2, a0, 8
1347 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a2, -32(s0)
1348 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld a2, 0(a0)
1349 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a0, a0, 11
1350 ; LP64-LP64F-LP64D-WITHFP-NEXT: andi a0, a0, -4
1351 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a3, a0, 8
1352 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a3, -32(s0)
1353 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld a0, 0(a0)
1354 ; LP64-LP64F-LP64D-WITHFP-NEXT: addw a1, a1, s1
1355 ; LP64-LP64F-LP64D-WITHFP-NEXT: addw a1, a1, a2
1356 ; LP64-LP64F-LP64D-WITHFP-NEXT: addw a0, a1, a0
1357 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld ra, 40(sp) # 8-byte Folded Reload
1358 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s0, 32(sp) # 8-byte Folded Reload
1359 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s1, 24(sp) # 8-byte Folded Reload
1360 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, 112
1361 ; LP64-LP64F-LP64D-WITHFP-NEXT: ret
1521 ; LP64-LP64F-LP64D-FPELIM-LABEL: va5_aligned_stack_caller:
1522 ; LP64-LP64F-LP64D-FPELIM: # %bb.0:
1523 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, -48
1524 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd ra, 40(sp) # 8-byte Folded Spill
1525 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a0, 17
1526 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a0, 24(sp)
1527 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a0, 16
1528 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a0, 16(sp)
1529 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a0, 15
1530 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a0, 8(sp)
1531 ; LP64-LP64F-LP64D-FPELIM-NEXT: lui a0, %hi(.LCPI11_0)
1532 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld t0, %lo(.LCPI11_0)(a0)
1533 ; LP64-LP64F-LP64D-FPELIM-NEXT: lui a0, %hi(.LCPI11_1)
1534 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld a2, %lo(.LCPI11_1)(a0)
1535 ; LP64-LP64F-LP64D-FPELIM-NEXT: lui a0, %hi(.LCPI11_2)
1536 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld a3, %lo(.LCPI11_2)(a0)
1537 ; LP64-LP64F-LP64D-FPELIM-NEXT: lui a0, 2384
1538 ; LP64-LP64F-LP64D-FPELIM-NEXT: addiw a0, a0, 761
1539 ; LP64-LP64F-LP64D-FPELIM-NEXT: slli a6, a0, 11
1540 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a0, 1
1541 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a1, 11
1542 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a4, 12
1543 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a5, 13
1544 ; LP64-LP64F-LP64D-FPELIM-NEXT: li a7, 14
1545 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd t0, 0(sp)
1546 ; LP64-LP64F-LP64D-FPELIM-NEXT: call va5_aligned_stack_callee@plt
1547 ; LP64-LP64F-LP64D-FPELIM-NEXT: ld ra, 40(sp) # 8-byte Folded Reload
1548 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, 48
1549 ; LP64-LP64F-LP64D-FPELIM-NEXT: ret
1551 ; LP64-LP64F-LP64D-WITHFP-LABEL: va5_aligned_stack_caller:
1552 ; LP64-LP64F-LP64D-WITHFP: # %bb.0:
1553 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, -48
1554 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd ra, 40(sp) # 8-byte Folded Spill
1555 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s0, 32(sp) # 8-byte Folded Spill
1556 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi s0, sp, 48
1557 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a0, 17
1558 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a0, 24(sp)
1559 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a0, 16
1560 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a0, 16(sp)
1561 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a0, 15
1562 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a0, 8(sp)
1563 ; LP64-LP64F-LP64D-WITHFP-NEXT: lui a0, %hi(.LCPI11_0)
1564 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld t0, %lo(.LCPI11_0)(a0)
1565 ; LP64-LP64F-LP64D-WITHFP-NEXT: lui a0, %hi(.LCPI11_1)
1566 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld a2, %lo(.LCPI11_1)(a0)
1567 ; LP64-LP64F-LP64D-WITHFP-NEXT: lui a0, %hi(.LCPI11_2)
1568 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld a3, %lo(.LCPI11_2)(a0)
1569 ; LP64-LP64F-LP64D-WITHFP-NEXT: lui a0, 2384
1570 ; LP64-LP64F-LP64D-WITHFP-NEXT: addiw a0, a0, 761
1571 ; LP64-LP64F-LP64D-WITHFP-NEXT: slli a6, a0, 11
1572 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a0, 1
1573 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a1, 11
1574 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a4, 12
1575 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a5, 13
1576 ; LP64-LP64F-LP64D-WITHFP-NEXT: li a7, 14
1577 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd t0, 0(sp)
1578 ; LP64-LP64F-LP64D-WITHFP-NEXT: call va5_aligned_stack_callee@plt
1579 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld ra, 40(sp) # 8-byte Folded Reload
1580 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s0, 32(sp) # 8-byte Folded Reload
1581 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, 48
1582 ; LP64-LP64F-LP64D-WITHFP-NEXT: ret
1647 ; LP64-LP64F-LP64D-FPELIM-LABEL: va6_no_fixed_args:
1648 ; LP64-LP64F-LP64D-FPELIM: # %bb.0:
1649 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, -80
1650 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a7, 72(sp)
1651 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a6, 64(sp)
1652 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a5, 56(sp)
1653 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a4, 48(sp)
1654 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a3, 40(sp)
1655 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a2, 32(sp)
1656 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a1, 24(sp)
1657 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a0, 16(sp)
1658 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi a1, sp, 24
1659 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a1, 8(sp)
1660 ; LP64-LP64F-LP64D-FPELIM-NEXT: addi sp, sp, 80
1661 ; LP64-LP64F-LP64D-FPELIM-NEXT: ret
1663 ; LP64-LP64F-LP64D-WITHFP-LABEL: va6_no_fixed_args:
1664 ; LP64-LP64F-LP64D-WITHFP: # %bb.0:
1665 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, -96
1666 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd ra, 24(sp) # 8-byte Folded Spill
1667 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s0, 16(sp) # 8-byte Folded Spill
1668 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi s0, sp, 32
1669 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a7, 56(s0)
1670 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a6, 48(s0)
1671 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a5, 40(s0)
1672 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a4, 32(s0)
1673 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a3, 24(s0)
1674 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a2, 16(s0)
1675 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a1, 8(s0)
1676 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a0, 0(s0)
1677 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a1, s0, 8
1678 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a1, -24(s0)
1679 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
1680 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
1681 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, 96
1682 ; LP64-LP64F-LP64D-WITHFP-NEXT: ret
1816 ; LP64-LP64F-LP64D-FPELIM-LABEL: va_large_stack:
1817 ; LP64-LP64F-LP64D-FPELIM: # %bb.0:
1818 ; LP64-LP64F-LP64D-FPELIM-NEXT: lui a0, 24414
1819 ; LP64-LP64F-LP64D-FPELIM-NEXT: addiw a0, a0, 336
1820 ; LP64-LP64F-LP64D-FPELIM-NEXT: sub sp, sp, a0
1821 ; LP64-LP64F-LP64D-FPELIM-NEXT: .cfi_def_cfa_offset 100000080
1822 ; LP64-LP64F-LP64D-FPELIM-NEXT: lui a0, 24414
1823 ; LP64-LP64F-LP64D-FPELIM-NEXT: addiw a0, a0, 280
1824 ; LP64-LP64F-LP64D-FPELIM-NEXT: add a0, sp, a0
1825 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a1, 0(a0)
1826 ; LP64-LP64F-LP64D-FPELIM-NEXT: lui a0, 24414
1827 ; LP64-LP64F-LP64D-FPELIM-NEXT: addiw a0, a0, 328
1828 ; LP64-LP64F-LP64D-FPELIM-NEXT: add a0, sp, a0
1829 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a7, 0(a0)
1830 ; LP64-LP64F-LP64D-FPELIM-NEXT: lui a0, 24414
1831 ; LP64-LP64F-LP64D-FPELIM-NEXT: addiw a0, a0, 320
1832 ; LP64-LP64F-LP64D-FPELIM-NEXT: add a0, sp, a0
1833 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a6, 0(a0)
1834 ; LP64-LP64F-LP64D-FPELIM-NEXT: lui a0, 24414
1835 ; LP64-LP64F-LP64D-FPELIM-NEXT: addiw a0, a0, 312
1836 ; LP64-LP64F-LP64D-FPELIM-NEXT: add a0, sp, a0
1837 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a5, 0(a0)
1838 ; LP64-LP64F-LP64D-FPELIM-NEXT: lui a0, 24414
1839 ; LP64-LP64F-LP64D-FPELIM-NEXT: addiw a0, a0, 304
1840 ; LP64-LP64F-LP64D-FPELIM-NEXT: add a0, sp, a0
1841 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a4, 0(a0)
1842 ; LP64-LP64F-LP64D-FPELIM-NEXT: lui a0, 24414
1843 ; LP64-LP64F-LP64D-FPELIM-NEXT: addiw a0, a0, 296
1844 ; LP64-LP64F-LP64D-FPELIM-NEXT: add a0, sp, a0
1845 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a3, 0(a0)
1846 ; LP64-LP64F-LP64D-FPELIM-NEXT: lui a0, 24414
1847 ; LP64-LP64F-LP64D-FPELIM-NEXT: addiw a0, a0, 288
1848 ; LP64-LP64F-LP64D-FPELIM-NEXT: add a0, sp, a0
1849 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a2, 0(a0)
1850 ; LP64-LP64F-LP64D-FPELIM-NEXT: lui a0, 24414
1851 ; LP64-LP64F-LP64D-FPELIM-NEXT: addiw a0, a0, 284
1852 ; LP64-LP64F-LP64D-FPELIM-NEXT: add a0, sp, a0
1853 ; LP64-LP64F-LP64D-FPELIM-NEXT: sd a0, 8(sp)
1854 ; LP64-LP64F-LP64D-FPELIM-NEXT: lui a0, 24414
1855 ; LP64-LP64F-LP64D-FPELIM-NEXT: addiw a0, a0, 280
1856 ; LP64-LP64F-LP64D-FPELIM-NEXT: add a0, sp, a0
1857 ; LP64-LP64F-LP64D-FPELIM-NEXT: lw a0, 0(a0)
1858 ; LP64-LP64F-LP64D-FPELIM-NEXT: lui a1, 24414
1859 ; LP64-LP64F-LP64D-FPELIM-NEXT: addiw a1, a1, 336
1860 ; LP64-LP64F-LP64D-FPELIM-NEXT: add sp, sp, a1
1861 ; LP64-LP64F-LP64D-FPELIM-NEXT: ret
1863 ; LP64-LP64F-LP64D-WITHFP-LABEL: va_large_stack:
1864 ; LP64-LP64F-LP64D-WITHFP: # %bb.0:
1865 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, -2032
1866 ; LP64-LP64F-LP64D-WITHFP-NEXT: .cfi_def_cfa_offset 2032
1867 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd ra, 1960(sp) # 8-byte Folded Spill
1868 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd s0, 1952(sp) # 8-byte Folded Spill
1869 ; LP64-LP64F-LP64D-WITHFP-NEXT: .cfi_offset ra, -72
1870 ; LP64-LP64F-LP64D-WITHFP-NEXT: .cfi_offset s0, -80
1871 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi s0, sp, 1968
1872 ; LP64-LP64F-LP64D-WITHFP-NEXT: .cfi_def_cfa s0, 64
1873 ; LP64-LP64F-LP64D-WITHFP-NEXT: lui a0, 24414
1874 ; LP64-LP64F-LP64D-WITHFP-NEXT: addiw a0, a0, -1680
1875 ; LP64-LP64F-LP64D-WITHFP-NEXT: sub sp, sp, a0
1876 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a1, 8(s0)
1877 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a7, 56(s0)
1878 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a6, 48(s0)
1879 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a5, 40(s0)
1880 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a4, 32(s0)
1881 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a3, 24(s0)
1882 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a2, 16(s0)
1883 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi a0, s0, 12
1884 ; LP64-LP64F-LP64D-WITHFP-NEXT: lui a1, 1024162
1885 ; LP64-LP64F-LP64D-WITHFP-NEXT: addiw a1, a1, -288
1886 ; LP64-LP64F-LP64D-WITHFP-NEXT: add a1, s0, a1
1887 ; LP64-LP64F-LP64D-WITHFP-NEXT: sd a0, 0(a1)
1888 ; LP64-LP64F-LP64D-WITHFP-NEXT: lw a0, 8(s0)
1889 ; LP64-LP64F-LP64D-WITHFP-NEXT: lui a1, 24414
1890 ; LP64-LP64F-LP64D-WITHFP-NEXT: addiw a1, a1, -1680
1891 ; LP64-LP64F-LP64D-WITHFP-NEXT: add sp, sp, a1
1892 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld ra, 1960(sp) # 8-byte Folded Reload
1893 ; LP64-LP64F-LP64D-WITHFP-NEXT: ld s0, 1952(sp) # 8-byte Folded Reload
1894 ; LP64-LP64F-LP64D-WITHFP-NEXT: addi sp, sp, 2032
1895 ; LP64-LP64F-LP64D-WITHFP-NEXT: ret