From patchwork Wed Jun 6 22:39:00 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: 926057 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-92964-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="ATA9UlYY"; 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 411Ntt5pGCz9rxs for ; Thu, 7 Jun 2018 08:41:10 +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=u3sDVwFtDEpiNjD43K2IQgG34+Qyv7AI87oV/S0ApjU9nEKBjEneU HjRSlN1j0bW9+3mpQzvDxuKfgeug9c8C97Cb9Qao6ujgDL07h743Ct/2hj0PaGk0 Q2XM+BtMMXEljaVFqFcI7GWXVxYy+VhmOT/o7VdYS27kRDyJP091dM= 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=uOs/QIxeMzZniW7doKcANiPvEaE=; b=ATA9UlYYVILVmaYyvABpyS+2fJz2 l6Y83SG+OAi1ppALGmho1so5HWvFpX0YVN0SbBpqkt+VG0DLtpcQ+m1yDarVeX2/ 7V+wMQ/0VEI/4ymh4GsxRiXFjvFtn6fwAXzeNoUYx0FFhEpSMCzWMnSKjSmYPhFn coYfeT8m5ScK5u8= Received: (qmail 53187 invoked by alias); 6 Jun 2018 22:41:04 -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 52528 invoked by uid 89); 6 Jun 2018 22:41:03 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-12.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:3214 X-HELO: mx0a-001b2d01.pphosted.com From: Tulio Magno Quites Machado Filho To: libc-alpha@sourceware.org Cc: joseph@codesourcery.com, gabriel@inconstante.eti.br, raji@linux.ibm.com Subject: [PATCH 0/9] Introduce ieee128 symbols and redirections Date: Wed, 6 Jun 2018 19:39:00 -0300 X-TM-AS-GCONF: 00 x-cbid: 18060622-0040-0000-0000-0000043C6B9F X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00009139; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000265; SDB=6.01043027; UDB=6.00534142; IPR=6.00822157; MB=3.00021491; MTD=3.00000008; XFM=3.00000015; UTC=2018-06-06 22:40:58 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18060622-0041-0000-0000-000008426DDD Message-Id: <20180606223909.16675-1-tuliom@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-06-06_10:, , signatures=0 *** BLURB HERE *** This patchset implements what we have discussed recently about the powerpc64le long double migration for math and complex math functions. It adds __*ieee128 symbols to all functions that do not provide a respective global __*f128 symbol. Which means that __finitef128, __isnanf128, __issignalingf128, __iseqsigf128, __fpclassifyf128, __signbitf128, __isinff128 and all *f128_finite symbols are reused. A list with all the new symbols is available with file sysdeps/ieee754/ldbl-128ibm-compat/Versions. 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 (7): ldbl-128ibm-compat: Create libm-alias-float128.h Move declare_mgen_finite_alias definition ldbl-128ibm-compat: Provide a generic scalb implementation ldbl-128ibm-compat: Add a generic significand() implementation ldbl-128ibm-compat: Provide ISO C functions not provided by the _Float128 API Refactor math-finite.h and introduce mathcalls-redir.h ldbl-128ibm-compat: Redirect long double functions to f128/ieee128 functions include/bits/mathcalls-redir.h | 1 + include/math.h | 12 +- math/Makefile | 3 +- math/bits/math-finite.h | 151 ++----- math/bits/mathcalls-redir.h | 460 +++++++++++++++++++++ math/complex.h | 28 +- math/e_exp2_template.c | 7 - math/e_scalb_template.c | 54 +++ math/math.h | 91 +++- math/s_significand_template.c | 33 ++ math/w_scalb_template.c | 95 +++++ sysdeps/generic/math-type-macros.h | 15 + sysdeps/ieee754/ldbl-128ibm-compat/Makefile | 6 + sysdeps/ieee754/ldbl-128ibm-compat/Versions | 136 ++++++ 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_lgammaf128.c | 22 + .../ieee754/ldbl-128ibm-compat/w_remainderf128.c | 22 + sysdeps/ieee754/ldbl-128ibm-compat/w_scalbf128.c | 27 ++ sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h | 6 +- 23 files changed, 1204 insertions(+), 133 deletions(-) create mode 100644 include/bits/mathcalls-redir.h create mode 100644 math/bits/mathcalls-redir.h create mode 100644 math/e_scalb_template.c create mode 100644 math/s_significand_template.c create mode 100644 math/w_scalb_template.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/Makefile 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_lgammaf128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/w_remainderf128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/w_scalbf128.c