summaryrefslogtreecommitdiff
path: root/llvm/test/CodeGen/RISCV/llvm.frexp.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/RISCV/llvm.frexp.ll')
-rw-r--r--llvm/test/CodeGen/RISCV/llvm.frexp.ll468
1 files changed, 234 insertions, 234 deletions
diff --git a/llvm/test/CodeGen/RISCV/llvm.frexp.ll b/llvm/test/CodeGen/RISCV/llvm.frexp.ll
index 2c9d640e03a6..e85a7118f5ff 100644
--- a/llvm/test/CodeGen/RISCV/llvm.frexp.ll
+++ b/llvm/test/CodeGen/RISCV/llvm.frexp.ll
@@ -568,18 +568,18 @@ define { <4 x float>, <4 x i32> } @test_frexp_v4f32_v4i32(<4 x float> %a) nounwi
; RV32IFD-NEXT: addi a0, sp, 20
; RV32IFD-NEXT: fmv.s fa0, fs0
; RV32IFD-NEXT: call frexpf
-; RV32IFD-NEXT: lw a0, 20(sp)
-; RV32IFD-NEXT: lw a1, 16(sp)
-; RV32IFD-NEXT: lw a2, 12(sp)
-; RV32IFD-NEXT: lw a3, 8(sp)
-; RV32IFD-NEXT: sw a0, 28(s0)
-; RV32IFD-NEXT: sw a1, 24(s0)
-; RV32IFD-NEXT: sw a2, 20(s0)
-; RV32IFD-NEXT: sw a3, 16(s0)
-; RV32IFD-NEXT: fsw fa0, 12(s0)
-; RV32IFD-NEXT: fsw fs1, 8(s0)
-; RV32IFD-NEXT: fsw fs2, 4(s0)
+; RV32IFD-NEXT: lw a0, 8(sp)
+; RV32IFD-NEXT: lw a1, 12(sp)
+; RV32IFD-NEXT: lw a2, 16(sp)
+; RV32IFD-NEXT: lw a3, 20(sp)
+; RV32IFD-NEXT: sw a0, 16(s0)
+; RV32IFD-NEXT: sw a1, 20(s0)
+; RV32IFD-NEXT: sw a2, 24(s0)
+; RV32IFD-NEXT: sw a3, 28(s0)
; RV32IFD-NEXT: fsw fs3, 0(s0)
+; RV32IFD-NEXT: fsw fs2, 4(s0)
+; RV32IFD-NEXT: fsw fs1, 8(s0)
+; RV32IFD-NEXT: fsw fa0, 12(s0)
; RV32IFD-NEXT: lw ra, 60(sp) # 4-byte Folded Reload
; RV32IFD-NEXT: lw s0, 56(sp) # 4-byte Folded Reload
; RV32IFD-NEXT: fld fs0, 48(sp) # 8-byte Folded Reload
@@ -616,18 +616,18 @@ define { <4 x float>, <4 x i32> } @test_frexp_v4f32_v4i32(<4 x float> %a) nounwi
; RV64IFD-NEXT: addi a0, sp, 24
; RV64IFD-NEXT: fmv.s fa0, fs0
; RV64IFD-NEXT: call frexpf
-; RV64IFD-NEXT: ld a0, 24(sp)
-; RV64IFD-NEXT: ld a1, 16(sp)
-; RV64IFD-NEXT: ld a2, 8(sp)
-; RV64IFD-NEXT: ld a3, 0(sp)
-; RV64IFD-NEXT: sw a0, 28(s0)
-; RV64IFD-NEXT: sw a1, 24(s0)
-; RV64IFD-NEXT: sw a2, 20(s0)
-; RV64IFD-NEXT: sw a3, 16(s0)
-; RV64IFD-NEXT: fsw fa0, 12(s0)
-; RV64IFD-NEXT: fsw fs1, 8(s0)
-; RV64IFD-NEXT: fsw fs2, 4(s0)
+; RV64IFD-NEXT: ld a0, 0(sp)
+; RV64IFD-NEXT: ld a1, 8(sp)
+; RV64IFD-NEXT: ld a2, 16(sp)
+; RV64IFD-NEXT: ld a3, 24(sp)
+; RV64IFD-NEXT: sw a0, 16(s0)
+; RV64IFD-NEXT: sw a1, 20(s0)
+; RV64IFD-NEXT: sw a2, 24(s0)
+; RV64IFD-NEXT: sw a3, 28(s0)
; RV64IFD-NEXT: fsw fs3, 0(s0)
+; RV64IFD-NEXT: fsw fs2, 4(s0)
+; RV64IFD-NEXT: fsw fs1, 8(s0)
+; RV64IFD-NEXT: fsw fa0, 12(s0)
; RV64IFD-NEXT: ld ra, 72(sp) # 8-byte Folded Reload
; RV64IFD-NEXT: ld s0, 64(sp) # 8-byte Folded Reload
; RV64IFD-NEXT: fld fs0, 56(sp) # 8-byte Folded Reload
@@ -666,18 +666,18 @@ define { <4 x float>, <4 x i32> } @test_frexp_v4f32_v4i32(<4 x float> %a) nounwi
; RV32IZFINXZDINX-NEXT: addi a1, sp, 20
; RV32IZFINXZDINX-NEXT: mv a0, s0
; RV32IZFINXZDINX-NEXT: call frexpf
-; RV32IZFINXZDINX-NEXT: lw a1, 20(sp)
-; RV32IZFINXZDINX-NEXT: lw a2, 16(sp)
-; RV32IZFINXZDINX-NEXT: lw a3, 12(sp)
-; RV32IZFINXZDINX-NEXT: lw a4, 8(sp)
-; RV32IZFINXZDINX-NEXT: sw a1, 28(s3)
-; RV32IZFINXZDINX-NEXT: sw a2, 24(s3)
-; RV32IZFINXZDINX-NEXT: sw a3, 20(s3)
-; RV32IZFINXZDINX-NEXT: sw a4, 16(s3)
-; RV32IZFINXZDINX-NEXT: sw a0, 12(s3)
-; RV32IZFINXZDINX-NEXT: sw s1, 8(s3)
-; RV32IZFINXZDINX-NEXT: sw s2, 4(s3)
+; RV32IZFINXZDINX-NEXT: lw a1, 8(sp)
+; RV32IZFINXZDINX-NEXT: lw a2, 12(sp)
+; RV32IZFINXZDINX-NEXT: lw a3, 16(sp)
+; RV32IZFINXZDINX-NEXT: lw a4, 20(sp)
+; RV32IZFINXZDINX-NEXT: sw a1, 16(s3)
+; RV32IZFINXZDINX-NEXT: sw a2, 20(s3)
+; RV32IZFINXZDINX-NEXT: sw a3, 24(s3)
+; RV32IZFINXZDINX-NEXT: sw a4, 28(s3)
; RV32IZFINXZDINX-NEXT: sw s4, 0(s3)
+; RV32IZFINXZDINX-NEXT: sw s2, 4(s3)
+; RV32IZFINXZDINX-NEXT: sw s1, 8(s3)
+; RV32IZFINXZDINX-NEXT: sw a0, 12(s3)
; RV32IZFINXZDINX-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
; RV32IZFINXZDINX-NEXT: lw s0, 40(sp) # 4-byte Folded Reload
; RV32IZFINXZDINX-NEXT: lw s1, 36(sp) # 4-byte Folded Reload
@@ -716,18 +716,18 @@ define { <4 x float>, <4 x i32> } @test_frexp_v4f32_v4i32(<4 x float> %a) nounwi
; RV64IZFINXZDINX-NEXT: addi a1, sp, 24
; RV64IZFINXZDINX-NEXT: mv a0, s0
; RV64IZFINXZDINX-NEXT: call frexpf
-; RV64IZFINXZDINX-NEXT: ld a1, 24(sp)
-; RV64IZFINXZDINX-NEXT: ld a2, 16(sp)
-; RV64IZFINXZDINX-NEXT: ld a3, 8(sp)
-; RV64IZFINXZDINX-NEXT: ld a4, 0(sp)
-; RV64IZFINXZDINX-NEXT: sw a1, 28(s3)
-; RV64IZFINXZDINX-NEXT: sw a2, 24(s3)
-; RV64IZFINXZDINX-NEXT: sw a3, 20(s3)
-; RV64IZFINXZDINX-NEXT: sw a4, 16(s3)
-; RV64IZFINXZDINX-NEXT: sw a0, 12(s3)
-; RV64IZFINXZDINX-NEXT: sw s1, 8(s3)
-; RV64IZFINXZDINX-NEXT: sw s2, 4(s3)
+; RV64IZFINXZDINX-NEXT: ld a1, 0(sp)
+; RV64IZFINXZDINX-NEXT: ld a2, 8(sp)
+; RV64IZFINXZDINX-NEXT: ld a3, 16(sp)
+; RV64IZFINXZDINX-NEXT: ld a4, 24(sp)
+; RV64IZFINXZDINX-NEXT: sw a1, 16(s3)
+; RV64IZFINXZDINX-NEXT: sw a2, 20(s3)
+; RV64IZFINXZDINX-NEXT: sw a3, 24(s3)
+; RV64IZFINXZDINX-NEXT: sw a4, 28(s3)
; RV64IZFINXZDINX-NEXT: sw s4, 0(s3)
+; RV64IZFINXZDINX-NEXT: sw s2, 4(s3)
+; RV64IZFINXZDINX-NEXT: sw s1, 8(s3)
+; RV64IZFINXZDINX-NEXT: sw a0, 12(s3)
; RV64IZFINXZDINX-NEXT: ld ra, 72(sp) # 8-byte Folded Reload
; RV64IZFINXZDINX-NEXT: ld s0, 64(sp) # 8-byte Folded Reload
; RV64IZFINXZDINX-NEXT: ld s1, 56(sp) # 8-byte Folded Reload
@@ -770,14 +770,14 @@ define { <4 x float>, <4 x i32> } @test_frexp_v4f32_v4i32(<4 x float> %a) nounwi
; RV32I-NEXT: lw a2, 12(sp)
; RV32I-NEXT: lw a3, 16(sp)
; RV32I-NEXT: lw a4, 20(sp)
-; RV32I-NEXT: sw a0, 12(s3)
-; RV32I-NEXT: sw s1, 8(s3)
-; RV32I-NEXT: sw s0, 4(s3)
; RV32I-NEXT: sw s4, 0(s3)
-; RV32I-NEXT: sw a4, 28(s3)
-; RV32I-NEXT: sw a3, 24(s3)
-; RV32I-NEXT: sw a2, 20(s3)
+; RV32I-NEXT: sw s0, 4(s3)
+; RV32I-NEXT: sw s1, 8(s3)
+; RV32I-NEXT: sw a0, 12(s3)
; RV32I-NEXT: sw a1, 16(s3)
+; RV32I-NEXT: sw a2, 20(s3)
+; RV32I-NEXT: sw a3, 24(s3)
+; RV32I-NEXT: sw a4, 28(s3)
; RV32I-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
; RV32I-NEXT: lw s0, 40(sp) # 4-byte Folded Reload
; RV32I-NEXT: lw s1, 36(sp) # 4-byte Folded Reload
@@ -820,14 +820,14 @@ define { <4 x float>, <4 x i32> } @test_frexp_v4f32_v4i32(<4 x float> %a) nounwi
; RV64I-NEXT: lw a2, 4(sp)
; RV64I-NEXT: lw a3, 8(sp)
; RV64I-NEXT: lw a4, 12(sp)
-; RV64I-NEXT: sw a0, 12(s3)
-; RV64I-NEXT: sw s1, 8(s3)
-; RV64I-NEXT: sw s0, 4(s3)
; RV64I-NEXT: sw s4, 0(s3)
-; RV64I-NEXT: sw a4, 28(s3)
-; RV64I-NEXT: sw a3, 24(s3)
-; RV64I-NEXT: sw a2, 20(s3)
+; RV64I-NEXT: sw s0, 4(s3)
+; RV64I-NEXT: sw s1, 8(s3)
+; RV64I-NEXT: sw a0, 12(s3)
; RV64I-NEXT: sw a1, 16(s3)
+; RV64I-NEXT: sw a2, 20(s3)
+; RV64I-NEXT: sw a3, 24(s3)
+; RV64I-NEXT: sw a4, 28(s3)
; RV64I-NEXT: ld ra, 56(sp) # 8-byte Folded Reload
; RV64I-NEXT: ld s0, 48(sp) # 8-byte Folded Reload
; RV64I-NEXT: ld s1, 40(sp) # 8-byte Folded Reload
@@ -868,10 +868,10 @@ define <4 x float> @test_frexp_v4f32_v4i32_only_use_fract(<4 x float> %a) nounwi
; RV32IFD-NEXT: addi a0, sp, 20
; RV32IFD-NEXT: fmv.s fa0, fs0
; RV32IFD-NEXT: call frexpf
-; RV32IFD-NEXT: fsw fa0, 12(s0)
-; RV32IFD-NEXT: fsw fs1, 8(s0)
-; RV32IFD-NEXT: fsw fs2, 4(s0)
; RV32IFD-NEXT: fsw fs3, 0(s0)
+; RV32IFD-NEXT: fsw fs2, 4(s0)
+; RV32IFD-NEXT: fsw fs1, 8(s0)
+; RV32IFD-NEXT: fsw fa0, 12(s0)
; RV32IFD-NEXT: lw ra, 60(sp) # 4-byte Folded Reload
; RV32IFD-NEXT: lw s0, 56(sp) # 4-byte Folded Reload
; RV32IFD-NEXT: fld fs0, 48(sp) # 8-byte Folded Reload
@@ -908,10 +908,10 @@ define <4 x float> @test_frexp_v4f32_v4i32_only_use_fract(<4 x float> %a) nounwi
; RV64IFD-NEXT: addi a0, sp, 24
; RV64IFD-NEXT: fmv.s fa0, fs0
; RV64IFD-NEXT: call frexpf
-; RV64IFD-NEXT: fsw fa0, 12(s0)
-; RV64IFD-NEXT: fsw fs1, 8(s0)
-; RV64IFD-NEXT: fsw fs2, 4(s0)
; RV64IFD-NEXT: fsw fs3, 0(s0)
+; RV64IFD-NEXT: fsw fs2, 4(s0)
+; RV64IFD-NEXT: fsw fs1, 8(s0)
+; RV64IFD-NEXT: fsw fa0, 12(s0)
; RV64IFD-NEXT: ld ra, 72(sp) # 8-byte Folded Reload
; RV64IFD-NEXT: ld s0, 64(sp) # 8-byte Folded Reload
; RV64IFD-NEXT: fld fs0, 56(sp) # 8-byte Folded Reload
@@ -950,10 +950,10 @@ define <4 x float> @test_frexp_v4f32_v4i32_only_use_fract(<4 x float> %a) nounwi
; RV32IZFINXZDINX-NEXT: addi a1, sp, 20
; RV32IZFINXZDINX-NEXT: mv a0, s0
; RV32IZFINXZDINX-NEXT: call frexpf
-; RV32IZFINXZDINX-NEXT: sw a0, 12(s3)
-; RV32IZFINXZDINX-NEXT: sw s1, 8(s3)
-; RV32IZFINXZDINX-NEXT: sw s2, 4(s3)
; RV32IZFINXZDINX-NEXT: sw s4, 0(s3)
+; RV32IZFINXZDINX-NEXT: sw s2, 4(s3)
+; RV32IZFINXZDINX-NEXT: sw s1, 8(s3)
+; RV32IZFINXZDINX-NEXT: sw a0, 12(s3)
; RV32IZFINXZDINX-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
; RV32IZFINXZDINX-NEXT: lw s0, 40(sp) # 4-byte Folded Reload
; RV32IZFINXZDINX-NEXT: lw s1, 36(sp) # 4-byte Folded Reload
@@ -992,10 +992,10 @@ define <4 x float> @test_frexp_v4f32_v4i32_only_use_fract(<4 x float> %a) nounwi
; RV64IZFINXZDINX-NEXT: addi a1, sp, 24
; RV64IZFINXZDINX-NEXT: mv a0, s0
; RV64IZFINXZDINX-NEXT: call frexpf
-; RV64IZFINXZDINX-NEXT: sw a0, 12(s3)
-; RV64IZFINXZDINX-NEXT: sw s1, 8(s3)
-; RV64IZFINXZDINX-NEXT: sw s2, 4(s3)
; RV64IZFINXZDINX-NEXT: sw s4, 0(s3)
+; RV64IZFINXZDINX-NEXT: sw s2, 4(s3)
+; RV64IZFINXZDINX-NEXT: sw s1, 8(s3)
+; RV64IZFINXZDINX-NEXT: sw a0, 12(s3)
; RV64IZFINXZDINX-NEXT: ld ra, 72(sp) # 8-byte Folded Reload
; RV64IZFINXZDINX-NEXT: ld s0, 64(sp) # 8-byte Folded Reload
; RV64IZFINXZDINX-NEXT: ld s1, 56(sp) # 8-byte Folded Reload
@@ -1034,10 +1034,10 @@ define <4 x float> @test_frexp_v4f32_v4i32_only_use_fract(<4 x float> %a) nounwi
; RV32I-NEXT: addi a1, sp, 20
; RV32I-NEXT: mv a0, s2
; RV32I-NEXT: call frexpf
-; RV32I-NEXT: sw a0, 12(s3)
-; RV32I-NEXT: sw s1, 8(s3)
-; RV32I-NEXT: sw s0, 4(s3)
; RV32I-NEXT: sw s4, 0(s3)
+; RV32I-NEXT: sw s0, 4(s3)
+; RV32I-NEXT: sw s1, 8(s3)
+; RV32I-NEXT: sw a0, 12(s3)
; RV32I-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
; RV32I-NEXT: lw s0, 40(sp) # 4-byte Folded Reload
; RV32I-NEXT: lw s1, 36(sp) # 4-byte Folded Reload
@@ -1076,10 +1076,10 @@ define <4 x float> @test_frexp_v4f32_v4i32_only_use_fract(<4 x float> %a) nounwi
; RV64I-NEXT: addi a1, sp, 12
; RV64I-NEXT: mv a0, s2
; RV64I-NEXT: call frexpf
-; RV64I-NEXT: sw a0, 12(s3)
-; RV64I-NEXT: sw s1, 8(s3)
-; RV64I-NEXT: sw s0, 4(s3)
; RV64I-NEXT: sw s4, 0(s3)
+; RV64I-NEXT: sw s0, 4(s3)
+; RV64I-NEXT: sw s1, 8(s3)
+; RV64I-NEXT: sw a0, 12(s3)
; RV64I-NEXT: ld ra, 56(sp) # 8-byte Folded Reload
; RV64I-NEXT: ld s0, 48(sp) # 8-byte Folded Reload
; RV64I-NEXT: ld s1, 40(sp) # 8-byte Folded Reload
@@ -1117,14 +1117,14 @@ define <4 x i32> @test_frexp_v4f32_v4i32_only_use_exp(<4 x float> %a) nounwind {
; RV32IFD-NEXT: addi a0, sp, 12
; RV32IFD-NEXT: fmv.s fa0, fs0
; RV32IFD-NEXT: call frexpf
-; RV32IFD-NEXT: lw a0, 12(sp)
-; RV32IFD-NEXT: lw a1, 8(sp)
-; RV32IFD-NEXT: lw a2, 4(sp)
-; RV32IFD-NEXT: lw a3, 0(sp)
-; RV32IFD-NEXT: sw a0, 12(s0)
-; RV32IFD-NEXT: sw a1, 8(s0)
-; RV32IFD-NEXT: sw a2, 4(s0)
-; RV32IFD-NEXT: sw a3, 0(s0)
+; RV32IFD-NEXT: lw a0, 0(sp)
+; RV32IFD-NEXT: lw a1, 4(sp)
+; RV32IFD-NEXT: lw a2, 8(sp)
+; RV32IFD-NEXT: lw a3, 12(sp)
+; RV32IFD-NEXT: sw a0, 0(s0)
+; RV32IFD-NEXT: sw a1, 4(s0)
+; RV32IFD-NEXT: sw a2, 8(s0)
+; RV32IFD-NEXT: sw a3, 12(s0)
; RV32IFD-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
; RV32IFD-NEXT: lw s0, 40(sp) # 4-byte Folded Reload
; RV32IFD-NEXT: fld fs0, 32(sp) # 8-byte Folded Reload
@@ -1156,14 +1156,14 @@ define <4 x i32> @test_frexp_v4f32_v4i32_only_use_exp(<4 x float> %a) nounwind {
; RV64IFD-NEXT: addi a0, sp, 32
; RV64IFD-NEXT: fmv.s fa0, fs0
; RV64IFD-NEXT: call frexpf
-; RV64IFD-NEXT: ld a0, 32(sp)
-; RV64IFD-NEXT: ld a1, 24(sp)
-; RV64IFD-NEXT: ld a2, 16(sp)
-; RV64IFD-NEXT: ld a3, 8(sp)
-; RV64IFD-NEXT: sw a0, 12(s0)
-; RV64IFD-NEXT: sw a1, 8(s0)
-; RV64IFD-NEXT: sw a2, 4(s0)
-; RV64IFD-NEXT: sw a3, 0(s0)
+; RV64IFD-NEXT: ld a0, 8(sp)
+; RV64IFD-NEXT: ld a1, 16(sp)
+; RV64IFD-NEXT: ld a2, 24(sp)
+; RV64IFD-NEXT: ld a3, 32(sp)
+; RV64IFD-NEXT: sw a0, 0(s0)
+; RV64IFD-NEXT: sw a1, 4(s0)
+; RV64IFD-NEXT: sw a2, 8(s0)
+; RV64IFD-NEXT: sw a3, 12(s0)
; RV64IFD-NEXT: ld ra, 72(sp) # 8-byte Folded Reload
; RV64IFD-NEXT: ld s0, 64(sp) # 8-byte Folded Reload
; RV64IFD-NEXT: fld fs0, 56(sp) # 8-byte Folded Reload
@@ -1197,14 +1197,14 @@ define <4 x i32> @test_frexp_v4f32_v4i32_only_use_exp(<4 x float> %a) nounwind {
; RV32IZFINXZDINX-NEXT: addi a1, sp, 24
; RV32IZFINXZDINX-NEXT: mv a0, s0
; RV32IZFINXZDINX-NEXT: call frexpf
-; RV32IZFINXZDINX-NEXT: lw a0, 24(sp)
-; RV32IZFINXZDINX-NEXT: lw a1, 20(sp)
-; RV32IZFINXZDINX-NEXT: lw a2, 16(sp)
-; RV32IZFINXZDINX-NEXT: lw a3, 12(sp)
-; RV32IZFINXZDINX-NEXT: sw a0, 12(s3)
-; RV32IZFINXZDINX-NEXT: sw a1, 8(s3)
-; RV32IZFINXZDINX-NEXT: sw a2, 4(s3)
-; RV32IZFINXZDINX-NEXT: sw a3, 0(s3)
+; RV32IZFINXZDINX-NEXT: lw a0, 12(sp)
+; RV32IZFINXZDINX-NEXT: lw a1, 16(sp)
+; RV32IZFINXZDINX-NEXT: lw a2, 20(sp)
+; RV32IZFINXZDINX-NEXT: lw a3, 24(sp)
+; RV32IZFINXZDINX-NEXT: sw a0, 0(s3)
+; RV32IZFINXZDINX-NEXT: sw a1, 4(s3)
+; RV32IZFINXZDINX-NEXT: sw a2, 8(s3)
+; RV32IZFINXZDINX-NEXT: sw a3, 12(s3)
; RV32IZFINXZDINX-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
; RV32IZFINXZDINX-NEXT: lw s0, 40(sp) # 4-byte Folded Reload
; RV32IZFINXZDINX-NEXT: lw s1, 36(sp) # 4-byte Folded Reload
@@ -1238,14 +1238,14 @@ define <4 x i32> @test_frexp_v4f32_v4i32_only_use_exp(<4 x float> %a) nounwind {
; RV64IZFINXZDINX-NEXT: addi a1, sp, 32
; RV64IZFINXZDINX-NEXT: mv a0, s0
; RV64IZFINXZDINX-NEXT: call frexpf
-; RV64IZFINXZDINX-NEXT: ld a0, 32(sp)
-; RV64IZFINXZDINX-NEXT: ld a1, 24(sp)
-; RV64IZFINXZDINX-NEXT: ld a2, 16(sp)
-; RV64IZFINXZDINX-NEXT: ld a3, 8(sp)
-; RV64IZFINXZDINX-NEXT: sw a0, 12(s3)
-; RV64IZFINXZDINX-NEXT: sw a1, 8(s3)
-; RV64IZFINXZDINX-NEXT: sw a2, 4(s3)
-; RV64IZFINXZDINX-NEXT: sw a3, 0(s3)
+; RV64IZFINXZDINX-NEXT: ld a0, 8(sp)
+; RV64IZFINXZDINX-NEXT: ld a1, 16(sp)
+; RV64IZFINXZDINX-NEXT: ld a2, 24(sp)
+; RV64IZFINXZDINX-NEXT: ld a3, 32(sp)
+; RV64IZFINXZDINX-NEXT: sw a0, 0(s3)
+; RV64IZFINXZDINX-NEXT: sw a1, 4(s3)
+; RV64IZFINXZDINX-NEXT: sw a2, 8(s3)
+; RV64IZFINXZDINX-NEXT: sw a3, 12(s3)
; RV64IZFINXZDINX-NEXT: ld ra, 72(sp) # 8-byte Folded Reload
; RV64IZFINXZDINX-NEXT: ld s0, 64(sp) # 8-byte Folded Reload
; RV64IZFINXZDINX-NEXT: ld s1, 56(sp) # 8-byte Folded Reload
@@ -1279,14 +1279,14 @@ define <4 x i32> @test_frexp_v4f32_v4i32_only_use_exp(<4 x float> %a) nounwind {
; RV32I-NEXT: addi a1, sp, 24
; RV32I-NEXT: mv a0, s2
; RV32I-NEXT: call frexpf
-; RV32I-NEXT: lw a0, 24(sp)
-; RV32I-NEXT: lw a1, 20(sp)
-; RV32I-NEXT: lw a2, 16(sp)
-; RV32I-NEXT: lw a3, 12(sp)
-; RV32I-NEXT: sw a0, 12(s3)
-; RV32I-NEXT: sw a1, 8(s3)
-; RV32I-NEXT: sw a2, 4(s3)
-; RV32I-NEXT: sw a3, 0(s3)
+; RV32I-NEXT: lw a0, 12(sp)
+; RV32I-NEXT: lw a1, 16(sp)
+; RV32I-NEXT: lw a2, 20(sp)
+; RV32I-NEXT: lw a3, 24(sp)
+; RV32I-NEXT: sw a0, 0(s3)
+; RV32I-NEXT: sw a1, 4(s3)
+; RV32I-NEXT: sw a2, 8(s3)
+; RV32I-NEXT: sw a3, 12(s3)
; RV32I-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
; RV32I-NEXT: lw s0, 40(sp) # 4-byte Folded Reload
; RV32I-NEXT: lw s1, 36(sp) # 4-byte Folded Reload
@@ -1320,14 +1320,14 @@ define <4 x i32> @test_frexp_v4f32_v4i32_only_use_exp(<4 x float> %a) nounwind {
; RV64I-NEXT: addi a1, sp, 20
; RV64I-NEXT: mv a0, s2
; RV64I-NEXT: call frexpf
-; RV64I-NEXT: lw a0, 20(sp)
-; RV64I-NEXT: lw a1, 16(sp)
-; RV64I-NEXT: lw a2, 12(sp)
-; RV64I-NEXT: lw a3, 8(sp)
-; RV64I-NEXT: sw a0, 12(s3)
-; RV64I-NEXT: sw a1, 8(s3)
-; RV64I-NEXT: sw a2, 4(s3)
-; RV64I-NEXT: sw a3, 0(s3)
+; RV64I-NEXT: lw a0, 8(sp)
+; RV64I-NEXT: lw a1, 12(sp)
+; RV64I-NEXT: lw a2, 16(sp)
+; RV64I-NEXT: lw a3, 20(sp)
+; RV64I-NEXT: sw a0, 0(s3)
+; RV64I-NEXT: sw a1, 4(s3)
+; RV64I-NEXT: sw a2, 8(s3)
+; RV64I-NEXT: sw a3, 12(s3)
; RV64I-NEXT: ld ra, 56(sp) # 8-byte Folded Reload
; RV64I-NEXT: ld s0, 48(sp) # 8-byte Folded Reload
; RV64I-NEXT: ld s1, 40(sp) # 8-byte Folded Reload
@@ -1397,8 +1397,8 @@ define { double, i32 } @test_frexp_f64_i32(double %a) nounwind {
; RV32I-NEXT: mv a1, a3
; RV32I-NEXT: call frexp
; RV32I-NEXT: lw a2, 4(sp)
-; RV32I-NEXT: sw a1, 4(s0)
; RV32I-NEXT: sw a0, 0(s0)
+; RV32I-NEXT: sw a1, 4(s0)
; RV32I-NEXT: sw a2, 8(s0)
; RV32I-NEXT: lw ra, 12(sp) # 4-byte Folded Reload
; RV32I-NEXT: lw s0, 8(sp) # 4-byte Folded Reload
@@ -1580,28 +1580,28 @@ define { fp128, i32 } @test_frexp_f128_i32(fp128 %a) nounwind {
; RV32IFD-NEXT: sw ra, 44(sp) # 4-byte Folded Spill
; RV32IFD-NEXT: sw s0, 40(sp) # 4-byte Folded Spill
; RV32IFD-NEXT: lw a3, 0(a1)
-; RV32IFD-NEXT: lw a2, 4(a1)
-; RV32IFD-NEXT: lw a4, 8(a1)
-; RV32IFD-NEXT: lw a1, 12(a1)
+; RV32IFD-NEXT: lw a4, 4(a1)
+; RV32IFD-NEXT: lw a5, 8(a1)
+; RV32IFD-NEXT: lw a6, 12(a1)
; RV32IFD-NEXT: mv s0, a0
-; RV32IFD-NEXT: sw a1, 12(sp)
-; RV32IFD-NEXT: sw a4, 8(sp)
-; RV32IFD-NEXT: sw a2, 4(sp)
; RV32IFD-NEXT: addi a0, sp, 16
; RV32IFD-NEXT: mv a1, sp
; RV32IFD-NEXT: addi a2, sp, 36
; RV32IFD-NEXT: sw a3, 0(sp)
+; RV32IFD-NEXT: sw a4, 4(sp)
+; RV32IFD-NEXT: sw a5, 8(sp)
+; RV32IFD-NEXT: sw a6, 12(sp)
; RV32IFD-NEXT: call frexpl
-; RV32IFD-NEXT: lw a0, 24(sp)
-; RV32IFD-NEXT: lw a1, 28(sp)
-; RV32IFD-NEXT: lw a2, 16(sp)
-; RV32IFD-NEXT: lw a3, 20(sp)
-; RV32IFD-NEXT: lw a4, 36(sp)
-; RV32IFD-NEXT: sw a1, 12(s0)
-; RV32IFD-NEXT: sw a0, 8(s0)
-; RV32IFD-NEXT: sw a3, 4(s0)
-; RV32IFD-NEXT: sw a2, 0(s0)
-; RV32IFD-NEXT: sw a4, 16(s0)
+; RV32IFD-NEXT: lw a0, 36(sp)
+; RV32IFD-NEXT: lw a1, 16(sp)
+; RV32IFD-NEXT: lw a2, 20(sp)
+; RV32IFD-NEXT: lw a3, 24(sp)
+; RV32IFD-NEXT: lw a4, 28(sp)
+; RV32IFD-NEXT: sw a1, 0(s0)
+; RV32IFD-NEXT: sw a2, 4(s0)
+; RV32IFD-NEXT: sw a3, 8(s0)
+; RV32IFD-NEXT: sw a4, 12(s0)
+; RV32IFD-NEXT: sw a0, 16(s0)
; RV32IFD-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
; RV32IFD-NEXT: lw s0, 40(sp) # 4-byte Folded Reload
; RV32IFD-NEXT: addi sp, sp, 48
@@ -1619,8 +1619,8 @@ define { fp128, i32 } @test_frexp_f128_i32(fp128 %a) nounwind {
; RV64IFD-NEXT: mv a1, a3
; RV64IFD-NEXT: call frexpl
; RV64IFD-NEXT: lw a2, 12(sp)
-; RV64IFD-NEXT: sd a1, 8(s0)
; RV64IFD-NEXT: sd a0, 0(s0)
+; RV64IFD-NEXT: sd a1, 8(s0)
; RV64IFD-NEXT: sw a2, 16(s0)
; RV64IFD-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
; RV64IFD-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
@@ -1633,28 +1633,28 @@ define { fp128, i32 } @test_frexp_f128_i32(fp128 %a) nounwind {
; RV32IZFINXZDINX-NEXT: sw ra, 44(sp) # 4-byte Folded Spill
; RV32IZFINXZDINX-NEXT: sw s0, 40(sp) # 4-byte Folded Spill
; RV32IZFINXZDINX-NEXT: lw a3, 0(a1)
-; RV32IZFINXZDINX-NEXT: lw a2, 4(a1)
-; RV32IZFINXZDINX-NEXT: lw a4, 8(a1)
-; RV32IZFINXZDINX-NEXT: lw a1, 12(a1)
+; RV32IZFINXZDINX-NEXT: lw a4, 4(a1)
+; RV32IZFINXZDINX-NEXT: lw a5, 8(a1)
+; RV32IZFINXZDINX-NEXT: lw a6, 12(a1)
; RV32IZFINXZDINX-NEXT: mv s0, a0
-; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
-; RV32IZFINXZDINX-NEXT: sw a4, 8(sp)
-; RV32IZFINXZDINX-NEXT: sw a2, 4(sp)
; RV32IZFINXZDINX-NEXT: addi a0, sp, 16
; RV32IZFINXZDINX-NEXT: mv a1, sp
; RV32IZFINXZDINX-NEXT: addi a2, sp, 36
; RV32IZFINXZDINX-NEXT: sw a3, 0(sp)
+; RV32IZFINXZDINX-NEXT: sw a4, 4(sp)
+; RV32IZFINXZDINX-NEXT: sw a5, 8(sp)
+; RV32IZFINXZDINX-NEXT: sw a6, 12(sp)
; RV32IZFINXZDINX-NEXT: call frexpl
-; RV32IZFINXZDINX-NEXT: lw a0, 24(sp)
-; RV32IZFINXZDINX-NEXT: lw a1, 28(sp)
-; RV32IZFINXZDINX-NEXT: lw a2, 16(sp)
-; RV32IZFINXZDINX-NEXT: lw a3, 20(sp)
-; RV32IZFINXZDINX-NEXT: lw a4, 36(sp)
-; RV32IZFINXZDINX-NEXT: sw a1, 12(s0)
-; RV32IZFINXZDINX-NEXT: sw a0, 8(s0)
-; RV32IZFINXZDINX-NEXT: sw a3, 4(s0)
-; RV32IZFINXZDINX-NEXT: sw a2, 0(s0)
-; RV32IZFINXZDINX-NEXT: sw a4, 16(s0)
+; RV32IZFINXZDINX-NEXT: lw a0, 36(sp)
+; RV32IZFINXZDINX-NEXT: lw a1, 16(sp)
+; RV32IZFINXZDINX-NEXT: lw a2, 20(sp)
+; RV32IZFINXZDINX-NEXT: lw a3, 24(sp)
+; RV32IZFINXZDINX-NEXT: lw a4, 28(sp)
+; RV32IZFINXZDINX-NEXT: sw a1, 0(s0)
+; RV32IZFINXZDINX-NEXT: sw a2, 4(s0)
+; RV32IZFINXZDINX-NEXT: sw a3, 8(s0)
+; RV32IZFINXZDINX-NEXT: sw a4, 12(s0)
+; RV32IZFINXZDINX-NEXT: sw a0, 16(s0)
; RV32IZFINXZDINX-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
; RV32IZFINXZDINX-NEXT: lw s0, 40(sp) # 4-byte Folded Reload
; RV32IZFINXZDINX-NEXT: addi sp, sp, 48
@@ -1672,8 +1672,8 @@ define { fp128, i32 } @test_frexp_f128_i32(fp128 %a) nounwind {
; RV64IZFINXZDINX-NEXT: mv a1, a3
; RV64IZFINXZDINX-NEXT: call frexpl
; RV64IZFINXZDINX-NEXT: lw a2, 12(sp)
-; RV64IZFINXZDINX-NEXT: sd a1, 8(s0)
; RV64IZFINXZDINX-NEXT: sd a0, 0(s0)
+; RV64IZFINXZDINX-NEXT: sd a1, 8(s0)
; RV64IZFINXZDINX-NEXT: sw a2, 16(s0)
; RV64IZFINXZDINX-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
; RV64IZFINXZDINX-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
@@ -1686,28 +1686,28 @@ define { fp128, i32 } @test_frexp_f128_i32(fp128 %a) nounwind {
; RV32I-NEXT: sw ra, 44(sp) # 4-byte Folded Spill
; RV32I-NEXT: sw s0, 40(sp) # 4-byte Folded Spill
; RV32I-NEXT: lw a3, 0(a1)
-; RV32I-NEXT: lw a2, 4(a1)
-; RV32I-NEXT: lw a4, 8(a1)
-; RV32I-NEXT: lw a1, 12(a1)
+; RV32I-NEXT: lw a4, 4(a1)
+; RV32I-NEXT: lw a5, 8(a1)
+; RV32I-NEXT: lw a6, 12(a1)
; RV32I-NEXT: mv s0, a0
-; RV32I-NEXT: sw a1, 12(sp)
-; RV32I-NEXT: sw a4, 8(sp)
-; RV32I-NEXT: sw a2, 4(sp)
; RV32I-NEXT: addi a0, sp, 16
; RV32I-NEXT: mv a1, sp
; RV32I-NEXT: addi a2, sp, 36
; RV32I-NEXT: sw a3, 0(sp)
+; RV32I-NEXT: sw a4, 4(sp)
+; RV32I-NEXT: sw a5, 8(sp)
+; RV32I-NEXT: sw a6, 12(sp)
; RV32I-NEXT: call frexpl
-; RV32I-NEXT: lw a0, 24(sp)
-; RV32I-NEXT: lw a1, 28(sp)
-; RV32I-NEXT: lw a2, 16(sp)
-; RV32I-NEXT: lw a3, 20(sp)
-; RV32I-NEXT: lw a4, 36(sp)
-; RV32I-NEXT: sw a1, 12(s0)
-; RV32I-NEXT: sw a0, 8(s0)
-; RV32I-NEXT: sw a3, 4(s0)
-; RV32I-NEXT: sw a2, 0(s0)
-; RV32I-NEXT: sw a4, 16(s0)
+; RV32I-NEXT: lw a0, 36(sp)
+; RV32I-NEXT: lw a1, 16(sp)
+; RV32I-NEXT: lw a2, 20(sp)
+; RV32I-NEXT: lw a3, 24(sp)
+; RV32I-NEXT: lw a4, 28(sp)
+; RV32I-NEXT: sw a1, 0(s0)
+; RV32I-NEXT: sw a2, 4(s0)
+; RV32I-NEXT: sw a3, 8(s0)
+; RV32I-NEXT: sw a4, 12(s0)
+; RV32I-NEXT: sw a0, 16(s0)
; RV32I-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
; RV32I-NEXT: lw s0, 40(sp) # 4-byte Folded Reload
; RV32I-NEXT: addi sp, sp, 48
@@ -1725,8 +1725,8 @@ define { fp128, i32 } @test_frexp_f128_i32(fp128 %a) nounwind {
; RV64I-NEXT: mv a1, a3
; RV64I-NEXT: call frexpl
; RV64I-NEXT: lw a2, 12(sp)
-; RV64I-NEXT: sd a1, 8(s0)
; RV64I-NEXT: sd a0, 0(s0)
+; RV64I-NEXT: sd a1, 8(s0)
; RV64I-NEXT: sw a2, 16(s0)
; RV64I-NEXT: ld ra, 24(sp) # 8-byte Folded Reload
; RV64I-NEXT: ld s0, 16(sp) # 8-byte Folded Reload
@@ -1743,26 +1743,26 @@ define fp128 @test_frexp_f128_i32_only_use_fract(fp128 %a) nounwind {
; RV32IFD-NEXT: sw ra, 44(sp) # 4-byte Folded Spill
; RV32IFD-NEXT: sw s0, 40(sp) # 4-byte Folded Spill
; RV32IFD-NEXT: lw a3, 0(a1)
-; RV32IFD-NEXT: lw a2, 4(a1)
-; RV32IFD-NEXT: lw a4, 8(a1)
-; RV32IFD-NEXT: lw a1, 12(a1)
+; RV32IFD-NEXT: lw a4, 4(a1)
+; RV32IFD-NEXT: lw a5, 8(a1)
+; RV32IFD-NEXT: lw a6, 12(a1)
; RV32IFD-NEXT: mv s0, a0
-; RV32IFD-NEXT: sw a1, 12(sp)
-; RV32IFD-NEXT: sw a4, 8(sp)
-; RV32IFD-NEXT: sw a2, 4(sp)
; RV32IFD-NEXT: addi a0, sp, 16
; RV32IFD-NEXT: mv a1, sp
; RV32IFD-NEXT: addi a2, sp, 36
; RV32IFD-NEXT: sw a3, 0(sp)
+; RV32IFD-NEXT: sw a4, 4(sp)
+; RV32IFD-NEXT: sw a5, 8(sp)
+; RV32IFD-NEXT: sw a6, 12(sp)
; RV32IFD-NEXT: call frexpl
-; RV32IFD-NEXT: lw a0, 28(sp)
-; RV32IFD-NEXT: lw a1, 24(sp)
-; RV32IFD-NEXT: lw a2, 20(sp)
-; RV32IFD-NEXT: lw a3, 16(sp)
-; RV32IFD-NEXT: sw a0, 12(s0)
-; RV32IFD-NEXT: sw a1, 8(s0)
-; RV32IFD-NEXT: sw a2, 4(s0)
-; RV32IFD-NEXT: sw a3, 0(s0)
+; RV32IFD-NEXT: lw a0, 16(sp)
+; RV32IFD-NEXT: lw a1, 20(sp)
+; RV32IFD-NEXT: lw a2, 24(sp)
+; RV32IFD-NEXT: lw a3, 28(sp)
+; RV32IFD-NEXT: sw a0, 0(s0)
+; RV32IFD-NEXT: sw a1, 4(s0)
+; RV32IFD-NEXT: sw a2, 8(s0)
+; RV32IFD-NEXT: sw a3, 12(s0)
; RV32IFD-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
; RV32IFD-NEXT: lw s0, 40(sp) # 4-byte Folded Reload
; RV32IFD-NEXT: addi sp, sp, 48
@@ -1784,26 +1784,26 @@ define fp128 @test_frexp_f128_i32_only_use_fract(fp128 %a) nounwind {
; RV32IZFINXZDINX-NEXT: sw ra, 44(sp) # 4-byte Folded Spill
; RV32IZFINXZDINX-NEXT: sw s0, 40(sp) # 4-byte Folded Spill
; RV32IZFINXZDINX-NEXT: lw a3, 0(a1)
-; RV32IZFINXZDINX-NEXT: lw a2, 4(a1)
-; RV32IZFINXZDINX-NEXT: lw a4, 8(a1)
-; RV32IZFINXZDINX-NEXT: lw a1, 12(a1)
+; RV32IZFINXZDINX-NEXT: lw a4, 4(a1)
+; RV32IZFINXZDINX-NEXT: lw a5, 8(a1)
+; RV32IZFINXZDINX-NEXT: lw a6, 12(a1)
; RV32IZFINXZDINX-NEXT: mv s0, a0
-; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
-; RV32IZFINXZDINX-NEXT: sw a4, 8(sp)
-; RV32IZFINXZDINX-NEXT: sw a2, 4(sp)
; RV32IZFINXZDINX-NEXT: addi a0, sp, 16
; RV32IZFINXZDINX-NEXT: mv a1, sp
; RV32IZFINXZDINX-NEXT: addi a2, sp, 36
; RV32IZFINXZDINX-NEXT: sw a3, 0(sp)
+; RV32IZFINXZDINX-NEXT: sw a4, 4(sp)
+; RV32IZFINXZDINX-NEXT: sw a5, 8(sp)
+; RV32IZFINXZDINX-NEXT: sw a6, 12(sp)
; RV32IZFINXZDINX-NEXT: call frexpl
-; RV32IZFINXZDINX-NEXT: lw a0, 28(sp)
-; RV32IZFINXZDINX-NEXT: lw a1, 24(sp)
-; RV32IZFINXZDINX-NEXT: lw a2, 20(sp)
-; RV32IZFINXZDINX-NEXT: lw a3, 16(sp)
-; RV32IZFINXZDINX-NEXT: sw a0, 12(s0)
-; RV32IZFINXZDINX-NEXT: sw a1, 8(s0)
-; RV32IZFINXZDINX-NEXT: sw a2, 4(s0)
-; RV32IZFINXZDINX-NEXT: sw a3, 0(s0)
+; RV32IZFINXZDINX-NEXT: lw a0, 16(sp)
+; RV32IZFINXZDINX-NEXT: lw a1, 20(sp)
+; RV32IZFINXZDINX-NEXT: lw a2, 24(sp)
+; RV32IZFINXZDINX-NEXT: lw a3, 28(sp)
+; RV32IZFINXZDINX-NEXT: sw a0, 0(s0)
+; RV32IZFINXZDINX-NEXT: sw a1, 4(s0)
+; RV32IZFINXZDINX-NEXT: sw a2, 8(s0)
+; RV32IZFINXZDINX-NEXT: sw a3, 12(s0)
; RV32IZFINXZDINX-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
; RV32IZFINXZDINX-NEXT: lw s0, 40(sp) # 4-byte Folded Reload
; RV32IZFINXZDINX-NEXT: addi sp, sp, 48
@@ -1825,26 +1825,26 @@ define fp128 @test_frexp_f128_i32_only_use_fract(fp128 %a) nounwind {
; RV32I-NEXT: sw ra, 44(sp) # 4-byte Folded Spill
; RV32I-NEXT: sw s0, 40(sp) # 4-byte Folded Spill
; RV32I-NEXT: lw a3, 0(a1)
-; RV32I-NEXT: lw a2, 4(a1)
-; RV32I-NEXT: lw a4, 8(a1)
-; RV32I-NEXT: lw a1, 12(a1)
+; RV32I-NEXT: lw a4, 4(a1)
+; RV32I-NEXT: lw a5, 8(a1)
+; RV32I-NEXT: lw a6, 12(a1)
; RV32I-NEXT: mv s0, a0
-; RV32I-NEXT: sw a1, 12(sp)
-; RV32I-NEXT: sw a4, 8(sp)
-; RV32I-NEXT: sw a2, 4(sp)
; RV32I-NEXT: addi a0, sp, 16
; RV32I-NEXT: mv a1, sp
; RV32I-NEXT: addi a2, sp, 36
; RV32I-NEXT: sw a3, 0(sp)
+; RV32I-NEXT: sw a4, 4(sp)
+; RV32I-NEXT: sw a5, 8(sp)
+; RV32I-NEXT: sw a6, 12(sp)
; RV32I-NEXT: call frexpl
-; RV32I-NEXT: lw a0, 28(sp)
-; RV32I-NEXT: lw a1, 24(sp)
-; RV32I-NEXT: lw a2, 20(sp)
-; RV32I-NEXT: lw a3, 16(sp)
-; RV32I-NEXT: sw a0, 12(s0)
-; RV32I-NEXT: sw a1, 8(s0)
-; RV32I-NEXT: sw a2, 4(s0)
-; RV32I-NEXT: sw a3, 0(s0)
+; RV32I-NEXT: lw a0, 16(sp)
+; RV32I-NEXT: lw a1, 20(sp)
+; RV32I-NEXT: lw a2, 24(sp)
+; RV32I-NEXT: lw a3, 28(sp)
+; RV32I-NEXT: sw a0, 0(s0)
+; RV32I-NEXT: sw a1, 4(s0)
+; RV32I-NEXT: sw a2, 8(s0)
+; RV32I-NEXT: sw a3, 12(s0)
; RV32I-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
; RV32I-NEXT: lw s0, 40(sp) # 4-byte Folded Reload
; RV32I-NEXT: addi sp, sp, 48
@@ -1870,16 +1870,16 @@ define i32 @test_frexp_f128_i32_only_use_exp(fp128 %a) nounwind {
; RV32IFD-NEXT: addi sp, sp, -48
; RV32IFD-NEXT: sw ra, 44(sp) # 4-byte Folded Spill
; RV32IFD-NEXT: lw a3, 0(a0)
-; RV32IFD-NEXT: lw a1, 4(a0)
-; RV32IFD-NEXT: lw a2, 8(a0)
-; RV32IFD-NEXT: lw a0, 12(a0)
-; RV32IFD-NEXT: sw a0, 20(sp)
-; RV32IFD-NEXT: sw a2, 16(sp)
-; RV32IFD-NEXT: sw a1, 12(sp)
+; RV32IFD-NEXT: lw a4, 4(a0)
+; RV32IFD-NEXT: lw a5, 8(a0)
+; RV32IFD-NEXT: lw a6, 12(a0)
; RV32IFD-NEXT: addi a0, sp, 24
; RV32IFD-NEXT: addi a1, sp, 8
; RV32IFD-NEXT: addi a2, sp, 40
; RV32IFD-NEXT: sw a3, 8(sp)
+; RV32IFD-NEXT: sw a4, 12(sp)
+; RV32IFD-NEXT: sw a5, 16(sp)
+; RV32IFD-NEXT: sw a6, 20(sp)
; RV32IFD-NEXT: call frexpl
; RV32IFD-NEXT: lw a0, 40(sp)
; RV32IFD-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
@@ -1902,16 +1902,16 @@ define i32 @test_frexp_f128_i32_only_use_exp(fp128 %a) nounwind {
; RV32IZFINXZDINX-NEXT: addi sp, sp, -48
; RV32IZFINXZDINX-NEXT: sw ra, 44(sp) # 4-byte Folded Spill
; RV32IZFINXZDINX-NEXT: lw a3, 0(a0)
-; RV32IZFINXZDINX-NEXT: lw a1, 4(a0)
-; RV32IZFINXZDINX-NEXT: lw a2, 8(a0)
-; RV32IZFINXZDINX-NEXT: lw a0, 12(a0)
-; RV32IZFINXZDINX-NEXT: sw a0, 20(sp)
-; RV32IZFINXZDINX-NEXT: sw a2, 16(sp)
-; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
+; RV32IZFINXZDINX-NEXT: lw a4, 4(a0)
+; RV32IZFINXZDINX-NEXT: lw a5, 8(a0)
+; RV32IZFINXZDINX-NEXT: lw a6, 12(a0)
; RV32IZFINXZDINX-NEXT: addi a0, sp, 24
; RV32IZFINXZDINX-NEXT: addi a1, sp, 8
; RV32IZFINXZDINX-NEXT: addi a2, sp, 40
; RV32IZFINXZDINX-NEXT: sw a3, 8(sp)
+; RV32IZFINXZDINX-NEXT: sw a4, 12(sp)
+; RV32IZFINXZDINX-NEXT: sw a5, 16(sp)
+; RV32IZFINXZDINX-NEXT: sw a6, 20(sp)
; RV32IZFINXZDINX-NEXT: call frexpl
; RV32IZFINXZDINX-NEXT: lw a0, 40(sp)
; RV32IZFINXZDINX-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
@@ -1934,16 +1934,16 @@ define i32 @test_frexp_f128_i32_only_use_exp(fp128 %a) nounwind {
; RV32I-NEXT: addi sp, sp, -48
; RV32I-NEXT: sw ra, 44(sp) # 4-byte Folded Spill
; RV32I-NEXT: lw a3, 0(a0)
-; RV32I-NEXT: lw a1, 4(a0)
-; RV32I-NEXT: lw a2, 8(a0)
-; RV32I-NEXT: lw a0, 12(a0)
-; RV32I-NEXT: sw a0, 20(sp)
-; RV32I-NEXT: sw a2, 16(sp)
-; RV32I-NEXT: sw a1, 12(sp)
+; RV32I-NEXT: lw a4, 4(a0)
+; RV32I-NEXT: lw a5, 8(a0)
+; RV32I-NEXT: lw a6, 12(a0)
; RV32I-NEXT: addi a0, sp, 24
; RV32I-NEXT: addi a1, sp, 8
; RV32I-NEXT: addi a2, sp, 40
; RV32I-NEXT: sw a3, 8(sp)
+; RV32I-NEXT: sw a4, 12(sp)
+; RV32I-NEXT: sw a5, 16(sp)
+; RV32I-NEXT: sw a6, 20(sp)
; RV32I-NEXT: call frexpl
; RV32I-NEXT: lw a0, 40(sp)
; RV32I-NEXT: lw ra, 44(sp) # 4-byte Folded Reload