[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