X86 X051-L "Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV %atom,$1 | MOV %atom,$1 | MOV %atom,$1 | MOV %atom,$1 ; XCHG [L_a],%atom | XCHG [L_x],%atom | XCHG [L_y],%atom | XCHG [L_z],%atom ; CMP %atom,$0 | CMP %atom,$0 | CMP %atom,$0 | CMP %atom,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV %atom,[L_a] | MOV %atom,[L_x] | MOV %atom,[L_y] | MOV %atom,[L_z] ; CMP %atom,$0 | CMP %atom,$0 | CMP %atom,$0 | CMP %atom,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV %atom,$1 | MOV %atom,$1 | MOV %atom,$1 | MOV %atom,$1 ; XCHG [L_x],%atom | XCHG [L_y],%atom | XCHG [L_z],%atom | XCHG [L_a],%atom ; CMP %atom,$0 | CMP %atom,$0 | CMP %atom,$0 | CMP %atom,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV %atom,[L_x] | MOV %atom,[L_y] | MOV %atom,[L_z] | MOV %atom,[L_a] ; CMP %atom,$0 | CMP %atom,$0 | CMP %atom,$0 | CMP %atom,$0 ; JE Lock03 | JE Lock09 | JE Lock15 | JE Lock21 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JMP Lock22 ; Lock05: | Lock11: | Lock17: | Lock23: ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_a],$0 ; forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ x=1)))