__ieee754_sqrt{,f} are now inline functions and call out __slow versions Signed-off-by: Khem Raj Upstream-Status: Pending Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c =================================================================== --- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c 2012-07-03 22:36:01.172386436 -0700 +++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c 2012-07-03 23:04:37.396469515 -0700 @@ -40,7 +40,7 @@ simultaneously. */ double -__ieee754_sqrt (double b) +__slow_ieee754_sqrt (double b) { if (__builtin_expect (b > 0, 1)) { @@ -77,7 +77,7 @@ /* Handle small numbers by scaling. */ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) - return __ieee754_sqrt (b * two108) * twom54; + return __slow_ieee754_sqrt (b * two108) * twom54; #define FMADD(a_, c_, b_) \ ({ double __r; \ @@ -126,4 +126,12 @@ } return f_wash (b); } + +#undef __ieee754_sqrt +double +__ieee754_sqrt (double x) +{ + return __slow_ieee754_sqrt (x); +} + strong_alias (__ieee754_sqrt, __sqrt_finite) Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c =================================================================== --- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c 2012-07-03 22:36:01.172386436 -0700 +++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c 2012-07-03 23:07:06.260476775 -0700 @@ -38,7 +38,7 @@ square root. */ float -__ieee754_sqrtf (float b) +__slow_ieee754_sqrtf (float b) { if (__builtin_expect (b > 0, 1)) { @@ -93,4 +93,10 @@ } return f_washf (b); } +#undef __ieee754_sqrtf +float +__ieee754_sqrtf (float x) +{ + return __slow_ieee754_sqrtf (x); +} strong_alias (__ieee754_sqrtf, __sqrtf_finite) Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c =================================================================== --- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c 2012-07-03 22:36:01.176386435 -0700 +++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c 2012-07-03 23:14:16.328497458 -0700 @@ -40,7 +40,7 @@ simultaneously. */ double -__ieee754_sqrt (double b) +__slow_ieee754_sqrt (double b) { if (__builtin_expect (b > 0, 1)) { @@ -77,7 +77,7 @@ /* Handle small numbers by scaling. */ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) - return __ieee754_sqrt (b * two108) * twom54; + return __slow_ieee754_sqrt (b * two108) * twom54; #define FMADD(a_, c_, b_) \ ({ double __r; \ @@ -126,4 +126,12 @@ } return f_wash (b); } + +#undef __ieee754_sqrt +double +__ieee754_sqrt (double x) +{ + return __slow_ieee754_sqrt (x); +} + strong_alias (__ieee754_sqrt, __sqrt_finite) Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c =================================================================== --- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c 2012-07-03 22:36:01.176386435 -0700 +++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c 2012-07-03 23:13:52.732496373 -0700 @@ -38,7 +38,7 @@ square root. */ float -__ieee754_sqrtf (float b) +__slow_ieee754_sqrtf (float b) { if (__builtin_expect (b > 0, 1)) { @@ -93,4 +93,10 @@ } return f_washf (b); } +#undef __ieee754_sqrtf +float +__ieee754_sqrtf (float x) +{ + return __slow_ieee754_sqrtf (x); +} strong_alias (__ieee754_sqrtf, __sqrtf_finite)