From patchwork Wed Nov 19 19:13:03 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Senkevich X-Patchwork-Id: 3803 Received: (qmail 1359 invoked by alias); 19 Nov 2014 19:13:38 -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 1348 invoked by uid 89); 19 Nov 2014 19:13:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS, UPPERCASE_50_75 autolearn=ham version=3.3.2 X-HELO: mail-qc0-f177.google.com X-Received: by 10.140.34.21 with SMTP id k21mr52700128qgk.21.1416424413937; Wed, 19 Nov 2014 11:13:33 -0800 (PST) MIME-Version: 1.0 From: Andrew Senkevich Date: Wed, 19 Nov 2014 23:13:03 +0400 Message-ID: Subject: [PATCH 1/N] [x86_64] Vectorized math functions To: libc-alpha Hi, this is the beginning of series of patches with addition of Intel vectorized math functions. 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. This is a part of big patch discussed earlier in [RFC] How to add vector math functions to Glibc. ChangeLog 2014-11-19 Andrew Senkevich * math/libm-test.inc (FUNC_TEST): New macro. Attached the same. --- WBR, Andrew diff --git a/math/libm-test.inc b/math/libm-test.inc index f86a4fa..df11343 100644 --- a/math/libm-test.inc +++ b/math/libm-test.inc @@ -1301,8 +1301,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) @@ -1319,7 +1319,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; \ } \ @@ -1346,7 +1346,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; \ } \ @@ -1366,7 +1366,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; \ } \ @@ -1387,7 +1387,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) \ @@ -1414,7 +1414,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) \ @@ -1441,7 +1441,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) \ @@ -1469,7 +1469,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) \ @@ -1497,7 +1497,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; \ } \ @@ -1518,8 +1518,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; \ } \ @@ -1539,7 +1539,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; \ } \ @@ -1592,7 +1592,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; \ } \ @@ -1626,7 +1626,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; \ } \ @@ -1643,8 +1643,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) @@ -1663,7 +1663,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, \ @@ -1690,6 +1690,10 @@ struct test_fFF_11_data (ARRAY)[i].RM_##ROUNDING_MODE.extra2_expected); \ ROUND_RESTORE_ ## ROUNDING_MODE +#ifndef FUNC_TEST +# define FUNC_TEST FUNC +#endif + /* Start and end the tests for a given function. */ #define START(FUNC, EXACT) \ const char *this_func = #FUNC; \