LISA IRRWIW+fencembonceonce+poacquirerelease+OnceOnce
"RfeOnceOnce FenceMbdRROnceOnce FreOnceOnce RfeOnceAcquire PodRWAcquireRelease WseReleaseOnce"
Cycle=PodRWAcquireRelease WseReleaseOnce RfeOnceOnce FenceMbdRROnceOnce FreOnceOnce RfeOnceAcquire
Relax=RfeOnceAcquire WseReleaseOnce
Safe=PodRWAcquireRelease RfeOnceOnce FreOnceOnce FenceMbdRROnceOnce
Prefetch=1:x=F,1:y=T,3:y=F,3:x=W
Com=Rf Fr Rf Ws
Orig=RfeOnceOnce FenceMbdRROnceOnce FreOnceOnce RfeOnceAcquire PodRWAcquireRelease WseReleaseOnce
{
}
P0 | P1 | P2 | P3 ;
w[once] x 2 | r[once] r0 x | w[once] y 1 | r[acquire] r0 y ;
| f[mb] | | w[release] x 1 ;
| r[once] r1 y | | ;
Observed
x=2; 3:r0=1; 1:r1=0; 1:r0=2;