diff options
author | Paul E. Murphy <murphyp@linux.vnet.ibm.com> | 2020-04-07 16:20:55 -0500 |
---|---|---|
committer | Paul E. Murphy <murphyp@linux.ibm.com> | 2020-11-30 09:56:14 -0600 |
commit | 33fc34521de970153344cfe1bfa9ce6da7a6efea (patch) | |
tree | e327104762da05a3354a89a35122fe26bdb8c439 /nptl/herrno.c | |
parent | cc5d5852c65eddf92368b0845e1374bd443316e7 (diff) | |
download | glibc-33fc34521de970153344cfe1bfa9ce6da7a6efea.tar.gz glibc-33fc34521de970153344cfe1bfa9ce6da7a6efea.tar.xz glibc-33fc34521de970153344cfe1bfa9ce6da7a6efea.zip |
powerpc64le: ifunc select *f128 routines in multiarch mode
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). Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Diffstat (limited to 'nptl/herrno.c')
0 files changed, 0 insertions, 0 deletions