glibc/sysdeps/i386/fpu
Adhemerval Zanella 7c00a20397 math: Remove i386 ilogb/ilogbf/llogb/llogbf
The new float and double implementation does not required an
extra function call and error handling uses math_err function,
which results in better performance on i386 as well.

With gcc-14 on AMD AMD Ryzen 9 5900X, master shows:

$ ./benchtests/bench-ilogb
  "ilogb": {
   "subnormal": {
    "duration": 3.68863e+09,
    "iterations": 1.72228e+08,
    "max": 89.2995,
    "min": 21.016,
    "mean": 21.4171
   },
   "normal": {
    "duration": 3.68878e+09,
    "iterations": 1.72948e+08,
    "max": 78.6065,
    "min": 21.127,
    "mean": 21.3288
   }
  }
$ ./benchtests/bench-ilogbf
  "ilogbf": {
   "subnormal": {
    "duration": 3.68835e+09,
    "iterations": 1.66716e+08,
    "max": 46.953,
    "min": 21.793,
    "mean": 22.1236
   },
   "normal": {
    "duration": 3.68784e+09,
    "iterations": 1.66168e+08,
    "max": 46.9715,
    "min": 21.904,
    "mean": 22.1935
   }
  }

While with this patch:

$ ./benchtests/bench-ilogb
  "ilogb": {
   "subnormal": {
    "duration": 3.68134e+09,
    "iterations": 4.17516e+08,
    "max": 32.5045,
    "min": 8.3245,
    "mean": 8.81723
   },
   "normal": {
    "duration": 3.6677e+09,
    "iterations": 6.79468e+08,
    "max": 50.9305,
    "min": 5.3465,
    "mean": 5.3979
   }
}
$ ./benchtests/bench-ilogbf
  "ilogbf": {
   "subnormal": {
    "duration": 3.67553e+09,
    "iterations": 5.11032e+08,
    "max": 35.927,
    "min": 7.0485,
    "mean": 7.19237
   },
   "normal": {
    "duration": 3.66877e+09,
    "iterations": 6.556e+08,
    "max": 26.3625,
    "min": 5.5315,
    "mean": 5.59605
   }
 }

Checked on i686-linux-gnu.

Reviewed-by: Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
2025-06-02 13:32:19 -03:00
..
Implies
Versions
doasin.c
e_acos.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_acosh.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
e_acoshl.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
e_acosl.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_asin.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_atan2.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_atan2l.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_atanh.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
e_atanhl.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
e_exp.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_exp2.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_exp2l.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_exp10.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_exp10l.S
e_exp_data.c
e_expl.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_fmod.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_fmodf.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_fmodl.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_hypot.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
e_ilogbl.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_log.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_log2.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_log2_data.c
e_log2l.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_log10.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_log10l.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_log_data.c
e_logl.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_pow.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
e_pow_log_data.c
e_powl.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
e_remainder.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_remainderf.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_remainderl.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_scalb.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_scalbf.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_scalbl.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_sqrt.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
e_sqrtf.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
fclrexcpt.c Remove dl-procinfo.h 2025-03-05 11:22:09 -03:00
fedisblxcpt.c Remove dl-procinfo.h 2025-03-05 11:22:09 -03:00
feenablxcpt.c Remove dl-procinfo.h 2025-03-05 11:22:09 -03:00
fegetenv.c Remove dl-procinfo.h 2025-03-05 11:22:09 -03:00
fegetexcept.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
fegetmode.c Remove dl-procinfo.h 2025-03-05 11:22:09 -03:00
fegetround.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
feholdexcpt.c Remove dl-procinfo.h 2025-03-05 11:22:09 -03:00
fesetenv.c Remove dl-procinfo.h 2025-03-05 11:22:09 -03:00
fesetexcept.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
fesetmode.c Remove dl-procinfo.h 2025-03-05 11:22:09 -03:00
fesetround.c Remove dl-procinfo.h 2025-03-05 11:22:09 -03:00
feupdateenv.c Remove dl-procinfo.h 2025-03-05 11:22:09 -03:00
fgetexcptflg.c Remove dl-procinfo.h 2025-03-05 11:22:09 -03:00
fraiseexcpt.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
fsetexcptflg.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
ftestexcept.c Remove dl-procinfo.h 2025-03-05 11:22:09 -03:00
i386-math-asm.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
libm-test-ulps math: Refactor how to use libm-test-ulps 2025-03-12 13:40:07 -03:00
math-tests-snan.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
math-tests-trap-force.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mpatan.c
mpatan2.c
mpsqrt.c
s_asinh.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_asinhl.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_atan.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_atanl.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_cbrt.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_cbrtf.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_cbrtl.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_ceil.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_ceilf.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_expm1.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_expm1l.S
s_f32xaddf64.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_f32xdivf64.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_f32xmulf64.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_f32xsubf64.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_fdim.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_finite.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_finitef.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_finitel.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_floor.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_floorf.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_fmax.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_fmaxf.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_fmaxl.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_fmin.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_fminf.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_fminl.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_frexp.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_frexpf.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_frexpl.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_isinfl.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_llrint.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_llrintf.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_llrintl.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_log1p.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_log1pl.S x86: Remove .tfloat usage 2022-10-03 14:03:21 -03:00
s_logb.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_logbf.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_logbl.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_lrint.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_lrintf.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_lrintl.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_nearbyint.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_nearbyintf.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_nearbyintl.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_nextafterl.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_nexttoward.c
s_nexttowardf.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_remquo.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_remquof.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_remquol.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_rint.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_rintf.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_rintl.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_scalbln.c
s_scalblnf.c
s_scalblnl.c
s_scalbn.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_scalbnf.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_scalbnl.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_significand.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_significandf.S Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_significandl.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
s_trunc.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
s_truncf.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
w_exp.c
w_exp2.c
w_exp10_compat.c math: Fix i386 and m68k exp10 on static build (BZ 31775) 2024-05-21 13:44:22 -03:00
w_fmod_compat.c math: Fix i386 and m68k fmod/fmodf on static build (BZ 31488) 2024-05-21 13:43:39 -03:00
w_fmodf_compat.c math: Fix i386 and m68k fmod/fmodf on static build (BZ 31488) 2024-05-21 13:43:39 -03:00
w_log.c
w_log2.c
w_pow.c
w_sqrt.c Add narrowing square root functions 2021-09-10 20:56:22 +00:00
w_sqrt_compat.c Add narrowing square root functions 2021-09-10 20:56:22 +00:00