One more patch for PR89676

Vladimir Makarov vmakarov@redhat.com
Tue Mar 26 14:49:00 GMT 2019


On 3/26/19 8:35 AM, Maxim Kuvyrkov wrote:
>
> I don't follow.  Do you mean that in the below testcase it's not guaranteed that casp will get its first two arguments in x0 and x1?  (If so, why?)
Sorry for not to be clear.  With my first patch only, it was not 
guaranteed for some complicated code cases.  With the additional patch 
it is guaranteed as it was before.
> ===
> void *a;
> long b, c;
> void d(void) {
>    typeof(0) e=0;
>    register long x0 asm ("x0") = b;
>    register long x1 asm ("x1") = c;
>    asm("	casp\t%[old1], %[old2], %[new1], %[new2], %[v]\n"
>        : [old1] "+&r"(b), [old2] "+&r"(c), [v] "+Q"(a)
>        : [new1] "r"(d), [new2] "r"(e));
> }
>
>
>



More information about the Gcc-patches mailing list