Commit Graph

3 Commits

Author SHA1 Message Date
Szabolcs Nagy e5791079c6 New log implementation
The new implementations are provided under !__OBSOLETE_MATH, it uses
ISO C99 code.  With default settings the worst case error in nearest
rounding mode is 0.519 ULP with inlined fma and fma contraction.  It uses
a 2 KB lookup table, on aarch64 .text+.rodata size of libm.a is increased
by 1703 bytes.  The w_log.c wrapper is disabled since error handling is
inline in the new code.

New __HAVE_FAST_FMA and __HAVE_FAST_FMA_DEFAULT feature macros were
added to enable selecting between the code path that uses fma and the
one that does not.  Targets supposed to set __HAVE_FAST_FMA_DEFAULT
if they have single instruction fma and the compiler can actually
inline it (gcc has __FP_FAST_FMA macro but that does not guarantee
inlining with -fno-builtin-fma).

Improvements on Cortex-A72:
latency: 1.9x
thruput: 2.3x
2018-06-27 15:40:49 +02:00
Jeff Johnston 8887021868 2000-05-26 Marek Michalkiewicz <marekm@linux.org.pl>
* libm/common/s_expm1.c (expm1): Add curly braces, avoid warnings.
        * libm/common/s_log1p.c (log1p): Likewise.
        * libm/common/s_scalbn.c (scalbn): Likewise.
        * libm/math/e_log.c: Likewise.
        * libm/math/e_asin.c: Likewise.
        * libm/math/ef_asin.c: Likewise.
        * libm/math/e_j0.c (pzero, qzero): Remove redundant test.
        * libm/math/e_j1.c (pone, qone): Likewise.
        * libm/math/ef_j0.c (pzerof, qzerof): Likewise.
        * libm/math/ef_j1.c (ponef, qonef): Likewise.
        * libm/mathfp/e_j0.c (pzero, qzero): Likewise.
        * libm/mathfp/e_j1.c (pone, qone): Likewise.
        * libm/mathfp/ef_j0.c (pzerof, qzerof): Likewise.
        * libm/mathfp/ef_j1.c (ponef, qonef): Likewise.
2000-05-26 22:42:39 +00:00
Christopher Faylor 8a0efa53e4 import newlib-2000-02-17 snapshot 2000-02-17 19:39:52 +00:00