From patchwork Wed Jun 20 02:04:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tulio Magno Quites Machado Filho X-Patchwork-Id: 931898 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-93424-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="WpN76KOD"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 419Sp40wlPz9s4v for ; Wed, 20 Jun 2018 12:04:59 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id; q=dns; s= default; b=oUI2rzdALfCJWOa0sy5OS/HCoOJfy7R9JJs+ZOGdQbexaE2R5MkHR WSvJ04VmeC9LrV7i0Cno+NE+SXEGh4j44r5auL0wRQuzyHce2U7oqTQ8btM+HhxP UxQ+8qLYR5P1gO0e7WJTn4ijAf5MvWkswpxVAKlL2GuBNqeVpoTgjQ= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id; s=default; bh=5MBPDYR6q1J/vrDNheF7zn8xzoY=; b=WpN76KODf9UWLd4eSbJdW9nVk302 JqCQxpW3sNpaXLHVpKl5MlQ0OHM+cQqP32uHKFxdgAQmhRtYGcqiD/wRc/v1T3mV CvKAvR1ZipvzxlqiBCeIb3hnF7h8wYJgPOCfAfUJvUSNp3sFr/tyNVGX8QPCQfvp RaCPl7DlZL+SMr8= Received: (qmail 127112 invoked by alias); 20 Jun 2018 02:04:52 -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 127097 invoked by uid 89); 20 Jun 2018 02:04:52 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-12.6 required=5.0 tests=BAYES_00, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 spammy=23292, reordered X-HELO: mx0a-001b2d01.pphosted.com From: Tulio Magno Quites Machado Filho To: libc-alpha@sourceware.org Cc: joseph@codesourcery.com Subject: [PATCHv2 00/12] Introduce ieee128 symbols and redirections Date: Tue, 19 Jun 2018 23:04:14 -0300 X-TM-AS-GCONF: 00 x-cbid: 18062002-0068-0000-0000-0000030B8D64 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00009223; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000265; SDB=6.01049503; UDB=6.00537768; IPR=6.00828476; MB=3.00021748; MTD=3.00000008; XFM=3.00000015; UTC=2018-06-20 02:04:45 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18062002-0069-0000-0000-000044BE8C12 Message-Id: <20180620020426.20372-1-tuliom@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-06-20_01:, , signatures=0 Changes since v1: - Reordered the patch series: the first patches are generic, while the last ones affect only ldbl-128ibm-compat. - Added a patch to fix bug #23294. - Removed the symbols for __f64x*ieee128. - Added symbols for narrow functions __f32*ieee128 and __f64*ieee128. - Redirected narrow functions to __f*ieee128 - Stopped exporting internal functions __gamma_productieee128, __lgamma_negieee128, __lgamma_productieee128 and __x2y2m1ieee128; - Splitted both patches for scalb and significad in 2: 1 patch adding just the template and another one with the ldbl-128ibm-compat changes. - Replaced all generic implementations of w_scalb, w_scalb_compat, e_scalb and s_significand with templates. - Replaced the patch for __dremieee128 and __gamaieee128 with just macros in math/math.h. - Reworked completely the math-finite.h refactoring. It's now reusing math/bits/mathcalls.h. It also identifies the fix to bug #23292. Gabriel F. T. Gomes (1): ldbl-128ibm-compat: Provide nexttoward functions Rajalakshmi Srinivasaraghavan (1): ldbl-128ibm-compat: Redirect complex math functions Tulio Magno Quites Machado Filho (10): Undefine redirections after long double definition on __LDBL_COMPAT [BZ #23294] Move declare_mgen_finite_alias definition Add a generic scalb implementation Add a generic significand implementation Refactor math/bits/math-finite.h, reusing math/bits/mathcalls.h [BZ #23292] ldbl-128ibm-compat: Create libm-alias-float128.h ldbl-128ibm-compat: Provide a scalb implementation ldbl-128ibm-compat: Provide a significand implementation ldbl-128ibm-compat: Redirect long double functions to f128/ieee128 functions ldbl-128ibm-compat: Provide ieee128 symbols to narrow functions include/math.h | 12 +- math/Makefile | 12 +- math/bits/math-finite.h | 160 ++---- math/bits/mathcalls-helper-functions.h | 18 +- math/bits/mathcalls.h | 62 +-- math/complex.h | 29 +- math/e_exp2_template.c | 7 - math/{e_scalb.c => e_scalb_template.c} | 32 +- math/e_scalbf.c | 54 -- math/e_scalbl.c | 54 -- math/math-narrow.h | 10 + math/math.h | 548 ++++++++++++--------- math/s_significand.c | 34 -- math/s_significand_template.c | 33 ++ math/s_significandf.c | 27 - math/s_significandl.c | 34 -- ...{w_scalb_compat.c => w_scalb_compat_template.c} | 36 +- math/{w_scalbf_compat.c => w_scalb_template.c} | 54 +- math/w_scalbl_compat.c | 81 --- sysdeps/generic/math-type-macros-double.h | 1 + sysdeps/generic/math-type-macros-float.h | 1 + sysdeps/generic/math-type-macros-ldouble.h | 1 + sysdeps/generic/math-type-macros.h | 15 + sysdeps/ieee754/float128/w_scalbf128.c | 1 + sysdeps/ieee754/float128/w_scalbf128_compat.c | 1 + sysdeps/ieee754/ldbl-128ibm-compat/Versions | 127 +++++ sysdeps/ieee754/ldbl-128ibm-compat/e_scalbf128.c | 21 + .../ldbl-128ibm-compat/libm-alias-float128.h | 64 +++ .../ieee754/ldbl-128ibm-compat/s_nextafterf128.c | 20 + .../ieee754/ldbl-128ibm-compat/s_nexttowardf128.c | 38 ++ .../ieee754/ldbl-128ibm-compat/s_significandf128.c | 25 + sysdeps/ieee754/ldbl-128ibm-compat/w_scalbf128.c | 27 + sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h | 6 +- sysdeps/ieee754/ldbl-opt/s_significand.c | 5 - sysdeps/ieee754/ldbl-opt/s_significandl.c | 5 - sysdeps/ieee754/ldbl-opt/w_scalb_compat.c | 5 - sysdeps/ieee754/ldbl-opt/w_scalbl_compat.c | 5 - 37 files changed, 868 insertions(+), 797 deletions(-) rename math/{e_scalb.c => e_scalb_template.c} (64%) delete mode 100644 math/e_scalbf.c delete mode 100644 math/e_scalbl.c delete mode 100644 math/s_significand.c create mode 100644 math/s_significand_template.c delete mode 100644 math/s_significandf.c delete mode 100644 math/s_significandl.c rename math/{w_scalb_compat.c => w_scalb_compat_template.c} (69%) rename math/{w_scalbf_compat.c => w_scalb_template.c} (53%) delete mode 100644 math/w_scalbl_compat.c create mode 100644 sysdeps/ieee754/float128/w_scalbf128.c create mode 100644 sysdeps/ieee754/float128/w_scalbf128_compat.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/Versions create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/e_scalbf128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/libm-alias-float128.h create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/s_nextafterf128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/s_nexttowardf128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/s_significandf128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/w_scalbf128.c delete mode 100644 sysdeps/ieee754/ldbl-opt/s_significand.c delete mode 100644 sysdeps/ieee754/ldbl-opt/s_significandl.c delete mode 100644 sysdeps/ieee754/ldbl-opt/w_scalb_compat.c delete mode 100644 sysdeps/ieee754/ldbl-opt/w_scalbl_compat.c