From patchwork Mon Oct 16 13:29:24 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 23611 Received: (qmail 126517 invoked by alias); 16 Oct 2017 13:29:34 -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 124508 invoked by uid 89); 16 Oct 2017 13:29:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No 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: Mon, 16 Oct 2017 13:29:24 +0000 From: Joseph Myers To: Subject: Support running libm tests for float128 as alias for long double [committed] Message-ID: User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) This patch adds support for running libm tests for float128 in the case where the float128 functions are aliases of long double functions. In this case, the sysdeps Makeconfig file (i.e. sysdeps/ieee754/ldbl-128/Makeconfig) will need to define "float128-alias-fcts = yes" to enable the tests. Tested for x86_64. Also tested with build-many-glibcs.py; installed stripped shared libraries are unchanged by the patch. Also tested together with changes to enable the float128 aliases. Committed. 2017-10-16 Joseph Myers * math/Makefile (test-types): Add $(type-float128-$(float128-alias-fcts)). * math/test-float128.h (TYPE_STR): Define conditional on [FLT128_MANT_DIG == LDBL_MANT_DIG]. (ULP_IDX): Likewise. (ULP_I_IDX): Likewise. diff --git a/math/Makefile b/math/Makefile index 4014471..2d47209 100644 --- a/math/Makefile +++ b/math/Makefile @@ -127,7 +127,8 @@ type-float128-suffix := f128 type-float128-routines := t_sincosf128 k_sincosf128 type-float128-yes := float128 types = $(types-basic) $(type-float128-$(float128-fcts)) -test-types = $(test-types-basic) $(type-float128-$(float128-fcts)) +test-types = $(test-types-basic) $(type-float128-$(float128-fcts)) \ + $(type-float128-$(float128-alias-fcts)) # For each of the basic types (float, double, long double), replace the # occurrences of 'F' in arg 1 with the appropriate suffix for the type. diff --git a/math/test-float128.h b/math/test-float128.h index 3132766..3fd9f54 100644 --- a/math/test-float128.h +++ b/math/test-float128.h @@ -28,9 +28,15 @@ #define CFLOAT __CFLOAT128 #define BUILD_COMPLEX(real, imag) (CMPLXF128 ((real), (imag))) #define PREFIX FLT128 -#define TYPE_STR "float128" -#define ULP_IDX ULP_FLT128 -#define ULP_I_IDX ULP_I_FLT128 +#if FLT128_MANT_DIG == LDBL_MANT_DIG +# define TYPE_STR "ldouble" +# define ULP_IDX ULP_LDBL +# define ULP_I_IDX ULP_I_LDBL +#else +# define TYPE_STR "float128" +# define ULP_IDX ULP_FLT128 +# define ULP_I_IDX ULP_I_FLT128 +#endif #define LIT(x) __f128 (x) #define LITM(x) x ## f128 #define FTOSTR strfromf128