C WRC+po-rel+rmb Hash=7a23bb600e67840c76465273cef90be8 Prefetch=1:x=F,1:y=W,2:y=F,2:x=T Com=Rf Rf Fr Orig=RfeOnceOnce PodRWOnceRelease RfeReleaseOnce FenceRmbdRROnceOnce FreOnceOnce {} P0(int* x) { WRITE_ONCE(*x,1); } P1(int* x,int* y) { int r0 = READ_ONCE(*x); smp_store_release(y,1); } P2(int* x,int* y) { int r0 = READ_ONCE(*y); smp_rmb(); int r1 = READ_ONCE(*x); } exists (1:r0=1 /\ 2:r0=1 /\ 2:r1=0)
C11 equivalent: c11-prop-src/WRC+po-rel+rmb.litmus