mirror of git://sourceware.org/git/glibc.git
Add fast path optimization for frexpl (128-bit IEEE quad precision) using a single unsigned comparison to identify normal floating-point numbers and return immediately via arithmetic on the exponent field. The implementation uses arithmetic operations hx = hx - (ex << 48) to adjust the exponent in place, which is simpler and more efficient than bit masking. For subnormals, the traditional multiply-based normalization is retained for reliability with the split 64-bit word format. The zero/infinity/NaN check groups these special cases together for better branch prediction. This optimization provides the same algorithmic improvements as the other frexp variants while maintaining correctness for all edge cases. Signed-off-by: Osama Abdelkader <osama.abdelkader@gmail.com> Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com> |
||
|---|---|---|
| .. | ||
| dbl-64 | ||
| float128 | ||
| flt-32 | ||
| ldbl-64-128 | ||
| ldbl-96 | ||
| ldbl-128 | ||
| ldbl-128ibm | ||
| ldbl-128ibm-compat | ||
| ldbl-opt | ||
| soft-fp | ||
| Makefile | ||
| ieee754.h | ||
| k_standard.c | ||
| k_standardf.c | ||
| k_standardl.c | ||
| libm-alias-finite.h | ||
| s_lib_version.c | ||
| s_matherr.c | ||
| s_signgam.c | ||