LISA IRWIW+ctrlonceonces+ReleaseRelease
"RfeReleaseOnce DpCtrldWOnceOnce WseOnceRelease RfeReleaseOnce DpCtrldWOnceOnce WseOnceRelease"
Cycle=DpCtrldWOnceOnce WseOnceRelease RfeReleaseOnce DpCtrldWOnceOnce WseOnceRelease RfeReleaseOnce
Relax=WseOnceRelease RfeReleaseOnce
Safe=DpCtrldWOnceOnce
Prefetch=1:x=F,1:y=W,3:y=F,3:x=W
Com=Rf Ws Rf Ws
Orig=RfeReleaseOnce DpCtrldWOnceOnce WseOnceRelease RfeReleaseOnce DpCtrldWOnceOnce WseOnceRelease
{
}
P0 | P1 | P2 | P3 ;
w[release] x 2 | r[once] r0 x | w[release] y 2 | r[once] r0 y ;
| mov r1 (eq r0 0) | | mov r1 (eq r0 0) ;
| b[] r1 LC00 | | b[] r1 LC01 ;
| LC00: | | LC01: ;
| w[once] y 1 | | w[once] x 1 ;
Observed
y=2; x=2; 3:r0=2; 1:r0=2;
and y=2; x=2; 3:r0=1; 1:r0=2;
and y=1; x=2; 3:r0=1; 1:r0=2;
and y=2; x=2; 3:r0=2; 1:r0=1;
and y=2; x=1; 3:r0=2; 1:r0=1;