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.
This commit is contained in:
parent
16a25138c1
commit
debc4c9870
17
ChangeLog
17
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.
|
||||
|
@ -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 \
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user