This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 1/N] [x86_64] Vectorized math functions


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  <andrew.n.senkevich@gmail.com>

        * math/libm-test.inc (FUNC_TEST): New macro.

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; \

Attached the same.


--
WBR,
Andrew

Attachment: libmvec_1_of_N.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]