From patchwork Mon Apr 27 13:36:42 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Senkevich X-Patchwork-Id: 6462 Received: (qmail 114344 invoked by alias); 27 Apr 2015 13:37:20 -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 114332 invoked by uid 89); 27 Apr 2015 13:37:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-la0-f45.google.com X-Received: by 10.112.143.137 with SMTP id se9mr10063785lbb.60.1430141833944; Mon, 27 Apr 2015 06:37:13 -0700 (PDT) MIME-Version: 1.0 From: Andrew Senkevich Date: Mon, 27 Apr 2015 16:36:42 +0300 Message-ID: Subject: PATCH [1/5] Vector math functions infrastructure To: libc-alpha Hi, this is the beginning of series of patches (in the form suitable for git am) with addition of common vector math functions infrastructure. This patch is preparatory change in libm-test.c - splitting of macros which form name of tested functions for ability to use separate name for tested functions and for functions used in test suite infrastructure. It was discussed and approved, end of discussion is https://sourceware.org/ml/libc-alpha/2014-11/msg00766.html Attached copy. Ok for trunk? 2015-04-27 Andrew Senkevich * math/test-double.c (FUNC_TEST): New macro. * math/test-float.c: Likewise. * math/test-idouble.c: Likewise. * math/test-ifloat.c: Likewise. * math/test-ildoubl.c: Likewise. * math/test-ldouble.c: Likewise. * math/libm-test.inc: Use FUNC_TEST for name of tested functions. From 60982746531ae5debd88db019ef61cbff3ca3fe2 Mon Sep 17 00:00:00 2001 From: Andrew Senkevich Date: Mon, 27 Apr 2015 15:34:37 +0300 Subject: [PATCH 1/5] This is the beginning of series of patches with addition of vector math functions infrastructure. This patch is preparatory change in libm-test.c - splitting of macros which form name of tested functions for ability to use separate name for tested functions and for functions used in test suite infrastructure. 2015-04-27 Andrew Senkevich * math/test-double.c (FUNC_TEST): New macro. * math/test-float.c: Likewise. * math/test-idouble.c: Likewise. * math/test-ifloat.c: Likewise. * math/test-ildoubl.c: Likewise. * math/test-ldouble.c: Likewise. * math/libm-test.inc: Use FUNC_TEST for name of tested functions. --- math/libm-test.inc | 36 ++++++++++++++++++------------------ math/test-double.c | 1 + math/test-float.c | 1 + math/test-idouble.c | 1 + math/test-ifloat.c | 1 + math/test-ildoubl.c | 1 + math/test-ldouble.c | 1 + 7 files changed, 24 insertions(+), 18 deletions(-) diff --git a/math/libm-test.inc b/math/libm-test.inc index 7acd29b..be5ec81 100644 --- a/math/libm-test.inc +++ b/math/libm-test.inc @@ -1302,8 +1302,8 @@ struct test_fFF_11_data if (enable_test (EXCEPTIONS)) \ { \ COMMON_TEST_SETUP (ARG_STR); \ - check_float (test_name, FUNC (FUNC_NAME) (ARG), EXPECTED, \ - EXCEPTIONS); \ + check_float (test_name, FUNC_TEST (FUNC_NAME) (ARG), \ + EXPECTED, EXCEPTIONS); \ COMMON_TEST_CLEANUP; \ } \ while (0) @@ -1320,7 +1320,7 @@ struct test_fFF_11_data if (enable_test (EXCEPTIONS)) \ { \ COMMON_TEST_SETUP (ARG_STR); \ - check_float (test_name, FUNC (FUNC_NAME) (ARG1, ARG2), \ + check_float (test_name, FUNC_TEST (FUNC_NAME) (ARG1, ARG2), \ EXPECTED, EXCEPTIONS); \ COMMON_TEST_CLEANUP; \ } \ @@ -1347,7 +1347,7 @@ struct test_fFF_11_data if (enable_test (EXCEPTIONS)) \ { \ COMMON_TEST_SETUP (ARG_STR); \ - check_float (test_name, FUNC (FUNC_NAME) (ARG1, ARG2, ARG3), \ + check_float (test_name, FUNC_TEST (FUNC_NAME) (ARG1, ARG2, ARG3), \ EXPECTED, EXCEPTIONS); \ COMMON_TEST_CLEANUP; \ } \ @@ -1367,7 +1367,7 @@ struct test_fFF_11_data { \ COMMON_TEST_SETUP (ARG_STR); \ check_float (test_name, \ - FUNC (FUNC_NAME) (BUILD_COMPLEX (ARG1, ARG2)), \ + FUNC_TEST (FUNC_NAME) (BUILD_COMPLEX (ARG1, ARG2)),\ EXPECTED, EXCEPTIONS); \ COMMON_TEST_CLEANUP; \ } \ @@ -1388,7 +1388,7 @@ struct test_fFF_11_data { \ COMMON_TEST_SETUP (ARG_STR); \ (EXTRA_VAR) = (EXTRA_EXPECTED) == 0 ? 1 : 0; \ - check_float (test_name, FUNC (FUNC_NAME) (ARG), EXPECTED, \ + check_float (test_name, FUNC_TEST (FUNC_NAME) (ARG), EXPECTED, \ EXCEPTIONS); \ EXTRA_OUTPUT_TEST_SETUP (ARG_STR, 1); \ if (EXTRA_TEST) \ @@ -1415,7 +1415,7 @@ struct test_fFF_11_data { \ COMMON_TEST_SETUP (ARG_STR); \ (EXTRA_VAR) = (EXTRA_EXPECTED) == 0 ? 1 : 0; \ - check_float (test_name, FUNC (FUNC_NAME) (ARG, &(EXTRA_VAR)), \ + check_float (test_name, FUNC_TEST (FUNC_NAME) (ARG, &(EXTRA_VAR)), \ EXPECTED, EXCEPTIONS); \ EXTRA_OUTPUT_TEST_SETUP (ARG_STR, 1); \ if (EXTRA_TEST) \ @@ -1442,7 +1442,7 @@ struct test_fFF_11_data { \ COMMON_TEST_SETUP (ARG_STR); \ (EXTRA_VAR) = (EXTRA_EXPECTED) == 0 ? 1 : 0; \ - check_float (test_name, FUNC (FUNC_NAME) (ARG, &(EXTRA_VAR)), \ + check_float (test_name, FUNC_TEST (FUNC_NAME) (ARG, &(EXTRA_VAR)), \ EXPECTED, EXCEPTIONS); \ EXTRA_OUTPUT_TEST_SETUP (ARG_STR, 1); \ if (EXTRA_TEST) \ @@ -1470,7 +1470,7 @@ struct test_fFF_11_data COMMON_TEST_SETUP (ARG_STR); \ (EXTRA_VAR) = (EXTRA_EXPECTED) == 0 ? 1 : 0; \ check_float (test_name, \ - FUNC (FUNC_NAME) (ARG1, ARG2, &(EXTRA_VAR)), \ + FUNC_TEST (FUNC_NAME) (ARG1, ARG2, &(EXTRA_VAR)), \ EXPECTED, EXCEPTIONS); \ EXTRA_OUTPUT_TEST_SETUP (ARG_STR, 1); \ if (EXTRA_TEST) \ @@ -1498,7 +1498,7 @@ struct test_fFF_11_data { \ COMMON_TEST_SETUP (ARG_STR); \ check_complex (test_name, \ - FUNC (FUNC_NAME) (BUILD_COMPLEX (ARGR, ARGC)), \ + FUNC_TEST (FUNC_NAME) (BUILD_COMPLEX (ARGR, ARGC)), \ BUILD_COMPLEX (EXPR, EXPC), EXCEPTIONS); \ COMMON_TEST_CLEANUP; \ } \ @@ -1519,8 +1519,8 @@ struct test_fFF_11_data { \ COMMON_TEST_SETUP (ARG_STR); \ check_complex (test_name, \ - FUNC (FUNC_NAME) (BUILD_COMPLEX (ARG1R, ARG1C), \ - BUILD_COMPLEX (ARG2R, ARG2C)), \ + FUNC_TEST (FUNC_NAME) (BUILD_COMPLEX (ARG1R, ARG1C), \ + BUILD_COMPLEX (ARG2R, ARG2C)), \ BUILD_COMPLEX (EXPR, EXPC), EXCEPTIONS); \ COMMON_TEST_CLEANUP; \ } \ @@ -1540,7 +1540,7 @@ struct test_fFF_11_data if (enable_test (EXCEPTIONS)) \ { \ COMMON_TEST_SETUP (ARG_STR); \ - check_int (test_name, FUNC (FUNC_NAME) (ARG), EXPECTED, \ + check_int (test_name, FUNC_TEST (FUNC_NAME) (ARG), EXPECTED, \ EXCEPTIONS); \ COMMON_TEST_CLEANUP; \ } \ @@ -1593,7 +1593,7 @@ struct test_fFF_11_data if (enable_test (EXCEPTIONS)) \ { \ COMMON_TEST_SETUP (ARG_STR); \ - check_bool (test_name, FUNC (FUNC_NAME) (ARG), EXPECTED, \ + check_bool (test_name, FUNC_TEST (FUNC_NAME) (ARG), EXPECTED, \ EXCEPTIONS); \ COMMON_TEST_CLEANUP; \ } \ @@ -1627,7 +1627,7 @@ struct test_fFF_11_data if (enable_test (EXCEPTIONS)) \ { \ COMMON_TEST_SETUP (ARG_STR); \ - check_long (test_name, FUNC (FUNC_NAME) (ARG), EXPECTED, \ + check_long (test_name, FUNC_TEST (FUNC_NAME) (ARG), EXPECTED, \ EXCEPTIONS); \ COMMON_TEST_CLEANUP; \ } \ @@ -1644,8 +1644,8 @@ struct test_fFF_11_data if (enable_test (EXCEPTIONS)) \ { \ COMMON_TEST_SETUP (ARG_STR); \ - check_longlong (test_name, FUNC (FUNC_NAME) (ARG), EXPECTED, \ - EXCEPTIONS); \ + check_longlong (test_name, FUNC_TEST (FUNC_NAME) (ARG), \ + EXPECTED, EXCEPTIONS); \ COMMON_TEST_CLEANUP; \ } \ while (0) @@ -1664,7 +1664,7 @@ struct test_fFF_11_data if (enable_test (EXCEPTIONS)) \ { \ COMMON_TEST_SETUP (ARG_STR); \ - FUNC (FUNC_NAME) (ARG, &(EXTRA1_VAR), &(EXTRA2_VAR)); \ + FUNC_TEST (FUNC_NAME) (ARG, &(EXTRA1_VAR), &(EXTRA2_VAR)); \ EXTRA_OUTPUT_TEST_SETUP (ARG_STR, 1); \ if (EXTRA1_TEST) \ check_float (extra1_name, EXTRA1_VAR, EXTRA1_EXPECTED, \ diff --git a/math/test-double.c b/math/test-double.c index c8203a3..cbb81f9 100644 --- a/math/test-double.c +++ b/math/test-double.c @@ -17,6 +17,7 @@ . */ #define FUNC(function) function +#define FUNC_TEST(function) FUNC (function) #define FLOAT double #define TEST_MSG "testing double (without inline functions)\n" #define MATHCONST(x) x diff --git a/math/test-float.c b/math/test-float.c index 3f04e15..c54dd3c 100644 --- a/math/test-float.c +++ b/math/test-float.c @@ -17,6 +17,7 @@ . */ #define FUNC(function) function ## f +#define FUNC_TEST(function) FUNC (function) #define FLOAT float #define TEST_MSG "testing float (without inline functions)\n" #define MATHCONST(x) x diff --git a/math/test-idouble.c b/math/test-idouble.c index 1c11017..b23bd21 100644 --- a/math/test-idouble.c +++ b/math/test-idouble.c @@ -17,6 +17,7 @@ . */ #define FUNC(function) function +#define FUNC_TEST(function) FUNC (function) #define FLOAT double #define TEST_MSG "testing double (inline functions)\n" #define MATHCONST(x) x diff --git a/math/test-ifloat.c b/math/test-ifloat.c index e64f9ca..57a7a77 100644 --- a/math/test-ifloat.c +++ b/math/test-ifloat.c @@ -17,6 +17,7 @@ . */ #define FUNC(function) function ## f +#define FUNC_TEST(function) FUNC (function) #define FLOAT float #define TEST_MSG "testing float (inline functions)\n" #define MATHCONST(x) x diff --git a/math/test-ildoubl.c b/math/test-ildoubl.c index 2b98544..c38a109 100644 --- a/math/test-ildoubl.c +++ b/math/test-ildoubl.c @@ -17,6 +17,7 @@ . */ #define FUNC(function) function##l +#define FUNC_TEST(function) FUNC (function) #define FLOAT long double #define TEST_MSG "testing long double (inline functions)\n" #define MATHCONST(x) x##L diff --git a/math/test-ldouble.c b/math/test-ldouble.c index 94a71a2..20bf0a1 100644 --- a/math/test-ldouble.c +++ b/math/test-ldouble.c @@ -17,6 +17,7 @@ . */ #define FUNC(function) function##l +#define FUNC_TEST(function) FUNC (function) #define FLOAT long double #define TEST_MSG "testing long double (without inline functions)\n" #define MATHCONST(x) x##L