aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mips/math-tests.h
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-02-13 00:46:45 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-02-13 00:46:45 +0000
commit743151aeaedc113900805523195fc3d9cff0bdb6 (patch)
tree3450555292a73671cbb58b909a7ecb4714b94d29 /sysdeps/mips/math-tests.h
parent498afc54dfee41d33ba519f496e96480badace8e (diff)
downloadglibc-743151aeaedc113900805523195fc3d9cff0bdb6.zip
glibc-743151aeaedc113900805523195fc3d9cff0bdb6.tar.gz
glibc-743151aeaedc113900805523195fc3d9cff0bdb6.tar.bz2
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.
Diffstat (limited to 'sysdeps/mips/math-tests.h')
-rw-r--r--sysdeps/mips/math-tests.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/sysdeps/mips/math-tests.h b/sysdeps/mips/math-tests.h
index 7be1326..3f6ae3f 100644
--- a/sysdeps/mips/math-tests.h
+++ b/sysdeps/mips/math-tests.h
@@ -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