The explicit integer bit is "don't care" for infinity, and now that it's

included in ext_frach, it needs to be masked off when testing for an
infinity value.  Fixes the ieeefp/infinity regression test on the 68060
which clears the explicity integer bit when loading an infinity value.
This commit is contained in:
mhitch 2009-01-30 07:00:45 +00:00
parent 990ca9e392
commit 86223c379c

View File

@ -1,4 +1,4 @@
/* $NetBSD: isinfl.c,v 1.5 2008/01/10 00:34:27 martin Exp $ */
/* $NetBSD: isinfl.c,v 1.6 2009/01/30 07:00:45 mhitch Exp $ */
/*
* Copyright (c) 1992, 1993
@ -40,7 +40,7 @@
#if 0
static char sccsid[] = "@(#)isinf.c 8.1 (Berkeley) 6/4/93";
#else
__RCSID("$NetBSD: isinfl.c,v 1.5 2008/01/10 00:34:27 martin Exp $");
__RCSID("$NetBSD: isinfl.c,v 1.6 2009/01/30 07:00:45 mhitch Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@ -60,5 +60,5 @@ __isinfl(long double x)
/* Note: the explicit integer bit is "don't care". */
return (u.extu_ext.ext_exp == EXT_EXP_INFNAN &&
(u.extu_ext.ext_frach == 0x80000000 && u.extu_ext.ext_fracl == 0));
((u.extu_ext.ext_frach & 0x7fffffff) == 0 && u.extu_ext.ext_fracl == 0));
}