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