summary refs log tree commit diff
path: root/math/libm-test-driver.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-08-22 15:22:06 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-08-22 15:22:06 +0000
commitdebc4c9870dcf9f495561d3f7d8afd52878fecf0 (patch)
tree5ff16e11d43ca671d8ddda6b1ea3cc416dfa90b5 /math/libm-test-driver.c
parent16a25138c13c9d687a9bc2b130e1aea4d26257b7 (diff)
downloadglibc-debc4c9870dcf9f495561d3f7d8afd52878fecf0.tar.gz
glibc-debc4c9870dcf9f495561d3f7d8afd52878fecf0.tar.xz
glibc-debc4c9870dcf9f495561d3f7d8afd52878fecf0.zip
Don't redefine ROUNDING_TESTS_* in math/test-*-vlen*.h.
This patch completes the move of ROUNDING_TESTS_* macros to typo-proof
conventions by stopping redefining them in test-*-vlen*.h.  Instead,
libm-test-driver.c is made to check TEST_MATHVEC when setting
non-to-nearest rounding modes.

Tested for x86_64.

	* math/test-double-vlen2.h: Don't include <math-tests-rounding.h>.
	(ROUNDING_TESTS_double): Remove.
	* math/test-double-vlen4.h: Don't include <math-tests-rounding.h>.
	(ROUNDING_TESTS_double): Remove.
	* math/test-double-vlen8.h: Don't include <math-tests-rounding.h>.
	(ROUNDING_TESTS_double): Remove.
	* math/test-float-vlen16.h: Don't include <math-tests-rounding.h>.
	(ROUNDING_TESTS_float): Remove.
	* math/test-float-vlen4.h: Don't include <math-tests-rounding.h>.
	(ROUNDING_TESTS_float): Remove.
	* math/test-float-vlen8.h: Don't include <math-tests-rounding.h>.
	(ROUNDING_TESTS_float): Remove.
	* math/libm-test-driver.c (IF_ROUND_INIT_FE_DOWNWARD): Check
	!TEST_MATHVEC here.
	(IF_ROUND_INIT_FE_TOWARDZERO): Likewise.
	(IF_ROUND_INIT_FE_UPWARD): Likewise.
Diffstat (limited to 'math/libm-test-driver.c')
-rw-r--r--math/libm-test-driver.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/math/libm-test-driver.c b/math/libm-test-driver.c
index 2bbfdef242..665274d1c5 100644
--- a/math/libm-test-driver.c
+++ b/math/libm-test-driver.c
@@ -389,6 +389,7 @@ struct test_Ff_b1_data
 #define IF_ROUND_INIT_FE_DOWNWARD		\
   int save_round_mode = fegetround ();		\
   if (ROUNDING_TESTS (FLOAT, FE_DOWNWARD)	\
+      && !TEST_MATHVEC				\
       && fesetround (FE_DOWNWARD) == 0)
 #define IF_ROUND_INIT_FE_TONEAREST		\
   int save_round_mode = fegetround ();		\
@@ -397,10 +398,12 @@ struct test_Ff_b1_data
 #define IF_ROUND_INIT_FE_TOWARDZERO		\
   int save_round_mode = fegetround ();		\
   if (ROUNDING_TESTS (FLOAT, FE_TOWARDZERO)	\
+      && !TEST_MATHVEC				\
       && fesetround (FE_TOWARDZERO) == 0)
 #define IF_ROUND_INIT_FE_UPWARD			\
   int save_round_mode = fegetround ();		\
   if (ROUNDING_TESTS (FLOAT, FE_UPWARD)		\
+      && !TEST_MATHVEC				\
       && fesetround (FE_UPWARD) == 0)
 #define ROUND_RESTORE_	/* Empty.  */
 #define ROUND_RESTORE_FE_DOWNWARD		\