From patchwork Mon Sep 25 11:06:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 23131 Received: (qmail 78470 invoked by alias); 25 Sep 2017 11:06:36 -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 77695 invoked by uid 89); 25 Sep 2017 11:06:36 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.7 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR02-HE1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Message-ID: <59C8E332.8040800@arm.com> Date: Mon, 25 Sep 2017 12:06:26 +0100 From: Szabolcs Nagy User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: GNU C Library CC: nd@arm.com Subject: [PATCH 6/7] Do not wrap logf, log2f and powf References: <59C8E136.6070606@arm.com> In-Reply-To: <59C8E136.6070606@arm.com> X-ClientProxiedBy: DB6PR0902CA0022.eurprd09.prod.outlook.com (2603:10a6:6:2::35) To HE1PR0802MB2489.eurprd08.prod.outlook.com (2603:10a6:3:d8::23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7265e916-b319-44a3-c367-08d504057a39 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(49563074)(201703131423075)(201703031133081)(201702281549075); SRVR:HE1PR0802MB2489; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2489; 3:1QeHCjlT+u+fgQr+CsdNPNRSE06MYh++nIt7k9989hTb4d2vfUqpvQvXFfXplBO0yh7UI+ObZZuxsMGz8z4tdr+5tC8z8E7SclCAZes11CvIHooHmzKxYXkJLS23FiteKlI9ff4heNuJPZx3JLa5IJfynyfozc6jaKbsQYLfr0nCGl7Pq9mGBCpuUnCdTZx9D4X86p9/+/GxHHXKXBmw59QBnjpDt8+WFDD+SQVrto0sRB7a5M9XlU8GYzltX5Uj; 25:GOrhLYjamPq1GZtY4EOmdTtR7XZMRxw3KCTyitY+JChk77e1k2ZstaWYEhcBGf/DgUtow8YFHxA/sW4n74RIQhhjGdh+rhxzHFMLAWt42heve8KgQEouvQbcjwL77Umi25DBPUfd1XRFdMLPCKllYf4y4tdB39LMp1IzccY9B9rKJuprYDSZaImZun2c6BG434auNqgKatue1uqBp9agRK1oxSn/ey0cMGmAKhTlaTw=; 31:X41e67EotGByw4KwsxtyUWTxG9jv+0rvK0JSuGDPF7ZglvH1VmuReYq2gshXxkJzdLF9yDe+jP0UE/1JVnB1QdjelKIN1IKyBPmwW2Ckn/4eN18UCcK8Ez9kI6KzV9SH; 20:wM5r/CDfDYxdF1rVbeAz5tXxfS4Kv9MykiVombkA4GXmrjrrZm1/cjSTpLgRTkNwC70Gmj3BMp5Cd4dDysTIRQwSuTcxZ+1pMQxR7EW0OHzF/E0JN2kBY9p4Wc4/lG0hykba96+tY8EWGw+Y2rAFaN7ygPGIdnFt5BN0Td+IuJg= X-MS-TrafficTypeDiagnostic: HE1PR0802MB2489: NoDisclaimer: True X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(102415395)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123558100)(20161123560025)(20161123555025)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:HE1PR0802MB2489; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:HE1PR0802MB2489; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2489; 4:O/V3o3XsxYsJjZpMjLMkidnk6+9TrGYWE2x6dEMmGVm6t8ohR3nC/6iT8MLsrQbao9BZGyzFMNHNOrcaxbHMYBf34GIjqH0Sv1W+85T5u2i4N1xb2CVJjGZ+z9VcY20b2sov9VQ+JxJJdH3fpAoSKg== X-Forefront-PRVS: 04410E544A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6049001)(346002)(39860400002)(376002)(189002)(199003)(97736004)(16586007)(86362001)(68736007)(65956001)(66066001)(305945005)(65806001)(6916009)(33656002)(2950100002)(478600001)(36756003)(7736002)(72206003)(4610100001)(25786009)(54356999)(76176999)(65816999)(87266999)(5000100001)(59896002)(50986999)(8936002)(81166006)(81156014)(4326008)(64126003)(80316001)(2906002)(84326002)(83506001)(53936002)(58126008)(101416001)(8676002)(3846002)(270700001)(6116002)(568964002)(5890100001)(19618925003)(16576012)(16526017)(2476003)(316002)(6666003)(105586002)(564344004)(106356001)(77096006)(6486002); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0802MB2489; H:[10.2.206.69]; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR0802MB2489; 23:LsGDMdBv0U+0rK73cvnjwdQwpO6eyD9HSYQucXw?= =?us-ascii?Q?YB403JJvIZuA1ZdetcuAwr0GqM4wsGjpSIm2PwfYyWV2cgvCGlCUofdozay4?= =?us-ascii?Q?Xj8WLtsVs63WIqMSsi64/SAs1HylgGU6VNtPcQEkaCnpkwgTA01DAq5qJR4k?= =?us-ascii?Q?tT39/fSKJWaIRXu8MniNQ53/JAUUIvcmGEL0T1gcGZ9H+w3UQcOmGyukJQau?= =?us-ascii?Q?qMiOlu/RaOjmiVk+77dQgeb6oesSo33tz2QuVXBWwKSVbkXcTAfxBwwSdh8q?= =?us-ascii?Q?E9vAu4BDx8bqE063VjY7Hq9luVVBGayaCayZLH2lIT2swXhycHXztOZOjFBX?= =?us-ascii?Q?aogByfrvR7jC4TwRXSwbod6nSFSQNbHdHzPkvQXic/X4fH9L27Rb65chPRlq?= =?us-ascii?Q?5PfBLeqL8Jsy519L46uP2vYniInQyBdYhwqJyS6p5GBLKHGW1tcKYSkt5WJj?= =?us-ascii?Q?Tn+zOyk9rPCz7ZvDqmPAEqe84PMqt75fNQHnI51ryEjMG6HD4K6GFyYI8CIa?= =?us-ascii?Q?T9Jet4QGkdjQwmaYtF8F1DesaGHd13Mol1pvh/D6LdgT+Q56Y7QrzmGwJpIS?= =?us-ascii?Q?NwKfZbxu6Td9t0I3LC3SxL5k6nJZn/5Wh+7RGPr3NrUHbyraolVlPESeF/IP?= =?us-ascii?Q?pU9tAD3gXNAtwSK99m6fYnmhPXjJI7bVjs/r6yCs3aR2YC4CivKHW5e90K8k?= =?us-ascii?Q?cNx9CyGWvAnUlehdDwkJhu7x9iYyqpo2yg2Y0GkeBvv9rCzWqOPgv+qTY2Fv?= =?us-ascii?Q?kqJCZa9wKyRCoCQMSxy8BoQTIpBiVtR9qIjFmxfBOHjIVLcT4ajyXxxNTGQl?= =?us-ascii?Q?7MhP/QgtFyyG5yg4wZuTin6KwDndkKi0x4QE+X+D7LehTnGLRIY86Vpx/qm0?= =?us-ascii?Q?XDi6O4r4K50bo4OSKq3mLDSElZdUDQBe10HIiFpzEI1EuoYksoY0u+JnN9jF?= =?us-ascii?Q?cZtG3aaS5JG4urREBFIVAsW19vdI55J8BKvpm1MNO89eLMe/gmP6MAgMNdvy?= =?us-ascii?Q?1bbORoxl49k3Vjc+uKWjIdsvyLEImIUBzjLUr5yBcaxdF0cLmWVerSJ71wO+?= =?us-ascii?Q?jO9f/GosZHQcsQyb9kBOWLhXPeUeeG5Orgf/qloBp/GGkH236Pos9tLVXs5o?= =?us-ascii?Q?qJ6jj3BhyDDUSYaTmIotUP2lu5EegJ0z1pFsIpAFL5C6wZJU8zTRZmCKeQI5?= =?us-ascii?Q?7x2oTuhbSmbwhDkZ1qYf2rT6+iqxUud1Wr7iT7NFcTmIJ5otjKGFXGVkBuV9?= =?us-ascii?Q?JYj2ftByE6xAxS4TiAGnJ7N/geiVHfzg/qb6VsEzXn2WBwyVsWDakeAucUJ9?= =?us-ascii?Q?94LvcqdclBM5AdZ0WU7PZXYF3mR3ry42wLqG0l29CPIcMOSTiOff/yNYvEc3?= =?us-ascii?Q?dLAlkeGRoXlM5bBGuv7UEW3JxVU1ZOYc6CmpYwniXa9sm5nln?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2489; 6:gFKRe1lULxFWuV1v3NMdOmjbbQwzMY3a0lWB3gIf558+AZ5E7/dyNKlkgv82Kx3prX1k7NJPUv+gzwS0XrVuIwvoCebFILHBCc8r4C3zyNRhdVyOkoe71lZ41VVB00JpNnacncpQGStlLastbuflw4+PpgtnVSn0nM6n6QBn6roWhnzX7Xi2Tl+Ep0FZohRnebZPTmZYief/Sn+q6viHMND0+xS42v+mwRcPr1Nt7+Q=; 5:V/t8BS8n4usRGCdlIofXbgvfH0lrL/zDOldWj+GAiAThTs4QuHdTJEr9h6YPMM+LnkLeSNQ1MxtH8eDpY6VSLPHGOb4lVB4VBTGvEaxzV6ShVL9fgzQ9nktXA0w/Zj/o9P0qmeqvkxd+YN9NLCBmIw==; 24:L1TQoaa3r1Fba+G5PmHS2OFktHURWhDV3bSNkj1Yli4kNe+c509F42kPGyozbllJgeiKq+l41tfUHiWG065roRwGXnmyERHtYiOhG9vBLI4=; 7:QhwIDZin5lU6XG2mqmL/sG+VG6BS+dkH6zFlOyB5deTV6eN72l5rukW+beA7OuEAjySagq/6wCD0dZBDD/kVxM4nH4f0MVVrjjoQ+/o3mDB0b5uO1kVJQhOVHarsPZ9jHjRWtZwbY1/ECq65du3qXQzRVeOLzYcb8fn+ugFGoVv2nMoHQDjchLZ4vVEXfb89wx2oKHGc/yIwSdBmNMwiurZtuqdAfSyt4LJcJIBN/AI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2017 11:06:30.7402 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2489 unchanged. From f94527d72b2e4e7fe0f0339d0a35aaa91646401b Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Wed, 13 Sep 2017 18:14:26 +0100 Subject: [PATCH 6/7] Do not wrap logf, log2f and powf The new generic logf, log2f and powf code don't need wrappers any more, they set errno inline so only use the wrappers on targets that need it. 2017-09-19 Szabolcs Nagy * sysdeps/ieee754/flt-32/e_log2f.c (__log2f): Define without wrapper. * sysdeps/ieee754/flt-32/e_logf.c (__logf): Likewise * sysdeps/ieee754/flt-32/e_powf.c (__powf): Likewise * sysdeps/ieee754/flt-32/w_log2f.c: New file. * sysdeps/ieee754/flt-32/w_logf.c: New file. * sysdeps/ieee754/flt-32/w_powf.c: New file. * sysdeps/i386/fpu/w_log2f.c: New file. * sysdeps/i386/fpu/w_logf.c: New file. * sysdeps/i386/fpu/w_powf.c: New file. * sysdeps/m68k/m680x0/fpu/w_log2f.c: New file. * sysdeps/m68k/m680x0/fpu/w_logf.c: New file. * sysdeps/m68k/m680x0/fpu/w_powf.c: New file. --- sysdeps/i386/fpu/w_log2f.c | 1 + sysdeps/i386/fpu/w_logf.c | 1 + sysdeps/i386/fpu/w_powf.c | 1 + sysdeps/ieee754/flt-32/e_log2f.c | 7 +++++-- sysdeps/ieee754/flt-32/e_logf.c | 7 +++++-- sysdeps/ieee754/flt-32/e_powf.c | 7 +++++-- sysdeps/ieee754/flt-32/w_log2f.c | 1 + sysdeps/ieee754/flt-32/w_logf.c | 1 + sysdeps/ieee754/flt-32/w_powf.c | 1 + sysdeps/m68k/m680x0/fpu/w_log2f.c | 1 + sysdeps/m68k/m680x0/fpu/w_logf.c | 1 + sysdeps/m68k/m680x0/fpu/w_powf.c | 1 + 12 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 sysdeps/i386/fpu/w_log2f.c create mode 100644 sysdeps/i386/fpu/w_logf.c create mode 100644 sysdeps/i386/fpu/w_powf.c create mode 100644 sysdeps/ieee754/flt-32/w_log2f.c create mode 100644 sysdeps/ieee754/flt-32/w_logf.c create mode 100644 sysdeps/ieee754/flt-32/w_powf.c create mode 100644 sysdeps/m68k/m680x0/fpu/w_log2f.c create mode 100644 sysdeps/m68k/m680x0/fpu/w_logf.c create mode 100644 sysdeps/m68k/m680x0/fpu/w_powf.c diff --git a/sysdeps/i386/fpu/w_log2f.c b/sysdeps/i386/fpu/w_log2f.c new file mode 100644 index 0000000000..3f5c71cec2 --- /dev/null +++ b/sysdeps/i386/fpu/w_log2f.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/i386/fpu/w_logf.c b/sysdeps/i386/fpu/w_logf.c new file mode 100644 index 0000000000..ea48d1356e --- /dev/null +++ b/sysdeps/i386/fpu/w_logf.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/i386/fpu/w_powf.c b/sysdeps/i386/fpu/w_powf.c new file mode 100644 index 0000000000..d133216f5b --- /dev/null +++ b/sysdeps/i386/fpu/w_powf.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/ieee754/flt-32/e_log2f.c b/sysdeps/ieee754/flt-32/e_log2f.c index 6c42f27843..a3506dcfd1 100644 --- a/sysdeps/ieee754/flt-32/e_log2f.c +++ b/sysdeps/ieee754/flt-32/e_log2f.c @@ -18,6 +18,7 @@ #include #include +#include #include "math_config.h" /* @@ -34,7 +35,7 @@ Relative error: 1.9 * 2^-26 (before rounding.) #define OFF 0x3f330000 float -__ieee754_log2f (float x) +__log2f (float x) { /* double_t for better performance on targets with FLT_EVAL_METHOD==2. */ double_t z, r, r2, p, y, y0, invc, logc; @@ -85,4 +86,6 @@ __ieee754_log2f (float x) y = y * r2 + p; return (float) y; } -strong_alias (__ieee754_log2f, __log2f_finite) +strong_alias (__log2f, __ieee754_log2f) +strong_alias (__log2f, __log2f_finite) +versioned_symbol (libm, __log2f, log2f, GLIBC_2_27); diff --git a/sysdeps/ieee754/flt-32/e_logf.c b/sysdeps/ieee754/flt-32/e_logf.c index b8d262441f..ba537d5236 100644 --- a/sysdeps/ieee754/flt-32/e_logf.c +++ b/sysdeps/ieee754/flt-32/e_logf.c @@ -18,6 +18,7 @@ #include #include +#include #include "math_config.h" /* @@ -35,7 +36,7 @@ Relative error: 1.957 * 2^-26 (before rounding.) #define OFF 0x3f330000 float -__ieee754_logf (float x) +__logf (float x) { /* double_t for better performance on targets with FLT_EVAL_METHOD==2. */ double_t z, r, r2, y, y0, invc, logc; @@ -84,4 +85,6 @@ __ieee754_logf (float x) y = y * r2 + (y0 + r); return (float) y; } -strong_alias (__ieee754_logf, __logf_finite) +strong_alias (__logf, __ieee754_logf) +strong_alias (__logf, __logf_finite) +versioned_symbol (libm, __logf, logf, GLIBC_2_27); diff --git a/sysdeps/ieee754/flt-32/e_powf.c b/sysdeps/ieee754/flt-32/e_powf.c index 644a18d05e..4368f49be2 100644 --- a/sysdeps/ieee754/flt-32/e_powf.c +++ b/sysdeps/ieee754/flt-32/e_powf.c @@ -18,6 +18,7 @@ #include #include +#include #include "math_config.h" /* @@ -139,7 +140,7 @@ zeroinfnan (uint32_t ix) } float -__ieee754_powf (float x, float y) +__powf (float x, float y) { unsigned long sign_bias = 0; uint32_t ix, iy; @@ -214,4 +215,6 @@ __ieee754_powf (float x, float y) } return (float) exp2_inline (ylogx, sign_bias); } -strong_alias (__ieee754_powf, __powf_finite) +strong_alias (__powf, __ieee754_powf) +strong_alias (__powf, __powf_finite) +versioned_symbol (libm, __powf, powf, GLIBC_2_27); diff --git a/sysdeps/ieee754/flt-32/w_log2f.c b/sysdeps/ieee754/flt-32/w_log2f.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_log2f.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/ieee754/flt-32/w_logf.c b/sysdeps/ieee754/flt-32/w_logf.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_logf.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/ieee754/flt-32/w_powf.c b/sysdeps/ieee754/flt-32/w_powf.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_powf.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/m68k/m680x0/fpu/w_log2f.c b/sysdeps/m68k/m680x0/fpu/w_log2f.c new file mode 100644 index 0000000000..3f5c71cec2 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_log2f.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/m68k/m680x0/fpu/w_logf.c b/sysdeps/m68k/m680x0/fpu/w_logf.c new file mode 100644 index 0000000000..ea48d1356e --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_logf.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/m68k/m680x0/fpu/w_powf.c b/sysdeps/m68k/m680x0/fpu/w_powf.c new file mode 100644 index 0000000000..d133216f5b --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_powf.c @@ -0,0 +1 @@ +#include -- 2.11.0