|
1 | | -; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2 |
| 1 | +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --no_x86_scrub_sp --version 2 |
2 | 2 | ; RUN: llc -mtriple=riscv32 -mattr=+d \ |
3 | 3 | ; RUN: -verify-machineinstrs -target-abi=ilp32d < %s \ |
4 | 4 | ; RUN: | FileCheck -check-prefix=RV32IFD %s |
@@ -543,42 +543,50 @@ define i32 @test_frexp_f32_i32_only_use_exp(float %a) nounwind { |
543 | 543 | define { <4 x float>, <4 x i32> } @test_frexp_v4f32_v4i32(<4 x float> %a) nounwind { |
544 | 544 | ; RV32IFD-LABEL: test_frexp_v4f32_v4i32: |
545 | 545 | ; RV32IFD: # %bb.0: |
546 | | -; RV32IFD-NEXT: addi sp, sp, -48 |
547 | | -; RV32IFD-NEXT: sw ra, 44(sp) # 4-byte Folded Spill |
548 | | -; RV32IFD-NEXT: sw s0, 40(sp) # 4-byte Folded Spill |
549 | | -; RV32IFD-NEXT: fsd fs0, 32(sp) # 8-byte Folded Spill |
550 | | -; RV32IFD-NEXT: fsd fs1, 24(sp) # 8-byte Folded Spill |
551 | | -; RV32IFD-NEXT: fsd fs2, 16(sp) # 8-byte Folded Spill |
552 | | -; RV32IFD-NEXT: fsd fs3, 8(sp) # 8-byte Folded Spill |
| 546 | +; RV32IFD-NEXT: addi sp, sp, -64 |
| 547 | +; RV32IFD-NEXT: sw ra, 60(sp) # 4-byte Folded Spill |
| 548 | +; RV32IFD-NEXT: sw s0, 56(sp) # 4-byte Folded Spill |
| 549 | +; RV32IFD-NEXT: fsd fs0, 48(sp) # 8-byte Folded Spill |
| 550 | +; RV32IFD-NEXT: fsd fs1, 40(sp) # 8-byte Folded Spill |
| 551 | +; RV32IFD-NEXT: fsd fs2, 32(sp) # 8-byte Folded Spill |
| 552 | +; RV32IFD-NEXT: fsd fs3, 24(sp) # 8-byte Folded Spill |
553 | 553 | ; RV32IFD-NEXT: fmv.s fs0, fa3 |
554 | 554 | ; RV32IFD-NEXT: fmv.s fs1, fa2 |
555 | 555 | ; RV32IFD-NEXT: fmv.s fs2, fa1 |
556 | 556 | ; RV32IFD-NEXT: mv s0, a0 |
557 | | -; RV32IFD-NEXT: addi a0, a0, 16 |
| 557 | +; RV32IFD-NEXT: addi a0, sp, 8 |
558 | 558 | ; RV32IFD-NEXT: call frexpf |
559 | 559 | ; RV32IFD-NEXT: fmv.s fs3, fa0 |
560 | | -; RV32IFD-NEXT: addi a0, s0, 20 |
| 560 | +; RV32IFD-NEXT: addi a0, sp, 12 |
561 | 561 | ; RV32IFD-NEXT: fmv.s fa0, fs2 |
562 | 562 | ; RV32IFD-NEXT: call frexpf |
563 | 563 | ; RV32IFD-NEXT: fmv.s fs2, fa0 |
564 | | -; RV32IFD-NEXT: addi a0, s0, 24 |
| 564 | +; RV32IFD-NEXT: addi a0, sp, 16 |
565 | 565 | ; RV32IFD-NEXT: fmv.s fa0, fs1 |
566 | 566 | ; RV32IFD-NEXT: call frexpf |
567 | 567 | ; RV32IFD-NEXT: fmv.s fs1, fa0 |
568 | | -; RV32IFD-NEXT: addi a0, s0, 28 |
| 568 | +; RV32IFD-NEXT: addi a0, sp, 20 |
569 | 569 | ; RV32IFD-NEXT: fmv.s fa0, fs0 |
570 | 570 | ; RV32IFD-NEXT: call frexpf |
| 571 | +; RV32IFD-NEXT: lw a0, 8(sp) |
| 572 | +; RV32IFD-NEXT: lw a1, 12(sp) |
| 573 | +; RV32IFD-NEXT: lw a2, 16(sp) |
| 574 | +; RV32IFD-NEXT: lw a3, 20(sp) |
| 575 | +; RV32IFD-NEXT: sw a0, 16(s0) |
| 576 | +; RV32IFD-NEXT: sw a1, 20(s0) |
| 577 | +; RV32IFD-NEXT: sw a2, 24(s0) |
| 578 | +; RV32IFD-NEXT: sw a3, 28(s0) |
571 | 579 | ; RV32IFD-NEXT: fsw fs3, 0(s0) |
572 | 580 | ; RV32IFD-NEXT: fsw fs2, 4(s0) |
573 | 581 | ; RV32IFD-NEXT: fsw fs1, 8(s0) |
574 | 582 | ; RV32IFD-NEXT: fsw fa0, 12(s0) |
575 | | -; RV32IFD-NEXT: lw ra, 44(sp) # 4-byte Folded Reload |
576 | | -; RV32IFD-NEXT: lw s0, 40(sp) # 4-byte Folded Reload |
577 | | -; RV32IFD-NEXT: fld fs0, 32(sp) # 8-byte Folded Reload |
578 | | -; RV32IFD-NEXT: fld fs1, 24(sp) # 8-byte Folded Reload |
579 | | -; RV32IFD-NEXT: fld fs2, 16(sp) # 8-byte Folded Reload |
580 | | -; RV32IFD-NEXT: fld fs3, 8(sp) # 8-byte Folded Reload |
581 | | -; RV32IFD-NEXT: addi sp, sp, 48 |
| 583 | +; RV32IFD-NEXT: lw ra, 60(sp) # 4-byte Folded Reload |
| 584 | +; RV32IFD-NEXT: lw s0, 56(sp) # 4-byte Folded Reload |
| 585 | +; RV32IFD-NEXT: fld fs0, 48(sp) # 8-byte Folded Reload |
| 586 | +; RV32IFD-NEXT: fld fs1, 40(sp) # 8-byte Folded Reload |
| 587 | +; RV32IFD-NEXT: fld fs2, 32(sp) # 8-byte Folded Reload |
| 588 | +; RV32IFD-NEXT: fld fs3, 24(sp) # 8-byte Folded Reload |
| 589 | +; RV32IFD-NEXT: addi sp, sp, 64 |
582 | 590 | ; RV32IFD-NEXT: ret |
583 | 591 | ; |
584 | 592 | ; RV64IFD-LABEL: test_frexp_v4f32_v4i32: |
@@ -631,44 +639,52 @@ define { <4 x float>, <4 x i32> } @test_frexp_v4f32_v4i32(<4 x float> %a) nounwi |
631 | 639 | ; |
632 | 640 | ; RV32IZFINXZDINX-LABEL: test_frexp_v4f32_v4i32: |
633 | 641 | ; RV32IZFINXZDINX: # %bb.0: |
634 | | -; RV32IZFINXZDINX-NEXT: addi sp, sp, -32 |
635 | | -; RV32IZFINXZDINX-NEXT: sw ra, 28(sp) # 4-byte Folded Spill |
636 | | -; RV32IZFINXZDINX-NEXT: sw s0, 24(sp) # 4-byte Folded Spill |
637 | | -; RV32IZFINXZDINX-NEXT: sw s1, 20(sp) # 4-byte Folded Spill |
638 | | -; RV32IZFINXZDINX-NEXT: sw s2, 16(sp) # 4-byte Folded Spill |
639 | | -; RV32IZFINXZDINX-NEXT: sw s3, 12(sp) # 4-byte Folded Spill |
640 | | -; RV32IZFINXZDINX-NEXT: sw s4, 8(sp) # 4-byte Folded Spill |
| 642 | +; RV32IZFINXZDINX-NEXT: addi sp, sp, -48 |
| 643 | +; RV32IZFINXZDINX-NEXT: sw ra, 44(sp) # 4-byte Folded Spill |
| 644 | +; RV32IZFINXZDINX-NEXT: sw s0, 40(sp) # 4-byte Folded Spill |
| 645 | +; RV32IZFINXZDINX-NEXT: sw s1, 36(sp) # 4-byte Folded Spill |
| 646 | +; RV32IZFINXZDINX-NEXT: sw s2, 32(sp) # 4-byte Folded Spill |
| 647 | +; RV32IZFINXZDINX-NEXT: sw s3, 28(sp) # 4-byte Folded Spill |
| 648 | +; RV32IZFINXZDINX-NEXT: sw s4, 24(sp) # 4-byte Folded Spill |
641 | 649 | ; RV32IZFINXZDINX-NEXT: mv s0, a4 |
642 | 650 | ; RV32IZFINXZDINX-NEXT: mv s1, a3 |
643 | 651 | ; RV32IZFINXZDINX-NEXT: mv s2, a2 |
644 | 652 | ; RV32IZFINXZDINX-NEXT: mv a2, a1 |
645 | 653 | ; RV32IZFINXZDINX-NEXT: mv s3, a0 |
646 | | -; RV32IZFINXZDINX-NEXT: addi a1, a0, 16 |
| 654 | +; RV32IZFINXZDINX-NEXT: addi a1, sp, 8 |
647 | 655 | ; RV32IZFINXZDINX-NEXT: mv a0, a2 |
648 | 656 | ; RV32IZFINXZDINX-NEXT: call frexpf |
649 | 657 | ; RV32IZFINXZDINX-NEXT: mv s4, a0 |
650 | | -; RV32IZFINXZDINX-NEXT: addi a1, s3, 20 |
| 658 | +; RV32IZFINXZDINX-NEXT: addi a1, sp, 12 |
651 | 659 | ; RV32IZFINXZDINX-NEXT: mv a0, s2 |
652 | 660 | ; RV32IZFINXZDINX-NEXT: call frexpf |
653 | 661 | ; RV32IZFINXZDINX-NEXT: mv s2, a0 |
654 | | -; RV32IZFINXZDINX-NEXT: addi a1, s3, 24 |
| 662 | +; RV32IZFINXZDINX-NEXT: addi a1, sp, 16 |
655 | 663 | ; RV32IZFINXZDINX-NEXT: mv a0, s1 |
656 | 664 | ; RV32IZFINXZDINX-NEXT: call frexpf |
657 | 665 | ; RV32IZFINXZDINX-NEXT: mv s1, a0 |
658 | | -; RV32IZFINXZDINX-NEXT: addi a1, s3, 28 |
| 666 | +; RV32IZFINXZDINX-NEXT: addi a1, sp, 20 |
659 | 667 | ; RV32IZFINXZDINX-NEXT: mv a0, s0 |
660 | 668 | ; RV32IZFINXZDINX-NEXT: call frexpf |
| 669 | +; RV32IZFINXZDINX-NEXT: lw a1, 8(sp) |
| 670 | +; RV32IZFINXZDINX-NEXT: lw a2, 12(sp) |
| 671 | +; RV32IZFINXZDINX-NEXT: lw a3, 16(sp) |
| 672 | +; RV32IZFINXZDINX-NEXT: lw a4, 20(sp) |
| 673 | +; RV32IZFINXZDINX-NEXT: sw a1, 16(s3) |
| 674 | +; RV32IZFINXZDINX-NEXT: sw a2, 20(s3) |
| 675 | +; RV32IZFINXZDINX-NEXT: sw a3, 24(s3) |
| 676 | +; RV32IZFINXZDINX-NEXT: sw a4, 28(s3) |
661 | 677 | ; RV32IZFINXZDINX-NEXT: sw s4, 0(s3) |
662 | 678 | ; RV32IZFINXZDINX-NEXT: sw s2, 4(s3) |
663 | 679 | ; RV32IZFINXZDINX-NEXT: sw s1, 8(s3) |
664 | 680 | ; RV32IZFINXZDINX-NEXT: sw a0, 12(s3) |
665 | | -; RV32IZFINXZDINX-NEXT: lw ra, 28(sp) # 4-byte Folded Reload |
666 | | -; RV32IZFINXZDINX-NEXT: lw s0, 24(sp) # 4-byte Folded Reload |
667 | | -; RV32IZFINXZDINX-NEXT: lw s1, 20(sp) # 4-byte Folded Reload |
668 | | -; RV32IZFINXZDINX-NEXT: lw s2, 16(sp) # 4-byte Folded Reload |
669 | | -; RV32IZFINXZDINX-NEXT: lw s3, 12(sp) # 4-byte Folded Reload |
670 | | -; RV32IZFINXZDINX-NEXT: lw s4, 8(sp) # 4-byte Folded Reload |
671 | | -; RV32IZFINXZDINX-NEXT: addi sp, sp, 32 |
| 681 | +; RV32IZFINXZDINX-NEXT: lw ra, 44(sp) # 4-byte Folded Reload |
| 682 | +; RV32IZFINXZDINX-NEXT: lw s0, 40(sp) # 4-byte Folded Reload |
| 683 | +; RV32IZFINXZDINX-NEXT: lw s1, 36(sp) # 4-byte Folded Reload |
| 684 | +; RV32IZFINXZDINX-NEXT: lw s2, 32(sp) # 4-byte Folded Reload |
| 685 | +; RV32IZFINXZDINX-NEXT: lw s3, 28(sp) # 4-byte Folded Reload |
| 686 | +; RV32IZFINXZDINX-NEXT: lw s4, 24(sp) # 4-byte Folded Reload |
| 687 | +; RV32IZFINXZDINX-NEXT: addi sp, sp, 48 |
672 | 688 | ; RV32IZFINXZDINX-NEXT: ret |
673 | 689 | ; |
674 | 690 | ; RV64IZFINXZDINX-LABEL: test_frexp_v4f32_v4i32: |
@@ -1080,34 +1096,41 @@ define <4 x float> @test_frexp_v4f32_v4i32_only_use_fract(<4 x float> %a) nounwi |
1080 | 1096 | define <4 x i32> @test_frexp_v4f32_v4i32_only_use_exp(<4 x float> %a) nounwind { |
1081 | 1097 | ; RV32IFD-LABEL: test_frexp_v4f32_v4i32_only_use_exp: |
1082 | 1098 | ; RV32IFD: # %bb.0: |
1083 | | -; RV32IFD-NEXT: addi sp, sp, -32 |
1084 | | -; RV32IFD-NEXT: sw ra, 28(sp) # 4-byte Folded Spill |
1085 | | -; RV32IFD-NEXT: sw s0, 24(sp) # 4-byte Folded Spill |
1086 | | -; RV32IFD-NEXT: fsd fs0, 16(sp) # 8-byte Folded Spill |
1087 | | -; RV32IFD-NEXT: fsd fs1, 8(sp) # 8-byte Folded Spill |
1088 | | -; RV32IFD-NEXT: fsd fs2, 0(sp) # 8-byte Folded Spill |
1089 | | -; RV32IFD-NEXT: fmv.s fs0, fa2 |
1090 | | -; RV32IFD-NEXT: fmv.s fs1, fa1 |
1091 | | -; RV32IFD-NEXT: fmv.s fs2, fa0 |
| 1099 | +; RV32IFD-NEXT: addi sp, sp, -48 |
| 1100 | +; RV32IFD-NEXT: sw ra, 44(sp) # 4-byte Folded Spill |
| 1101 | +; RV32IFD-NEXT: sw s0, 40(sp) # 4-byte Folded Spill |
| 1102 | +; RV32IFD-NEXT: fsd fs0, 32(sp) # 8-byte Folded Spill |
| 1103 | +; RV32IFD-NEXT: fsd fs1, 24(sp) # 8-byte Folded Spill |
| 1104 | +; RV32IFD-NEXT: fsd fs2, 16(sp) # 8-byte Folded Spill |
| 1105 | +; RV32IFD-NEXT: fmv.s fs0, fa3 |
| 1106 | +; RV32IFD-NEXT: fmv.s fs1, fa2 |
| 1107 | +; RV32IFD-NEXT: fmv.s fs2, fa1 |
1092 | 1108 | ; RV32IFD-NEXT: mv s0, a0 |
1093 | | -; RV32IFD-NEXT: addi a0, a0, 12 |
1094 | | -; RV32IFD-NEXT: fmv.s fa0, fa3 |
| 1109 | +; RV32IFD-NEXT: mv a0, sp |
1095 | 1110 | ; RV32IFD-NEXT: call frexpf |
1096 | | -; RV32IFD-NEXT: addi a0, s0, 8 |
1097 | | -; RV32IFD-NEXT: fmv.s fa0, fs0 |
| 1111 | +; RV32IFD-NEXT: addi a0, sp, 4 |
| 1112 | +; RV32IFD-NEXT: fmv.s fa0, fs2 |
1098 | 1113 | ; RV32IFD-NEXT: call frexpf |
1099 | | -; RV32IFD-NEXT: addi a0, s0, 4 |
| 1114 | +; RV32IFD-NEXT: addi a0, sp, 8 |
1100 | 1115 | ; RV32IFD-NEXT: fmv.s fa0, fs1 |
1101 | 1116 | ; RV32IFD-NEXT: call frexpf |
1102 | | -; RV32IFD-NEXT: fmv.s fa0, fs2 |
1103 | | -; RV32IFD-NEXT: mv a0, s0 |
| 1117 | +; RV32IFD-NEXT: addi a0, sp, 12 |
| 1118 | +; RV32IFD-NEXT: fmv.s fa0, fs0 |
1104 | 1119 | ; RV32IFD-NEXT: call frexpf |
1105 | | -; RV32IFD-NEXT: lw ra, 28(sp) # 4-byte Folded Reload |
1106 | | -; RV32IFD-NEXT: lw s0, 24(sp) # 4-byte Folded Reload |
1107 | | -; RV32IFD-NEXT: fld fs0, 16(sp) # 8-byte Folded Reload |
1108 | | -; RV32IFD-NEXT: fld fs1, 8(sp) # 8-byte Folded Reload |
1109 | | -; RV32IFD-NEXT: fld fs2, 0(sp) # 8-byte Folded Reload |
1110 | | -; RV32IFD-NEXT: addi sp, sp, 32 |
| 1120 | +; RV32IFD-NEXT: lw a0, 0(sp) |
| 1121 | +; RV32IFD-NEXT: lw a1, 4(sp) |
| 1122 | +; RV32IFD-NEXT: lw a2, 8(sp) |
| 1123 | +; RV32IFD-NEXT: lw a3, 12(sp) |
| 1124 | +; RV32IFD-NEXT: sw a0, 0(s0) |
| 1125 | +; RV32IFD-NEXT: sw a1, 4(s0) |
| 1126 | +; RV32IFD-NEXT: sw a2, 8(s0) |
| 1127 | +; RV32IFD-NEXT: sw a3, 12(s0) |
| 1128 | +; RV32IFD-NEXT: lw ra, 44(sp) # 4-byte Folded Reload |
| 1129 | +; RV32IFD-NEXT: lw s0, 40(sp) # 4-byte Folded Reload |
| 1130 | +; RV32IFD-NEXT: fld fs0, 32(sp) # 8-byte Folded Reload |
| 1131 | +; RV32IFD-NEXT: fld fs1, 24(sp) # 8-byte Folded Reload |
| 1132 | +; RV32IFD-NEXT: fld fs2, 16(sp) # 8-byte Folded Reload |
| 1133 | +; RV32IFD-NEXT: addi sp, sp, 48 |
1111 | 1134 | ; RV32IFD-NEXT: ret |
1112 | 1135 | ; |
1113 | 1136 | ; RV64IFD-LABEL: test_frexp_v4f32_v4i32_only_use_exp: |
@@ -1151,34 +1174,43 @@ define <4 x i32> @test_frexp_v4f32_v4i32_only_use_exp(<4 x float> %a) nounwind { |
1151 | 1174 | ; |
1152 | 1175 | ; RV32IZFINXZDINX-LABEL: test_frexp_v4f32_v4i32_only_use_exp: |
1153 | 1176 | ; RV32IZFINXZDINX: # %bb.0: |
1154 | | -; RV32IZFINXZDINX-NEXT: addi sp, sp, -32 |
1155 | | -; RV32IZFINXZDINX-NEXT: sw ra, 28(sp) # 4-byte Folded Spill |
1156 | | -; RV32IZFINXZDINX-NEXT: sw s0, 24(sp) # 4-byte Folded Spill |
1157 | | -; RV32IZFINXZDINX-NEXT: sw s1, 20(sp) # 4-byte Folded Spill |
1158 | | -; RV32IZFINXZDINX-NEXT: sw s2, 16(sp) # 4-byte Folded Spill |
1159 | | -; RV32IZFINXZDINX-NEXT: sw s3, 12(sp) # 4-byte Folded Spill |
1160 | | -; RV32IZFINXZDINX-NEXT: mv s0, a3 |
1161 | | -; RV32IZFINXZDINX-NEXT: mv s1, a2 |
1162 | | -; RV32IZFINXZDINX-NEXT: mv s2, a1 |
| 1177 | +; RV32IZFINXZDINX-NEXT: addi sp, sp, -48 |
| 1178 | +; RV32IZFINXZDINX-NEXT: sw ra, 44(sp) # 4-byte Folded Spill |
| 1179 | +; RV32IZFINXZDINX-NEXT: sw s0, 40(sp) # 4-byte Folded Spill |
| 1180 | +; RV32IZFINXZDINX-NEXT: sw s1, 36(sp) # 4-byte Folded Spill |
| 1181 | +; RV32IZFINXZDINX-NEXT: sw s2, 32(sp) # 4-byte Folded Spill |
| 1182 | +; RV32IZFINXZDINX-NEXT: sw s3, 28(sp) # 4-byte Folded Spill |
| 1183 | +; RV32IZFINXZDINX-NEXT: mv s0, a4 |
| 1184 | +; RV32IZFINXZDINX-NEXT: mv s1, a3 |
| 1185 | +; RV32IZFINXZDINX-NEXT: mv s2, a2 |
| 1186 | +; RV32IZFINXZDINX-NEXT: mv a2, a1 |
1163 | 1187 | ; RV32IZFINXZDINX-NEXT: mv s3, a0 |
1164 | | -; RV32IZFINXZDINX-NEXT: addi a1, a0, 12 |
1165 | | -; RV32IZFINXZDINX-NEXT: mv a0, a4 |
| 1188 | +; RV32IZFINXZDINX-NEXT: addi a1, sp, 12 |
| 1189 | +; RV32IZFINXZDINX-NEXT: mv a0, a2 |
1166 | 1190 | ; RV32IZFINXZDINX-NEXT: call frexpf |
1167 | | -; RV32IZFINXZDINX-NEXT: addi a1, s3, 8 |
1168 | | -; RV32IZFINXZDINX-NEXT: mv a0, s0 |
| 1191 | +; RV32IZFINXZDINX-NEXT: addi a1, sp, 16 |
| 1192 | +; RV32IZFINXZDINX-NEXT: mv a0, s2 |
1169 | 1193 | ; RV32IZFINXZDINX-NEXT: call frexpf |
1170 | | -; RV32IZFINXZDINX-NEXT: addi a1, s3, 4 |
| 1194 | +; RV32IZFINXZDINX-NEXT: addi a1, sp, 20 |
1171 | 1195 | ; RV32IZFINXZDINX-NEXT: mv a0, s1 |
1172 | 1196 | ; RV32IZFINXZDINX-NEXT: call frexpf |
1173 | | -; RV32IZFINXZDINX-NEXT: mv a0, s2 |
1174 | | -; RV32IZFINXZDINX-NEXT: mv a1, s3 |
| 1197 | +; RV32IZFINXZDINX-NEXT: addi a1, sp, 24 |
| 1198 | +; RV32IZFINXZDINX-NEXT: mv a0, s0 |
1175 | 1199 | ; RV32IZFINXZDINX-NEXT: call frexpf |
1176 | | -; RV32IZFINXZDINX-NEXT: lw ra, 28(sp) # 4-byte Folded Reload |
1177 | | -; RV32IZFINXZDINX-NEXT: lw s0, 24(sp) # 4-byte Folded Reload |
1178 | | -; RV32IZFINXZDINX-NEXT: lw s1, 20(sp) # 4-byte Folded Reload |
1179 | | -; RV32IZFINXZDINX-NEXT: lw s2, 16(sp) # 4-byte Folded Reload |
1180 | | -; RV32IZFINXZDINX-NEXT: lw s3, 12(sp) # 4-byte Folded Reload |
1181 | | -; RV32IZFINXZDINX-NEXT: addi sp, sp, 32 |
| 1200 | +; RV32IZFINXZDINX-NEXT: lw a0, 12(sp) |
| 1201 | +; RV32IZFINXZDINX-NEXT: lw a1, 16(sp) |
| 1202 | +; RV32IZFINXZDINX-NEXT: lw a2, 20(sp) |
| 1203 | +; RV32IZFINXZDINX-NEXT: lw a3, 24(sp) |
| 1204 | +; RV32IZFINXZDINX-NEXT: sw a0, 0(s3) |
| 1205 | +; RV32IZFINXZDINX-NEXT: sw a1, 4(s3) |
| 1206 | +; RV32IZFINXZDINX-NEXT: sw a2, 8(s3) |
| 1207 | +; RV32IZFINXZDINX-NEXT: sw a3, 12(s3) |
| 1208 | +; RV32IZFINXZDINX-NEXT: lw ra, 44(sp) # 4-byte Folded Reload |
| 1209 | +; RV32IZFINXZDINX-NEXT: lw s0, 40(sp) # 4-byte Folded Reload |
| 1210 | +; RV32IZFINXZDINX-NEXT: lw s1, 36(sp) # 4-byte Folded Reload |
| 1211 | +; RV32IZFINXZDINX-NEXT: lw s2, 32(sp) # 4-byte Folded Reload |
| 1212 | +; RV32IZFINXZDINX-NEXT: lw s3, 28(sp) # 4-byte Folded Reload |
| 1213 | +; RV32IZFINXZDINX-NEXT: addi sp, sp, 48 |
1182 | 1214 | ; RV32IZFINXZDINX-NEXT: ret |
1183 | 1215 | ; |
1184 | 1216 | ; RV64IZFINXZDINX-LABEL: test_frexp_v4f32_v4i32_only_use_exp: |
|
0 commit comments