diff options
author | Joseph Myers <joseph@codesourcery.com> | 2018-12-14 22:35:57 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2018-12-14 22:35:57 +0000 |
commit | 033a2c0a20393c7e48000d83c2ca7ac8ea292d9e (patch) | |
tree | 949bd0c0a3c81b6ced0d5663ef149ed2496d6308 | |
parent | e361dc043d0490dbcba88f5e16854e8e19f8231c (diff) | |
download | glibc-033a2c0a20393c7e48000d83c2ca7ac8ea292d9e.tar.gz glibc-033a2c0a20393c7e48000d83c2ca7ac8ea292d9e.tar.xz glibc-033a2c0a20393c7e48000d83c2ca7ac8ea292d9e.zip |
Remove x86 mathinline.h asinh, acosh, atanh inlines.
Continuing the removal of bits/mathinline.h inlines that would better be done by the compiler, this patch removes x86 inlines for asinh, acosh and atanh functions (only for fast-math, non-SSE 32-bit x86). I've filed <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88502> for adding such inlines as an optimization in GCC. Tested for x86_64 and x86. * sysdeps/x86/fpu/bits/mathinline.h (asinh): Remove inline definition. (acosh): Likewise. (atanh): Likewise.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | sysdeps/x86/fpu/bits/mathinline.h | 13 |
2 files changed, 7 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog index 098d9254ae..3dd9054e58 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2018-12-14 Joseph Myers <joseph@codesourcery.com> + + * sysdeps/x86/fpu/bits/mathinline.h (asinh): Remove inline + definition. + (acosh): Likewise. + (atanh): Likewise. + 2018-12-14 Florian Weimer <fweimer@redhat.com> * manual/process.texi (Process Creation Concepts): Remove diff --git a/sysdeps/x86/fpu/bits/mathinline.h b/sysdeps/x86/fpu/bits/mathinline.h index 8eae3707be..785fa2ca13 100644 --- a/sysdeps/x86/fpu/bits/mathinline.h +++ b/sysdeps/x86/fpu/bits/mathinline.h @@ -285,19 +285,6 @@ __inline_mathcodeNP (tanh, __x, \ # ifdef __FAST_MATH__ __inline_mathcodeNP (expm1, __x, __expm1_code) -/* The argument range of the inline version of asinhl is slightly reduced. */ -__inline_mathcodeNP (asinh, __x, \ - register long double __y = __fabsl (__x); \ - return (log1pl (__y * __y / (__libc_sqrtl (__y * __y + 1.0) + 1.0) + __y) \ - * __sgn1l (__x))) - -__inline_mathcodeNP (acosh, __x, \ - return logl (__x + __libc_sqrtl (__x - 1.0) * __libc_sqrtl (__x + 1.0))) - -__inline_mathcodeNP (atanh, __x, \ - register long double __y = __fabsl (__x); \ - return -0.5 * log1pl (-(__y + __y) / (1.0 + __y)) * __sgn1l (__x)) - # endif # endif |