glibc/sysdeps/ieee754/dbl-64
H.J. Lu a8ecb126d4 x86_64: Add log1p with FMA
On Skylake, it changes log1p bench performance by:

        Before       After     Improvement
max     63.349       58.347       8%
min     4.448        5.651        -30%
mean    12.0674      10.336       14%

The minimum code path is

 if (hx < 0x3FDA827A)                          /* x < 0.41422  */
    {
      if (__glibc_unlikely (ax >= 0x3ff00000))           /* x <= -1.0 */
        {
	   ...
        }
      if (__glibc_unlikely (ax < 0x3e200000))           /* |x| < 2**-29 */
        {
          math_force_eval (two54 + x);          /* raise inexact */
          if (ax < 0x3c900000)                  /* |x| < 2**-54 */
            {
	      ...
            }
          else
            return x - x * x * 0.5;

FMA and non-FMA code sequences look similar.  Non-FMA version is slightly
faster.  Since log1p is called by asinh and atanh, it improves asinh
performance by:

        Before       After     Improvement
max     75.645       63.135       16%
min     10.074       10.071       0%
mean    15.9483      14.9089      6%

and improves atanh performance by:

        Before       After     Improvement
max     91.768       75.081       18%
min     15.548       13.883       10%
mean    18.3713      16.8011      8%
2023-08-21 10:44:26 -07:00
..
asincos.tbl Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
atnat2.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
atnat.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
branred.c Fix misspellings in sysdeps/ -- BZ 25337 2023-05-30 23:02:29 +00:00
branred.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dbl2mpn.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
dla.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_acos.c
e_acosh.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_asin.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_atan2.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_atanh.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_cosh.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_exp2.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_exp10.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_exp_data.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_exp.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_fmod.c math: Improve fmod(f) performance 2023-04-17 13:03:10 +01:00
e_gamma_r.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_hypot.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_ilogb.c
e_j0.c
e_j1.c
e_jn.c
e_lgamma_r.c Fix misspellings in sysdeps/ -- BZ 25337 2023-05-30 23:02:29 +00:00
e_log2_data.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_log2.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_log10.c Remove dbl-64/wordsize-64 (part 2) 2021-01-07 15:26:26 +00:00
e_log_data.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_log.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_pow_log_data.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_pow.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_remainder.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_sinh.c
e_sqrt.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
gamma_product.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
gamma_productf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
k_rem_pio2.c
k_tan.c
lgamma_neg.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
lgamma_product.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Makefile
math_config.h aarch64: Add vector implementations of cos routines 2023-06-30 09:04:10 +01:00
math_err.c math: Remove the error handling wrapper from fmod and fmodf 2023-04-03 16:45:27 -03:00
mpn2dbl.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
mydefs.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
powtwo.tbl Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
root.tbl Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_asinh.c
s_atan.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_cbrt.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_ceil.c
s_copysign.c
s_cos.c
s_erf.c
s_expm1.c x86_64: Add expm1 with FMA 2023-08-14 08:14:19 -07:00
s_f32xaddf64.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_f32xdivf64.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_f32xfmaf64.c Add narrowing fma functions 2021-09-22 21:25:31 +00:00
s_f32xmulf64.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_f32xsqrtf64.c Add narrowing square root functions 2021-09-10 20:56:22 +00:00
s_f32xsubf64.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_fabs.c
s_fadd.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_fdiv.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_ffma.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_finite.c
s_floor.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_fma.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_fmaf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_fmul.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_fpclassify.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_frexp.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_fromfp_main.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_fromfp.c
s_fromfpx.c
s_fsqrt.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_fsub.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_getpayload.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_isinf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_isnan.c
s_issignaling.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_llrint.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_llround.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_log1p.c x86_64: Add log1p with FMA 2023-08-21 10:44:26 -07:00
s_logb.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_lrint.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_lround.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_modf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_nearbyint.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_nexttoward.c
s_nextup.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_remquo.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_rint.c
s_round.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_roundeven.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_scalbln.c Remove dbl-64/wordsize-64 (part 2) 2021-01-07 15:26:26 +00:00
s_scalbn.c Remove dbl-64/wordsize-64 (part 2) 2021-01-07 15:26:26 +00:00
s_setpayload_main.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_setpayload.c
s_setpayloadsig.c
s_signbit.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_sin.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_sincos.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_tan.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_tanh.c
s_totalorder.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_totalordermag.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_trunc.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_ufromfp.c
s_ufromfpx.c
sincostab.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
uasncs.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
uatan.tbl Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
urem.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
usncs.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
utan.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
utan.tbl Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
w_exp2.c
w_exp.c
w_fmod.c math: Remove the error handling wrapper from fmod and fmodf 2023-04-03 16:45:27 -03:00
w_hypot.c math: Remove the error handling wrapper from hypot and hypotf 2021-12-13 10:08:46 -03:00
w_log2.c
w_log.c
w_pow.c
x2y2m1.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
x2y2m1f.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00