glibc/sysdeps/ieee754
Joe Ramsay 63d0a35d5f math: Add new exp10 implementation
New implementation is based on the existing exp/exp2, with different
reduction constants and polynomial. Worst-case error in round-to-
nearest is 0.513 ULP.

The exp/exp2 shared table is reused for exp10 - .rodata size of
e_exp_data increases by 64 bytes.

As for exp/exp2, targets with single-instruction rounding/conversion
intrinsics can use them by toggling TOINT_INTRINSICS=1 and adding the
necessary code to their math_private.h.

Improvements on Neoverse V1 compared to current GLIBC master:
exp10 thruput: 3.3x in [-0x1.439b746e36b52p+8 0x1.34413509f79ffp+8]
exp10 latency: 1.8x in [-0x1.439b746e36b52p+8 0x1.34413509f79ffp+8]

Tested on:
    aarch64-linux-gnu (TOINT_INTRINSICS, fma contraction) and
    x86_64-linux-gnu (!TOINT_INTRINSICS, no fma contraction)

Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
2023-12-04 15:52:11 +00:00
..
dbl-64 math: Add new exp10 implementation 2023-12-04 15:52:11 +00:00
float128 Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
flt-32 aarch64: Add vector implementations of cos routines 2023-06-30 09:04:10 +01:00
ldbl-64-128 Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
ldbl-96 Fix misspellings in sysdeps/ -- BZ 25337 2023-05-30 23:02:29 +00:00
ldbl-128 Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
ldbl-128ibm Fix misspellings in sysdeps/ -- BZ 25337 2023-05-30 23:02:29 +00:00
ldbl-128ibm-compat sysdeps/ieee754/ldbl-128ibm-compat: Fix warn unused result 2023-07-05 16:59:48 +02:00
ldbl-opt configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
soft-fp math: Suppress -O0 warnings for soft-fp fsqrt [BZ #19444] 2023-01-11 17:50:51 -03:00
ieee754.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
k_standard.c Use copysign functions not __copysign functions in glibc libm. 2018-09-27 20:04:48 +00:00
k_standardf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
k_standardl.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
libm-alias-finite.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Makefile Avoid -Wno-write-strings for k_standard.c. 2015-02-26 22:50:54 +00:00
s_lib_version.c Simplify math-svid-compat code. 2017-08-28 15:19:52 +00:00
s_matherr.c Obsolete matherr, _LIB_VERSION, libieee.a. 2017-08-21 17:45:10 +00:00
s_signgam.c Remove unnecessary math_private.h includes. 2018-09-28 21:53:33 +00:00