PING: [PATCH, alpha]: Add earlyclobber to sqrtt/sqrtf insns.

Uros Bizjak ubizjak@gmail.com
Sun Apr 23 10:56:00 GMT 2017


PING, is there anything else expected from me to accept the patch [1]?

Please also note, I don't have commit access to a glibc repository.

[1] https://sourceware.org/ml/libc-alpha/2017-04/msg00256.html

Uros.

On Fri, Apr 14, 2017 at 2:30 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> Add earlyclobber to sqrtt/sqrtf insns.
>
> When using software completions, we have to prevent assembler to match
> input and output operands of sqrtt/sqrtf insn. Add earlyclobber to
> output operand to avoid unwanted operand matching.
>
> 2017-04-14  Uros Bizjak  <ubizjak@gmail.com>
>
>     * sysdeps/alpha/fpu/math_private.h (__ieee754_sqrt): Add
>     earlyclobber to output operand of sqrt insn.
>     (__ieee754_sqrtf): Ditto.
>
> diff --git a/sysdeps/alpha/fpu/math_private.h b/sysdeps/alpha/fpu/math_private.h
> index 9e06e25..1e97c86 100644
> --- a/sysdeps/alpha/fpu/math_private.h
> +++ b/sysdeps/alpha/fpu/math_private.h
> @@ -27,9 +27,9 @@ __ieee754_sqrt (double d)
>  {
>    double ret;
>  # ifdef _IEEE_FP_INEXACT
> -  asm ("sqrtt/suid %1,%0" : "=f"(ret) : "f"(d));
> +  asm ("sqrtt/suid %1,%0" : "=&f"(ret) : "f"(d));
>  # else
> -  asm ("sqrtt/sud %1,%0" : "=f"(ret) : "f"(d));
> +  asm ("sqrtt/sud %1,%0" : "=&f"(ret) : "f"(d));
>  # endif
>    return ret;
>  }
> @@ -39,9 +39,9 @@ __ieee754_sqrtf (float d)
>  {
>    float ret;
>  # ifdef _IEEE_FP_INEXACT
> -  asm ("sqrts/suid %1,%0" : "=f"(ret) : "f"(d));
> +  asm ("sqrts/suid %1,%0" : "=&f"(ret) : "f"(d));
>  # else
> -  asm ("sqrts/sud %1,%0" : "=f"(ret) : "f"(d));
> +  asm ("sqrts/sud %1,%0" : "=&f"(ret) : "f"(d));
>  # endif
>    return ret;
>  }



More information about the Libc-alpha mailing list