PPC PPC001-L "Wse PodWR Fre Rfi DpAddrdR Fre Rfi DpAddrdW" {0:r5=L_z; 0:r6=L_x; 1:r8=L_y; 1:r7=L_x; 2:r8=L_z; 2:r7=L_y; 0:r2=z; 0:r4=x; 1:r2=x; 1:r6=y; 2:r2=y; 2:r6=z;} P0 | P1 | P2 ; li r1,2 | li r1,1 | li r1,1 ; LOCK(r5) | LOCK(r7) | LOCK(r7) ; stw r1,0(r2) | stw r1,0(r2) | stw r1,0(r2) ; UNLOCK(r5) | UNLOCK(r7) | UNLOCK(r7) ; LOCK(r6) | lwz r3,0(r2) | lwz r3,0(r2) ; lwz r3,0(r4) | xor r4,r3,r3 | xor r4,r3,r3 ; UNLOCK(r6) | LOCK(r8) | li r5,1 ; | lwzx r5,r4,r6 | LOCK(r8) ; | UNLOCK(r8) | stwx r5,r4,r6 ; | | UNLOCK(r8) ; forall (1:r3=1 /\ 2:r3=1 /\ (0:r3=1 /\ (1:r5=1 /\ (z=2 \/ z=1) \/ 1:r5=0 /\ (z=2 \/ z=1)) \/ 0:r3=0 /\ (1:r5=1 /\ (z=2 \/ z=1) \/ 1:r5=0 /\ z=1)))