4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-02-23 09:09:35 +08:00
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
..
2018-06-27 15:40:49 +02:00
2018-03-14 10:46:32 -05:00
2018-01-17 11:47:30 -06:00
2016-04-04 10:25:27 -05:00
2016-03-17 21:08:56 -05:00
2018-01-17 11:47:13 -06:00
2016-11-22 14:21:35 +01:00
2016-03-17 21:09:01 -05:00
2018-01-17 11:47:13 -06:00
2016-10-25 16:24:05 +02:00
2016-04-04 10:25:29 -05:00
2018-01-17 11:47:08 -06:00