From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 84159 invoked by alias); 1 Sep 2017 23:14:02 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 84148 invoked by uid 89); 1 Sep 2017 23:14:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS,URIBL_RED autolearn=ham version=3.3.2 spammy=Hx-languages-length:1076 X-HELO: relay1.mentorg.com Date: Fri, 01 Sep 2017 23:14:00 -0000 From: Joseph Myers To: Patrick McGehearty CC: Subject: Re: [PATCH] improves exp() and expf() performance on Sparc. In-Reply-To: <1504306749-46787-1-git-send-email-patrick.mcgehearty@oracle.com> Message-ID: References: <1504306749-46787-1-git-send-email-patrick.mcgehearty@oracle.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-02.mgc.mentorg.com (139.181.222.2) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) X-SW-Source: 2017-09/txt/msg00117.txt.bz2 You're defining ifuncs for exp and expf (rather than __ieee754_exp, __exp_finite etc. as on x86_64). But you're not doing anything to stop the w_exp_compat / w_expf_compat wrappers from being built that also define exp and expf, so I don't see how that can work without ending up with multiple definitions of exp and expf; I'd expect you to need to override the wrappers with empty files in such a case of a function implementation with all the error handling integrated. I'm also concerned that you have local matherr handling which is not compatible with all the cases in __kernel_standard (which are not well tested). If you need to have your own integrated error handling for performance reasons, matherr handling should be bug-compatible with the existing code, for both overflow and underflow. (Or define a new symbol version, make the existing exp and expf into compat symbols for SPARC and then your new version only needs to handle errno setting, not matherr.) -- Joseph S. Myers joseph@codesourcery.com