From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from olivedrab.birch.relay.mailchannels.net (olivedrab.birch.relay.mailchannels.net [23.83.209.135]) by sourceware.org (Postfix) with ESMTPS id B186B389041A for ; Wed, 23 Dec 2020 11:56:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B186B389041A X-Sender-Id: dreamhost|x-authsender|siddhesh@gotplt.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id D4A11182930; Wed, 23 Dec 2020 11:56:15 +0000 (UTC) Received: from pdx1-sub0-mail-a1.g.dreamhost.com (100-100-138-63.trex.outbound.svc.cluster.local [100.100.138.63]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 523B6182825; Wed, 23 Dec 2020 11:56:15 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|siddhesh@gotplt.org Received: from pdx1-sub0-mail-a1.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.11); Wed, 23 Dec 2020 11:56:15 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|siddhesh@gotplt.org X-MailChannels-Auth-Id: dreamhost X-Befitting-Vacuous: 3bfa80a403e73404_1608724575572_2986351663 X-MC-Loop-Signature: 1608724575572:3815134641 X-MC-Ingress-Time: 1608724575572 Received: from pdx1-sub0-mail-a1.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a1.g.dreamhost.com (Postfix) with ESMTP id 18F277F0A6; Wed, 23 Dec 2020 03:56:15 -0800 (PST) Received: from rhbox.intra.reserved-bit.com (unknown [1.186.101.110]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: siddhesh@gotplt.org) by pdx1-sub0-mail-a1.g.dreamhost.com (Postfix) with ESMTPSA id D3AAE7F0A4; Wed, 23 Dec 2020 03:56:10 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a1 From: Siddhesh Poyarekar To: libc-alpha@sourceware.org Cc: adhemerval.zanella@linaro.org, fweimer@redhat.com, joseph@codesourcery.com Subject: [PATCH v2 0/5] x86 pseudo-normal numbers Date: Wed, 23 Dec 2020 17:25:57 +0530 Message-Id: <20201223115602.3472627-1-siddhesh@sourceware.org> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=1.6 required=5.0 tests=BAYES_00, JMQ_SPF_NEUTRAL, KAM_DMARC_NONE, KAM_DMARC_STATUS, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NEUTRAL, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Dec 2020 11:56:19 -0000 Following is the patchset that harmonizes classification of pseudo-normal numbers with gcc. Pseudo-NaNs, Pseudo-Infinities and unnormal numbers are considered as signaling NaN as per classification since that is how they behave when used as operands in x86. In summary, the patchset does the following: - Update fpclassify to cater for pseudo-normal numbers - Consolidate isnanl so that it can be used by isnanl as well as issignalingl. - Update isnanl logic to return true for all pseudo-normal numbers - Make issignalingl that returns true for all pseudo-normals. Changes since v1: - Consolidated the i386 and x86_64 versions of functions to x86. - Update the test according to review comments Siddhesh Poyarekar (5): x86 long double: Support pseudo numbers in fpclassifyl x86 long double: Support pseudo numbers in isnanl Partially revert 681900d29683722b1cb0a8e565a0585846ec5a61 x86 long double: Consider pseudo numbers as signaling x86 long double: Add tests for pseudo normal numbers sysdeps/generic/nan-pseudo-number.h | 27 +++++ sysdeps/ieee754/ldbl-96/s_issignalingl.c | 7 +- sysdeps/x86/fpu/Makefile | 3 +- sysdeps/x86/fpu/nan-pseudo-number.h | 32 ++++++ sysdeps/{i386 =3D> x86}/fpu/s_fpclassifyl.c | 4 + sysdeps/{i386 =3D> x86}/fpu/s_isnanl.c | 12 +- sysdeps/x86/fpu/test-unnormal.c | 132 ++++++++++++++++++++++ sysdeps/x86/ldbl2mpn.c | 8 -- sysdeps/x86/tst-ldbl-nonnormal-printf.c | 5 +- sysdeps/x86_64/fpu/s_fpclassifyl.c | 2 - sysdeps/x86_64/fpu/s_isnanl.c | 1 - 11 files changed, 211 insertions(+), 22 deletions(-) create mode 100644 sysdeps/generic/nan-pseudo-number.h create mode 100644 sysdeps/x86/fpu/nan-pseudo-number.h rename sysdeps/{i386 =3D> x86}/fpu/s_fpclassifyl.c (87%) rename sysdeps/{i386 =3D> x86}/fpu/s_isnanl.c (76%) create mode 100644 sysdeps/x86/fpu/test-unnormal.c delete mode 100644 sysdeps/x86_64/fpu/s_fpclassifyl.c delete mode 100644 sysdeps/x86_64/fpu/s_isnanl.c --=20 2.29.2