File tree Expand file tree Collapse file tree 1 file changed +7
-21
lines changed Expand file tree Collapse file tree 1 file changed +7
-21
lines changed Original file line number Diff line number Diff line change @@ -85,10 +85,13 @@ pub fn default_ulp(ctx: &CheckCtx) -> u32 {
85
85
86
86
// These have a separate implementation on i586
87
87
if cfg ! ( x86_no_sse) {
88
- match ctx. base_name {
89
- Bn :: Exp => ulp = 1 ,
90
- Bn :: Exp2 => ulp = 1 ,
91
- Bn :: Exp10 => ulp = 1 ,
88
+ match ctx. fn_ident {
89
+ Id :: Exp => ulp = 1 ,
90
+ Id :: Exp2 => ulp = 1 ,
91
+ Id :: Exp10 => ulp = 1 ,
92
+ Id :: Expf => ulp = 0 ,
93
+ Id :: Exp2f => ulp = 0 ,
94
+ Id :: Exp10f => ulp = 0 ,
92
95
_ => ( ) ,
93
96
}
94
97
}
@@ -226,15 +229,6 @@ impl MaybeOverride<(f32,)> for SpecialCase {
226
229
return XFAIL ( "expm1 representable numbers" ) ;
227
230
}
228
231
229
- if cfg ! ( x86_no_sse)
230
- && ctx. base_name == BaseName :: Exp2
231
- && !expected. is_infinite ( )
232
- && actual. is_infinite ( )
233
- {
234
- // We return infinity when there is a representable value. Test input: 127.97238
235
- return XFAIL ( "586 exp2 representable numbers" ) ;
236
- }
237
-
238
232
if ctx. base_name == BaseName :: Sinh && input. 0 . abs ( ) > 80.0 && actual. is_nan ( ) {
239
233
// we return some NaN that should be real values or infinite
240
234
if ctx. basis == CheckBasis :: Musl {
@@ -286,14 +280,6 @@ impl MaybeOverride<(f64,)> for SpecialCase {
286
280
return XFAIL ( "i586 rint rounding mode" ) ;
287
281
}
288
282
289
- if cfg ! ( x86_no_sse)
290
- && ( ctx. fn_ident == Identifier :: Exp10 || ctx. fn_ident == Identifier :: Exp2 )
291
- {
292
- // FIXME: i586 has very imprecise results with ULP > u32::MAX for these
293
- // operations so we can't reasonably provide a limit.
294
- return XFAIL_NOCHECK ;
295
- }
296
-
297
283
if ctx. base_name == BaseName :: J0 && input. 0 < -1e300 {
298
284
// Errors get huge close to -inf
299
285
return XFAIL_NOCHECK ;
You can’t perform that action at this time.
0 commit comments