glibc/sysdeps/powerpc
Adhemerval Zanella 8f170dc819 math: Use tanpif from CORE-MATH
The CORE-MATH implementation is correctly rounded (for any rounding mode)
and shows better performance to the generic tanpif.

The code was adapted to glibc style and to use the definition of
math_config.h (to handle errno, overflow, and underflow).

Benchtest on x64_64 (Ryzen 9 5900X, gcc 14.2.1), aarch64 (Neoverse-N1,
gcc 13.3.1), and powerpc (POWER10, gcc 13.2.1):

latency                      master        patched   improvement
x86_64                      85.1683        47.7990        43.88%
x86_64v2                    76.8219        41.4679        46.02%
x86_64v3                    73.7775        37.7734        48.80%
aarch64 (Neoverse)          35.4514        18.0742        49.02%
power8                      22.7604        10.1054        55.60%
power10                     22.1358         9.9553        55.03%

reciprocal-throughput        master        patched   improvement
x86_64                      41.0174        19.4718        52.53%
x86_64v2                    34.8565        11.3761        67.36%
x86_64v3                    34.0325         9.6989        71.50%
aarch64 (Neoverse)          25.4349         9.2017        63.82%
power8                      13.8626         3.8486        72.24%
power10                     11.7933         3.6420        69.12%

Reviewed-by: DJ Delorie <dj@redhat.com>
2025-02-12 16:31:57 -03:00
..
bits Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
fpu math: Use tanpif from CORE-MATH 2025-02-12 16:31:57 -03:00
nofpu Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
nptl Move <thread_pointer.h> to kernel-independent sysdeps directories 2025-01-09 19:30:16 +01:00
power4 Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
power6 Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
powerpc32 Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
powerpc64 powerpc64le: Also avoid IFUNC for __mempcpy 2025-02-05 09:53:11 +01:00
sys/platform Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
Makefile
Versions
abort-instr.h
atomic-machine.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-lookupcfg.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-procinfo.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-procinfo.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-tls.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-tls.h elf: Remove the remaining uses of GET_ADDR_OFFSET 2025-01-02 13:45:27 +01:00
dl-tunables.list Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
elf-initfini.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
fpu_control.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
gccframe.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
hwcapinfo.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
hwcapinfo.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
ifunc-sel.h
jmpbuf-offsets.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
jmpbuf-unwind.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
ldsodefs.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
libc-tls.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
locale-defines.sym
longjmp.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
machine-gmon.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
math-tests-snan-cast.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
math-use-builtins-ffs.h
mod-cache-ppc.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mod-tlsopt-powerpc.c
mp_clz_tab.c
novmx-longjmp.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
novmx-sigjmp.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
novmxsetjmp.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
preconfigure Update copyright in generated files by running "make" 2025-01-01 11:22:09 -08:00
preconfigure.ac powerpc: Placeholder and infrastructure/build support to add Power11 related changes. 2024-03-19 21:11:34 -05:00
rtld-global-offsets.sym
sigjmp.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sotruss-lib.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
string-fza.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sysdep.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
test-arith.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
test-arithf.c
test-get_hwcap-static.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
test-get_hwcap.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
test-gettimebase.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
thread_pointer.h Move <thread_pointer.h> to kernel-independent sysdeps directories 2025-01-09 19:30:16 +01:00
tst-cache-ppc-static-dlopen.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cache-ppc-static.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-cache-ppc.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-set_ppr.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-stack-align.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-tlsifunc-static.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-tlsifunc.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-tlsopt-powerpc.c
utmp-size.h login: Check default sizes of structs utmp, utmpx, lastlog 2024-04-19 14:38:17 +02:00