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 {
8585
8686 // These have a separate implementation on i586
8787 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 ,
9295 _ => ( ) ,
9396 }
9497 }
@@ -226,15 +229,6 @@ impl MaybeOverride<(f32,)> for SpecialCase {
226229 return XFAIL ( "expm1 representable numbers" ) ;
227230 }
228231
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-
238232 if ctx. base_name == BaseName :: Sinh && input. 0 . abs ( ) > 80.0 && actual. is_nan ( ) {
239233 // we return some NaN that should be real values or infinite
240234 if ctx. basis == CheckBasis :: Musl {
@@ -286,14 +280,6 @@ impl MaybeOverride<(f64,)> for SpecialCase {
286280 return XFAIL ( "i586 rint rounding mode" ) ;
287281 }
288282
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-
297283 if ctx. base_name == BaseName :: J0 && input. 0 < -1e300 {
298284 // Errors get huge close to -inf
299285 return XFAIL_NOCHECK ;
You can’t perform that action at this time.
0 commit comments