diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2025-06-16 10:17:33 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2025-06-18 15:56:00 -0300 |
commit | 61cc9922f3cdcd71ed8977016b8180d409826240 (patch) | |
tree | 5a6b7a0fa7f83285fa63be33bab2bf1e1b1d488f /benchtests/inet_ntop_ipv4-source.c | |
parent | 6849c5b791edd216f2ec3fdbe4d138bc69b9b333 (diff) | |
download | glibc-61cc9922f3cdcd71ed8977016b8180d409826240.zip glibc-61cc9922f3cdcd71ed8977016b8180d409826240.tar.gz glibc-61cc9922f3cdcd71ed8977016b8180d409826240.tar.bz2 |
math: Simplify and optimize modff implementation
Refactor the generic implementation to use math_config.h definitions,
and add an alternative one if the ABI supports truncf instructions
(gated through math-use-builtins-trunc.h).
The generic implementation generates similar code for x86_64, while
the optimization path aarch64 (where truncf is supported as a builtin)
through frintz), the improvements are:
reciprocal-throughput master patch difference
workload-0_1 3.0740 3.0326 1.35%
workload-1_maxint 5.2231 3.0436 41.73%
workload-maxint_maxfloat 4.0962 3.0551 25.42%
workload-integral 3.7093 3.0612 17.47%
latency master patch difference
workload-0_1 3.5521 4.7313 -33.20%
workload-1_maxint 6.7148 4.7314 29.54%
workload-maxint_maxfloat 4.0458 4.7518 -17.45%
workload-integral 3.9719 4.7427 -19.40%
Checked on aarch64-linux-gnu and x86_64-linux-gnu.
Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
Diffstat (limited to 'benchtests/inet_ntop_ipv4-source.c')
0 files changed, 0 insertions, 0 deletions