C S+fencewmbonceonce+poacquireonce

(*
 * Result: Never
 *
 * Can a smp_wmb(), instead of a release, and an acquire order a prior
 * store against a subsequent store?
 *)

{
	int x;
	int y;
}

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

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

	r0 = smp_load_acquire(y);
	WRITE_ONCE(*x, 1);
}

exists (x=2 /\ 1:r0=1)
