From bc82059d34cc5679b5bdaf854b864de3eb0562db Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 8 Feb 2005 04:37:48 +0000 Subject: * math/math_private.h (__copysign): Define as builtin for gcc 4. (__copysignf, __copysignl): Likewise. * sysdeps/alpha/fpu/bits/mathinline.h (copysign): Don't define for gcc 4.0. (copysignf, copysignl, fabsf, fabs): Likewise. (__copysign, __copysignf, __copysignl): Remove. (__fabs, __fabsf): Remove. 2005-01-07 Richard Henderson * math/math_private.h (__copysign): Define as builtin for gcc 4. (__copysignf, __copysignl): Likewise. * sysdeps/alpha/fpu/bits/mathinline.h (copysign): Don't define for gcc 4.0. (copysignf, copysignl, fabsf, fabs): Likewise. (__copysign, __copysignf, __copysignl): Remove. (__fabs, __fabsf): Remove. --- ChangeLog | 10 ++++++++++ math/math_private.h | 14 ++++++++++++++ sysdeps/alpha/fpu/bits/mathinline.h | 17 +++++------------ 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 14bb890be7..d66af56070 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2005-01-07 Richard Henderson + + * math/math_private.h (__copysign): Define as builtin for gcc 4. + (__copysignf, __copysignl): Likewise. + * sysdeps/alpha/fpu/bits/mathinline.h (copysign): Don't define + for gcc 4.0. + (copysignf, copysignl, fabsf, fabs): Likewise. + (__copysign, __copysignf, __copysignl): Remove. + (__fabs, __fabsf): Remove. + 2005-01-07 Jakub Jelinek * elf/dl-load.c (open_path): If rtld_search_dirs is in RELRO segment, diff --git a/math/math_private.h b/math/math_private.h index f545841df0..a6a85d3b1e 100644 --- a/math/math_private.h +++ b/math/math_private.h @@ -192,6 +192,10 @@ extern int __kernel_rem_pio2 (double*,double*,int,int,int, const int32_t*); /* internal functions. */ extern double __copysign (double x, double __y); +#if __GNUC_PREREQ (4, 0) +extern inline double __copysign (double x, double y) +{ return __builtin_copysign (x, y); } +#endif /* ieee style elementary float functions */ extern float __ieee754_sqrtf (float); @@ -235,6 +239,10 @@ extern int __kernel_rem_pio2f (float*,float*,int,int,int, const int32_t*); /* internal functions. */ extern float __copysignf (float x, float __y); +#if __GNUC_PREREQ (4, 0) +extern inline float __copysignf (float x, float y) +{ return __builtin_copysignf (x, y); } +#endif /* ieee style elementary long double functions */ extern long double __ieee754_sqrtl (long double); @@ -298,6 +306,12 @@ extern long double fabsl (long double x); extern void __sincosl (long double, long double *, long double *); extern long double __logbl (long double x); extern long double __significandl (long double x); + +#if __GNUC_PREREQ (4, 0) +extern inline long double __copysignl (long double x, long double y) +{ return __builtin_copysignl (x, y); } +#endif + #endif /* Prototypes for functions of the IBM Accurate Mathematical Library. */ diff --git a/sysdeps/alpha/fpu/bits/mathinline.h b/sysdeps/alpha/fpu/bits/mathinline.h index 187bd42f33..87d40058c3 100644 --- a/sysdeps/alpha/fpu/bits/mathinline.h +++ b/sysdeps/alpha/fpu/bits/mathinline.h @@ -46,7 +46,8 @@ #if (!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) \ && defined __OPTIMIZE__ -#define __inline_copysign(NAME, TYPE) \ +#if !__GNUC_PREREQ (4, 0) +# define __inline_copysign(NAME, TYPE) \ __MATH_INLINE TYPE \ __NTH (NAME (TYPE __x, TYPE __y)) \ { \ @@ -60,19 +61,11 @@ __inline_copysign (copysignf, float) __inline_copysign (__copysign, double) __inline_copysign (copysign, double) -#undef __MATH_INLINE_copysign +# undef __inline_copysign +#endif -#if __GNUC_PREREQ (2, 8) -__MATH_INLINE float -__NTH (__fabsf (float __x)) { return __builtin_fabsf (__x); } -__MATH_INLINE float -__NTH (fabsf (float __x)) { return __builtin_fabsf (__x); } -__MATH_INLINE double -__NTH (__fabs (double __x)) { return __builtin_fabs (__x); } -__MATH_INLINE double -__NTH (fabs (double __x)) { return __builtin_fabs (__x); } -#else +#if !__GNUC_PREREQ (2, 8) # define __inline_fabs(NAME, TYPE) \ __MATH_INLINE TYPE \ __NTH (NAME (TYPE __x)) \ -- cgit v1.2.3