[PATCHv5] powerpc64le: ifunc select *f128 routines in multiarch mode
Tulio Magno Quites Machado Filho
tuliom@ascii.art.br
Thu Nov 19 19:53:57 GMT 2020
"Paul E. Murphy via Libc-alpha" <libc-alpha@sourceware.org> writes:
> Programatically generate simple wrappers for interesting libm *f128
> objects. Selected functions are transcendental functions or
> those with trivial compiler builtins. This can result in a 2-3x
> speedup (e.g logf128 and expf128).
>
> A second set of implementation files are generated which include
> the first implementation encountered along the search path. This
> usually works, except when a wrapper is overriden and makefile
> search order slightly diverges from include order. Likewise,
> wrapper object files are created for each generated file. These
> hold the ifunc selection routines which export ABI.
>
> Next, several shared headers are intercepted to control renaming of
> asm function redirects are used first, and sometimes macro renames
> if the former is impractical.
>
> Notably, if the request machine supports hardware IEEE128 (i.e POWER9
> and newer) this ifunc machinery is disabled. Likewise existing
> ifunc support for float128 is consolidated into this (e.g sqrtf128
> and fmaf128).
LGTM
Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Thanks!
--
Tulio Magno
More information about the Libc-alpha
mailing list