diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/math-tests-snan-payload.h | 28 | ||||
-rw-r--r-- | sysdeps/generic/math-tests.h | 9 | ||||
-rw-r--r-- | sysdeps/hppa/math-tests-snan-payload.h (renamed from sysdeps/hppa/math-tests.h) | 7 | ||||
-rw-r--r-- | sysdeps/mips/math-tests-snan-payload.h | 30 | ||||
-rw-r--r-- | sysdeps/mips/math-tests.h | 6 | ||||
-rw-r--r-- | sysdeps/riscv/math-tests-snan-payload.h | 26 | ||||
-rw-r--r-- | sysdeps/riscv/math-tests.h | 3 |
7 files changed, 90 insertions, 19 deletions
diff --git a/sysdeps/generic/math-tests-snan-payload.h b/sysdeps/generic/math-tests-snan-payload.h new file mode 100644 index 0000000000..ae63e6f30d --- /dev/null +++ b/sysdeps/generic/math-tests-snan-payload.h @@ -0,0 +1,28 @@ +/* Configuration for math tests: sNaN payloads. Generic version. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef _MATH_TESTS_SNAN_PAYLOAD_H +#define _MATH_TESTS_SNAN_PAYLOAD_H 1 + +/* Indicate whether operations on signaling NaNs preserve the payload + (if possible; it is not possible with a zero payload if the high + bit is set for signaling NaNs) when generating a quiet NaN, and + this should be tested. */ +#define SNAN_TESTS_PRESERVE_PAYLOAD 1 + +#endif /* math-tests-snan-payload.h. */ diff --git a/sysdeps/generic/math-tests.h b/sysdeps/generic/math-tests.h index 8f5f80635b..a768ab82e0 100644 --- a/sysdeps/generic/math-tests.h +++ b/sysdeps/generic/math-tests.h @@ -52,14 +52,6 @@ /* Return nonzero value if to run tests involving sNaN values for X. */ #define SNAN_TESTS(x) MATH_TESTS_TG (SNAN_TESTS_, , x) -/* Indicate whether operations on signaling NaNs preserve the payload - (if possible; it is not possible with a zero payload if the high - bit is set for signaling NaNs) when generating a quiet NaN, and - this should be tested. */ -#ifndef SNAN_TESTS_PRESERVE_PAYLOAD -# define SNAN_TESTS_PRESERVE_PAYLOAD 1 -#endif - /* Indicate whether to run tests involving a given rounding mode for a given floating-point type, given that fesetround succeeds for that mode. All are run if fesetround succeeds unless overridden. */ @@ -118,3 +110,4 @@ #endif #include <math-tests-snan-cast.h> +#include <math-tests-snan-payload.h> diff --git a/sysdeps/hppa/math-tests.h b/sysdeps/hppa/math-tests-snan-payload.h index 2fb3a55899..aa4e0a044f 100644 --- a/sysdeps/hppa/math-tests.h +++ b/sysdeps/hppa/math-tests-snan-payload.h @@ -1,4 +1,4 @@ -/* Configuration for math tests. hppa version. +/* Configuration for math tests: sNaN payloads. hppa version. Copyright (C) 2017-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -16,7 +16,10 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#ifndef HPPA_MATH_TESTS_SNAN_PAYLOAD_H +#define HPPA_MATH_TESTS_SNAN_PAYLOAD_H 1 + /* SNaN tests do not preserve payloads. */ #define SNAN_TESTS_PRESERVE_PAYLOAD 0 -#include_next <math-tests.h> +#endif /* math-tests-snan-payload.h. */ diff --git a/sysdeps/mips/math-tests-snan-payload.h b/sysdeps/mips/math-tests-snan-payload.h new file mode 100644 index 0000000000..cb2cae5729 --- /dev/null +++ b/sysdeps/mips/math-tests-snan-payload.h @@ -0,0 +1,30 @@ +/* Configuration for math tests: sNaN payloads. MIPS version. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef MIPS_MATH_TESTS_SNAN_PAYLOAD_H +#define MIPS_MATH_TESTS_SNAN_PAYLOAD_H 1 + +/* NaN payload preservation when converting a signaling NaN to quiet + is only required in NAN2008 mode. */ +#ifdef __mips_nan2008 +# define SNAN_TESTS_PRESERVE_PAYLOAD 1 +#else +# define SNAN_TESTS_PRESERVE_PAYLOAD 0 +#endif + +#endif /* math-tests-snan-payload.h. */ diff --git a/sysdeps/mips/math-tests.h b/sysdeps/mips/math-tests.h index 941d38bdf0..8e0b98bfef 100644 --- a/sysdeps/mips/math-tests.h +++ b/sysdeps/mips/math-tests.h @@ -29,10 +29,4 @@ # define EXCEPTION_TESTS_long_double 0 #endif -/* NaN payload preservation when converting a signaling NaN to quiet - is only required in NAN2008 mode. */ -#ifndef __mips_nan2008 -# define SNAN_TESTS_PRESERVE_PAYLOAD 0 -#endif - #include_next <math-tests.h> diff --git a/sysdeps/riscv/math-tests-snan-payload.h b/sysdeps/riscv/math-tests-snan-payload.h new file mode 100644 index 0000000000..81849e2635 --- /dev/null +++ b/sysdeps/riscv/math-tests-snan-payload.h @@ -0,0 +1,26 @@ +/* Configuration for math tests: sNaN payloads. RISC-V version. + Copyright (C) 2016-2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef RISCV_MATH_TESTS_SNAN_PAYLOAD_H +#define RISCV_MATH_TESTS_SNAN_PAYLOAD_H 1 + +/* RISC-V floating-point instructions do not preserve NaN + payloads. */ +#define SNAN_TESTS_PRESERVE_PAYLOAD 0 + +#endif /* math-tests-snan-payload.h. */ diff --git a/sysdeps/riscv/math-tests.h b/sysdeps/riscv/math-tests.h index 32a8356a78..3db33b0e9a 100644 --- a/sysdeps/riscv/math-tests.h +++ b/sysdeps/riscv/math-tests.h @@ -36,7 +36,4 @@ # define ROUNDING_TESTS_long_double(MODE) ((MODE) == FE_TONEAREST) #endif -/* RISC-V floating-point instructions do not preserve NaN payloads. */ -#define SNAN_TESTS_PRESERVE_PAYLOAD 0 - #include_next <math-tests.h> |