mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
Remove x86 mathinline.h sinh, cosh, tanh inlines.
Continuing the removal of bits/mathinline.h inlines that would better be done by the compiler, this patch removes x86 inlines for sinh, cosh and tanh functions (inlines only previously present for fast-math, non-SSE 32-bit x86). I've filed <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88556> for adding such inlines as an optimization in GCC. I believe the only remaining part of the x86 bits/mathinline.h that does anything useful with current compilers after this patch is the __LIBC_INTERNAL_MATH_INLINES inline of __ieee754_atan2l; I intend to remove the whole header and move that inline to a sysdeps math_private.h header in a subsequent patch. Tested for x86_64 and x86. * sysdeps/x86/fpu/bits/mathinline.h (sinh): Remove inline definition. (cosh): Likewise. (tanh): Likewise.
This commit is contained in:
parent
1616d034b6
commit
515f463f52
@ -1,3 +1,10 @@
|
||||
2018-12-19 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* sysdeps/x86/fpu/bits/mathinline.h (sinh): Remove inline
|
||||
definition.
|
||||
(cosh): Likewise.
|
||||
(tanh): Likewise.
|
||||
|
||||
2018-12-19 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
|
||||
|
||||
* elf/dl-sysdep.c (auxvars): Add AT_L1I_CACHESIZE,
|
||||
|
@ -263,22 +263,6 @@ __inline_mathcode_ (long double, __sgn1l, __x, \
|
||||
return __n.__xld)
|
||||
|
||||
|
||||
# ifdef __FAST_MATH__
|
||||
/* The argument range of the inline version of sinhl is slightly reduced. */
|
||||
__inline_mathcodeNP (sinh, __x, \
|
||||
register long double __exm1 = __expm1l (__fabsl (__x)); \
|
||||
return 0.5 * (__exm1 / (__exm1 + 1.0) + __exm1) * __sgn1l (__x))
|
||||
|
||||
__inline_mathcodeNP (cosh, __x, \
|
||||
register long double __ex = __expl (__x); \
|
||||
return 0.5 * (__ex + 1.0 / __ex))
|
||||
|
||||
__inline_mathcodeNP (tanh, __x, \
|
||||
register long double __exm1 = __expm1l (-__fabsl (__x + __x)); \
|
||||
return __exm1 / (__exm1 + 2.0) * __sgn1l (-__x))
|
||||
# endif
|
||||
|
||||
|
||||
/* Optimized versions for some non-standardized functions. */
|
||||
# ifdef __USE_ISOC99
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user