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.
This commit is contained in:
Joseph Myers 2018-12-14 22:35:57 +00:00
parent e361dc043d
commit 033a2c0a20
2 changed files with 7 additions and 13 deletions

View File

@ -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

View File

@ -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