mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
The generic implementation is slight more optimized than the powerpc one, where it has a more optimized inf/nan check (by not using FP unit checks, along with branch prediction hints), and removed one branch by issuing trunc instead of a combination of floor/ceil (which also generated less code). On power10 with gcc 14.2.1: reciprocal-throughput master patch difference workload-0_1 1.1351 0.9067 20.12% workload-1_maxint 1.4230 0.9040 36.47% workload-maxint_maxfloat 1.5038 0.9076 39.65% workload-integral 1.1280 0.9111 19.23% latency master patch difference workload-0_1 1.1440 2.7117 -137.03% workload-1_maxint 4.0556 2.7070 33.25% workload-maxint_maxfloat 3.2122 2.7164 15.43% workload-integral 3.2381 2.7281 15.75% Checked on powerpc64le-linux-gnu. Reviewed-by: Sachin Monga <smonga@linux.ibm.com>
10 lines
211 B
C
10 lines
211 B
C
#ifdef _ARCH_PWR5X
|
|
# define USE_TRUNCF_BUILTIN 1
|
|
# define USE_TRUNC_BUILTIN 1
|
|
#else
|
|
# define USE_TRUNCF_BUILTIN 0
|
|
# define USE_TRUNC_BUILTIN 0
|
|
#endif
|
|
#define USE_TRUNCL_BUILTIN 0
|
|
#define USE_TRUNCF128_BUILTIN 0
|