Test C-ctrl-addr-write

C C-ctrl-addr-write

{
}

P0(int *x, int *y, int *u)
{
        int r1;
        int *r2;

        r1 = READ_ONCE(*x);
        if (r1 != 0)
                r2 = y;
        else
                r2 = u;
        WRITE_ONCE(*r2, 1);
}

P1(int *x, int *y)
{
        int r3;

        r3 = READ_ONCE(*y);
        smp_mb();
        WRITE_ONCE(*x, 1);
}

Observed
    1:r3=1; 0:r1=1;