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