glibc/sysdeps/ieee754/flt-32
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
..
e_acosf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_acoshf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_asinf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_atan2f.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_atanhf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_coshf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_exp2f_data.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_exp2f.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_exp10f.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_expf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_fmodf.c math: Improve fmod(f) performance 2023-04-17 13:03:10 +01:00
e_gammaf_r.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_hypotf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_ilogbf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_j0f.c math: Fix float conversion regressions with gcc-12 [BZ #28713] 2022-01-10 14:27:17 +00:00
e_j1f.c math: Fix float conversion regressions with gcc-12 [BZ #28713] 2022-01-10 14:27:17 +00:00
e_jnf.c math: Fix float conversion regressions with gcc-12 [BZ #28713] 2022-01-10 14:27:17 +00:00
e_lgammaf_r.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_log2f_data.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_log2f.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_log10f.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_logf_data.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_logf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_powf_log2_data.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_powf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
e_remainderf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_sinhf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_sqrtf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
k_tanf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
lgamma_negf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
lgamma_productf.c Fix lgamma (negative) inaccuracy (bug 2542, bug 2543, bug 2558). 2015-09-10 22:27:58 +00:00
math_config.h math: Remove the error handling wrapper from fmod and fmodf 2023-04-03 16:45:27 -03:00
math_errf.c math: Remove the error handling wrapper from fmod and fmodf 2023-04-03 16:45:27 -03:00
mpn2flt.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
reduce_aux.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_asinhf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_atanf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_cbrtf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_ceilf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_copysignf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_cosf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_erff.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_expm1f.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_fabsf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_finitef.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_floorf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_fpclassifyf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_frexpf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_fromfpf_main.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_fromfpf.c Use libm_alias_float in flt-32. 2017-09-22 20:24:12 +00:00
s_fromfpxf.c Use libm_alias_float in flt-32. 2017-09-22 20:24:12 +00:00
s_getpayloadf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_isinff.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_isnanf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_issignalingf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_llrintf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_llroundf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_log1pf.c math: Fix float conversion regressions with gcc-12 [BZ #28713] 2022-01-10 14:27:17 +00:00
s_logbf.c Use GCC builtins for logb functions if desired. 2022-11-29 16:00:28 +08:00
s_lrintf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_lroundf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_modff.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_nearbyintf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_nextafterf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_nextupf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_remquof.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_rintf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_roundevenf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_roundf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_scalblnf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_scalbnf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_setpayloadf_main.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_setpayloadf.c Use libm_alias_float in flt-32. 2017-09-22 20:24:12 +00:00
s_setpayloadsigf.c Use libm_alias_float in flt-32. 2017-09-22 20:24:12 +00:00
s_signbitf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_sincosf_data.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_sincosf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_sincosf.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_sinf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_tanf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_tanhf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_totalorderf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_totalordermagf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_truncf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
s_ufromfpf.c Use libm_alias_float in flt-32. 2017-09-22 20:24:12 +00:00
s_ufromfpxf.c Use libm_alias_float in flt-32. 2017-09-22 20:24:12 +00:00
sincosf_poly.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
w_exp2f.c Do not wrap expf and exp2f 2017-10-02 14:38:54 +01:00
w_expf.c Do not wrap expf and exp2f 2017-10-02 14:38:54 +01:00
w_fmodf.c math: Remove the error handling wrapper from fmod and fmodf 2023-04-03 16:45:27 -03:00
w_hypotf.c math: Remove the error handling wrapper from hypot and hypotf 2021-12-13 10:08:46 -03:00
w_log2f.c Do not wrap logf, log2f and powf 2017-10-02 14:39:38 +01:00
w_logf.c Do not wrap logf, log2f and powf 2017-10-02 14:39:38 +01:00
w_powf.c Do not wrap logf, log2f and powf 2017-10-02 14:39:38 +01:00