This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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;
>  }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]