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

The code was adapted to glibc style, to use the definition of
math_config.h, to remove errno handling, and to use a generic
128 bit routine for ABIs that do not support it natively.

Benchtest on x64_64 (Ryzen 9 5900X, gcc 14.2.1), aarch64 (neoverse1,
gcc 13.2.1), and powerpc (POWER10, gcc 13.2.1):

latency                       master       patched  improvement
x86_64                       82.3961       54.8052       33.49%
x86_64v2                     82.3415       54.8052       33.44%
x86_64v3                     69.3661       50.4864       27.22%
i686                         219.271       45.5396       79.23%
aarch64                      29.2127       19.1951       34.29%
power10                      19.5060       16.2760       16.56%

reciprocal-throughput         master       patched  improvement
x86_64                       28.3976       19.7334       30.51%
x86_64v2                     28.4568       19.7334       30.65%
x86_64v3                     21.1815       16.1811       23.61%
i686                         105.016       15.1426       85.58%
aarch64                      18.1573       10.7681       40.70%
power10                       8.7207        8.7097        0.13%

Signed-off-by: Alexei Sibidanov <sibid@uvic.ca>
Signed-off-by: Paul Zimmermann <Paul.Zimmermann@inria.fr>
Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Reviewed-by: DJ Delorie <dj@redhat.com>
2024-11-22 10:52:27 -03:00
..
bits Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00:00
fpu AArch64: Remove SVE erf and erfc tables 2024-11-01 16:10:41 +00:00
multiarch aarch64: Remove non-temporal load/stores from oryon-1's memset 2024-11-21 11:32:23 -03:00
nptl Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sys Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
__arm_za_disable.S aarch64: Add SME runtime support 2024-01-02 15:43:30 +00:00
__longjmp.S aarch64: Add longjmp support for SME 2024-01-02 15:43:30 +00:00
__mtag_tag_region.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
__mtag_tag_zero_region.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
abort-instr.h
atomic-machine.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
bsd-_setjmp.c aarch64: Rename place holder .S files to .c 2020-07-08 15:02:37 +01:00
bsd-setjmp.c aarch64: Rename place holder .S files to .c 2020-07-08 15:02:37 +01:00
configure Convert to autoconf 2.72 (vanilla release, no distribution patches) 2024-06-17 21:15:28 +02:00
configure.ac aarch64: fix check for SVE support in assembler 2024-03-14 14:27:56 +00:00
cpu-features.h AArch64: Remove thunderx{,2} memcpy 2024-11-20 11:23:53 +00:00
crti.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
crtn.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-audit-check.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-bti.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-diagnostics-cpu.c aarch64: Enhanced CPU diagnostics for ld.so 2024-04-08 16:48:55 +02:00
dl-dtprocnum.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-irel.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-link.sym elf: Fix runtime linker auditing on aarch64 (BZ #26643) 2022-02-01 14:49:46 -03:00
dl-lookupcfg.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-machine.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-prop.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-start.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-tls.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-tlsdesc.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-tlsdesc.S aarch64: Remove ld.so __tls_get_addr plt usage 2024-04-04 17:02:32 -03:00
dl-trampoline.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dl-tunables.list Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
e_sqrtl.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
elf-initfini.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
hp-timing.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Implies Remove dbl-64/wordsize-64 (part 2) 2021-01-07 15:26:26 +00:00
jmpbuf-offsets.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
jmpbuf-unwind.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
ldsodefs.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
libc-mtag.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
libc-start.c aarch64: Make cpu-features definitions not Linux-specific 2024-01-04 23:48:54 +01:00
libc-tls.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
libm-test-ulps math: Use tanf from CORE-MATH 2024-11-22 10:52:27 -03:00
libm-test-ulps-name Do not hardcode platform names in manual/libm-err-tab.pl (bug 14139). 2016-11-04 16:49:06 +00:00
linkmap.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
machine-gmon.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Makefile aarch64: Add longjmp test for SME 2024-01-02 16:54:21 +00:00
math-tests-trap.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
math-use-builtins-ffs.h string: Use builtins for ffs and ffsll 2024-02-01 09:31:33 -03:00
mcount.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
memchr.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
memcmp.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
memcpy.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
memmove.c aarch64: Rename place holder .S files to .c 2020-07-08 15:02:37 +01:00
memrchr.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
memset.S AArch64: Remove memset-reg.h 2024-09-10 14:18:03 +01:00
preconfigure elf: Enable TLS descriptor tests on aarch64 2024-03-19 14:53:30 -03:00
rawmemchr.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
rtld-global-offsets.sym aarch64: Add SME runtime support 2024-01-02 15:43:30 +00:00
setjmp.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sfp-machine.h Break more lines before not after operators. 2019-02-25 13:19:19 +00:00
sotruss-lib.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
stackinfo.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
start.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
stpcpy.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strchr.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strchrnul.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strcmp.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strcpy.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strlen.S AArch64: Improve generic strlen 2024-08-07 14:58:46 +01:00
strncmp.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strnlen.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
strrchr.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sysdep.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tlsdesc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tlsdesc.sym aarch64: Use explicit offsets in _dl_tlsdesc_dynamic 2016-12-02 16:52:57 +01:00
tst-audit26.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-audit26mod.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-audit26mod.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-audit27.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-audit27mod.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-audit27mod.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-audit.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-auditmod26.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-auditmod27.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-ifunc-arg-1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-ifunc-arg-2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-sme-jmp.c aarch64: Add longjmp test for SME 2024-01-02 16:54:21 +00:00
tst-vpcs-mod.S Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-vpcs.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Versions
wordcopy.c aarch64: Don't build wordcopy 2022-10-28 11:14:54 +01:00