From patchwork Wed Aug 22 15:22:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 29013 Received: (qmail 70008 invoked by alias); 22 Aug 2018 15:22:56 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 69993 invoked by uid 89); 22 Aug 2018 15:22:55 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-24.5 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS, URIBL_RED autolearn=ham version=3.3.2 spammy= X-HELO: relay1.mentorg.com Date: Wed, 22 Aug 2018 15:22:48 +0000 From: Joseph Myers To: Subject: Don't redefine ROUNDING_TESTS_* in math/test-*-vlen*.h [committed] Message-ID: User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 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 * math/test-double-vlen2.h: Don't include . (ROUNDING_TESTS_double): Remove. * math/test-double-vlen4.h: Don't include . (ROUNDING_TESTS_double): Remove. * math/test-double-vlen8.h: Don't include . (ROUNDING_TESTS_double): Remove. * math/test-float-vlen16.h: Don't include . (ROUNDING_TESTS_float): Remove. * math/test-float-vlen4.h: Don't include . (ROUNDING_TESTS_float): Remove. * math/test-float-vlen8.h: Don't include . (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 - -#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 - -#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 - -#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 - -#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 - -#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 - -#undef ROUNDING_TESTS_float -#define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST) #define VEC_SUFF _vlen8 #define VEC_LEN 8