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