
PPC m5dl (PPCMFiveDepLwSync)
"Hexa test: ST ; ST || LD ; LD, see also b?.litmus tests"
{
0:r1=1; 0:r4=x; 0:r5=y; 1:r4=x; 1:r5=y;
2:r2=2; 2:r4=x;
3:r2=2; 3:r5=y;
}
P0 |P1 |P2 |P3 ;
stw r1,0(r4) |lwz r1,0(r5) |stw r2,0(r4) |stw r2,0(r5) ;
sync |xor r9,r1,r1 | | ;
stw r1,0(r5) |lwzx r2,r9,r4| | ;
locations [1:r1; 1:r2; x; y;]
exists (
(1:r1=2 /\ 1:r2=0 /\ x=1 /\ y=2) \/
(1:r1=2 /\ 1:r2=0 /\ x=2 /\ y=2) \/
(1:r1=2 /\ 1:r2=2 /\ x=1 /\ y=2)
)