glibc/sysdeps/ieee754
Adhemerval Zanella 3b1c5a539b math: Add internal roundeven_finite
Some CORE-MATH routines uses roundeven and most of ISA do not have
an specific instruction for the operation.  In this case, the call
will be routed to generic implementation.

However, if the ISA does support round() and ctz() there is a better
alternative (as used by CORE-MATH).

This patch adds such optimization and also enables it on powerpc.
On a power10 it shows the following improvement:

expm1f                      master      patched       improvement
latency                     9.8574       7.0139            28.85%
reciprocal-throughput       4.3742       2.6592            39.21%

Checked on powerpc64le-linux-gnu and aarch64-linux-gnu.

Reviewed-by: DJ Delorie <dj@redhat.com>
2024-11-26 15:07:57 -03:00
..
dbl-64 math: Split s_erfF in erff and erfc 2024-11-22 10:52:26 -03:00
float128 math: Split s_erfF in erff and erfc 2024-11-22 10:52:26 -03:00
flt-32 math: Add internal roundeven_finite 2024-11-26 15:07:57 -03:00
ldbl-64-128 math: Provide missing math symbols on libc.a (BZ 31781) 2024-05-23 09:36:08 -03:00
ldbl-96 math: Split s_erfF in erff and erfc 2024-11-22 10:52:26 -03:00
ldbl-128 math: Split s_erfF in erff and erfc 2024-11-22 10:52:26 -03:00
ldbl-128ibm math: Split s_erfF in erff and erfc 2024-11-22 10:52:26 -03:00
ldbl-128ibm-compat Implement C23 exp2m1, exp10m1 2024-06-17 16:31:49 +00:00
ldbl-opt Convert to autoconf 2.72 (vanilla release, no distribution patches) 2024-06-17 21:15:28 +02:00
soft-fp Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Makefile
ieee754.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
k_standard.c
k_standardf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
k_standardl.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
libm-alias-finite.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
s_lib_version.c
s_matherr.c
s_signgam.c