On 29/05/2020 23:00, Vineet Gupta wrote: LGTM, thanks. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@xxxxxxxxxx> > --- > sysdeps/generic/math-use-builtins.h | 3 +++ > sysdeps/ieee754/dbl-64/e_sqrt.c | 6 ++++++ > sysdeps/ieee754/flt-32/e_sqrtf.c | 6 ++++++ > 3 files changed, 15 insertions(+) > > diff --git a/sysdeps/generic/math-use-builtins.h b/sysdeps/generic/math-use-builtins.h > index 8a39ef58bc95..fc724c824a17 100644 > --- a/sysdeps/generic/math-use-builtins.h > +++ b/sysdeps/generic/math-use-builtins.h > @@ -60,4 +60,7 @@ > # define USE_COPYSIGNF128_BUILTIN 0 > #endif > > +#define USE_SQRT_BUILTIN 0 > +#define USE_SQRTF_BUILTIN 0 > + > #endif /* math-use-builtins.h */ Ok. > diff --git a/sysdeps/ieee754/dbl-64/e_sqrt.c b/sysdeps/ieee754/dbl-64/e_sqrt.c > index d42a1a4eb6e9..518a8ae5cdaf 100644 > --- a/sysdeps/ieee754/dbl-64/e_sqrt.c > +++ b/sysdeps/ieee754/dbl-64/e_sqrt.c > @@ -41,6 +41,7 @@ > #include <math_private.h> > #include <fenv_private.h> > #include <libm-alias-finite.h> > +#include <math-use-builtins.h> > > /*********************************************************************/ > /* An ultimate sqrt routine. Given an IEEE double machine number x */ Ok. > @@ -50,6 +51,10 @@ > double > __ieee754_sqrt (double x) > { > +#if USE_SQRT_BUILTIN > + return __builtin_sqrt (x); > +#else > + /* Use generic implementation. */ > static const double > rt0 = 9.99999999859990725855365213134618E-01, > rt1 = 4.99999999495955425917856814202739E-01, > @@ -138,6 +143,7 @@ __ieee754_sqrt (double x) > return (x - x) / (x - x); /* sqrt(-ve)=sNaN */ > return 0x1p-256 * __ieee754_sqrt (x * 0x1p512); > } > +#endif /* ! USE_SQRT_BUILTIN */ > } > #ifndef __ieee754_sqrt > libm_alias_finite (__ieee754_sqrt, __sqrt) Ok. > diff --git a/sysdeps/ieee754/flt-32/e_sqrtf.c b/sysdeps/ieee754/flt-32/e_sqrtf.c > index b339444301aa..68fc80e1e1ee 100644 > --- a/sysdeps/ieee754/flt-32/e_sqrtf.c > +++ b/sysdeps/ieee754/flt-32/e_sqrtf.c > @@ -16,12 +16,17 @@ > #include <math.h> > #include <math_private.h> > #include <libm-alias-finite.h> > +#include <math-use-builtins.h> > > static const float one = 1.0, tiny=1.0e-30; > > float > __ieee754_sqrtf(float x) > { > +#if USE_SQRTF_BUILTIN > + return __builtin_sqrtf (x); > +#else > + /* Use generic implementation. */ > float z; > int32_t sign = (int)0x80000000; > int32_t ix,s,q,m,t,i; > @@ -83,6 +88,7 @@ __ieee754_sqrtf(float x) > ix += (m <<23); > SET_FLOAT_WORD(z,ix); > return z; > +#endif /* ! USE_SQRTF_BUILTIN */ > } > #ifndef __ieee754_sqrtf > libm_alias_finite (__ieee754_sqrtf, __sqrtf) > Ok. _______________________________________________ linux-snps-arc mailing list linux-snps-arc@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-snps-arc