This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Hello!
Attached patch cleans up FAST_MATH misc functions from
sysdeps/x86/fpu/bits/mathinline.h. The patch uses x87 __builtin
functions that are always defined for gcc-4.6+, uses
__builtin_copysign instead of homegrown __sgn function to avoid
partial memory stalls.
Since we are in FAST_MATH, we don't need to handle the sign of zero,
so the patch removes
- return __temp ? __temp : __x
from the definition of expm1.
Patch was tested on x86_64-linux-gnu, and the resulting mathinline.h
was used to calculate test results of all changed functions.
Please note I have no write access to glibc repository.
Uros.
2017-04-26 Uros Bizjak <ubizjak@gmail.com>
* sysdeps/x86/fpu/bits/mathinline.h [__FAST_MATH__]
(__expm1_code): Remove define and undefine.
[__FAST_MATH__] (__expm1l): Remove inline function.
[__FAST_MATH__] (__exp_code): Remove define and undefine.
[__FAST_MATH__] (exp): Remove inline function.
[__FAST_MATH__] (__expl): Remove inline function.
[__FAST_MATH__] (__libc_sqrtl): Remove define.
(fabs): Remove define.
(fabsf): Remove define.
(fabsl): Remove define.
(__fabsl): Remove define.
(__sgn1l): Remove define.
[__FAST_MATH__] (sinh): Rewrite using __builtin functions.
Use __builtin_copysign to calculate sign of the result.
[__FAST_MATH__] (cosh): Rewrite using __builtin functions.
[__FAST_MATH__] (tanh): Rewrite using __builtin functions.
Use __builtin_copysign to calculate sign of the result.
[__USE_ISOC99 && __FAST_MATH__] (expm1): Remove inline function.
[__USE_ISOC99 && __FAST_MATH__] (asinh): Rewrite using __builtin
functions. Use __builtin_copysign to calculate sign of the result.
[__USE_ISOC99 && __FAST_MATH__] (acosh): Rewrite using
__builtin functions.
[__USE_ISOC99 && __FAST_MATH__] (atanh): Rewrite using __builtin
functions. Use __builtin_copysign to calculate sign of the result.
[__USE_ISOC99 && __FAST_MATH__] (hypot): Rewrite using
__builtin functions.
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Attachment:
g.diff.txt
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |