C R+poonceonces

(*
 * Result: Sometimes
 *
 * This is the unordered (thus lacking smp_mb()) version of one of the
 * classic counterintuitive litmus tests that illustrates the effects of
 * store propagation delays.
 *)

{
	int x;
	int y;
}

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

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

	WRITE_ONCE(*y, 2);
	r0 = READ_ONCE(*x);
}

exists (y=2 /\ 1:r0=0)
