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