PPC Alan00 "coherence commits and barriers" { 0:r0=1; 0:r1=x; 0:r2=y; 0:r3=z; 0:r4=a; 0:r5=b; 1:r0=2; 1:r4=a; 2:r0=1; 2:r1=x; 2:r2=y; 2:r3=z; 2:r4=a; 2:r5=b; 3:r0=1; 3:r1=x; 3:r2=y; 3:r3=z; 3:r4=a; 3:r5=b; } P0 | P1 | P2 | P3 ; stw r0,0(r1) | stw r0,0(r4) | lwz r6,0(r4) | lwz r6,0(r5) ; lwsync | | xor r7,r6,r6 | xor r7,r6,r6 ; | | lwzx r7,r7,r1 | lwzx r7,r7,r2 ; stw r0,0(r2) | | lwz r8,0(r2) | lwz r8,0(r3) ; lwsync | | xor r9,r8,r8 | xor r9,r8,r8 ; stw r0,0(r3) | | stwx r0,r9,r5 | stwx r0,r9,r4 ; Observed 2:r6=1; 2:r7=0; 2:r8=0; 3:r6=0; 3:r7=1; 3:r8=0; a=1; and 2:r6=1; 2:r7=0; 2:r8=1; 3:r6=0; 3:r7=1; 3:r8=0; a=1; and 2:r6=2; 2:r7=0; 2:r8=1; 3:r6=1; 3:r7=0; 3:r8=1; a=1; and 2:r6=2; 2:r7=0; 2:r8=1; 3:r6=1; 3:r7=0; 3:r8=0; a=2; and 2:r6=1; 2:r7=0; 2:r8=0; 3:r6=0; 3:r7=1; 3:r8=0; a=2; and 2:r6=1; 2:r7=0; 2:r8=1; 3:r6=0; 3:r7=1; 3:r8=0; a=2; and 2:r6=2; 2:r7=1; 2:r8=0; 3:r6=1; 3:r7=0; 3:r8=1; a=2; and 2:r6=0; 2:r7=0; 2:r8=1; 3:r6=1; 3:r7=0; 3:r8=1; a=2; and 2:r6=2; 2:r7=0; 2:r8=1; 3:r6=1; 3:r7=0; 3:r8=1; a=2; and 2:r6=2; 2:r7=1; 2:r8=1; 3:r6=1; 3:r7=0; 3:r8=1; a=2;