aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog17
-rw-r--r--math/libm-test-driver.c3
-rw-r--r--math/test-double-vlen2.h4
-rw-r--r--math/test-double-vlen4.h4
-rw-r--r--math/test-double-vlen8.h4
-rw-r--r--math/test-float-vlen16.h4
-rw-r--r--math/test-float-vlen4.h4
-rw-r--r--math/test-float-vlen8.h4
8 files changed, 20 insertions, 24 deletions
diff --git a/ChangeLog b/ChangeLog
index 0f435dc..923f1f1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,22 @@
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.
+
* sysdeps/generic/math-tests-rounding.h: New file.
* sysdeps/generic/math-tests.h: Include <math-tests-rounding.h>.
(ROUNDING_TESTS_float): Do not define here.
diff --git a/math/libm-test-driver.c b/math/libm-test-driver.c
index 2bbfdef..665274d 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 12f37ba..6c39e6d 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 a28fef3..3193bc0 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 93e4dab..d769da9 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 3cdd97d..a9353e3 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 76374b9..cd01d10 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 b44d00e..1552781 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