LISA WWC+poacquireonce+ctrlonceonce+Release
"RfeReleaseAcquire PodRWAcquireOnce RfeOnceOnce DpCtrldWOnceOnce WseOnceRelease"
Cycle=PodRWAcquireOnce RfeOnceOnce DpCtrldWOnceOnce WseOnceRelease RfeReleaseAcquire
Relax=WseOnceRelease RfeReleaseAcquire
Safe=PodRWAcquireOnce RfeOnceOnce DpCtrldWOnceOnce
Prefetch=1:x=F,1:y=W,2:y=F,2:x=W
Com=Rf Rf Ws
Orig=RfeReleaseAcquire PodRWAcquireOnce RfeOnceOnce DpCtrldWOnceOnce WseOnceRelease
{
}
P0 | P1 | P2 ;
w[release] x 2 | r[acquire] r0 x | r[once] r0 y ;
| w[once] y 1 | mov r1 (eq r0 0) ;
| | b[] r1 LC00 ;
| | LC00: ;
| | w[once] x 1 ;
Observed
x=2; 2:r0=1; 1:r0=2;