@@ -1086,19 +1086,21 @@ define <4 x i32> @test_frexp_v4f32_v4i32_only_use_exp(<4 x float> %a) nounwind {
1086
1086
; RV32IFD-NEXT: fsd fs0, 16(sp) # 8-byte Folded Spill
1087
1087
; RV32IFD-NEXT: fsd fs1, 8(sp) # 8-byte Folded Spill
1088
1088
; RV32IFD-NEXT: fsd fs2, 0(sp) # 8-byte Folded Spill
1089
- ; RV32IFD-NEXT: fmv.s fs0, fa3
1090
- ; RV32IFD-NEXT: fmv.s fs1, fa2
1091
- ; RV32IFD-NEXT: fmv.s fs2, fa1
1089
+ ; RV32IFD-NEXT: fmv.s fs0, fa2
1090
+ ; RV32IFD-NEXT: fmv.s fs1, fa1
1091
+ ; RV32IFD-NEXT: fmv.s fs2, fa0
1092
1092
; RV32IFD-NEXT: mv s0, a0
1093
+ ; RV32IFD-NEXT: addi a0, a0, 12
1094
+ ; RV32IFD-NEXT: fmv.s fa0, fa3
1093
1095
; RV32IFD-NEXT: call frexpf
1094
- ; RV32IFD-NEXT: addi a0, s0, 12
1096
+ ; RV32IFD-NEXT: addi a0, s0, 8
1095
1097
; RV32IFD-NEXT: fmv.s fa0, fs0
1096
1098
; RV32IFD-NEXT: call frexpf
1097
- ; RV32IFD-NEXT: addi a0, s0, 8
1099
+ ; RV32IFD-NEXT: addi a0, s0, 4
1098
1100
; RV32IFD-NEXT: fmv.s fa0, fs1
1099
1101
; RV32IFD-NEXT: call frexpf
1100
- ; RV32IFD-NEXT: addi a0, s0, 4
1101
1102
; RV32IFD-NEXT: fmv.s fa0, fs2
1103
+ ; RV32IFD-NEXT: mv a0, s0
1102
1104
; RV32IFD-NEXT: call frexpf
1103
1105
; RV32IFD-NEXT: lw ra, 28(sp) # 4-byte Folded Reload
1104
1106
; RV32IFD-NEXT: lw s0, 24(sp) # 4-byte Folded Reload
@@ -1155,21 +1157,21 @@ define <4 x i32> @test_frexp_v4f32_v4i32_only_use_exp(<4 x float> %a) nounwind {
1155
1157
; RV32IZFINXZDINX-NEXT: sw s1, 20(sp) # 4-byte Folded Spill
1156
1158
; RV32IZFINXZDINX-NEXT: sw s2, 16(sp) # 4-byte Folded Spill
1157
1159
; RV32IZFINXZDINX-NEXT: sw s3, 12(sp) # 4-byte Folded Spill
1158
- ; RV32IZFINXZDINX-NEXT: mv s0, a4
1159
- ; RV32IZFINXZDINX-NEXT: mv s1, a3
1160
- ; RV32IZFINXZDINX-NEXT: mv s2, a2
1160
+ ; RV32IZFINXZDINX-NEXT: mv s0, a3
1161
+ ; RV32IZFINXZDINX-NEXT: mv s1, a2
1162
+ ; RV32IZFINXZDINX-NEXT: mv s2, a1
1161
1163
; RV32IZFINXZDINX-NEXT: mv s3, a0
1162
- ; RV32IZFINXZDINX-NEXT: mv a0, a1
1163
- ; RV32IZFINXZDINX-NEXT: mv a1, s3
1164
+ ; RV32IZFINXZDINX-NEXT: addi a1, a0, 12
1165
+ ; RV32IZFINXZDINX-NEXT: mv a0, a4
1164
1166
; RV32IZFINXZDINX-NEXT: call frexpf
1165
- ; RV32IZFINXZDINX-NEXT: addi a1, s3, 12
1167
+ ; RV32IZFINXZDINX-NEXT: addi a1, s3, 8
1166
1168
; RV32IZFINXZDINX-NEXT: mv a0, s0
1167
1169
; RV32IZFINXZDINX-NEXT: call frexpf
1168
- ; RV32IZFINXZDINX-NEXT: addi a1, s3, 8
1170
+ ; RV32IZFINXZDINX-NEXT: addi a1, s3, 4
1169
1171
; RV32IZFINXZDINX-NEXT: mv a0, s1
1170
1172
; RV32IZFINXZDINX-NEXT: call frexpf
1171
- ; RV32IZFINXZDINX-NEXT: addi a1, s3, 4
1172
1173
; RV32IZFINXZDINX-NEXT: mv a0, s2
1174
+ ; RV32IZFINXZDINX-NEXT: mv a1, s3
1173
1175
; RV32IZFINXZDINX-NEXT: call frexpf
1174
1176
; RV32IZFINXZDINX-NEXT: lw ra, 28(sp) # 4-byte Folded Reload
1175
1177
; RV32IZFINXZDINX-NEXT: lw s0, 24(sp) # 4-byte Folded Reload
0 commit comments