glibc/sysdeps/ieee754/dbl-64
Wilco Dijkstra 76d0f094dd math: Improve fmod(f) performance
Optimize the fast paths (x < y) and (x/y < 2^12).  Delay handling of special
cases to reduce the number of instructions executed before the fast paths.
Performance improvements for fmod:

		Skylake	Zen2	Neoverse V1
subnormals	11.8%	4.2%	11.5%
normal		3.9%	0.01%	-0.5%
close-exponents	6.3%	5.6%	19.4%

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2023-04-17 13:03:10 +01: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 Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +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 Update. 2001-03-12 00:04:52 +00:00
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 Format floating routines. 2013-10-17 16:03:24 +02:00
e_j0.c Add libm_alias_finite for _finite symbols 2020-01-03 10:02:04 -03:00
e_j1.c Add libm_alias_finite for _finite symbols 2020-01-03 10:02:04 -03:00
e_jn.c Add libm_alias_finite for _finite symbols 2020-01-03 10:02:04 -03:00
e_lgamma_r.c Add libm_alias_finite for _finite symbols 2020-01-03 10:02:04 -03: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 Add libm_alias_finite for _finite symbols 2020-01-03 10:02:04 -03:00
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 Fix a few typos in comments 2019-01-12 13:44:51 +00:00
k_tan.c Replace sysdeps/ieee754/dbl-64/k_tan.c with empty file 2012-02-26 16:10:46 +01:00
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 Add new pow implementation 2018-09-19 10:04:51 +01:00
math_config.h math: Remove the error handling wrapper from fmod and fmodf 2023-04-03 16:45:27 -03: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 Use copysign functions not __copysign functions in glibc libm. 2018-09-27 20:04:48 +00:00
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 Use GCC builtins for ceil functions if desired. 2019-12-11 15:12:17 +01:00
s_copysign.c Use GCC builtins for copysign functions if desired. 2019-12-11 15:12:19 +01:00
s_cos.c Update. 2001-03-12 00:04:52 +00:00
s_erf.c Move math_check_force_underflow macros to separate math-underflow.h. 2018-05-10 00:53:04 +00:00
s_expm1.c Do not include math-barriers.h in math_private.h. 2018-05-11 15:11:38 +00: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 Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
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 math: Use wordsize-64 version for finite 2019-06-12 14:32:39 -03:00
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 Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_fromfpx.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
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 math: Use wordsize-64 version for isnan 2019-06-12 14:32:18 -03:00
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 Do not include math-barriers.h in math_private.h. 2018-05-11 15:11:38 +00: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 Update. 1999-07-14 00:54:57 +00:00
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 Use GCC builtins for rint functions if desired. 2019-12-11 15:12:16 +01:00
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 Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_setpayloadsig.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
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 Move math_check_force_underflow macros to separate math-underflow.h. 2018-05-10 00:53:04 +00:00
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 Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_ufromfpx.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
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 Remove the error handling wrapper from exp and exp2 2018-11-21 09:55:02 +00:00
w_exp.c Remove the error handling wrapper from exp and exp2 2018-11-21 09:55:02 +00:00
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 Remove the error handling wrapper from log2 2018-11-21 09:57:21 +00:00
w_log.c Remove the error handling wrapper from log 2018-11-21 09:56:27 +00:00
w_pow.c Remove the error handling wrapper from pow 2018-11-21 09:58:36 +00:00
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