Update MIPS math-tests.h for GCC 4.9 using soft-fp.

GCC trunk now uses soft-fp for MIPS64 long double, so supporting
integration with hardware exceptions and rounding modes.  This patch
updates MIPS math-tests.h accordingly not to disable exception and
rounding mode tests in this case.

Tested mips64 and ulps updated to reflect the newly run tests.

	* sysdeps/mips/math-tests.h: Include <features.h>.
	[!__mips_soft_float && _MIPS_SIM != _ABIO32 && __GNUC_PREREQ (4, 9)]
	(ROUNDING_TESTS_long_double): Do not define.
	[!__mips_soft_float && _MIPS_SIM != _ABIO32 && __GNUC_PREREQ (4, 9)]
	(EXCEPTION_TESTS_long_double): Likewise.
	* sysdeps/mips/mips64/libm-test-ulps: Update.
This commit is contained in:
Joseph Myers 2014-02-13 00:46:45 +00:00
parent 498afc54df
commit 743151aeae
3 changed files with 2207 additions and 4 deletions

View File

@ -1,5 +1,12 @@
2014-02-12 Joseph Myers <joseph@codesourcery.com>
* sysdeps/mips/math-tests.h: Include <features.h>.
[!__mips_soft_float && _MIPS_SIM != _ABIO32 && __GNUC_PREREQ (4, 9)]
(ROUNDING_TESTS_long_double): Do not define.
[!__mips_soft_float && _MIPS_SIM != _ABIO32 && __GNUC_PREREQ (4, 9)]
(EXCEPTION_TESTS_long_double): Likewise.
* sysdeps/mips/mips64/libm-test-ulps: Update.
* include/features.h (__USE_BSD): Remove macro definitions.
(__USE_SVID): Likewise.
(_BSD_SOURCE): Likewise.

View File

@ -16,12 +16,13 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#include <features.h>
#include <sgidefs.h>
/* MIPS soft float does not support exceptions and rounding modes, and
long double when wider than double is implemented using fp-bit
which does not integrate with hardware exceptions and rounding
modes. */
before GCC 4.9 long double when wider than double is implemented
using fp-bit which does not integrate with hardware exceptions and
rounding modes. */
#ifdef __mips_soft_float
# define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)
# define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)
@ -29,7 +30,7 @@
# define EXCEPTION_TESTS_float 0
# define EXCEPTION_TESTS_double 0
# define EXCEPTION_TESTS_long_double 0
#elif _MIPS_SIM != _ABIO32
#elif _MIPS_SIM != _ABIO32 && !__GNUC_PREREQ (4, 9)
# define ROUNDING_TESTS_long_double(MODE) ((MODE) == FE_TONEAREST)
# define EXCEPTION_TESTS_long_double 0
#endif

File diff suppressed because it is too large Load Diff