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