
PPC j3
"Reduction of the token ring example"
{
%x0=x; %y0=y;
%x1=x; %y1=y;
%x2=x; %y2=y;
}
P0 | P1 | P2 ;
li r1,1 | lwz r1,0(%x1) | lwz r1,0(%y2) ;
stw r1,0(%x0) | li r2,2 | xor r2,r1,r1 ;
lwz r2,0(%x0) | stw r2,0(%y1) | lwzx r3,r2,%x2 ;
xor r3,r2,r2 | lwsync | ;
lwzx r4,r3,%y0| li r3,2 | ;
li r5,3 | stw r3,0(%x1) | ;
stw r5,0(%y0) | | ;
Observed
0:r2=1; 0:r4=0; 1:r1=1; 2:r1=2; 2:r3=0; x=2; y=2;
and 0:r2=1; 0:r4=0; 1:r1=1; 2:r1=2; 2:r3=0; x=2; y=3;
and 0:r2=1; 0:r4=2; 1:r1=1; 2:r1=2; 2:r3=0; x=2; y=3;
and 0:r2=2; 0:r4=2; 1:r1=1; 2:r1=2; 2:r3=0; x=2; y=3;
and 0:r2=2; 0:r4=2; 1:r1=0; 2:r1=3; 2:r3=0; x=2; y=3;
and 0:r2=1; 0:r4=0; 1:r1=1; 2:r1=3; 2:r3=0; x=2; y=3;
and 0:r2=1; 0:r4=2; 1:r1=1; 2:r1=3; 2:r3=0; x=2; y=3;
and 0:r2=2; 0:r4=2; 1:r1=0; 2:r1=3; 2:r3=1; x=2; y=3;
and 0:r2=2; 0:r4=2; 1:r1=1; 2:r1=3; 2:r3=1; x=2; y=3;