From b4e4172da6d43ac47cdf6763b3531e5e23102ff9 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 14 Feb 2017 00:15:48 +0000 Subject: [PATCH] Move INIT_ARCH_EXT call from libm-test-support to libm-test-driver. libmvec tests involve calling INIT_ARCH_EXT during initialization then CHECK_ARCH_EXT before testing each function to see if the processor being used for testing supports the required instruction set extensions. After my refactoring of libm-test infrastructure, the INIT_ARCH_EXT call is in libm-test-support.c, built only once per floating-point type. Now, in fact all definitions of this macro are empty, but given that the definitions in sysdeps/x86_64/fpu/math-tests-arch.h are conditional on REQUIRE_* macros defined in particular vector tests, it seems more correct for the INIT_ARCH_EXT call to go instead in libm-test-driver.c which gets built separately with those REQUIRE_* macros properly defined. This patch moves the call there. Tested for x86_64 and x86. * math/libm-test-support.h: Do not include here. * math/libm-test-support.c (libm_test_init): Do not call INIT_ARCH_EXT here. * math/libm-test-driver.c: Include . (main): Call INIT_ARCH_EXT. --- ChangeLog | 9 +++++++++ math/libm-test-driver.c | 3 +++ math/libm-test-support.c | 2 -- math/libm-test-support.h | 1 - 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 27f41f7ad0..f83f37ad7c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2017-02-14 Joseph Myers + + * math/libm-test-support.h: Do not include + here. + * math/libm-test-support.c (libm_test_init): Do not call + INIT_ARCH_EXT here. + * math/libm-test-driver.c: Include . + (main): Call INIT_ARCH_EXT. + 2017-02-12 Gabriel F. T. Gomes [BZ #21130] diff --git a/math/libm-test-driver.c b/math/libm-test-driver.c index 1539cd7e4d..d24c5aadaf 100644 --- a/math/libm-test-driver.c +++ b/math/libm-test-driver.c @@ -18,6 +18,8 @@ #include "libm-test-support.h" +#include + /* Flags set by the including file. */ const int flag_test_errno = TEST_ERRNO; const int flag_test_exceptions = TEST_EXCEPTIONS; @@ -1010,6 +1012,7 @@ int main (int argc, char **argv) { libm_test_init (argc, argv); + INIT_ARCH_EXT; do_test (); return libm_test_finish (); } diff --git a/math/libm-test-support.c b/math/libm-test-support.c index d387f813d0..8890c1cbdd 100644 --- a/math/libm-test-support.c +++ b/math/libm-test-support.c @@ -1182,8 +1182,6 @@ libm_test_init (int argc, char **argv) initialize (); fputs (test_msg, stdout); - INIT_ARCH_EXT; - check_ulp (); } diff --git a/math/libm-test-support.h b/math/libm-test-support.h index 5c9af04f1a..2b95497148 100644 --- a/math/libm-test-support.h +++ b/math/libm-test-support.h @@ -30,7 +30,6 @@ #include #include #include -#include #include extern const int flag_test_errno;