C IRIW+poonceonces+OnceOnce

(*
 * Result: Sometimes
 *
 * Test of independent reads from independent writes with nothing
 * between each pairs of reads.  In other words, is anything at all
 * needed to cause two different reading processes to agree on the order
 * of a pair of writes, where each write is to a different variable by a
 * different process?
 *)

{}

P0(int *x)
{
	WRITE_ONCE(*x, 1);
}

P1(int *x, int *y)
{
	int r0;
	int r1;

	r0 = READ_ONCE(*x);
	r1 = READ_ONCE(*y);
}

P2(int *y)
{
	WRITE_ONCE(*y, 1);
}

P3(int *x, int *y)
{
	int r0;
	int r1;

	r0 = READ_ONCE(*y);
	r1 = READ_ONCE(*x);
}

exists (1:r0=1 /\ 1:r1=0 /\ 3:r0=1 /\ 3:r1=0)
