File tree 2 files changed +16
-1
lines changed
test/CodeGen/ARM/GlobalISel 2 files changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -223,7 +223,8 @@ ARMLegalizerInfo::ARMLegalizerInfo(const ARMSubtarget &ST) {
223
223
getActionDefinitionsBuilder ({G_SITOFP, G_UITOFP})
224
224
.libcallForCartesianProduct ({s32, s64}, {s32});
225
225
226
- getActionDefinitionsBuilder ({G_GET_FPENV, G_SET_FPENV}).libcall ();
226
+ getActionDefinitionsBuilder ({G_GET_FPENV, G_SET_FPENV, G_RESET_FPENV})
227
+ .libcall ();
227
228
}
228
229
229
230
// Just expand whatever loads and stores are left.
Original file line number Diff line number Diff line change @@ -74,5 +74,19 @@ entry:
74
74
ret void
75
75
}
76
76
77
+ define void @func_reset_soft () #0 {
78
+ ; CHECK-LABEL: func_reset_soft:
79
+ ; CHECK: @ %bb.0: @ %entry
80
+ ; CHECK-NEXT: .save {r11, lr}
81
+ ; CHECK-NEXT: push {r11, lr}
82
+ ; CHECK-NEXT: mvn r0, #0
83
+ ; CHECK-NEXT: bl fesetenv
84
+ ; CHECK-NEXT: pop {r11, lr}
85
+ ; CHECK-NEXT: mov pc, lr
86
+ entry:
87
+ call void @llvm.reset.fpenv ()
88
+ ret void
89
+ }
90
+
77
91
attributes #0 = { nounwind "use-soft-float" ="true" }
78
92
You can’t perform that action at this time.
0 commit comments