[PATCH] [powerpc] Use float in e_sqrt.c
Adhemerval Zanella
adhemerval.zanella@linaro.org
Tue Feb 5 13:11:00 GMT 2019
On 04/02/2019 23:16, Paul Clarke wrote:
> The type used within e_sqrt.c(__slow_ieee754_sqrtf) was, unnecessarily and
> likely inadvertently, double. float is not only appropriate, but also
> more efficient, avoiding the need for the compiler to emit a
> round-to-single-precision instruction.
>
> This is the difference in compiled code:
> 0000000000000000 <__ieee754_sqrtf>:
> 0: 2c 08 20 ec fsqrts f1,f1
> - 4: 18 08 20 fc frsp f1,f1
> - 8: 20 00 80 4e blr
> + 4: 20 00 80 4e blr
>
> (Found by Anton Blanchard.)
>
> 2019-02-04 Paul A. Clarke <pc@us.ibm.com>
>
> * sysdeps/powerpc/fpu/e_sqrt.c (__slow_ieee754_sqrtf):
> Use float instead of double.
LGTM, thanks.
> ---
> sysdeps/powerpc/fpu/e_sqrtf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sysdeps/powerpc/fpu/e_sqrtf.c b/sysdeps/powerpc/fpu/e_sqrtf.c
> index 65df94b..5d9e900 100644
> --- a/sysdeps/powerpc/fpu/e_sqrtf.c
> +++ b/sysdeps/powerpc/fpu/e_sqrtf.c
> @@ -138,7 +138,7 @@ __slow_ieee754_sqrtf (float x)
> float
> __ieee754_sqrtf (float x)
> {
> - double z;
> + float z;
>
> #ifdef _ARCH_PPCSQ
> asm ("fsqrts %0,%1\n" :"=f" (z):"f" (x));
>
More information about the Libc-alpha
mailing list