From patchwork Mon Sep 25 10:57:58 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 818172 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-84910-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="UiomjzsK"; 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 3y11K31tkDz9t3R for ; Mon, 25 Sep 2017 20:58:14 +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:message-id:date:from:mime-version:to:cc :subject:content-type:content-transfer-encoding; q=dns; s= default; b=X1wdHXxn7VOE8JcoTJwuOHZZEniOJ1fv4TxhhnYQLPUi1mgHFQSPQ 5sbao5453WHhVxBFit7siHE8kM81eHcTBOGl9MVDrrizQoDNV/OzzZoaKivRpJg6 1y/O3d7KXWKibJih81TY1ihcTtF4Z8Vh4/3Gow8PlPYX0Vl0PxhXM0= 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:message-id:date:from:mime-version:to:cc :subject:content-type:content-transfer-encoding; s=default; bh=Y Mgyqtz2u4av2GdopjPfOWRaptE=; b=UiomjzsKGYiyNdN+oszQIoRknO/LoHXpI zvM6XpXHkKhBg909znrUMXm1+yLAFnmt0IdxneDW8Xi/L3jgslr3tyMz90BjPJQO 5n72+yygJ4fQ/1B2lvuPdtPA7iS+oxeshGFQCFmZG06Zg4ACEPvL3t0o2io+Ahu2 mxqMmeJ2Qs= Received: (qmail 839 invoked by alias); 25 Sep 2017 10:58:09 -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 823 invoked by uid 89); 25 Sep 2017 10:58:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-11.2 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR01-HE1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Message-ID: <59C8E136.6070606@arm.com> Date: Mon, 25 Sep 2017 11:57:58 +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 0/7] Optimized expf, exp2f, logf, log2f and powf X-ClientProxiedBy: VI1PR0102CA0105.eurprd01.prod.exchangelabs.com (2603:10a6:803:15::46) To DB6PR0802MB2486.eurprd08.prod.outlook.com (2603:10a6:4:a0::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a3b595ee-6dcb-4861-02d2-08d504044adc X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:DB6PR0802MB2486; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2486; 3:OrWwRYsUBmrb/HgnDs7nShtTCi8JEThf90QssvE7IRMXH53YuS5XisPMYak3ySgcujqq1ZncVoaL12WN0Lx+N+rCuXjtpyaamyJW5I1vjE50V+tsrbyatUr7VvA7AO2AFsCaG89W0BOv9/lTZMw4LK9rUr/WKkYalYr6VjqFy5YfyMF0wOW2A7RMDfZR+FrTQ9s/Ibs58I+22oGperX4wU2v9O+DRx2iyFUe4nxtlvould2bDArJ4eiG8ZJ2DpLX; 25:hxmaZ4wqscq4XeMQCfBYSbL85/EyFQG7UK1GIICo+PaRfD9aWUwtJkj9Hjjf4hXBE/TtlXIRvZSPQO6wqLGb6vOe1yMCphZDky/wNhj2anLZeVVOQtVLQkLbXDPFAV8OkhC0qgGd9yvcMfwCQbDBjlAxHrRYOqjYiYKS09L23LJ3AqBrAU3QjBa6i/lSS1JRgJXjl4TClxiJs4Cj8dK5KL6dshm9pK5G8AnfB/EGXVheIMuKEMTSJMNszuyseHMS55dgLmzf7rgMEHSCyiVF3o6vkxvEUI+yyPHM5LCa/f7S+N7LlcrhxwmR4oRqJ1mS8pWE5VjdMJbpnt6ptB6GwQ==; 31:JhtalBPr/spNEGNKJrfDC/Uoas8ye+Fxidd/g2wX2Pp4Qz6V4Iz3d6Td08iBKS+KQISztb7P6n3THQMExkifN7kOsTwGW+Mfm7qLGDU12g4JD2GAYz4neSG/IBnGp/7Klg07p8vUc9Fs8zXagqZKArIjUQNlEyp3RHouHjl55YuxMi6/0v8fZBSKfSgj83WMrx3geliO047KQekwJM16NL0KsAHyaFQJFwZnkaPEun0= X-MS-TrafficTypeDiagnostic: DB6PR0802MB2486: NoDisclaimer: True X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2486; 20:SMSsOas41ew484hDDB1qE7sxGoj5KjuGSiJf/ZzW1U/F9roT5B3YMgMlEW3HjvkiKQQaLKp4QFuwnOw1SjAnzGWfeIF0rpTINm8GqQNRZRZZ5dVVT4bxUn+cOcwmkEV7ePzVzF3OY1xDJo61JquUc5kWPhhCClQ/V0413cavNfs=; 4:WDFx1hjm89nWhAsqlYkmFMuWmJ3DN3C1XUDJ25hW2pk1HO5ktjCUpHhGGerEkAH6eIkhOGCO6NiwoJT1xeJyosf6CpqTzka021kfabiF9MsWtGLR7j+lDmzX2jpN0PSl/sTzyKqrIM7JwexqdIrJZDGco7De9f2fSeVYPsio/gNfFju6HOVWukRXo02urZVhVK3yI0r7UE0iMoVlioAkNptB9VNiDnPMEnc6//8YKRP82ac5F1ovGegV4P3GHPGq 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)(6040450)(2401047)(5005006)(8121501046)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123555025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB6PR0802MB2486; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB6PR0802MB2486; X-Forefront-PRVS: 04410E544A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6049001)(376002)(346002)(39860400002)(189002)(199003)(305945005)(105586002)(83506001)(72206003)(86362001)(77096006)(4326008)(6486002)(50466002)(59896002)(33656002)(6116002)(189998001)(106356001)(3846002)(36756003)(101416001)(5660300001)(16526017)(64126003)(58126008)(53936002)(6666003)(230700001)(23676002)(316002)(16576012)(8676002)(80316001)(25786009)(6916009)(66066001)(65806001)(65816999)(47776003)(7736002)(8936002)(68736007)(81156014)(2906002)(87266999)(65956001)(50986999)(54356999)(97736004)(478600001)(81166006); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0802MB2486; 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: =?utf-8?q?1=3BDB6PR0802MB2486=3B23=3AUb?= =?utf-8?q?g2ok7Eu9vug8fd9RgmUvbg/KzLV99Timw9bXfLn8bkiDQ2MVfHoQCYOj?= =?utf-8?q?iiODOD7YgYyFlPJuRbMyBufldEsVRK8pDUpZ+e7GcA5k3l57ThWx9Dxs?= =?utf-8?q?MYe+FEE79YtIZjPTcK90BcGcomcB4F5DrODWRApdTz4OHYk1NeIoQ7+6?= =?utf-8?q?3T4nCfFFOTaRIawySAJYxcUv25xrtk+mhAOnEORJ72+7ZPn2f/4V913q?= =?utf-8?q?4i7G+DcqM4tX0Y9O6XwVk0Ojx/xlXTPa6tbUXKbHumqKZUSyQQ2pnq4X?= =?utf-8?q?bgSgeBBSXnCxT9YX5Yy+IrM+GC9zh/i3uWpLglrbif6cXPCQnEXMtqZ5?= =?utf-8?q?BqFb77FSdkliv6qHJ/jHjCzVPkzmtHBgnn7X5uo86uwnzuJqNaEv4H/T?= =?utf-8?q?QmCkVrh3gbT+BN5TajxGMlj/8D+NhdTRGw7LI1eejoYBG7/xsr0Pq5TA?= =?utf-8?q?FIzXVlJIYEIDpNTCdBl0xGvWU06K68vGOlk3kUlLS4Lmy4TVPsekJpqE?= =?utf-8?q?aCOK86c/Rove8WurvkCzzbVSpbfLLVMO3MN3XzmoF8ZvS1O7DEVOAHGY?= =?utf-8?q?cyCSzZyabDNRGRB7JgTjYTD0k6APTYJBx1D/Ho/E+ANcoEENjGn+T/QT?= =?utf-8?q?Brzv2i2d1UipUCTo8SvgVj6rwSiXSKQNYOVtHVIHQ0oDtk1Brm66mwOf?= =?utf-8?q?njCVAy6TIlsTuIYJXhYwr6JbNIYL3dsdiLBiDz+H27IM22tDCIshU7yf?= =?utf-8?q?D8FbqieSRr4Of0F37v7Yuj3RlX3yn9cdUoqvQ+yMTxKgULIo2kI1kmFk?= =?utf-8?q?6pGmgp82O6qeRFVIkEgDSsTBdIV8wUT+uHivklN6FtAD6BuRYfe3dl6c?= =?utf-8?q?GYBRl6PAStbHGnyOyB+HY4AJSgMGhi379GEeuRtJGEw1SZZxctm3KoG9?= =?utf-8?q?YeaYSWi0yZaxQk+kyoePnqbLkuiT/b743ffUjVLGCy93y2uZAzy2uCUx?= =?utf-8?q?rNc0Ilp0roD0xZawwpSHe6LtyL6KKCtibQGfptHODARmLXY6QO7izjSK?= =?utf-8?q?diiHiaRrPEv9Yv5frl412B5naVheu96KctRRZt8WTExwg7n90tHvwWBU?= =?utf-8?q?s3NAQSTbbU4Up07O1QIkAVC55SMbMqkfsvlJ0pJV45E0Oip8/pQOBEuS?= =?utf-8?q?el0I4W04NUzKHpl38thS7M0MWquLnQ+9+sUnVffjHBURI6kVa+h5eBcK?= =?utf-8?q?+VTt4ITDB+8GWUjPBFJSZjM5+XcldARguvFPw5A9NUxBV3IEkk+ilMtG?= =?utf-8?q?rmo/Dz2ESrBK1GiMc5ginXZZc=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2486; 6:Td0kxfK/f6OdhHObKXuc3WHz2QT9UWY1n4ZAtcCMat6Uq5WQY5o0Oc9kZdqevlCCH3NGI1/79Lf/wOQ/lsnTVDbM85Fa2FHLkEiczfBaJ5Traqnd2Fmr2xlt/iQZ0tP2HyZQtyhWmWNeMW9EdkIhY3J/0P3rRKIFWr+hxykGT6aQopXcxrbTXt7inhaSdQ6Z1wCgr3h0Q3wM2kuq/eGWTeZ+AKFLYW05jNcM2iH7i4AzH5KRlIZ4FZPrnyK6nxIgY+UE85rX9uaUIBE2nCgDyQvt4wy97PjsCJSDqGGiIU/qhpM0ff5mfUtThcQNBt8VJ7vSIWrle4cdLt4fmy3tJQ==; 5:HBnpEjsVGVGlyLQ6dBxHPuRH/2j22IWow0qZ5P1XRAzYav1kQwNCpQbS4/CueHmy9zwlnVeTJAlb/MynXdAwze5bTaQ/SlFVaqIGPBYk8wBydlVemPGg+3sN3HVPCgEfGo+giiIrkrqPv0FfvGg/jQ==; 24:aYmxCY8e7YchVfX6SkxmxbIyVHQTYibgUkSABqX9pdizPMbGRBK33/8TXcq/fpmf5oLRNIgBUPaqagMTKwMXBxmeRCFSWIUbq/6f8yllXEI=; 7:fV4Ur58nl6H4lKeY6es7jG2RTHJ38bodPq5Ib442wbcKQZ07jnf0bTYaL6qzIeicNfnYTsIviwqAQ18pNba/pY1FwIkXGtiLnFDhrxcdyBdLcdsz5cGK5Jw3CWz+ab8XEkN8vKyaVr6GNbJQk6CVfu6vUlMFXDsHCDusy+byU8r01i2f75R3t48BK+bfMDKsEdAUEATEPJgdC51jR0637Ygf6HojNrwovB9Hh/murpw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2017 10:58:01.7293 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2486 committed the new expf and exp2f code to master. the updated patchset is pushed to nsz/math2 branch. Szabolcs Nagy (7): Do not wrap expf and exp2f New generic logf New generic log2f New generic powf New symbol version for logf, log2f and powf without SVID compat Do not wrap logf, log2f and powf AArch64: update libm-test-ulps math/Makefile | 3 +- math/Versions | 2 +- math/w_log2f.c | 7 + math/w_log2f_compat.c | 6 +- math/w_logf.c | 7 + math/w_logf_compat.c | 6 +- math/w_powf.c | 7 + math/w_powf_compat.c | 6 +- sysdeps/aarch64/libm-test-ulps | 10 +- sysdeps/i386/fpu/e_log2f_data.c | 1 + sysdeps/i386/fpu/e_logf_data.c | 1 + sysdeps/i386/fpu/e_powf_log2_data.c | 1 + sysdeps/i386/fpu/w_exp2f.c | 1 + sysdeps/i386/fpu/w_expf.c | 1 + sysdeps/i386/fpu/w_log2f.c | 1 + sysdeps/i386/fpu/w_logf.c | 1 + sysdeps/i386/fpu/w_powf.c | 1 + sysdeps/i386/i686/fpu/multiarch/w_expf.c | 1 + sysdeps/ia64/fpu/e_log2f.S | 10 +- sysdeps/ia64/fpu/e_log2f_data.c | 1 + sysdeps/ia64/fpu/e_logf.S | 6 + sysdeps/ia64/fpu/e_logf_data.c | 1 + sysdeps/ia64/fpu/e_powf.S | 10 +- sysdeps/ia64/fpu/e_powf_log2_data.c | 1 + sysdeps/ieee754/flt-32/e_exp2f.c | 7 +- sysdeps/ieee754/flt-32/e_expf.c | 16 +- sysdeps/ieee754/flt-32/e_log2f.c | 153 ++++---- sysdeps/ieee754/flt-32/e_log2f_data.c | 44 +++ sysdeps/ieee754/flt-32/e_logf.c | 153 ++++---- sysdeps/ieee754/flt-32/e_logf_data.c | 44 +++ sysdeps/ieee754/flt-32/e_powf.c | 393 ++++++++++----------- sysdeps/ieee754/flt-32/e_powf_log2_data.c | 45 +++ sysdeps/ieee754/flt-32/math_config.h | 50 +++ sysdeps/ieee754/flt-32/w_exp2f.c | 1 + sysdeps/ieee754/flt-32/w_expf.c | 1 + 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/e_log2f_data.c | 1 + sysdeps/m68k/m680x0/fpu/e_logf_data.c | 1 + sysdeps/m68k/m680x0/fpu/e_powf_log2_data.c | 1 + sysdeps/m68k/m680x0/fpu/w_exp2f.c | 1 + sysdeps/m68k/m680x0/fpu/w_expf.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 + .../powerpc/powerpc64/fpu/multiarch/e_expf-ppc64.c | 5 +- sysdeps/powerpc/powerpc64/fpu/multiarch/w_expf.c | 1 + sysdeps/unix/sysv/linux/aarch64/libm.abilist | 3 + sysdeps/unix/sysv/linux/alpha/libm.abilist | 3 + sysdeps/unix/sysv/linux/arm/libm.abilist | 3 + sysdeps/unix/sysv/linux/hppa/libm.abilist | 3 + sysdeps/unix/sysv/linux/i386/libm.abilist | 3 + sysdeps/unix/sysv/linux/ia64/libm.abilist | 3 + sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist | 3 + sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist | 3 + sysdeps/unix/sysv/linux/microblaze/libm.abilist | 3 + sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 3 + sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 3 + sysdeps/unix/sysv/linux/nios2/libm.abilist | 3 + .../sysv/linux/powerpc/powerpc32/fpu/libm.abilist | 3 + .../linux/powerpc/powerpc32/nofpu/libm.abilist | 3 + .../sysv/linux/powerpc/powerpc64/libm-le.abilist | 3 + .../unix/sysv/linux/powerpc/powerpc64/libm.abilist | 3 + sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist | 3 + sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist | 3 + sysdeps/unix/sysv/linux/sh/libm.abilist | 3 + sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist | 3 + sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist | 3 + .../sysv/linux/tile/tilegx/tilegx32/libm.abilist | 3 + .../sysv/linux/tile/tilegx/tilegx64/libm.abilist | 3 + sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist | 3 + sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 3 + sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 3 + sysdeps/x86_64/fpu/w_expf.c | 1 + 75 files changed, 722 insertions(+), 373 deletions(-) create mode 100644 math/w_log2f.c create mode 100644 math/w_logf.c create mode 100644 math/w_powf.c create mode 100644 sysdeps/i386/fpu/e_log2f_data.c create mode 100644 sysdeps/i386/fpu/e_logf_data.c create mode 100644 sysdeps/i386/fpu/e_powf_log2_data.c create mode 100644 sysdeps/i386/fpu/w_exp2f.c create mode 100644 sysdeps/i386/fpu/w_expf.c 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/i386/i686/fpu/multiarch/w_expf.c create mode 100644 sysdeps/ia64/fpu/e_log2f_data.c create mode 100644 sysdeps/ia64/fpu/e_logf_data.c create mode 100644 sysdeps/ia64/fpu/e_powf_log2_data.c create mode 100644 sysdeps/ieee754/flt-32/e_log2f_data.c create mode 100644 sysdeps/ieee754/flt-32/e_logf_data.c create mode 100644 sysdeps/ieee754/flt-32/e_powf_log2_data.c create mode 100644 sysdeps/ieee754/flt-32/w_exp2f.c create mode 100644 sysdeps/ieee754/flt-32/w_expf.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/e_log2f_data.c create mode 100644 sysdeps/m68k/m680x0/fpu/e_logf_data.c create mode 100644 sysdeps/m68k/m680x0/fpu/e_powf_log2_data.c create mode 100644 sysdeps/m68k/m680x0/fpu/w_exp2f.c create mode 100644 sysdeps/m68k/m680x0/fpu/w_expf.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 create mode 100644 sysdeps/powerpc/powerpc64/fpu/multiarch/w_expf.c create mode 100644 sysdeps/x86_64/fpu/w_expf.c