This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Proposal: Remove or reduce math-finite.h
- From: Steve Ellcey <sellcey at marvell dot com>
- To: "libc-alpha at sourceware dot org" <libc-alpha at sourceware dot org>, "Wilco dot Dijkstra at arm dot com" <Wilco dot Dijkstra at arm dot com>, "Steve dot Ellcey at cavium dot com" <Steve dot Ellcey at cavium dot com>
- Cc: "nd at arm dot com" <nd at arm dot com>
- Date: Thu, 21 Mar 2019 16:17:52 +0000
- Subject: Re: Proposal: Remove or reduce math-finite.h
- References: <AM6PR08MB50789686175F6EA9E22A040983420@AM6PR08MB5078.eurprd08.prod.outlook.com>
On Thu, 2019-03-21 at 15:49 +0000, Wilco Dijkstra wrote:
> Hi,
>
> Note that removing math-finite.h has no effect inside GLIBC itself -
> internal math calls use wrappers which continue to be used.
>
> Only external C/C++ code would be affected. Since all commonly
> used functions already have their wrappers removed, this won't have
> any effect on performance. Any other functions deemed performance
> critical can have their wrappers merged on an as needed basis.
>
> So I don't see any point going for something half-way which only
> increases complexity further. Removing it (and all other odd math
> inlines) is the right way forward - and long overdue.
>
> Wilco
I ran build-many-glibcs.py to build all of the glibs that are defined
to build by that script and excluding csky which failed to build (PR
24371), here are the places where the pow, powf, log, logf, log2,
log2f, exp, expf, exp2, and exp2f are not aliases of the _finite
version of the matching routine.
i486/i586/i686
On these platforms pow, log, log2, exp, and exp2 are not
aliases of the finite versions.
x86_64
On these platforms pow_finite, log_finite, and exp_finite are
IFUNCs but the non-finite versions of those routines are
regular functions.
m68k
On this platform none of the functions are aliases.
powerpc
On this platform ONLY expf and __expf_finite are not aliases.
Steve Ellcey
sellcey@marvell.com