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