diff options
author | Joseph Myers <joseph@codesourcery.com> | 2018-12-19 21:48:03 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2018-12-19 21:48:03 +0000 |
commit | 515f463f52b8e4f048e6818d0db2dd2ae45e5f36 (patch) | |
tree | 08be542f3d7a5b594e85e507cc6809e2de9f319f | |
parent | 1616d034b61622836d3a36af53dcfca7624c844e (diff) | |
download | glibc-515f463f52b8e4f048e6818d0db2dd2ae45e5f36.tar.gz glibc-515f463f52b8e4f048e6818d0db2dd2ae45e5f36.tar.xz glibc-515f463f52b8e4f048e6818d0db2dd2ae45e5f36.zip |
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.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | sysdeps/x86/fpu/bits/mathinline.h | 16 |
2 files changed, 7 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog index b03f945567..bf414bc3f4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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, diff --git a/sysdeps/x86/fpu/bits/mathinline.h b/sysdeps/x86/fpu/bits/mathinline.h index 785fa2ca13..95ab9f5b82 100644 --- a/sysdeps/x86/fpu/bits/mathinline.h +++ b/sysdeps/x86/fpu/bits/mathinline.h @@ -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 |