diff options
author | Wilco Dijkstra <wdijkstr@arm.com> | 2018-03-15 18:21:58 +0000 |
---|---|---|
committer | Wilco Dijkstra <wdijkstr@arm.com> | 2018-03-15 19:21:36 +0000 |
commit | 700593fdd7aef1e36cfa8bad969faab76a6facda (patch) | |
tree | 4f08e9e8658971e17136a6d393c5b593c5175221 /sysdeps/sparc/fpu | |
parent | f67a8147b0ac274655c6c5c3b4c8bcb02be5745b (diff) | |
download | glibc-700593fdd7aef1e36cfa8bad969faab76a6facda.tar glibc-700593fdd7aef1e36cfa8bad969faab76a6facda.tar.gz glibc-700593fdd7aef1e36cfa8bad969faab76a6facda.tar.bz2 glibc-700593fdd7aef1e36cfa8bad969faab76a6facda.zip |
Remove all target specific __ieee754_sqrt(f/l) inlines
Remove the now unused target specific__ieee754_sqrt(f/l) inlines.
Also remove inlines of sqrt which are for really old GCC versions.
Removing these is desirable, under the general principle of leaving
such inlining to the compiler rather than trying to do it in installed
headers, especially when only very old compilers are affected.
Note that removing inlines for __ieee754_sqrt disables inlining in the
sqrt wrapper functions. Given the sqrt function will typically only be
called for negative arguments, it doesn't matter whether the inlining
happens or not.
* sysdeps/aarch64/fpu/math_private.h (__ieee754_sqrt): Remove.
(__ieee754_sqrtf): Remove.
* sysdeps/alpha/fpu/math_private.h (__ieee754_sqrt): Remove.
(__ieee754_sqrtf): Remove.
* sysdeps/generic/math-type-macros.h (M_SQRT): Use sqrt.
* sysdeps/m68k/m680x0/fpu/mathimpl.h (__ieee754_sqrt): Remove.
* sysdeps/powerpc/fpu/math_private.h (__ieee754_sqrt): Remove.
(__ieee754_sqrtf): Remove.
* sysdeps/s390/fpu/bits/mathinline.h: Remove file.
* sysdeps/sparc/fpu/bits/mathinline.h (sqrt) Remove.
(sqrtf): Remove.
(sqrtl): Remove.
(__ieee754_sqrt): Remove.
(__ieee754_sqrtf): Remove.
(__ieee754_sqrtl): Remove.
* sysdeps/m68k/m680x0/fpu/mathimpl.h (__ieee754_sqrt): Remove.
* sysdeps/x86/fpu/math_private.h (__ieee754_sqrt): Remove.
* sysdeps/x86_64/fpu/math_private.h (__ieee754_sqrt): Remove.
(__ieee754_sqrtf): Remove.
(__ieee754_sqrtl): Remove.
Diffstat (limited to 'sysdeps/sparc/fpu')
-rw-r--r-- | sysdeps/sparc/fpu/bits/mathinline.h | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/sysdeps/sparc/fpu/bits/mathinline.h b/sysdeps/sparc/fpu/bits/mathinline.h index 5940a1d0a0..f6118c7ca5 100644 --- a/sysdeps/sparc/fpu/bits/mathinline.h +++ b/sysdeps/sparc/fpu/bits/mathinline.h @@ -33,86 +33,6 @@ # define __MATH_INLINE __extern_inline # endif /* __cplusplus */ -/* The gcc, version 2.7 or below, has problems with all this inlining - code. So disable it for this version of the compiler. */ -# if __GNUC_PREREQ (2, 8) - -# if !defined __NO_MATH_INLINES && !__GNUC_PREREQ (3, 2) - -__MATH_INLINE double -__NTH (sqrt (double __x)) -{ - register double __r; - __asm ("fsqrtd %1,%0" : "=f" (__r) : "f" (__x)); - return __r; -} - -__MATH_INLINE float -__NTH (sqrtf (float __x)) -{ - register float __r; - __asm ("fsqrts %1,%0" : "=f" (__r) : "f" (__x)); - return __r; -} - -# if __WORDSIZE == 64 -__MATH_INLINE long double -__NTH (sqrtl (long double __x)) -{ - long double __r; - extern void _Qp_sqrt (long double *, const long double *); - _Qp_sqrt (&__r, &__x); - return __r; -} -# elif !defined __NO_LONG_DOUBLE_MATH -__MATH_INLINE long double -sqrtl (long double __x) __THROW -{ - extern long double _Q_sqrt (const long double); - return _Q_sqrt (__x); -} -# endif /* sparc64 */ - -# endif /* !__NO_MATH_INLINES && !GCC 3.2+ */ - -/* This code is used internally in the GNU libc. */ -# ifdef __LIBC_INTERNAL_MATH_INLINES -__MATH_INLINE double -__ieee754_sqrt (double __x) -{ - register double __r; - __asm ("fsqrtd %1,%0" : "=f" (__r) : "f" (__x)); - return __r; -} - -__MATH_INLINE float -__ieee754_sqrtf (float __x) -{ - register float __r; - __asm ("fsqrts %1,%0" : "=f" (__r) : "f" (__x)); - return __r; -} - -# if __WORDSIZE == 64 -__MATH_INLINE long double -__ieee754_sqrtl (long double __x) -{ - long double __r; - extern void _Qp_sqrt (long double *, const long double *); - _Qp_sqrt(&__r, &__x); - return __r; -} -# elif !defined __NO_LONG_DOUBLE_MATH -__MATH_INLINE long double -__ieee754_sqrtl (long double __x) -{ - extern long double _Q_sqrt (const long double); - return _Q_sqrt (__x); -} -# endif /* sparc64 */ -# endif /* __LIBC_INTERNAL_MATH_INLINES */ -# endif /* gcc 2.8+ */ - # ifdef __USE_ISOC99 # ifndef __NO_MATH_INLINES |