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