[{"id":1763517,"web_url":"http://patchwork.ozlabs.org/comment/1763517/","msgid":"<59AEDC13.3060606@arm.com>","list_archive_url":null,"date":"2017-09-05T17:17:07","subject":"Re: [PATCH] Optimized generic expf and exp2f","submitter":{"id":65667,"url":"http://patchwork.ozlabs.org/api/people/65667/","name":"Szabolcs Nagy","email":"szabolcs.nagy@arm.com"},"content":"On 05/09/17 17:54, Szabolcs Nagy wrote:\n> Based on new expf and exp2f code from\n> https://github.com/ARM-software/optimized-routines/\n> \n> with https://sourceware.org/ml/libc-alpha/2017-08/msg01126.html\n> expf reciprocal-throughput: 3.3x faster\n> expf latency: 1.7x faster\n\nforgot to mention that this is on an aarch64 cpu\non an x86_64 cpu i measure\n\nexpf reciprocal-throughput: 1.7x faster than current asm\nexpf latency: 1.5x faster than current asm","headers":{"Return-Path":"<libc-alpha-return-84197-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84197-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"OgZ+odpM\"; dkim-atps=neutral","sourceware.org; auth=none","spf=none (sender IP is )\n\tsmtp.mailfrom=Szabolcs.Nagy@arm.com; "],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xmtgr5Xkmz9sNq\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed,  6 Sep 2017 03:17:28 +1000 (AEST)","(qmail 10776 invoked by alias); 5 Sep 2017 17:17:23 -0000","(qmail 10753 invoked by uid 89); 5 Sep 2017 17:17:20 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:message-id:date:from:mime-version:to:cc\n\t:subject:references:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=mGKs1EFHXrPkFpMn\n\t+PzUv2Z/hU8GulxXhflTtMDEmqKSshZhk0ed96QM1urO/4TKvkfCIPBugQrwCfAt\n\t+3PNpP28VQFqohUjSos+nf5eOdeyVVB9wUrOEEojUl5xbEQ1RIz4lvXJqkk6KK9L\n\tli9FUzPZaZvMKzufHSJUBv2aaqQ=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:message-id:date:from:mime-version:to:cc\n\t:subject:references:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=l5UPDlFYMxkJqtKfQWwNO7\n\tRdf8Q=; b=OgZ+odpMJyYMine5o2xEtcXZkrk5kqLSEfiGAfGDxSvVk86GKWVb/S\n\tgJB4sh2OOcMehh4ZCWT6mLI/lMnryrmxzuQrdge002Zf5XLSQQ6bxj9+fAzH4tsw\n\t7j/oFYwcV21Yg5oLA8gvLLj68RYDd8bMx/0j4NxjHZz9xdtg+qSig=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-2.1 required=5.0 tests=AWL, BAYES_00,\n\tRCVD_IN_DNSWL_NONE, SPF_HELO_PASS,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=","X-HELO":"EUR01-HE1-obe.outbound.protection.outlook.com","Message-ID":"<59AEDC13.3060606@arm.com>","Date":"Tue, 05 Sep 2017 18:17:07 +0100","From":"Szabolcs Nagy <szabolcs.nagy@arm.com>","User-Agent":"Mozilla/5.0 (X11; Linux x86_64;\n\trv:31.0) Gecko/20100101 Thunderbird/31.8.0","MIME-Version":"1.0","To":"GNU C Library <libc-alpha@sourceware.org>","CC":"nd@arm.com","Subject":"Re: [PATCH] Optimized generic expf and exp2f","References":"<59AED6DA.6000509@arm.com>","In-Reply-To":"<59AED6DA.6000509@arm.com>","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"7bit","X-ClientProxiedBy":"HE1PR0202CA0048.eurprd02.prod.outlook.com\n\t(2603:10a6:3:e4::34) To AM5PR0802MB2482.eurprd08.prod.outlook.com\n\t(2603:10a6:203:98::23)","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-Correlation-Id":"332a6c62-544c-4aa5-a3d5-08d4f481f234","X-MS-Office365-Filtering-HT":"Tenant","X-Microsoft-Antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(48565401081)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:AM5PR0802MB2482; ","X-Microsoft-Exchange-Diagnostics":["1; AM5PR0802MB2482;\n\t3:ni3yLC9jmaSiXFubsyAKp/7QYDa8KrVfZ8BGzBHJpuSASjw+4cnyHJ918cQcgx/rCv2fiwzm/NfGa+GPkhLRZP1yDEqQLPpZ82+UGvh8/bl4o4/mZa5WXL0KzYv8rAHjHWFK/U8PRDOK1xZ/8U/1fQtjzIU0wgpM84UE7NYZjdc8qpjO1eJQZAHuT1LWujYn5jG5HLVpU3JnuabmAt7faOC/pAxlwTG2dCcOttxOyKA3X57esWjy4oxLXX9QI9Ga;\n\t25:BlsuvalszHBFkHj6ahduQbFUJEr8JCGhKsFCXQ7wXdCQj3LH7ugByjJi1PKqFWISa11UePz3ADOjEuFOu9RRU/aDFHvtifXybDzfJjWfPG65fWdd3KV+QO0SD72unC6JDIy54hjYnzItadgeUpWJYPW6Mjc6vnOGry0TNizkicSEemvlTEgJBzQg4iJYMFu3s0tVepoagN8xyvorPqeHuTK1Ntwn/fJj79PeEl1CQbWItRA3Xb5W7JRICucguOBASx0dj9kSCi4f5tqPeraNSNqmMR6Ql6kReQikD0X206rGUj1dnUdgtV18WKeagkrQfEV2YaYm/cbYuhLkVmXZlA==;\n\t31:pMh9CD9hqOUzFD34COiDkeNUdHuS5BcYpwrnq/2Ns0mMnZWQCF88qG1Txz8haKLjzwldpdMbCaVV5L90UFEDtHdBg1sZzKDD+yntOj8AUA3TD0wu521WanDFtWFBbkbx4py4mmTzRmAVs3+g92dAHwnFREbkLiOZhWyBr5I5qqqWO+8LiewsC1SK7OxC1gfs2VIk2VBnL9gRCYTHTpaV33NBPQ73qhNwfzYFfJM2aus=","1; AM5PR0802MB2482;\n\t20:9660FIGyrFR7gWJdZ7HSLgtLhnCM3smfx2uAMGUYXBMYLxf5I4OILqu1noPq/cHIZ9nlxegCrUzVIgbwgR7Cc+qDcvsJugEe9T+bYFGcOjY14VBDNtu7R3MVoKb5wAZLl1VtLM55p851L9rsJaZ9ca1f8CumVLGBcmEXu+A1MV8=;\n\t4:FagFGk4xM6YPP6RmXs+lscwNmW/FJrf0MaYlzK497P1O4A5B3Fm9rrzJdGLN5FMprJXWpyTqm1kcV5wwdtfwjmyHZBRjXa03av4EFrXYgAyEaAuXS0i7kEr6P4kU9CTZOUgTjA3gWfRZhfIdgPDA16rUuzC2Y5ImkoGKHt9GqJFXb+Snk/vN375az6jc7GeIqA4De+YUJG5oQ2495wH/SMMLgThRHbk6m4dT3dedyEky16cYD7iEl4Mff3a3DRbecBR1wVqLVAfA0NKw2qPrvCel2dRGy+78Sk4jcg4BPXw=","=?utf-8?q?1=3BAM5PR0802MB2482=3B23=3ANV?=\n\t=?utf-8?q?9KiUsquSd5B5ZtubdHIoEcBjadHoQryaZlJRwurZom278nKFFj9dVV5k?=\n\t=?utf-8?q?k4YvmYGDcMODk+OeLwmA4nN96uU53JaAyYQHXlGo84OvjdXVnwGjCHso?=\n\t=?utf-8?q?yenYCoBwggKgNY+3qCK8ih5QVi/ygckpQ90htpb+ETbeV7/aF+n9se5t?=\n\t=?utf-8?q?b0czdGfxVOm0oWbuzECJodmXGhf9pjbZZ1TGUjtlGFLH+oJUbT1H4jRe?=\n\t=?utf-8?q?3H59X9x0pDJ7Ue4kQ9hrDk3r9Y8I4nglZ44IkcYoslKrbT6YdSWmNjWS?=\n\t=?utf-8?q?OsDo8d9OT+r4U3U1qxaG1Ox/IZJZaI9xvn9kOHEoaMd/+FLIjWgwuzkA?=\n\t=?utf-8?q?LdfBebtmEzrCXIonM+oEPrXaJb+yhKm5ZKjEYt5sVcvkx+Vb8w5nmLjJ?=\n\t=?utf-8?q?MvYP4hJ/cZwMJnacdqzICk/K9N9q0R2ShNYMkfQUPz2i0wSMKyj3fhHf?=\n\t=?utf-8?q?b6LMlrW0RZmfm1Epi1uQusru6xjLDh5md8ehYWzYVnwe7BDEet2f6Xe7?=\n\t=?utf-8?q?mHnwslNutFm6WCTpi8MVPhjYltMsVjaxkRuPzTFkmsTLT++ZS0aDNp2/?=\n\t=?utf-8?q?0lb7stKdjw74v9Z7m4Fi0+uE/5uFl7wF4d0Rjff86a/0usTtSSsyysuV?=\n\t=?utf-8?q?scKLgJFTVxlxoaXBe4//SGJ0DLTGL3YXSgTgV9zrmcaFQV895fr75Xw7?=\n\t=?utf-8?q?1BGpqIlueKUIPfyoZCZ7PTpFdkcM3Fxx8fRKC2fjg+EMfQM2XCNJuvtW?=\n\t=?utf-8?q?h7Citc+i3WCBQmtn6jLI3Cv6XqWNnYyCfxTnXbixaBOgYxDEzDzIKoSy?=\n\t=?utf-8?q?t2+jNPT/0doeNAjnbrMjV7lileXNR3aYlWr2QuBskCy3WymJYu6Bi5Gs?=\n\t=?utf-8?q?WkBEj/MrGUxnPsjbM4ExDkLkgF8WWRBbpj1rX89Qr0t8gpen8m+R/59w?=\n\t=?utf-8?q?Vx61nvHTLfNRR1lfSAPWVEk7rYXfJ35cvx5XC0CfVgH3OK9xdZ4NGyHi?=\n\t=?utf-8?q?LQ5dR6iiT6VZa5r5yBuVw4d2CL2G3hz2n9NpSAIMw1Md8yrknsaQM+1W?=\n\t=?utf-8?q?UblkNNIgz94CTMgi6k30LRgtIftfGjFdmi9D+M+IFCvGI39zDBbEE9rU?=\n\t=?utf-8?q?lBT+isojUOZjkXlkwJ2voFzZrcYm34NdyFQOZHlA6QTVI+ERkJmZbYPl?=\n\t=?utf-8?q?0SwK7Muc+4XZXflKiN2AwIgFYjkf5fsJG7ak5349UJU8/Kw3G6rZzsUp?=\n\t=?utf-8?q?Ez53Qbfr5ZLA79nr8bYa0Qjom9beXOfxrMjt5Acn3Itm8KYbITmj7n1S?=\n\t=?utf-8?q?N9tjPle3sa1vJ7X0TxNIOYlefh2iCCUGkyFsD1AW1Wh2G3W/eosraSeM?=\n\t=?utf-8?q?HyYzF9ysGSIDOvQgr8o3jjIxwfJmB25KG6DtwsF/U5qf9/cT5b8ZwpqS?=\n\t=?utf-8?q?LvV96KERsb/RhgLcdTJjzXfTm2rB3buhplQtiFOwKyyXUGCzZem3ksoV?=\n\t=?utf-8?q?BnfkYTQO/y76yDtFEYGvngEzc5jBii/WqO9+Zzx+NiJLSEArZOVRVVE+?=\n\t=?utf-8?q?zDGEV9GM3m+WsG?=","1; AM5PR0802MB2482;\n\t6:nQ2Txf+VIIFJ4+2E3hnj34OynMKeVgp+N/+lWhBt+nD2434B2kAT/m0Y5nKvyCVHmzGfSe8eRJGokdYK3yzuauBcCpONIBMs/VqeNEIfKMf0hmRY2iSY0nCr7LykpaEnbinUoaoyOEnT829GHwx4FLLbyetoBb1Vu4H24Wk61BTPtK7wXQhOAJk00WJdE+Or+ZPUxcYi1pUQ51dipLhOurwT1KaYclq240LJOqCEhf28M+XQWVq0dQ3jxNY3/Ps3gjCG/MDwHyEaCpXy3rKrXWUoDMsTBPpEBoAeh32l0wPYWiSojlrCvEYYwQigOhclENz7Nn1ogSzK9IRiJu/Q5w==;\n\t5:IaAgYwRDmBVhrngaT5lO2r+cSU+YvqPN8WStGscHyLZRXb5Ea0XBg1wwi9U0hmPkGcDqtIwyfvvewl6UX2CtfWHYuxvslSATeUhej2ima5HENbARe4DW5mQr5Tko5c6CBnCgUTwcSYFGqagwANRBLA==;\n\t24:xffGaD20HRR701tgSD4Q2r8+LRm2JRMF7C8yZdQKqFClwB7kuMWjhIUYwTJI58tkxg/EdRTNbmx8KMyr37XI1aERHpdvcVgjU4fCa5DO3+A=;\n\t7:4VYTno1YxxTO9Z3Pf5EeRcsmOP7F9Gr6u/dKLlZ0E5Er1uFq2jOeoNICaHhu9NqnS4w4mqNwT1FGxnf3Z8vUTsU6xSWf0Hn2BZl614FRpRzPSL454TZGulG9WEPCEfgXMHOz9oTJExKytGcQKsBGlL3sGVuuhZOX1HufegMWT0nCfcRy8hAvuLOvn57QN8hOav7Ln1lyDsIyEEpu+md92tdqSkTvxW75Oe9xT8LDmdo="],"X-MS-TrafficTypeDiagnostic":"AM5PR0802MB2482:","NoDisclaimer":"True","X-Exchange-Antispam-Report-Test":"UriScan:(166708455590820);","X-Microsoft-Antispam-PRVS":"<AM5PR0802MB24824DEEA87A44636D7268A6ED960@AM5PR0802MB2482.eurprd08.prod.outlook.com>","X-Exchange-Antispam-Report-CFA-Test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123555025)(20161123558100)(20161123564025)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:AM5PR0802MB2482; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:AM5PR0802MB2482; ","X-Forefront-PRVS":"0421BF7135","X-Forefront-Antispam-Report":"SFV:NSPM;\n\tSFS:(10009020)(4630300001)(7370300001)(6009001)(6049001)(39860400002)(24454002)(189002)(199003)(4001350100001)(47776003)(8676002)(83506001)(966005)(65806001)(189998001)(65956001)(64126003)(53546010)(66066001)(478600001)(68736007)(25786009)(6486002)(6116002)(72206003)(229853002)(59896002)(77096006)(97736004)(80316001)(50466002)(4326008)(81166006)(81156014)(3846002)(42186005)(7736002)(106356001)(87266999)(54356999)(23676002)(6306002)(7350300001)(305945005)(105586002)(86362001)(53936002)(110136004)(230700001)(5660300001)(76176999)(36756003)(65816999)(2906002)(2950100002)(50986999)(33656002)(6246003)(101416001)(6666003)(6916009)(41533002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0802MB2482;\n\tH:[10.2.206.69]; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1;\n\tLANG:en; ","Received-SPF":"None (protection.outlook.com: arm.com does not designate\n\tpermitted sender hosts)","SpamDiagnosticOutput":"1:99","SpamDiagnosticMetadata":"NSPM","X-OriginatorOrg":"arm.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"05 Sep 2017 17:17:11.2733\n\t(UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"AM5PR0802MB2482"}},{"id":1763599,"web_url":"http://patchwork.ozlabs.org/comment/1763599/","msgid":"<ec0984ff-e039-53ff-fe53-dfd8398e1cf1@linux.intel.com>","list_archive_url":null,"date":"2017-09-05T19:32:31","subject":"Re: [PATCH] Optimized generic expf and exp2f","submitter":{"id":51,"url":"http://patchwork.ozlabs.org/api/people/51/","name":"Arjan van de Ven","email":"arjan@linux.intel.com"},"content":"On 9/5/2017 9:54 AM, Szabolcs Nagy wrote:\n> Based on new expf and exp2f code from\n> https://github.com/ARM-software/optimized-routines/\n> \n> with https://sourceware.org/ml/libc-alpha/2017-08/msg01126.html\n> expf reciprocal-throughput: 3.3x faster\n> expf latency: 1.7x faster\n> libm.so size: -8byte data, -2140byte text\n> expf/exp2f worst case nearest rounding ulp error: 0.502\n> \n\n\nyou mentioned x86 data.. is that based on current git after\nthe recent optimizations (on a cpu with fma)?","headers":{"Return-Path":"<libc-alpha-return-84206-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84206-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"tAZ4plnN\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xmxgx0Phjz9s83\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed,  6 Sep 2017 05:32:44 +1000 (AEST)","(qmail 5937 invoked by alias); 5 Sep 2017 19:32:38 -0000","(qmail 5915 invoked by uid 89); 5 Sep 2017 19:32:37 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:cc:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=Lc3rMtWT/kzb94/9\n\td4nlLw8lU2bAIsmcSGsyVP2y9MvDVlwvuMNQa/ch5+UdKnIayxV87MTD9TuuRiAX\n\teB0987iBVlNoGvE3esRPyjlT59+NSzdS2DfmDGoG7AwsXqgW3AGO8B6AjaX6KfyA\n\tI2ROAh+GQOe2Kvsy5LlIhlu77k0=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:subject:to:cc:references:from:message-id:date\n\t:mime-version:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=zElGM70S/zkdA/1zXS7bFw\n\tfSxks=; b=tAZ4plnNpRoNRNZv04VkXA/ZUIlUDqNmtOKMJifvWxOohDYz4AEgYF\n\tUVDPSIJpaQbePO9wZs8C0jUSdZ/z2mJAhGPaz7GLTqejM1EcoAGbzKCaUgr6FYUh\n\tBdJD47rZKp1dgyyCr9feCTyEcRk4/qkjd03BVpCMBaebUp01mO/SE=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-0.9 required=5.0 tests=BAYES_00,\n\tKAM_LAZY_DOMAIN_SECURITY,\n\tRP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=H*RU:HELO,\n\tHx-spam-relays-external:HELO","X-HELO":"mga04.intel.com","X-ExtLoop1":"1","Subject":"Re: [PATCH] Optimized generic expf and exp2f","To":"Szabolcs Nagy <szabolcs.nagy@arm.com>,\n\tGNU C Library <libc-alpha@sourceware.org>","Cc":"nd@arm.com","References":"<59AED6DA.6000509@arm.com>","From":"Arjan van de Ven <arjan@linux.intel.com>","Message-ID":"<ec0984ff-e039-53ff-fe53-dfd8398e1cf1@linux.intel.com>","Date":"Tue, 5 Sep 2017 12:32:31 -0700","User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<59AED6DA.6000509@arm.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Transfer-Encoding":"7bit"}},{"id":1763631,"web_url":"http://patchwork.ozlabs.org/comment/1763631/","msgid":"<alpine.DEB.2.20.1709052014180.6352@digraph.polyomino.org.uk>","list_archive_url":null,"date":"2017-09-05T20:45:44","subject":"Re: [PATCH] Optimized generic expf and exp2f","submitter":{"id":4349,"url":"http://patchwork.ozlabs.org/api/people/4349/","name":"Joseph Myers","email":"joseph@codesourcery.com"},"content":"On Tue, 5 Sep 2017, Szabolcs Nagy wrote:\n\n> Error checks are inline and actual error handling is\n> in separate functions that are tail called and expected\n> to be reusable when other math functions are implemented\n> without wrappers. (expf, __expf, __ieee754_expf symbols\n> are aliases, _LIB_VERSION is not checked, errno is set\n> unconditionally according to POSIX rules.)\n\nThe _LIB_VERSION and matherr handling is part of the ABI for the existing \nsymbol versions of expf and exp2f.  Thus, if you wish to use integrated \nerror handling that does not handle _LIB_VERSION and matherr the same way \nas the existing code, you need a new symbol version (with the old version \nthen probably keeping the existing wrapper but having it wrap the new \nimplementation - duplicate errno setting for existing binaries should be \nfine).\n\n> One issue with the argument reduction is that it only\n> works right with nearest rounded rint, otherwise the\n> interval is [0,2c] or [-2c,0] instead of [-c,c]. The\n> polynomial is optimized for [-c,c] but it has sufficent\n> extra precision that it gives acceptable results on\n> [-2c,2c] too assuming users are less interested in\n> non-nearest rounded precision, however this means some\n> glibc ulp error limits will need adjustment.\n\nBy ulp error limits do you mean the entries in libm-test-ulps, or the \nglobal max_valid_error limit in libm-test-support.c which no \nlibm-test-ulps entry is allowed to exceed?\n\n> \t* sysdeps/ieee754/flt-32/w_expf_compat.c: Move to...\n> \t* math/w_expf_compat.c: ... here.\n\nI'd expect all the w_exp{,f,l}_compat.c files to move at the same time \n(modulo probably needing to add an ldbl-opt version to deal with the long \ndouble versioning in the ldbl-64-128 and ldbl-128ibm versions).  I think \nthey are all in fact generic and are only in sysdeps directories because \nolder versions of them used to hardcode bounds on arguments to the exp \nfunctions that gave finite nonzero results for a particular format.\n\n> \t* sysdeps/x86_64/fpu/w_expf_compat.c: New file.\n\nIs this something to do with x86_64 having its own expf implementations?\n\nIt seems i386, ia64, m68k, powerpc64 and x86_64 all have their own \nimplementations of expf, exp2f or both (sometimes multiarch, sometimes the \nmultiarch variants may have a fallback to using the generic C version, or \nusing it built with particular options).  I'd expect an expf replacement \npatch like this one to explain explicitly how it affects those \narchitectures.  If on any architecture the answer is that the new C \nversions are not used at all, then I'd expect that architecture to get its \nown dummy versions of math_errf.c and e_exp2f_data.c to avoid building \nunused code into libm.  Of course, if an architecture uses either the \ngeneric expf or the generic exp2f under any circumstances, it needs the \nrelevant support code built into libm when there is code referencing it in \nlibm.\n\nNow, I do not make assertions about the performance merits of any of those \narchitecture-specific variants; it's entirely possible that some of them \nshould be removed if their performance is inferior to the performance of \nthis C version (once the C version has been appropriately configured for \nthat architecture) (or replaced by building it with specific options to \ngenerate multiarch variants, if that is beneficial on a particular \narchitecture).\n\n> +  if (__builtin_expect (abstop >= top12 (128.0f), 0))\n\nWe use __glibc_unlikely in glibc.\n\n> +  if (__builtin_expect (abstop >= top12 (88.0f), 0))\n\nLikewise.\n\n> +#ifndef WANT_ROUNDING\n> +/* Correct special case results in non-nearest rounding modes.  */\n> +#define WANT_ROUNDING 1\n> +#endif\n\nglibc style uses \"# define\" inside #if, etc.\n\n> +static inline int\n> +ieee_2008_issignaling (float x)\n> +{\n> +  uint32_t ix = asuint (x);\n> +  ix ^= 0x00400000; /* IEEE 754-2008 snan bit.  */\n> +  return 2 * ix > 2u * 0x7fc00000;\n> +}\n\nThis doesn't seem to be used, but if you need issignaling tests in future \nfunctions (powf?), you need to respect HIGH_ORDER_BIT_IS_SET_FOR_SNAN from \nnan-high-order-bit.h.\n\n> +#ifdef __GNUC__\n> +#define HIDDEN __attribute__ ((__visibility__ (\"hidden\")))\n> +#define NOINLINE __attribute__ ((noinline))\n\nWe don't generally want __GNUC__ conditionals in glibc code, unless it's \nactually shared verbatim with an external repository such as gnulib, or \nit's an installed header.  So attribute_hidden can be used \nunconditionally.","headers":{"Return-Path":"<libc-alpha-return-84217-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84217-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"D4yqMUP6\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xmzJh2s2Yz9s83\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed,  6 Sep 2017 06:46:11 +1000 (AEST)","(qmail 35215 invoked by alias); 5 Sep 2017 20:46:06 -0000","(qmail 35184 invoked by uid 89); 5 Sep 2017 20:45:59 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:in-reply-to:message-id\n\t:references:mime-version:content-type; q=dns; s=default; b=xQiR8\n\tfMgx15CqQVE90qUnWoKb7G/ddh0lPjBLD5NQEYyBi+6yyfvMXTjMKDm+Ay5uVhdh\n\tytwV9Oe+peDM2Lv2vFFjrXseJ0t0iaEouUbndyOJjyn8XAhhqTz2XS2k5vZEFS5S\n\tReKr+RMUDYk3MaRjQ2snX+1hKeSUZ+xutQL+h8=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:in-reply-to:message-id\n\t:references:mime-version:content-type; s=default; bh=3fBPzMsnOP7\n\tTFd9pXmuGMPv8EnQ=; b=D4yqMUP68J8IesNc6nU67EBG0umChGQUkj6vmr/Sw1Q\n\twnQmsR+qDRtXDgBXty+re0OVpi7BpUvTIPxx0Op90JSEYpYqb2+g49UgMenXNeVC\n\t+cocxspeq1XyC4jZfQjTDMoVZVbbZRkcvlm2H+Uhx+ToT9zcE6m4tXLvBsDe7+zI\n\t=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-2.0 required=5.0 tests=AWL, BAYES_00,\n\tRCVD_IN_DNSWL_NONE, SPF_PASS,\n\tURIBL_RED autolearn=ham version=3.3.2 spammy=fl","X-HELO":"relay1.mentorg.com","Date":"Tue, 5 Sep 2017 20:45:44 +0000","From":"Joseph Myers <joseph@codesourcery.com>","To":"Szabolcs Nagy <szabolcs.nagy@arm.com>","CC":"GNU C Library <libc-alpha@sourceware.org>, <nd@arm.com>","Subject":"Re: [PATCH] Optimized generic expf and exp2f","In-Reply-To":"<59AED6DA.6000509@arm.com>","Message-ID":"<alpine.DEB.2.20.1709052014180.6352@digraph.polyomino.org.uk>","References":"<59AED6DA.6000509@arm.com>","User-Agent":"Alpine 2.20 (DEB 67 2015-01-07)","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"US-ASCII\"","X-ClientProxiedBy":"svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To\n\tsvr-ies-mbx-01.mgc.mentorg.com (139.181.222.1)"}},{"id":1763637,"web_url":"http://patchwork.ozlabs.org/comment/1763637/","msgid":"<alpine.DEB.2.20.1709052056550.6352@digraph.polyomino.org.uk>","list_archive_url":null,"date":"2017-09-05T20:58:23","subject":"Re: [PATCH] Optimized generic expf and exp2f","submitter":{"id":4349,"url":"http://patchwork.ozlabs.org/api/people/4349/","name":"Joseph Myers","email":"joseph@codesourcery.com"},"content":"On Tue, 5 Sep 2017, Arjan van de Ven wrote:\n\n> you mentioned x86 data.. is that based on current git after\n> the recent optimizations (on a cpu with fma)?\n\nReally you need to compare with both the fma and non-fma versions (and \ncompare the C version built both with and without fma, since one \npossibility would be that the C version can replace the x86_64 ones but \nshould be built twice, with and without fma, to achieve that replacement).","headers":{"Return-Path":"<libc-alpha-return-84219-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84219-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"vlCoFrFP\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xmzb633vgz9sCZ\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed,  6 Sep 2017 06:58:42 +1000 (AEST)","(qmail 125366 invoked by alias); 5 Sep 2017 20:58:36 -0000","(qmail 124476 invoked by uid 89); 5 Sep 2017 20:58:35 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:in-reply-to:message-id\n\t:references:mime-version:content-type; q=dns; s=default; b=mztHR\n\tfFE7D1OHE77tvyPj7ljtEYANFM3dl4n9Nchae1uFOyUrFTGS8rWsYn+QM8uxELkq\n\t3v1/Ag5TMCKnPovN9goG5/oJUaWf7PxTOdYhPeO8o/9NeFh6aX9JrASlATvqjhLq\n\txXqiuniFQrwSSW5HnuJz63Moc8GNzMQ3bBL57I=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:in-reply-to:message-id\n\t:references:mime-version:content-type; s=default; bh=k47PuPMRZMP\n\tzgKKNHVk5QV9jEg0=; b=vlCoFrFPSSnmSpVwGw1jj5G4xrRcdq/2bCutiQ0oCZ+\n\tdRmOOwEFt9vyQkLIKNHc73/glVeQ/pRH0iUq4h/eQHTXzL+sMgbnYvdghiWtweMZ\n\t7q/3tcdP+m9uz1bvjg3HjIunTI9Xx4tHyhlmFPX/h5sexR4sdWy2RHlDI0e2hOuo\n\t=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-2.0 required=5.0 tests=AWL, BAYES_00,\n\tRCVD_IN_DNSWL_NONE, SPF_PASS,\n\tURIBL_RED autolearn=ham version=3.3.2 spammy=","X-HELO":"relay1.mentorg.com","Date":"Tue, 5 Sep 2017 20:58:23 +0000","From":"Joseph Myers <joseph@codesourcery.com>","To":"Arjan van de Ven <arjan@linux.intel.com>","CC":"Szabolcs Nagy <szabolcs.nagy@arm.com>, GNU C Library\n\t<libc-alpha@sourceware.org>, <nd@arm.com>","Subject":"Re: [PATCH] Optimized generic expf and exp2f","In-Reply-To":"<ec0984ff-e039-53ff-fe53-dfd8398e1cf1@linux.intel.com>","Message-ID":"<alpine.DEB.2.20.1709052056550.6352@digraph.polyomino.org.uk>","References":"<59AED6DA.6000509@arm.com>\n\t<ec0984ff-e039-53ff-fe53-dfd8398e1cf1@linux.intel.com>","User-Agent":"Alpine 2.20 (DEB 67 2015-01-07)","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"US-ASCII\"","X-ClientProxiedBy":"svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To\n\tsvr-ies-mbx-01.mgc.mentorg.com (139.181.222.1)"}},{"id":1763949,"web_url":"http://patchwork.ozlabs.org/comment/1763949/","msgid":"<59AFBE92.7000900@arm.com>","list_archive_url":null,"date":"2017-09-06T09:23:30","subject":"Re: [PATCH] Optimized generic expf and exp2f","submitter":{"id":65667,"url":"http://patchwork.ozlabs.org/api/people/65667/","name":"Szabolcs Nagy","email":"szabolcs.nagy@arm.com"},"content":"On 05/09/17 21:58, Joseph Myers wrote:\n> On Tue, 5 Sep 2017, Arjan van de Ven wrote:\n> \n>> you mentioned x86 data.. is that based on current git after\n>> the recent optimizations (on a cpu with fma)?\n> \n> Really you need to compare with both the fma and non-fma versions (and \n> compare the C version built both with and without fma, since one \n> possibility would be that the C version can replace the x86_64 ones but \n> should be built twice, with and without fma, to achieve that replacement).\n> \n\ni don't have a machine with fma, i tested it on\nan older cpu (but i did test against git tip,\nusing gcc-7).","headers":{"Return-Path":"<libc-alpha-return-84231-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84231-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"kFgZHJ8k\"; dkim-atps=neutral","sourceware.org; auth=none","spf=none (sender IP is )\n\tsmtp.mailfrom=Szabolcs.Nagy@arm.com; "],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xnJ6s2tzsz9s82\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed,  6 Sep 2017 19:23:48 +1000 (AEST)","(qmail 9596 invoked by alias); 6 Sep 2017 09:23:42 -0000","(qmail 9582 invoked by uid 89); 6 Sep 2017 09:23:42 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:message-id:date:from:mime-version:to:cc\n\t:subject:references:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=ZUC0vPz2408k8kBb\n\tNkhopxrqqFepNYh8MybZVr2p53sBua2nm3Th291mDwkays1jQE1K2++aUirFLt3G\n\tF9fl2xfNZTtSCwjes/MjHRYXRl0HyxkaNJ4kbwH+fLu6pT+J65D0U1IKIaJLrbY2\n\tTTTRVX4y1ArkHROhnfFsMYfQYLg=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:message-id:date:from:mime-version:to:cc\n\t:subject:references:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=SzlFsxXXfKTDYMwLpwH/cU\n\tMCBfI=; b=kFgZHJ8kNesoORfWsXKcm8XGPJJ5Cj0KlEf/sFKCmQ3LHiiB54ipbL\n\tR6orQq59ZLxhSvm9EnBHMh+FSYCDfJlAfbHToF2OPDT0v+pGgUPJ9y1nwTZk8JDo\n\tiC7LOGRu8sJdDctN5bvvzhuJ425kiDieAknwLjKvtYGB28REHDQOI=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-2.1 required=5.0 tests=AWL, BAYES_00,\n\tRCVD_IN_DNSWL_NONE, SPF_HELO_PASS,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=tip","X-HELO":"EUR03-DB5-obe.outbound.protection.outlook.com","Message-ID":"<59AFBE92.7000900@arm.com>","Date":"Wed, 06 Sep 2017 10:23:30 +0100","From":"Szabolcs Nagy <szabolcs.nagy@arm.com>","User-Agent":"Mozilla/5.0 (X11; Linux x86_64;\n\trv:31.0) Gecko/20100101 Thunderbird/31.8.0","MIME-Version":"1.0","To":"Joseph Myers <joseph@codesourcery.com>, \n\tArjan van de Ven <arjan@linux.intel.com>","CC":"nd@arm.com, GNU C Library <libc-alpha@sourceware.org>","Subject":"Re: [PATCH] Optimized generic expf and exp2f","References":"<59AED6DA.6000509@arm.com>\n\t<ec0984ff-e039-53ff-fe53-dfd8398e1cf1@linux.intel.com>\n\t<alpine.DEB.2.20.1709052056550.6352@digraph.polyomino.org.uk>","In-Reply-To":"<alpine.DEB.2.20.1709052056550.6352@digraph.polyomino.org.uk>","Content-Type":"text/plain; charset=windows-1252","Content-Transfer-Encoding":"7bit","X-ClientProxiedBy":"HE1P190CA0023.EURP190.PROD.OUTLOOK.COM\n\t(2603:10a6:3:bc::33)\n\tTo DB6PR0802MB2485.eurprd08.prod.outlook.com (2603:10a6:4:9b::23)","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-Correlation-Id":"aac8d9a0-1f3d-440f-4dfd-08d4f508f372","X-MS-Office365-Filtering-HT":"Tenant","X-Microsoft-Antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:DB6PR0802MB2485; ","X-Microsoft-Exchange-Diagnostics":["1; DB6PR0802MB2485;\n\t3:1eswA2JnUKRU+Ks+88OLfvKV/tJx8Nc+csJGbkr7D7YSQZafbs+YGSNcrWCbVQPDRV4vIsPdCGuhvbFeyP1b+CKa5pUYroF59PS5Ob1tfW8dUGDh3CnCrXZ7rYpGAYci8K9d0sHq2t7CFo95SJRreHv1fQ5XLPhkSjyskogh390vwHTe4cVcOyKYjvZTeRXHNtvzq7QvMmIZFS/UJBNv+U+5ljGBiKLDFN50zphigwRj6m8mhBRoqyYSlc2G6U+w;\n\t25:mbJzYPhSKtu5OQD1Rj76l+T1WmMTQCWLGNzZA1nM+Ge1PQj4gFd/8mL/1QijDA33WzHuZfT5P3tZ6JcZ0ZoCz0bfU6+pC9FAGTK8oEjoh3dGWB2Hd3yD7IHI+3gQIqC/DkBvuQ5EWKPe4xZOxj88UAHdcd+Ic7h9iJun67/9RQv4+o2YoS3FvOrgF6GbzOCT734gEk1JgoWsVXoMGqrA4Lwfat7uxiYzHwlDfmq62yxh9CW5rkabsmuIgPfHQez4HqKSLqcs/cbP0YmtSEr2Xi0bWpj9RSEUCd0BdpWKdn9rAmEU5OoIGvke+d0nPtAXcL7m80oTUU7rgWna/RnCYg==;\n\t31:w0h5h/i7NwXhJhct1sd65zEac+iz2v53oZSY5H0QxEb0+5vx8qz2bLpfGKrCXpuRlbS7hKrGcxZct9n6FpX1G07bJFOMMQIS8mDJ4XaYXEofdaAcZZVPNoQXwgQaVaaP8g39GhWiYCsix+QAjC7q981cLyzGHjX4/aTrMK+Cu6VigMWuNyvPWA4l77qgDurcRmL6Gmid3L4PtJ4HNkpq4J84ehSolWSVWqAlLlYqJoA=","1; DB6PR0802MB2485;\n\t20:b8pUapLNI4VAao+LJGiVq+DNOSNbYDQAEyhu52AgPt+xKVQjTPI7Wckx6+rLi0HDTgTix4LuT4vHFPx/Pbq6IlrG7daxXETyKmUPxNHXkI29kYezYUfGzDuK0E6zGYkFPLtHJEHTP4xnhObPA3OI3/Nwv8PPellAIwFL28qUuv4=;\n\t4:7QVRkq/dSlwU1PWv5QQ/8321gI0mm7EsXujFPzV5Y1QvXw/OjZ/YnRxN1vJdpEBDiyw6JwPBZLITUqqiMr8Pn1844nVsxyKD0sQFKToWzSsIG/xmb1dL4+oXPhcUBI1vDRgyw6dXnT3L5W1KlqYqpRzghfUG4NQ/fgjxmbiIKTLtIPye8YsNRLmBW8ijWrZ//xDvnvLt7IDOBHZJacHkWn0XuR+HDRz60O48nFMw17w8RX6yKdrLqmaaGhHFURAg1/VsCD0wg8AKlUBgl9D/Ru8IAQ/JvZDQvf/OzKgr9KA=","=?windows-1252?q?1=3BDB6PR0802MB2485=3B?=\n\t=?windows-1252?q?23=3AcPQiiwcvBi4JB3tyYjG8SLSKfwVQJftBbCFmbRPKNlwi?=\n\t=?windows-1252?q?4s2rI/aFtG1rSx4ecMB8069M8S1WXYjWsmvn0m7d9YJAOqMe2?=\n\t=?windows-1252?q?aki/Du0jsYQT1Vub4yJWcBdaHpeFPoXdKb8afPFjpOFpdANSb?=\n\t=?windows-1252?q?Ul4FMFa/9QoxwcgHhepLd5mN/s1f17Q9wfc0e3K4PJZHiZfQX?=\n\t=?windows-1252?q?CXCNBc8t44ceRRNDpOX5V5eI45CtF5heotCLxKS/duN9m7fMD?=\n\t=?windows-1252?q?rqJhpyYnQb++R50oOJv1yc5Jj+O6V/2uOIWA96LkRVEyuC41r?=\n\t=?windows-1252?q?5lnZv2HHAewC9rK0XKOtKHjYaN4DswvAc7wj68d+i3jkgMfN4?=\n\t=?windows-1252?q?3IdusXAqwfjt4N0C674cejiwxONubij++pbO9TJVwiSXVArfb?=\n\t=?windows-1252?q?/IhJoyxhVDPCMDUGrrb8qxBVf4kMw7jg++17s3LxHhe7Z1TNR?=\n\t=?windows-1252?q?tu96e0ZWXJcXKh7tpvPlcBqwWYBGYSePRVnVQxfKLT4fjol32?=\n\t=?windows-1252?q?RMKwpy3CTm4uGjQs3u4ZIZbi4aM+ItDWRGh0snPnrB37R82BA?=\n\t=?windows-1252?q?M/hcpz7fTQA/PALzaBtUGzn8u4pwHLYv4qM7rRLelydN5ebYf?=\n\t=?windows-1252?q?rQ+eFUoUKXB9tYuKSE7Ftxkj+/D8zpgNgbMrQ6oZxtRtLooX6?=\n\t=?windows-1252?q?qf7kiyvztsxPKXKqkWmGikMquFcTuSPwAvp3wN1Mb6Xvwun7C?=\n\t=?windows-1252?q?M/ijd74Fwtd6Pv0CToHN51EyRb9dh+8Dq17hXKOf5U/fDKP35?=\n\t=?windows-1252?q?5HZrJEWRv7KPKXHuuxJMopbH/SpqmXDR2YJeycndTtbZz7/8Z?=\n\t=?windows-1252?q?0IdwN9qjBQsZIyujPl7n+hAjUIALnD2zTXDwpBG1IaAr82GNu?=\n\t=?windows-1252?q?acgYQz1PYDbZampY+842LpA9EI4R+iffnD4qL82xUATvp2YFJ?=\n\t=?windows-1252?q?2SE2fccjap67zEZ2tfkDP/pkdPcL8hj0lyNCE57pQhGcppKwD?=\n\t=?windows-1252?q?SDrWRIRA6hAuUtjFfev/qqKV/GzvU01modLulWyMAIVVltKK0?=\n\t=?windows-1252?q?WsfFX3QKW5pCqtv4PwkQQHKdkl5Gr2e7sHTTJTmDkMI1F3Wj3?=\n\t=?windows-1252?q?9xnUZppW37242zDEsIuu8tISCy6Z5zdqeQtLh7JMNtwJCB0dm?=\n\t=?windows-1252?q?+uopsz9Y2PIs5BidQ+APwvhqVrB4PmmnSgj4Wl1ghafOTiQbU?=\n\t=?windows-1252?q?o84+Ja3Sh9xS/o6c76URn/cPNEhUqnP4ilEUfWxl44msgrSOI?=\n\t=?windows-1252?q?jLS/IgK8ZUQZ+P5TlKeqsWsDop0waiDfGutYF6VmJqY9LzFdc?=\n\t=?windows-1252?q?TQ2iA3UzZDEn7eGbiFHMEJ6NupVMlJEd5OqyYSMoz3oairXsW?=\n\t=?windows-1252?q?yib3mk2PRBr/9oFp0VDpgsL+xeKN46uJ92vN1hJ0XIf+bUziB?=\n\t=?windows-1252?q?V6yTd95At2cgm6k2KRlepTHVlGiCIXxdHPMhIEuyxqyLP2l9e?=\n\t=?windows-1252?q?w4R1ag/imsAU5GDlUcUCQ8n6hf3/4YRxd3UCJAWET?=","1; DB6PR0802MB2485;\n\t6:4xaSZmAnzCsAOPFKfDYMRMJPu9oTpYK3Lcpydv6f8pgEtvbAKUacarVhBcmICARBlax9sUZROZJgsdoiNjdvxogVfvciGpQrfJSt5JEe2JMGHv3ev8SMczmtcWk1DjVDuXuQ4PggDcgh/gOhBoJTn7U8F5zFltPf9Dzf+eX0LkIhol8OSWTDPaB56p5rgo3FPiRHXY4yamo7B+Yk0uLm81P5Lg4bXl/mfWDci2pc/4rIHH5yKNGexcF+solaXZYnrWUBuTOnoXjqq45y/wc89j8DTtJNAwk/BBQeSXkum6Tnn4vy4BLv2CK8pbBm7ulCd81XJ1Jn2buR0PpUfba6ew==;\n\t5:Ky57PpkhZl4Me2KYA61uNKqQAfTCCfEHUUfvY4AeQb0f2ZqalGyD8sFC0tHtXOaM8VrEiQdI8zxRm6GJrK4QIIVCeOrPSADWEO1gq5+XEKfV7pa3/ZrWm+VSlKxjSfil8g4qNF4oMu7QOFz8gUDJXA==;\n\t24:RJMLpSDNM23lWN87OwAnSIKxHWBGQTkJtxqIPnpZU910inc2G+u5Q2c4YXVMHtxa1SyrGbCLNnAi+QXi8y4XkRYc3xVUJQAekKIr21v1axI=;\n\t7:pl66fXSUXlwF6oZyYh5pcnnOIe1E/BLjuY8I8VxREKsMUCnhsv9/IBJrLAw8eA6V7zf+31ttaepuHPkQDq+rZXSZay8x6Cf+NdW1e5l4ZLH+ymhuA86YDHdyRTaIfNP+Ay4zZTBixX+atZYlHENQhcxFTUg1Bsexj1e4uH8lIjsbhajiIrJOf1gMoIjrChhFCV+MofoY/0ZKM1LET2SyWcmX4ejXQG83Nh1GEGh9VXk="],"X-MS-TrafficTypeDiagnostic":"DB6PR0802MB2485:","NoDisclaimer":"True","X-Exchange-Antispam-Report-Test":"UriScan:(788757137089);","X-Microsoft-Antispam-PRVS":"<DB6PR0802MB2485D528EE4A431910264276ED970@DB6PR0802MB2485.eurprd08.prod.outlook.com>","X-Exchange-Antispam-Report-CFA-Test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(100000703101)(100105400095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123558100)(20161123562025)(20161123560025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:DB6PR0802MB2485; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:DB6PR0802MB2485; ","X-Forefront-PRVS":"0422860ED4","X-Forefront-Antispam-Report":"SFV:NSPM;\n\tSFS:(10009020)(4630300001)(7370300001)(6009001)(6049001)(39860400002)(199003)(24454002)(189002)(42186005)(6116002)(3846002)(6486002)(77096006)(86362001)(6666003)(229853002)(2950100002)(59896002)(4326008)(4001350100001)(6246003)(65816999)(72206003)(7736002)(478600001)(64126003)(105586002)(97736004)(33656002)(5660300001)(53936002)(305945005)(50986999)(76176999)(106356001)(87266999)(54356999)(47776003)(7350300001)(50466002)(83506001)(23746002)(53546010)(189998001)(65956001)(66066001)(230700001)(101416001)(80316001)(36756003)(65806001)(25786009)(8676002)(81166006)(81156014)(68736007)(2906002)(41533002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0802MB2485;\n\tH:[10.2.206.69]; FPR:; SPF:None; PTR:InfoNoRecords; A:3; MX:1;\n\tLANG:en; ","Received-SPF":"None (protection.outlook.com: arm.com does not designate\n\tpermitted sender hosts)","SpamDiagnosticOutput":"1:99","SpamDiagnosticMetadata":"NSPM","X-OriginatorOrg":"arm.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"06 Sep 2017 09:23:35.1011\n\t(UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DB6PR0802MB2485"}},{"id":1764710,"web_url":"http://patchwork.ozlabs.org/comment/1764710/","msgid":"<20170907100341.47a23955@keller>","list_archive_url":null,"date":"2017-09-07T13:03:41","subject":"Re: [PATCH] Optimized generic expf and exp2f","submitter":{"id":72317,"url":"http://patchwork.ozlabs.org/api/people/72317/","name":"Gabriel F. T. Gomes","email":"gabriel@inconstante.eti.br"},"content":"On Tue, 5 Sep 2017 20:45:44 +0000\nJoseph Myers <joseph@codesourcery.com> wrote:\n\n>On Tue, 5 Sep 2017, Szabolcs Nagy wrote:\n>\n>> +static inline int\n>> +ieee_2008_issignaling (float x)\n>> +{\n>> +  uint32_t ix = asuint (x);\n>> +  ix ^= 0x00400000; /* IEEE 754-2008 snan bit.  */\n>> +  return 2 * ix > 2u * 0x7fc00000;\n>> +}  \n>\n>This doesn't seem to be used, but if you need issignaling tests in future \n>functions (powf?), you need to respect HIGH_ORDER_BIT_IS_SET_FOR_SNAN from \n>nan-high-order-bit.h.\n\nIs that also valid for _Float128 (meaning that test-math-issignaling.cc\nneeds to check for that, as well)?  It was my understanding that it isn't.","headers":{"Return-Path":"<libc-alpha-return-84297-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84297-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"KdivoJzr\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xp0yq2jvpz9s7h\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  7 Sep 2017 23:04:18 +1000 (AEST)","(qmail 98248 invoked by alias); 7 Sep 2017 13:04:06 -0000","(qmail 97837 invoked by uid 89); 7 Sep 2017 13:04:05 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:message-id:in-reply-to\n\t:references:mime-version:content-type:content-transfer-encoding;\n\tq=dns; s=default; b=pX8EAUl7eZ2rsqJnjPXpmujyh+7QW3gqMVi1ri5/yNL\n\t/HuJr5oXv3oVZ0iYXGKudY36kjp4WLNqNqKxbXdRjph6jEKzLZPhJmt1Ja7NRVFj\n\tyv96R337cFbjHoGRgOJATRSitTL2/QU1fGJhzMS7P+LqIwbcdKasl4domC4cxZpE\n\t=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:message-id:in-reply-to\n\t:references:mime-version:content-type:content-transfer-encoding;\n\ts=default; bh=BRtgz5kZ6nqIWEaTKiNGLzcXgMA=; b=KdivoJzruy79JNkm8\n\toA1Z+CB9y37Qek95mqF7SAohvmqOeCtuT0vIBggvqpIQ0eyTZe1dNgIDdk2EghCg\n\tQYw24rbuykrV+2sqiJTLNp+ooPw1hxVFsb9MPJ0AEuF4beejN+wVF3K6xTdqbhJ2\n\tH2M7SY18rV1A+sdGjN23dAR1Cw=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-2.9 required=5.0 tests=AWL, BAYES_00,\n\tKAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_NONE,\n\tURIBL_RED autolearn=no version=3.3.2 spammy=Hx-languages-length:686,\n\tH*F:D*br","X-HELO":"mo20.mail-out.ovh.net","Date":"Thu, 7 Sep 2017 10:03:41 -0300","From":"\"Gabriel F. T. Gomes\" <gabriel@inconstante.eti.br>","To":"Joseph Myers <joseph@codesourcery.com>","CC":"Szabolcs Nagy <szabolcs.nagy@arm.com>, GNU C Library\n\t<libc-alpha@sourceware.org>, <nd@arm.com>","Subject":"Re: [PATCH] Optimized generic expf and exp2f","Message-ID":"<20170907100341.47a23955@keller>","In-Reply-To":"<alpine.DEB.2.20.1709052014180.6352@digraph.polyomino.org.uk>","References":"<59AED6DA.6000509@arm.com>\n\t<alpine.DEB.2.20.1709052014180.6352@digraph.polyomino.org.uk>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"US-ASCII\"","Content-Transfer-Encoding":"7bit","X-ClientProxiedBy":"EX1.emp.local (172.16.2.1) To EX2.emp.local (172.16.2.2)","X-Ovh-Tracer-Id":"4879931672072212205","X-VR-SPAMSTATE":"OK","X-VR-SPAMSCORE":"-100","X-VR-SPAMCAUSE":"gggruggvucftvghtrhhoucdtuddrfeelledrfedvgdeitdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd"}},{"id":1764769,"web_url":"http://patchwork.ozlabs.org/comment/1764769/","msgid":"<alpine.DEB.2.20.1709071445550.21759@digraph.polyomino.org.uk>","list_archive_url":null,"date":"2017-09-07T14:48:25","subject":"Re: [PATCH] Optimized generic expf and exp2f","submitter":{"id":4349,"url":"http://patchwork.ozlabs.org/api/people/4349/","name":"Joseph Myers","email":"joseph@codesourcery.com"},"content":"On Thu, 7 Sep 2017, Gabriel F. T. Gomes wrote:\n\n> On Tue, 5 Sep 2017 20:45:44 +0000\n> Joseph Myers <joseph@codesourcery.com> wrote:\n> \n> >On Tue, 5 Sep 2017, Szabolcs Nagy wrote:\n> >\n> >> +static inline int\n> >> +ieee_2008_issignaling (float x)\n> >> +{\n> >> +  uint32_t ix = asuint (x);\n> >> +  ix ^= 0x00400000; /* IEEE 754-2008 snan bit.  */\n> >> +  return 2 * ix > 2u * 0x7fc00000;\n> >> +}  \n> >\n> >This doesn't seem to be used, but if you need issignaling tests in future \n> >functions (powf?), you need to respect HIGH_ORDER_BIT_IS_SET_FOR_SNAN from \n> >nan-high-order-bit.h.\n> \n> Is that also valid for _Float128 (meaning that test-math-issignaling.cc\n> needs to check for that, as well)?  It was my understanding that it isn't.\n\nThis applies just as much to _Float128.  test-math-issignaling.cc only \ndoes _Float128 tests in the __HAVE_DISTINCT_FLOAT128 case, which does not \napply to any architectures using the other NaN convention, so there is no \nproblem with that test, but once we support _FloatN/_FloatNx types that \nare ABI-aliases of other types, MIPS64 _Float128 / _Float64x will follow \nthe same NaN convention as long double that those types alias (with which \nconvention that is depending on the compiler configuration).","headers":{"Return-Path":"<libc-alpha-return-84300-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84300-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"Ir7AgNwB\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xp3HK6Gs2z9t2r\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  8 Sep 2017 00:48:45 +1000 (AEST)","(qmail 35307 invoked by alias); 7 Sep 2017 14:48:40 -0000","(qmail 35297 invoked by uid 89); 7 Sep 2017 14:48:40 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:in-reply-to:message-id\n\t:references:mime-version:content-type; q=dns; s=default; b=dD/ll\n\tiQ5SeBwUqJGsVG33PohpCmRuwrb9y1tOYYwxF8HzN7p8JACZIyBo541xbRc3GpXc\n\tj0w1vtP2xK6Lgww+rMikxGFiRJOHYfVK/JhjNv+ogLhsIW42fN/kU/D7Bu7MJKiG\n\t6ol3ssZ4l4DvA/djD94xMI3a8/YtmBAqrKatic=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:in-reply-to:message-id\n\t:references:mime-version:content-type; s=default; bh=ssn9Si1GJ9u\n\tSFJMlC7XIKXv63dE=; b=Ir7AgNwBshEE5Wp8iwqxKSiWlRUOIYy9GtvpTgYS+fK\n\tVslGXXR5RT/lsuD0FVja8Ze8YkJYA3ZRE0/Nd6eJQMWw9/RteAivFv3sRyXZYcgb\n\tg7OqbAZTC6/2o0hxBjFX4UK3ZmDue3Bv733BN54hu3SLqPCzMZmigwc4ceJhq4zo\n\t=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-2.0 required=5.0 tests=AWL, BAYES_00,\n\tRCVD_IN_DNSWL_NONE, SPF_PASS,\n\tURIBL_RED autolearn=ham version=3.3.2 spammy=","X-HELO":"relay1.mentorg.com","Date":"Thu, 7 Sep 2017 14:48:25 +0000","From":"Joseph Myers <joseph@codesourcery.com>","To":"\"Gabriel F. T. Gomes\" <gabriel@inconstante.eti.br>","CC":"Szabolcs Nagy <szabolcs.nagy@arm.com>, GNU C Library\n\t<libc-alpha@sourceware.org>, <nd@arm.com>","Subject":"Re: [PATCH] Optimized generic expf and exp2f","In-Reply-To":"<20170907100341.47a23955@keller>","Message-ID":"<alpine.DEB.2.20.1709071445550.21759@digraph.polyomino.org.uk>","References":"<59AED6DA.6000509@arm.com>\n\t<alpine.DEB.2.20.1709052014180.6352@digraph.polyomino.org.uk>\n\t<20170907100341.47a23955@keller>","User-Agent":"Alpine 2.20 (DEB 67 2015-01-07)","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"US-ASCII\"","X-ClientProxiedBy":"svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To\n\tsvr-ies-mbx-01.mgc.mentorg.com (139.181.222.1)"}},{"id":1766409,"web_url":"http://patchwork.ozlabs.org/comment/1766409/","msgid":"<59B6C71B.2040708@arm.com>","list_archive_url":null,"date":"2017-09-11T17:25:47","subject":"Re: [PATCH] Optimized generic expf and exp2f","submitter":{"id":65667,"url":"http://patchwork.ozlabs.org/api/people/65667/","name":"Szabolcs Nagy","email":"szabolcs.nagy@arm.com"},"content":"On 05/09/17 21:45, Joseph Myers wrote:\n> On Tue, 5 Sep 2017, Szabolcs Nagy wrote:\n> \n>> Error checks are inline and actual error handling is\n>> in separate functions that are tail called and expected\n>> to be reusable when other math functions are implemented\n>> without wrappers. (expf, __expf, __ieee754_expf symbols\n>> are aliases, _LIB_VERSION is not checked, errno is set\n>> unconditionally according to POSIX rules.)\n> \n> The _LIB_VERSION and matherr handling is part of the ABI for the existing \n> symbol versions of expf and exp2f.  Thus, if you wish to use integrated \n> error handling that does not handle _LIB_VERSION and matherr the same way \n> as the existing code, you need a new symbol version (with the old version \n> then probably keeping the existing wrapper but having it wrap the new \n> implementation - duplicate errno setting for existing binaries should be \n> fine).\n> \n\ni tried to do this but it became complicated dealing with\ntargets that have their own implementation.\n\nso my plan now is to first post the new code with the\nwrapper around it (so there is redundant errno setting),\nthen in a separate patch try to bump the symbol version\nand move to errno-only-wrapper (on all targets for expf\nand exp2f) and then finally remove the wrapper for the\nnew generic code.\n\nit is not yet clear to me how to do the errno-only-wrapper,\nsince the existing wrapper-template machinery does not\nwork on a per function basis, but that code would be nice\nto reuse, some guidance on that would be helpful.\n\n>> One issue with the argument reduction is that it only\n>> works right with nearest rounded rint, otherwise the\n>> interval is [0,2c] or [-2c,0] instead of [-c,c]. The\n>> polynomial is optimized for [-c,c] but it has sufficent\n>> extra precision that it gives acceptable results on\n>> [-2c,2c] too assuming users are less interested in\n>> non-nearest rounded precision, however this means some\n>> glibc ulp error limits will need adjustment.\n> \n> By ulp error limits do you mean the entries in libm-test-ulps, or the \n> global max_valid_error limit in libm-test-support.c which no \n> libm-test-ulps entry is allowed to exceed?\n> \n\nlimb-test-ulps.\n\nexpf failures on x86_64 (no-fma, lrint using +-shift):\n\ntesting float (without inline functions)\nFailure: Test: exp_downward (-0x1p-20)\nResult:\n is:          9.99998986e-01   0x1.ffffdep-1\n should be:   9.99999046e-01   0x1.ffffe0p-1\n difference:  5.96046447e-08   0x1.000000p-24\n ulp       :  1.0000\n max.ulp   :  0.0000\nFailure: Test: exp_downward (0x5.8b90b8p+4)\nResult:\n is:          3.40279831e+38   0x1.ffff06p+127\n should be:   3.40279851e+38   0x1.ffff08p+127\n difference:  2.02824096e+31   0x1.000000p+104\n ulp       :  1.0000\n max.ulp   :  0.0000\nMaximal error of `exp_downward'\n is      : 1 ulp\n accepted: 0 ulp\nFailure: Test: exp_towardzero (-0x1p-20)\nResult:\n is:          9.99998986e-01   0x1.ffffdep-1\n should be:   9.99999046e-01   0x1.ffffe0p-1\n difference:  5.96046447e-08   0x1.000000p-24\n ulp       :  1.0000\n max.ulp   :  0.0000\nFailure: Test: exp_towardzero (0x5.8b90b8p+4)\nResult:\n is:          3.40279831e+38   0x1.ffff06p+127\n should be:   3.40279851e+38   0x1.ffff08p+127\n difference:  2.02824096e+31   0x1.000000p+104\n ulp       :  1.0000\n max.ulp   :  0.0000\nMaximal error of `exp_towardzero'\n is      : 1 ulp\n accepted: 0 ulp","headers":{"Return-Path":"<libc-alpha-return-84457-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84457-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"tbi3aedb\"; dkim-atps=neutral","sourceware.org; auth=none","spf=none (sender IP is )\n\tsmtp.mailfrom=Szabolcs.Nagy@arm.com; "],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xrZZx4qctz9s81\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 12 Sep 2017 03:26:01 +1000 (AEST)","(qmail 53280 invoked by alias); 11 Sep 2017 17:25:55 -0000","(qmail 53269 invoked by uid 89); 11 Sep 2017 17:25:54 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:message-id:date:from:mime-version:to:cc\n\t:subject:references:in-reply-to:content-type\n\t:content-transfer-encoding; q=dns; s=default; b=HvwCQxHwwkQyEi6c\n\tvSAay9t0622ja7kUuoFDBM1yctzshHLlJNb5pP8eARcrCIPLw9VOhGW+3BIlfq/L\n\tbo+HlncHl6epagMhvIp2E7qRYWr9KmkloQfGADt0FNt0xCtMe1P89fm0w9cwEXtW\n\txXTgaYlOCrsFeCXoSLK1QI7uiN8=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:message-id:date:from:mime-version:to:cc\n\t:subject:references:in-reply-to:content-type\n\t:content-transfer-encoding; s=default; bh=A4ZD+f6hqXK+rjl691CDTr\n\tUgFyA=; b=tbi3aedbHmY3GhLYmzNVEfVk1ko6kn1SRXqq+Iq135cvqgN/bhsGWO\n\tsYD5Vl4ncbhRLr9D0wrguZ8Lap59cxUIXNk2xiaVABgWgQJk1EMYzGcVbW++DHAd\n\tuXc2fFmlpo03tz8MQRJQW+5VDS76hzhlFp7B+MaKvCJYjWSK0KxAU=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-2.1 required=5.0 tests=AWL, BAYES_00,\n\tRCVD_IN_DNSWL_NONE, SPF_HELO_PASS,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=H*r:sk:EUR03-D","X-HELO":"EUR03-DB5-obe.outbound.protection.outlook.com","Message-ID":"<59B6C71B.2040708@arm.com>","Date":"Mon, 11 Sep 2017 18:25:47 +0100","From":"Szabolcs Nagy <szabolcs.nagy@arm.com>","User-Agent":"Mozilla/5.0 (X11; Linux x86_64;\n\trv:31.0) Gecko/20100101 Thunderbird/31.8.0","MIME-Version":"1.0","To":"Joseph Myers <joseph@codesourcery.com>","CC":"nd@arm.com, GNU C Library <libc-alpha@sourceware.org>","Subject":"Re: [PATCH] Optimized generic expf and exp2f","References":"<59AED6DA.6000509@arm.com>\n\t<alpine.DEB.2.20.1709052014180.6352@digraph.polyomino.org.uk>","In-Reply-To":"<alpine.DEB.2.20.1709052014180.6352@digraph.polyomino.org.uk>","Content-Type":"text/plain; charset=windows-1252","Content-Transfer-Encoding":"7bit","X-ClientProxiedBy":"AM3PR07CA0117.eurprd07.prod.outlook.com\n\t(2603:10a6:207:7::27) To AM5PR0802MB2483.eurprd08.prod.outlook.com\n\t(2603:10a6:203:9b::22)","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-Correlation-Id":"b301c755-5a0c-4626-d87e-08d4f93a2529","X-MS-Office365-Filtering-HT":"Tenant","X-Microsoft-Antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:AM5PR0802MB2483; ","X-Microsoft-Exchange-Diagnostics":["1; AM5PR0802MB2483;\n\t3:hhRj6a13Hbj84NxWp/c35BBv2gkTjrM81rFZxpZbBSrs5bmUULneuTbO5PEUA0kBlB5eKnb+PZg8GPEKcBfcayKSeXuO9RD356Zx1ka4ArHQ2YwjTgLw2BtE7shBxthih+s8YaZRqIODiPS+pfd8kcSoSTd7NhtHvtOkvtuS6M6Ap21utgHGhdVMSW4mzISspjj+C3E5VNcX96Cn9FgV15VUFeFuD9HMaDbUrCUz6NaX+W7EzoMGR9R5ugA2UFnM;\n\t25:Rg0zA1FkXTFK+ZmtBSIUKy1gWJBeIoPv9bWvrL30jdTsOZVpRqK3INn+zl6QaQvmU70UTjGu14YUOtnuXzlRaJt8WhtSQhaTMJLtKmlmSs0fsJTC4jyEhGe4HU8Uk+7lzMQNmrt/JKarbVVVzWazLsg3MhLeQ6s189eWcMM1MstNOrXlS9c39ARzIvwHOh55woI/TWPAX3SR+ziALy/fhDc1ilIUc9VJGwPEkCkTXs0bhfN/nEW0JY3XcKkECLnoB2XhwwfdAbd+extvMm0L1QdF/wll2SFrlKAhguzHcyIsIlK7ZCji4fKThdRfdYJKcjBod2Mh+r0rjxQkROB+lg==;\n\t31:OzQFTCDQKS2pH4SdePcDFISH1jV2AGO5E4RhDC+eXFb+8KQ2hyQ3+8ITtEUMzs9jkZVlNmNLuhrzhCJHFPuxF/iXGs9oSuGNZA0dEdyled89X6zcSbsXI9SQH76YM+MpGuFDZpXaO4SpJz2hAD7tWvZBlWWOfHeg4hMABpqxU82QVx0P96OON/ZnrdMQicKU+j11uzPqRueewv2y/zUxN8VW+aXXsn5KYsra5DlBG+k=","1; AM5PR0802MB2483;\n\t20:7MOmLqLk/ZBdO6ML9LBcMIIrsT25jrEFEHqMU3mIkX6fV0VJy0rE2e5pgfHHF44Zaj4ez40A9JV//wKaiebt3DXtnQwEANWjvS5ReIP19Xjcxl7+KFc1EGp0UXTqQLyQcSdY4wfH2elu9xnB7SxYGDzF0RVSXuJKR1Qf4Y1hjgY=;\n\t4:1pl74O9ulgSOry/wB0U9XATOzYvsZy9zVdcl0YwFNkOpXn1hzbOopIajP1GqJx8wBzXQgeuksO05IZHFBSTwTVncnWLxbqegNi1W15iAGPvZaw1xzPZ+mWoaZ/rFbVrtZWXpZgPAgkHdirt14/8ZNZW8UteuA5D37u5FlvjEpb0JWo6VIlkdiZtgIVnMjAEa7gBaB/UOIjd2j/WcApaF6H2cXK4+Z0pfFc2i5dqOxoHLZifTwOsDwRgybwdfb7bh","=?windows-1252?q?1=3BAM5PR0802MB2483=3B?=\n\t=?windows-1252?q?23=3APavVpFyoJ8tF/uty6ANme30FvS4hHjJWPnnRGMRdNrj1?=\n\t=?windows-1252?q?NTuuvqLn3IWoX4TEeqbSyM6SDhAnP7JbznzMiUpmjOA1jGaGs?=\n\t=?windows-1252?q?T0KmqUl/+4nmVEf68Iegy9zlFyAThN6f7+8GQbPdbKf2N5sWe?=\n\t=?windows-1252?q?knQ8ytP2omRiXho97uduSXXmd1lXGINv9CJ6fkrDHY1le3Q4K?=\n\t=?windows-1252?q?olciFvrtN9/QdStArnVjUQrX82KRf2wSl3c9lR2roUHcIU7Mb?=\n\t=?windows-1252?q?1sMW6LS91o9jjP+Jv83vmJjmoMGbAFNfQhzLVJ6+MK7dUvejl?=\n\t=?windows-1252?q?CBiOVOpiMd8u6nSw0faQ3oghyX6pV+gN2+RkIzRWy5Glbhklh?=\n\t=?windows-1252?q?UjbbpsNxRfwIPGUR7VbvMHgdWePq0LcKBy6MEZjX0P2clQpDM?=\n\t=?windows-1252?q?2ynxKZAhamCkhAHbt1QufYnDny8Nc8IR5inlAU5U4IydX37XJ?=\n\t=?windows-1252?q?0TOk8ExS2hq5PR1kPWWqKQC3JGGbn+U4utHnPKytL1kicqoZf?=\n\t=?windows-1252?q?3mGGAmeQVyii0fZeFDSFrBkqNDSBrQEYsWINB7N+9qquftQtV?=\n\t=?windows-1252?q?D38Ym+7FJCmK1oxBoXWSvV+F0e4FSEbGcJ7F5XMEiFPhPV+Im?=\n\t=?windows-1252?q?pslYGAOS7+9pafPk1jjNjcj0MvL7tKvVgrQNVvmwso8mSX4ff?=\n\t=?windows-1252?q?hhFfAjPOz4oAm/FqF/AeMVO56nEnzbJdL0y3uZilUkaZ9rWkw?=\n\t=?windows-1252?q?XoG3JNQHPW1TTAMSwcA21xTBkQ0td2KtHFRdRU1wd3oA0OAWj?=\n\t=?windows-1252?q?RnGrKX0QMcAN/Zi8eN66Ev9oaVHQdXnzdOS9TsCrEN9onZMH3?=\n\t=?windows-1252?q?QxcURo/POZmFeDurPqSwC+BfhgZ0ZnwTwhKbInkhby/GfQ/FV?=\n\t=?windows-1252?q?XmOmKplSMHEvFfHAdKemVkO+iK39sgK5r2r/5qkVRESpFkKLG?=\n\t=?windows-1252?q?Co3xR+wCDfOaG1O6Pdo0X4X6iavQRRljoFfPA5w0j9ZQ6XD+E?=\n\t=?windows-1252?q?7foY+lYY6je1RmDrsvED96q+vDOD84xjt4ylBbRMu8MBtn8Yw?=\n\t=?windows-1252?q?bNGy0ok9a644ma/+/CzLDc4PL1uMCKhYVHPLvoT+TYGvGcURs?=\n\t=?windows-1252?q?9Ux9Zq9Sha77RpC9W4F9YwuzFNXestDn+1tZpT9O4jN+vRwcI?=\n\t=?windows-1252?q?CAvYSuq5AoZ2DvlN6nNC22vet3Qi3V877WIRCzxa8nG3qQO/f?=\n\t=?windows-1252?q?q4zVHKWTs7enJN3idYYdjgcZ394RVEBjBYcf5PpNOA8fj7TzV?=\n\t=?windows-1252?q?oGtvV+GZgcu7JnEFezg7baJxpc+Xnsne+ljQGaMDRJBF9dlqq?=\n\t=?windows-1252?q?8pjAmKADToZe6SZVXGfp1mCKXMxb2Mp9kaOgFFIbHSPtWQquq?=\n\t=?windows-1252?q?1dN0yAihROXt8KF4hEcSKGf8ZW5t3R9/a+dHIVigMLMliwTBT?=\n\t=?windows-1252?q?KZGZ47FHFztknCMTKprMW167QfYAIz6pdHH8KrwnnZTTlIZd9?=\n\t=?windows-1252?q?IYS/RN1rRjcMWu+3dlfnV75z92/9Pbo5sjaIAFQV7IrQIy+Ko?=\n\t=?windows-1252?q?cOU7dLda7fc/hjOFUgQK2LWeulo7RxPbBkY=3D?=","1; AM5PR0802MB2483;\n\t6:/Bd1WVyM26YA4rmVjBpMhsC1YbNNWZ78mGN/dqnm8Mxpnv2f8CnJ8FWQYTD3svfT6SYRTKFz3r+BBSBFfFO9Chu39VFCl5XHr5oHE5qusChNnuOvrEZdpB9ZmNSOobF33DL923dPZgec8h31eYilpknj0wWR/Ma6VTXmW2JDCpaVlsLP3JxJDcZ5kHi6JiBALujOAIGmnV8thH0Ec2viEPlljGXChHGaHBr+fo5UfQmHIFABCLEPDNbTeM22PqChFitQI5CrVLzBJk5Lbp2ykJ6sYZA3BDDO9A3n1BbwYW2Jay43FL9pBn6/AnJ3IelYts96QwwjHqurU8jLdcl+zA==;\n\t5:ZHVwSYU7HO04aJzrb9ZJPZFOJL7avI0HyUcbkNwPcBQeOcfKiW4RbnYWxjPfgROqkO1PqrxqAhQ1WnnApYewOz2QQ4X4cSoaIOp3kf433bC2PkXmB2QB+cCeXlNIzGcRBgQCrYj2fHu9KJUfne3yxQ==;\n\t24:tA/uB5rxvO00QLpeF4VKfR0YdKll3zifvNqAFfgWSHqjTUeRlyuxisIVjguKYn363wcFg3EHc5iQ7J5T3wDKvwDK2rEfBV270RuvFlnib0A=;\n\t7:SxitjVwB4bX8Y7O8MTbtr4AtdADniGOwgECC6QOQNjy2guOh5NRoXK1beyFdUTeyHXcul9bMXh46lrcAa5YTaq8g75s1zh+plzSCbG77IGf7Eqjqy5FUHKfGQ0Xa84B5zfxZDb1f7/3fxYY/dVTICdz8DI5m1hAYftod/JvFpX/6clD+Ul4lv8/e6YuRFl8nnkctK9P9VJSJlmSeOdSKiHeClBcI4gtt8yGxtf+gPwI="],"X-MS-TrafficTypeDiagnostic":"AM5PR0802MB2483:","NoDisclaimer":"True","X-Exchange-Antispam-Report-Test":"UriScan:;","X-Microsoft-Antispam-PRVS":"<AM5PR0802MB2483C81C5916CF7C227DADDFED680@AM5PR0802MB2483.eurprd08.prod.outlook.com>","X-Exchange-Antispam-Report-CFA-Test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(6055026)(6041248)(20161123562025)(20161123555025)(20161123558100)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:AM5PR0802MB2483; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:AM5PR0802MB2483; ","X-Forefront-PRVS":"04270EF89C","X-Forefront-Antispam-Report":"SFV:NSPM;\n\tSFS:(10009020)(4630300001)(7370300001)(6049001)(6009001)(39860400002)(24454002)(189002)(199003)(106356001)(47776003)(68736007)(65806001)(42186005)(105586002)(66066001)(65956001)(81166006)(81156014)(305945005)(2906002)(8676002)(33656002)(189998001)(5660300001)(7736002)(4001350100001)(23746002)(97736004)(2950100002)(6916009)(64126003)(4326008)(77096006)(3846002)(6116002)(229853002)(6486002)(50466002)(230700001)(87266999)(65816999)(50986999)(54356999)(76176999)(59896002)(110136004)(6246003)(101416001)(53936002)(83506001)(80316001)(575784001)(25786009)(53546010)(72206003)(7350300001)(36756003)(478600001)(86362001)(41533002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0802MB2483;\n\tH:[10.2.206.69]; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1;\n\tLANG:en; ","Received-SPF":"None (protection.outlook.com: arm.com does not designate\n\tpermitted sender hosts)","SpamDiagnosticOutput":"1:99","SpamDiagnosticMetadata":"NSPM","X-OriginatorOrg":"arm.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"11 Sep 2017 17:25:49.1751\n\t(UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"AM5PR0802MB2483"}},{"id":1766430,"web_url":"http://patchwork.ozlabs.org/comment/1766430/","msgid":"<alpine.DEB.2.20.1709111801450.18599@digraph.polyomino.org.uk>","list_archive_url":null,"date":"2017-09-11T18:05:12","subject":"Re: [PATCH] Optimized generic expf and exp2f","submitter":{"id":4349,"url":"http://patchwork.ozlabs.org/api/people/4349/","name":"Joseph Myers","email":"joseph@codesourcery.com"},"content":"On Mon, 11 Sep 2017, Szabolcs Nagy wrote:\n\n> it is not yet clear to me how to do the errno-only-wrapper,\n> since the existing wrapper-template machinery does not\n> work on a per function basis, but that code would be nice\n> to reuse, some guidance on that would be helpful.\n\nI'd expect something like\n\n#include <math-type-macros-float.h>\n#undef __USE_WRAPPER_TEMPLATE\n#define __USE_WRAPPER_TEMPLATE 1\n#include <w_exp_template.c>\n\nshould work.  (Modulo possibly needing to do something extra to give expf \nthe right symbol version.)  A sysdeps w_expf.c should always override the \ndefault automatic generation based on the template.","headers":{"Return-Path":"<libc-alpha-return-84461-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-84461-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"v0e1BOlm\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xrbSV1kQyz9s7F\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 12 Sep 2017 04:05:30 +1000 (AEST)","(qmail 109592 invoked by alias); 11 Sep 2017 18:05:23 -0000","(qmail 109559 invoked by uid 89); 11 Sep 2017 18:05:23 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:in-reply-to:message-id\n\t:references:mime-version:content-type; q=dns; s=default; b=jV8V1\n\tVub0fF6khMKNIfCN6iJnqx54H5/O08DVR6KdG4VtF4ckiHPywZE1syKp/LK52YR4\n\ty91ljPN4rxpX/INzq6pzK+rImgk9jfl8eeQPJiaZxKrvY27RTLeqNR0CpHa63fJQ\n\tR58OOluIZZlslRfdq1Y2Fy1PkRJ/J5mUPIXRDQ=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:in-reply-to:message-id\n\t:references:mime-version:content-type; s=default; bh=ve/UKtSfw0D\n\t5vdQO2X23V1AGL+c=; b=v0e1BOlmFPkEORxm6VMyU+nlFd0pEAqCG3movFI1gks\n\tkoHbEiDqMIb9WMSu7fjKJkYfTSgmmDdRgO1Dfxcpko1P48osa4QL/FV7iDQOjuJp\n\t5gpf2jNxKjLARNM7TApS64FmXqJ2Cxn0hG8K533RBZfTRYr2Pv1mkHedzof6Oz8E\n\t=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-2.0 required=5.0 tests=AWL, BAYES_00,\n\tRCVD_IN_DNSWL_NONE, SPF_PASS,\n\tURIBL_RED autolearn=ham version=3.3.2 spammy=","X-HELO":"relay1.mentorg.com","Date":"Mon, 11 Sep 2017 18:05:12 +0000","From":"Joseph Myers <joseph@codesourcery.com>","To":"Szabolcs Nagy <szabolcs.nagy@arm.com>","CC":"<nd@arm.com>, GNU C Library <libc-alpha@sourceware.org>","Subject":"Re: [PATCH] Optimized generic expf and exp2f","In-Reply-To":"<59B6C71B.2040708@arm.com>","Message-ID":"<alpine.DEB.2.20.1709111801450.18599@digraph.polyomino.org.uk>","References":"<59AED6DA.6000509@arm.com>\n\t<alpine.DEB.2.20.1709052014180.6352@digraph.polyomino.org.uk>\n\t<59B6C71B.2040708@arm.com>","User-Agent":"Alpine 2.20 (DEB 67 2015-01-07)","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"US-ASCII\"","X-ClientProxiedBy":"svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To\n\tsvr-ies-mbx-01.mgc.mentorg.com (139.181.222.1)"}}]