summaryrefslogtreecommitdiff
path: root/sysdeps/mips
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-01-02 20:28:36 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-01-02 20:28:36 +0000
commitf39cd196c63fe3fe7a93168aa1c1e4e65b2fb2e3 (patch)
tree73db50a3071654ad587438456b004c22eaef1ee5 /sysdeps/mips
parent23d27709a423aec32821e9a5198a10267107bae2 (diff)
downloadglibc-f39cd196c63fe3fe7a93168aa1c1e4e65b2fb2e3.tar.gz
Correct MIPS math-tests.h condition for sNaN payload preservation.
Testing for MIPS soft float shows that the issue with NaN payload preservation applies to soft float as well as hard float: the sfp-machine.h emulates hardware non-preservation semantics, although only for the case of two NaN arguments. This patch duly changes the MIPS math-tests.h to expect such non-preservation for soft float as well as hard float. The issue in the NAN2008 case for which I posted <https://gcc.gnu.org/ml/gcc-patches/2017-01/msg00034.html>, of sNaN payloads being preserved but qNaN payloads not being preserved, is not currently an issue for glibc tests because we don't have any tests that check for qNaN payloads being preserved by arithmetic, so a simple __mips_nan2008 conditional suffices without needing compiler version checks in the __mips_nan2008 case. Tested for mips64 soft float. * sysdeps/mips/math-tests.h (SNAN_TESTS_PRESERVE_PAYLOAD): Do not condition on [__mips_hard_float].
Diffstat (limited to 'sysdeps/mips')
-rw-r--r--sysdeps/mips/math-tests.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sysdeps/mips/math-tests.h b/sysdeps/mips/math-tests.h
index caa2b4f949..7680db21ee 100644
--- a/sysdeps/mips/math-tests.h
+++ b/sysdeps/mips/math-tests.h
@@ -37,7 +37,7 @@
/* NaN payload preservation when converting a signaling NaN to quiet
is only required in NAN2008 mode. */
-#if defined __mips_hard_float && !defined __mips_nan2008
+#ifndef __mips_nan2008
# define SNAN_TESTS_PRESERVE_PAYLOAD 0
#endif