This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Don't redefine ROUNDING_TESTS_* in math/test-*-vlen*.h [committed]


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.  Committed.

2018-08-22  Joseph Myers  <joseph@codesourcery.com>

	* 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.

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		\
diff --git a/math/test-double-vlen2.h b/math/test-double-vlen2.h
index 12f37bab85..6c39e6da5f 100644
--- a/math/test-double-vlen2.h
+++ b/math/test-double-vlen2.h
@@ -19,10 +19,6 @@
 #include "test-double.h"
 #include "test-math-no-inline.h"
 #include "test-math-vector.h"
-#include <math-tests-rounding.h>
-
-#undef ROUNDING_TESTS_double
-#define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)
 
 #define VEC_SUFF _vlen2
 #define VEC_LEN 2
diff --git a/math/test-double-vlen4.h b/math/test-double-vlen4.h
index a28fef367c..3193bc0915 100644
--- a/math/test-double-vlen4.h
+++ b/math/test-double-vlen4.h
@@ -19,10 +19,6 @@
 #include "test-double.h"
 #include "test-math-no-inline.h"
 #include "test-math-vector.h"
-#include <math-tests-rounding.h>
-
-#undef ROUNDING_TESTS_double
-#define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)
 
 #define VEC_SUFF _vlen4
 #define VEC_LEN 4
diff --git a/math/test-double-vlen8.h b/math/test-double-vlen8.h
index 93e4daba2a..d769da9903 100644
--- a/math/test-double-vlen8.h
+++ b/math/test-double-vlen8.h
@@ -19,10 +19,6 @@
 #include "test-double.h"
 #include "test-math-no-inline.h"
 #include "test-math-vector.h"
-#include <math-tests-rounding.h>
-
-#undef ROUNDING_TESTS_double
-#define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)
 
 #define VEC_SUFF _vlen8
 #define VEC_LEN 8
diff --git a/math/test-float-vlen16.h b/math/test-float-vlen16.h
index 3cdd97dabf..a9353e3d6d 100644
--- a/math/test-float-vlen16.h
+++ b/math/test-float-vlen16.h
@@ -19,10 +19,6 @@
 #include "test-float.h"
 #include "test-math-no-inline.h"
 #include "test-math-vector.h"
-#include <math-tests-rounding.h>
-
-#undef ROUNDING_TESTS_float
-#define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)
 
 #define VEC_SUFF _vlen16
 #define VEC_LEN 16
diff --git a/math/test-float-vlen4.h b/math/test-float-vlen4.h
index 76374b98fe..cd01d1070e 100644
--- a/math/test-float-vlen4.h
+++ b/math/test-float-vlen4.h
@@ -19,10 +19,6 @@
 #include "test-float.h"
 #include "test-math-no-inline.h"
 #include "test-math-vector.h"
-#include <math-tests-rounding.h>
-
-#undef ROUNDING_TESTS_float
-#define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)
 
 #define VEC_SUFF _vlen4
 #define VEC_LEN 4
diff --git a/math/test-float-vlen8.h b/math/test-float-vlen8.h
index b44d00e0ac..1552781108 100644
--- a/math/test-float-vlen8.h
+++ b/math/test-float-vlen8.h
@@ -19,10 +19,6 @@
 #include "test-float.h"
 #include "test-math-no-inline.h"
 #include "test-math-vector.h"
-#include <math-tests-rounding.h>
-
-#undef ROUNDING_TESTS_float
-#define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)
 
 #define VEC_SUFF _vlen8
 #define VEC_LEN 8

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]