Wed Dec 29 17:27:48 CET 2010 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X000.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000 "Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MOV EAX,[y] | MOV EAX,[x] ; MOV EBX,[x] | MOV EBX,[y] ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl (%rdi),%eax _litmus_P0_2_: movl (%r8),%edx Test X000 Required Histogram (4 states) 99 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 9946 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 9940 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 15 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 19901, Negative: 99 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) is NOT validated Hash=18becfacdee74261273186c0b251c811 Time X000 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X001.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001 "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV EAX,[z] | MOV EAX,[x] | MOV EAX,[y] ; MOV EBX,[x] | MOV EBX,[y] | MOV EBX,[z] ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl (%rdi),%eax _litmus_P0_2_: movl (%r8),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx Test X001 Required Histogram (8 states) 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2813 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 839 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2471 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 1628 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 568 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 1678 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 9998, Negative: 2 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) is NOT validated Hash=2842aab5ffb144fee6d95d0b766c03eb Time X001 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X002.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002 "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV EAX,[x] | MOV EBX,[z] | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx Test X002 Required Histogram (8 states) 12 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 1808 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 1762 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 1579 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 1863 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 1396 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 1577 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 9988, Negative: 12 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) is NOT validated Hash=35008cacf92fceea74a530f0facd2e5c Time X002 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X003.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003 "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV EAX,[x] | MOV EAX,[x] | MOV EAX,[y] ; | MOV EBX,[y] | MOV EBX,[z] ; 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))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx Test X003 Required Histogram (7 states) 8 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2815 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 680 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2592 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 1682 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 591 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 1632 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 9992, Negative: 8 Condition 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))) is NOT validated Hash=71763f06cea77da0cec7d25d956a5c28 Time X003 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X004.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004 "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx Test X004 Required Histogram (15 states) 8 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 1087 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 559 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 1267 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 471 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 783 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 963 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 575 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 906 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 889 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 928 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 537 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 549 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 136 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 342 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 9992, Negative: 8 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) is NOT validated Hash=d8cc1edcbc8a79c3c3d3383961d0bbe7 Time X004 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X005.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005 "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx Test X005 Required Histogram (16 states) 2047 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 2482 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 1653 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 1549 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 1687 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 732 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 464 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 3 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 1387 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 959 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 1637 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 1316 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 1891 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 1358 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 833 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 19997, Negative: 3 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is NOT validated Hash=5a7cdcb4720fe95bb93a26d055a607e7 Time X005 0.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X006.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006 "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[y] ; | MOV EBX,[y] | MOV EBX,[z] ; forall (2:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx Test X006 Required Histogram (11 states) 4319 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 4 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 4402 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 5 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 2438 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 2 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 3 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 3 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=2; 2183 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 3370 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 3271 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 19997, Negative: 3 Condition forall (2:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) is NOT validated Hash=83845f1811d87a7cda909f8fa5423fc9 Time X006 0.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X007.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007 "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx Test X007 Required Histogram (18 states) 1426 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 2482 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 2941 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 1089 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 2153 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 715 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 12 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 1528 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 2284 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 434 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 1054 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 1342 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 1696 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 527 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 311 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; No Witnesses Positive: 19998, Negative: 2 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) is NOT validated Hash=491e46b8c3d1b0e53244abfcb6fee024 Time X007 0.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X008.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008 "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (3:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx Test X008 Required Histogram (22 states) 2 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 12793 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 22 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 8384 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 2 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 6848 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 25 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 4508 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 7 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 9597 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 1 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 17165 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 58 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 6837 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 6575 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 16611 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 10930 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 4066 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 1 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; 3379 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 5833 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 6356 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; No Witnesses Positive: 119999, Negative: 1 Condition forall (3:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is NOT validated Hash=851c14be0115aea267602b7b9897e4ab Time X008 0.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X009.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009 "Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV [z],$1 | MOV [y],$1 ; MOV [x],$1 | MOV EAX,[y] ; MOV EAX,[x] | MOV EBX,[z] ; MOV EBX,[y] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r9) _litmus_P0_2_: movl (%r9),%eax _litmus_P0_3_: movl (%r8),%edx Test X009 Required Histogram (4 states) 77 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 9791 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 10105 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 27 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 19923, Negative: 77 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) is NOT validated Hash=952cda8d883d48fdd2e1f54e9e826465 Time X009 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X010.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010 "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[z] ; | MOV EAX,[y] | MOV EBX,[a] ; | MOV EBX,[z] | ; 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))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X010 Required Histogram (7 states) 6 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 1862 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 1837 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 1482 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 1784 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 1475 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 1554 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 9994, Negative: 6 Condition 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))) is NOT validated Hash=29322ed2a379b681faef913b31a67a3f Time X010 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X011.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011 "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] ; | MOV EAX,[y] | MOV EBX,[a] ; | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X011 Required Histogram (8 states) 3446 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 3995 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 3259 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 6 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 2 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=2; 2649 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 4073 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 2570 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 19998, Negative: 2 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is NOT validated Hash=bac37d76a6747ad54286e54fde2f48c4 Time X011 0.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X012.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012 "Fre PodWR Fre Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MOV EAX,[x] | MOV EAX,[x] ; | MOV EBX,[y] ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: movl (%rsi),%eax Test X012 Required Histogram (3 states) 2 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 9997 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 10001 :>0:EAX=0; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 19998, Negative: 2 Condition forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) is NOT validated Hash=139c57a8038a1b1c23afefe27074fd66 Time X012 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X013.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013 "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[x] | MOV EAX,[z] | MOV EAX,[z] ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (1:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X013 Required Histogram (15 states) 12 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 997 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 449 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1300 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 514 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 1110 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 812 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 533 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 846 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 793 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 831 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 530 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 641 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 191 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 441 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 9988, Negative: 12 Condition forall (1:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is NOT validated Hash=3d0e4fea749c84fad03445a08d350d22 Time X013 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X014.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014 "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[z] | MOV EAX,[z] ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (3:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X014 Required Histogram (20 states) 2537 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 7 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 3335 :>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 1 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 6500 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 16 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 2008 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 3783 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 2 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 1829 :>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 1132 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 6 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 1491 :>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 1266 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 2685 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 2541 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 7694 :>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 2111 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 1055 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 39994, Negative: 6 Condition forall (3:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is NOT validated Hash=f3b918ee7f21600d42d951587188960d Time X014 0.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X015.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015 "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV EAX,[x] | | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax Test X015 Required Histogram (8 states) 16 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 1830 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 1703 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 1620 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 1845 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 1406 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 1579 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 9984, Negative: 16 Condition forall (0:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) is NOT validated Hash=2e6f1cb9353f50486d8de32a38a94869 Time X015 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X016.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016 "Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax Test X016 Required Histogram (7 states) 11 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2809 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 771 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2514 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 1663 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 588 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 1644 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 9989, Negative: 11 Condition forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) is NOT validated Hash=825ed9ade93262f61092b14ec112d617 Time X016 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X017.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017 "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X017 Required Histogram (15 states) 9 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 942 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 413 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1307 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 598 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 1111 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 794 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 395 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 867 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 848 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 833 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 518 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 725 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 251 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 389 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 9991, Negative: 9 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is NOT validated Hash=79bdd83c4f3d171abdeabe17c2039f06 Time X017 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X018.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018 "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X018 Required Histogram (16 states) 2483 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 3667 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 4494 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 1939 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 2731 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 1049 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 548 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 1284 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 796 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 2024 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 2094 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 4586 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 1732 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 571 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 29999, Negative: 1 Condition forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is NOT validated Hash=51f7bd8e922ea9364b96a7219fd8a1c2 Time X018 0.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X019.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019 "Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax Test X019 Required Histogram (8 states) 4119 :>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 4471 :>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 2815 :>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 8 :>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=0; x=2; 2046 :>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 3874 :>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 2666 :>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 19999, Negative: 1 Condition forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is NOT validated Hash=d76e29f2dbd66f100e7205e8f3dc0cb7 Time X019 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X020.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020 "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X020 Required Histogram (16 states) 616 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 1511 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 1157 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 848 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 1578 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 538 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 556 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 1 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 1 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 1188 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 9 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 618 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 396 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 832 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 38 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 113 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; No Witnesses Positive: 9999, Negative: 1 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) is NOT validated Hash=f1aee060ce888b50adb4157fd8cb6638 Time X020 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X021.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021 "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X021 Required Histogram (16 states) 3574 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 2672 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 2160 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 6 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 1147 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 2789 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 8253 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 1912 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 2243 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 6777 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 3695 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 1134 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 1 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; 486 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 1327 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 1824 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; No Witnesses Positive: 39999, Negative: 1 Condition forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) is NOT validated Hash=66e098b1f0fec6bba32d089303063277 Time X021 0.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X022.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022 "Fre PodWW Wse Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$2 ; MOV [x],$1 | MOV EAX,[x] ; | MOV EBX,[y] ; forall (1:EAX=2 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1) Generated assembler _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X022 Required Histogram (5 states) 9896 :>1:EAX=2; 1:EBX=0; x=1; 10 :>1:EAX=1; 1:EBX=1; x=1; 25 :>1:EAX=2; 1:EBX=1; x=1; 1 :>1:EAX=2; 1:EBX=0; x=2; 10068 :>1:EAX=2; 1:EBX=1; x=2; No Witnesses Positive: 19999, Negative: 1 Condition forall (1:EAX=2 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1) is NOT validated Hash=7662c2cd9083b397fb8c41e7f153ffe4 Time X022 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X023.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023 "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV EAX,[x] | MOV [z],$1 | MOV EAX,[z] ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (1:EAX=2 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X023 Required Histogram (28 states) 3 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 1 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 5 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 28904 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 39 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 7097 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 61 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 4 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 23 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 8282 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 18 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 41 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 5933 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 13610 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 14 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 29 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 13772 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 8842 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 5925 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 25 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 14988 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 10441 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 45 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 6335 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 1 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=2; 6587 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 5342 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 23633 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; No Witnesses Positive: 159999, Negative: 1 Condition forall (1:EAX=2 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) is NOT validated Hash=fe5b6aecb84424f9e09dfbb24d6af585 Time X023 0.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X024.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024 "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV EAX,[x] | | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ (z=2 \/ z=1)) \/ 2:EAX=1 /\ z=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ z=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ z=1))) Generated assembler _litmus_P2_0_: movl $2,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X024 Required Histogram (7 states) 1638 :>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 1876 :>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 2087 :>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 5 :>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=2; 1714 :>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 1262 :>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 1418 :>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=2; No Witnesses Positive: 9995, Negative: 5 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ (z=2 \/ z=1)) \/ 2:EAX=1 /\ z=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ z=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ z=1))) is NOT validated Hash=e9cd3f0c368e9acdc43f162367066e15 Time X024 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X025.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025 "Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$2 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1)) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X025 Required Histogram (8 states) 2487 :>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 4432 :>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 4094 :>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 16 :>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 6 :>0:EAX=0; 2:EAX=2; 2:EBX=0; y=2; 3424 :>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 2577 :>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 2964 :>0:EAX=1; 2:EAX=2; 2:EBX=1; y=2; No Witnesses Positive: 19994, Negative: 6 Condition forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1)) is NOT validated Hash=5c42f1c2d8164fe5f7cf9771e8c3f3b1 Time X025 0.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X026.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026 "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MOV EAX,[x] | MOV EAX,[y] | MOV [z],$1 | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X026 Required Histogram (21 states) 1 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 1 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 4 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 518 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 1488 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 884 :>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 538 :>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 2 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 3 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 1079 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 446 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 554 :>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 1 :>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 3 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 676 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 377 :>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 1226 :>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 571 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 546 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 581 :>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 501 :>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; No Witnesses Positive: 9997, Negative: 3 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) is NOT validated Hash=0d2c507119015359d2e0ddc90de59b7c Time X026 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X027.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027 "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X027 Required Histogram (19 states) 10177 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 2130 :>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 10 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 2213 :>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 9 :>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 2115 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 2692 :>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 8 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 3 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 4392 :>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 2170 :>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 2130 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 4447 :>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 3707 :>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 3179 :>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 1 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=2; 1595 :>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 3341 :>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 5681 :>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; No Witnesses Positive: 49999, Negative: 1 Condition forall (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) is NOT validated Hash=5f4dca0d54edbfa9c62a00ef21f7933f Time X027 0.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X028.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028 "Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (2:EAX=2 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X028 Required Histogram (11 states) 2 :>2:EAX=1; 2:EBX=0; x=1; y=1; 5425 :>2:EAX=2; 2:EBX=0; x=1; y=1; 7 :>2:EAX=1; 2:EBX=1; x=1; y=1; 10 :>2:EAX=2; 2:EBX=1; x=1; y=1; 1253 :>2:EAX=2; 2:EBX=0; x=2; y=1; 5 :>2:EAX=1; 2:EBX=1; x=2; y=1; 3370 :>2:EAX=2; 2:EBX=1; x=2; y=1; 4433 :>2:EAX=2; 2:EBX=0; x=1; y=2; 2174 :>2:EAX=2; 2:EBX=1; x=1; y=2; 2 :>2:EAX=2; 2:EBX=0; x=2; y=2; 3319 :>2:EAX=2; 2:EBX=1; x=2; y=2; No Witnesses Positive: 19998, Negative: 2 Condition forall (2:EAX=2 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) is NOT validated Hash=cdddfe73a879603db4998008cf43ef71 Time X028 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X029.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X029 "Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MOV EAX,[x] | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (0:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X029 Required Histogram (20 states) 2582 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 1216 :>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 8 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 2294 :>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 1 :>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=1; 1 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 507 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 2299 :>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 2 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 3 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 1174 :>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 686 :>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 910 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 2451 :>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 2066 :>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 1161 :>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=2; 1 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=2; 1221 :>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 104 :>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 1313 :>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=2; No Witnesses Positive: 19999, Negative: 1 Condition forall (0:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1))) is NOT validated Hash=6cccf08ce03ab9a0169eb7d22b76e877 Time X029 0.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X030.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030 "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X030 Required Histogram (22 states) 24 :>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 99697 :>3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 47 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 543 :>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 106036:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 201 :>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 84276 :>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 9 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 261130:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 335 :>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 72999 :>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 33538 :>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 128 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 98006 :>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 125369:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 69118 :>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 48738 :>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 248007:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 49760 :>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 92741 :>3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 1 :>3:EAX=2; 3:EBX=0; x=2; y=2; z=2; 39297 :>3:EAX=2; 3:EBX=1; x=2; y=2; z=2; No Witnesses Positive: 1429999, Negative: 1 Condition forall (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) is NOT validated Hash=02de9262b4e392ed751770e9e51f9ab2 Time X030 1.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X031.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031 "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 ; MOV [a],$1 | MOV [y],$1 ; MOV [x],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[z] ; MOV EBX,[y] | MOV EBX,[a] ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl (%rdi),%eax _litmus_P1_3_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: movl (%rdi),%edx Test X031 Required Histogram (4 states) 52 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 9918 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 10006 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 24 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 19948, Negative: 52 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) is NOT validated Hash=df727976765f43787e2e42991a8c820b Time X031 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X032.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032 "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [x],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV [a],$1 ; | MOV EAX,[y] | MOV EAX,[a] ; | MOV EBX,[z] | MOV EBX,[b] ; 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))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X032 Required Histogram (7 states) 8 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2351 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 495 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2815 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2439 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 1032 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 860 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 9992, Negative: 8 Condition 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))) is NOT validated Hash=7afc7ac528ec2d8c338b9e29bd47f926 Time X032 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X033.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033 "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV [a],$1 ; | MOV EAX,[y] | MOV EAX,[a] ; | MOV EBX,[z] | MOV EBX,[b] ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X033 Required Histogram (8 states) 13640 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 15214 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 9884 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 35 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 2 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=2; 8093 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 13661 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 9471 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 69998, Negative: 2 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is NOT validated Hash=f3c7d71ac8aad3d20990c06f16faa429 Time X033 0.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X034.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034 "Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 ; MOV [z],$1 | MOV [x],$1 ; MOV EAX,[x] | MOV [y],$1 ; | MOV EAX,[y] ; | MOV EBX,[z] ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: movl (%rsi),%eax Test X034 Required Histogram (4 states) 61 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 10119 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 9810 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 10 :>0:EAX=1; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 19939, Negative: 61 Condition forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) is NOT validated Hash=c2a315993d745028faaba3592e84f988 Time X034 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X035.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035 "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax Test X035 Required Histogram (7 states) 12 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 1810 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 1871 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 1483 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 1890 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 1449 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 1485 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 9988, Negative: 12 Condition forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) is NOT validated Hash=e8699cae9e63a08b644b4104537ab25d Time X035 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X036.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036 "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X036 Required Histogram (15 states) 4 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 247 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 406 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 585 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 353 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 2870 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 634 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 141 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 356 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 572 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 2975 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 57 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 555 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 173 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 72 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 9996, Negative: 4 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is NOT validated Hash=cec47d80017b927e6e7054da5bfb2360 Time X036 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X037.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037 "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X037 Required Histogram (15 states) 761 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 1195 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 5395 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 418 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 1076 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 400 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 237 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 798 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 630 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 1515 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 284 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 5429 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 1349 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 512 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 19999, Negative: 1 Condition forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is NOT validated Hash=aa68e60e1b3a410bdb503735e9b7baab Time X037 0.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X038.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038 "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax Test X038 Required Histogram (8 states) 1793 :>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 2242 :>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 1522 :>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 5 :>1:EAX=0; 2:EAX=1; 2:EBX=0; x=2; 1099 :>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 1811 :>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 1526 :>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 9995, Negative: 5 Condition forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is NOT validated Hash=42da377c51b01f1c3b53a50ee55abbcd Time X038 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X039.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039 "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X039 Required Histogram (16 states) 391 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 616 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 724 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 362 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 3113 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 71 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 144 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 4 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 2 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 169 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 138 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 3042 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 160 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 465 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 479 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 120 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; No Witnesses Positive: 9998, Negative: 2 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) is NOT validated Hash=fa3629937eda50a0fa2ed74a11cc639c Time X039 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X040.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040 "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X040 Required Histogram (16 states) 2166 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 1245 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 369 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 8 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 709 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 1149 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 4401 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 879 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 604 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 5500 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 756 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 348 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 1 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; 333 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 122 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 1410 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; No Witnesses Positive: 19999, Negative: 1 Condition forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) is NOT validated Hash=5475ac4386ba019ad865441a62da7cd8 Time X040 0.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X041.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041 "Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 ; MOV [z],$1 | MOV [x],$2 ; MOV [x],$1 | MOV [y],$1 ; | MOV EAX,[y] ; | MOV EBX,[z] ; forall (1:EAX=1 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1)) Generated assembler _litmus_P1_0_: movl $2,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X041 Required Histogram (4 states) 19994 :>1:EAX=1; 1:EBX=0; x=1; 178 :>1:EAX=1; 1:EBX=1; x=1; 4 :>1:EAX=1; 1:EBX=0; x=2; 19824 :>1:EAX=1; 1:EBX=1; x=2; No Witnesses Positive: 39996, Negative: 4 Condition forall (1:EAX=1 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1)) is NOT validated Hash=3ad76800dd197d5e94fede2c9fc81f40 Time X041 0.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X042.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042 "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 ; MOV EAX,[x] | MOV [y],$1 | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 0:EAX=0 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1))) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X042 Required Histogram (8 states) 6004 :>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 7724 :>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 7785 :>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 20 :>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 18 :>0:EAX=0; 2:EAX=1; 2:EBX=0; y=2; 7211 :>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 5441 :>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 5797 :>0:EAX=1; 2:EAX=1; 2:EBX=1; y=2; No Witnesses Positive: 39982, Negative: 18 Condition forall (2:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 0:EAX=0 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1))) is NOT validated Hash=714d457fe86ae52e93460687fe1226e3 Time X042 0.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X043.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X043 "Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MOV EAX,[x] | MOV EAX,[y] | MOV [z],$1 | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X043 Required Histogram (16 states) 1556 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 5823 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 2193 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 855 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 2361 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 1424 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 1073 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 5 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 3 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 974 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 1094 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 1944 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 1202 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 2199 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 6458 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 836 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; No Witnesses Positive: 29997, Negative: 3 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1)))) is NOT validated Hash=c9b6ff6979adcc51530850a73d0ab70b Time X043 0.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X044.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044 "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X044 Required Histogram (16 states) 7063 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 1590 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 1131 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 18 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 394 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 2527 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 1926 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 1979 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 827 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 2292 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 1512 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 409 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=2; 1 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=2; 1310 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 242 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 6779 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=2; No Witnesses Positive: 29999, Negative: 1 Condition forall (3:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) is NOT validated Hash=a388b729ed49ab3ea7e4f75bd38d2d46 Time X044 0.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X045.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045 "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X045 Required Histogram (8 states) 52101 :>2:EAX=1; 2:EBX=0; x=1; y=1; 262 :>2:EAX=1; 2:EBX=1; x=1; y=1; 36048 :>2:EAX=1; 2:EBX=0; x=2; y=1; 52112 :>2:EAX=1; 2:EBX=1; x=2; y=1; 47266 :>2:EAX=1; 2:EBX=0; x=1; y=2; 39517 :>2:EAX=1; 2:EBX=1; x=1; y=2; 1 :>2:EAX=1; 2:EBX=0; x=2; y=2; 32693 :>2:EAX=1; 2:EBX=1; x=2; y=2; No Witnesses Positive: 259999, Negative: 1 Condition forall (2:EAX=1 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) is NOT validated Hash=49bfd76238322cf9a57dd785640aa7b0 Time X045 0.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X046.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046 "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MOV EAX,[x] | MOV [y],$1 | MOV [z],$1 | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X046 Required Histogram (16 states) 3812 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 2187 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 2322 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 14 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 926 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 7781 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 2655 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 1116 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 2172 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 3731 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 7062 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 1443 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=2; 1 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=2; 1883 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 700 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 2195 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=2; No Witnesses Positive: 39999, Negative: 1 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) is NOT validated Hash=c9c76d2d9f6a5c85dfc99f3a92524206 Time X046 0.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X047.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047 "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X047 Required Histogram (16 states) 315692:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 1452 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 333266:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 276259:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 789774:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 205258:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 109596:>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 304888:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 416883:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 217217:>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 159127:>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 712273:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 183638:>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 288505:>3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 1 :>3:EAX=1; 3:EBX=0; x=2; y=2; z=2; 116171:>3:EAX=1; 3:EBX=1; x=2; y=2; z=2; No Witnesses Positive: 4429999, Negative: 1 Condition forall (3:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) is NOT validated Hash=b54669397e7954579242e1596bd9ea21 Time X047 4.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X048.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048 "Fre PodWR Fre PodWR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MOV EAX,[x] | MOV EAX,[y] ; forall (0:EAX=1 /\ (1:EAX=1 \/ 1:EAX=0) \/ 0:EAX=0 /\ 1:EAX=1) Generated assembler _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: movl (%rsi),%eax Test X048 Required Histogram (4 states) 142 :>0:EAX=0; 1:EAX=0; 9890 :>0:EAX=1; 1:EAX=0; 9951 :>0:EAX=0; 1:EAX=1; 17 :>0:EAX=1; 1:EAX=1; No Witnesses Positive: 19858, Negative: 142 Condition forall (0:EAX=1 /\ (1:EAX=1 \/ 1:EAX=0) \/ 0:EAX=0 /\ 1:EAX=1) is NOT validated Hash=eb447b2ffe44de821f49c40caa8e9757 Time X048 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X049.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049 "Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ 2:EAX=1)) Generated assembler _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax Test X049 Required Histogram (7 states) 4 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2785 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 673 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2615 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 1677 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 614 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 1632 :>0:EAX=0; 1:EAX=1; 2:EAX=1; No Witnesses Positive: 9996, Negative: 4 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ 2:EAX=1)) is NOT validated Hash=7015574e5960da9548f7fd04ec792cdb Time X049 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X050.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050 "Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ 3:EAX=1))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X050 Required Histogram (15 states) 14 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=0; 1224 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 579 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 1293 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 516 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 766 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 835 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 585 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 1010 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 904 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 949 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 511 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 448 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 97 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 269 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; No Witnesses Positive: 9986, Negative: 14 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ 3:EAX=1))) is NOT validated Hash=4dbc449f6040a97331307a6f2e1561cc Time X050 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X051.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051 "Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; 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))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X051 Required Histogram (15 states) 1696 :>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 1797 :>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 2375 :>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 1016 :>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 1646 :>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 1112 :>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 754 :>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 4 :>1:EAX=0; 2:EAX=0; 3:EAX=0; x=2; 1428 :>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 1188 :>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 1341 :>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 1601 :>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 1844 :>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 1304 :>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 894 :>1:EAX=1; 2:EAX=1; 3:EAX=1; x=2; No Witnesses Positive: 19996, Negative: 4 Condition 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))) is NOT validated Hash=f519363728e8bdee4ed34bfa7d7e9ee8 Time X051 0.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X052.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052 "Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] ; forall (1:EAX=1 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ x=1)) Generated assembler _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax Test X052 Required Histogram (8 states) 4372 :>1:EAX=0; 2:EAX=0; x=1; 4819 :>1:EAX=1; 2:EAX=0; x=1; 2560 :>1:EAX=0; 2:EAX=1; x=1; 5 :>1:EAX=1; 2:EAX=1; x=1; 4 :>1:EAX=0; 2:EAX=0; x=2; 1738 :>1:EAX=1; 2:EAX=0; x=2; 3279 :>1:EAX=0; 2:EAX=1; x=2; 3223 :>1:EAX=1; 2:EAX=1; x=2; No Witnesses Positive: 19996, Negative: 4 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ x=1)) is NOT validated Hash=b87af853b5ea74735224b6f1c11218ce Time X052 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X053.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053 "Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[a] ; forall (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X053 Required Histogram (16 states) 5786 :>2:EAX=0; 3:EAX=0; x=1; y=1; 3693 :>2:EAX=1; 3:EAX=0; x=1; y=1; 3368 :>2:EAX=0; 3:EAX=1; x=1; y=1; 3 :>2:EAX=1; 3:EAX=1; x=1; y=1; 1910 :>2:EAX=0; 3:EAX=0; x=2; y=1; 3910 :>2:EAX=1; 3:EAX=0; x=2; y=1; 7290 :>2:EAX=0; 3:EAX=1; x=2; y=1; 3048 :>2:EAX=1; 3:EAX=1; x=2; y=1; 4831 :>2:EAX=0; 3:EAX=0; x=1; y=2; 6316 :>2:EAX=1; 3:EAX=0; x=1; y=2; 3972 :>2:EAX=0; 3:EAX=1; x=1; y=2; 707 :>2:EAX=1; 3:EAX=1; x=1; y=2; 3 :>2:EAX=0; 3:EAX=0; x=2; y=2; 1177 :>2:EAX=1; 3:EAX=0; x=2; y=2; 1964 :>2:EAX=0; 3:EAX=1; x=2; y=2; 2022 :>2:EAX=1; 3:EAX=1; x=2; y=2; No Witnesses Positive: 49997, Negative: 3 Condition forall (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) is NOT validated Hash=47ebaa767ace1cf2e0bcdb53a3ce03e1 Time X053 0.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X054.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054 "Fre PodWW Wse PodWR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$2 ; MOV [x],$1 | MOV EAX,[y] ; forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) Generated assembler _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X054 Required Histogram (4 states) 9883 :>1:EAX=0; x=1; 50 :>1:EAX=1; x=1; 13 :>1:EAX=0; x=2; 10054 :>1:EAX=1; x=2; No Witnesses Positive: 19987, Negative: 13 Condition forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) is NOT validated Hash=62acb715d47784e9a92843581eaa8492 Time X054 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X055.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055 "Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | MOV EAX,[a] ; forall (1:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X055 Required Histogram (16 states) 1672 :>1:EAX=0; 3:EAX=0; x=1; z=1; 786 :>1:EAX=1; 3:EAX=0; x=1; z=1; 574 :>1:EAX=0; 3:EAX=1; x=1; z=1; 3 :>1:EAX=1; 3:EAX=1; x=1; z=1; 329 :>1:EAX=0; 3:EAX=0; x=2; z=1; 608 :>1:EAX=1; 3:EAX=0; x=2; z=1; 1025 :>1:EAX=0; 3:EAX=1; x=2; z=1; 551 :>1:EAX=1; 3:EAX=1; x=2; z=1; 577 :>1:EAX=0; 3:EAX=0; x=1; z=2; 1311 :>1:EAX=1; 3:EAX=0; x=1; z=2; 628 :>1:EAX=0; 3:EAX=1; x=1; z=2; 620 :>1:EAX=1; 3:EAX=1; x=1; z=2; 1 :>1:EAX=0; 3:EAX=0; x=2; z=2; 242 :>1:EAX=1; 3:EAX=0; x=2; z=2; 580 :>1:EAX=0; 3:EAX=1; x=2; z=2; 493 :>1:EAX=1; 3:EAX=1; x=2; z=2; No Witnesses Positive: 9999, Negative: 1 Condition forall (1:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1)))) is NOT validated Hash=b51e21d5745fdcfac40f05c5b22c7f20 Time X055 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X056.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056 "Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] ; forall (2:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) Generated assembler _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X056 Required Histogram (8 states) 19355 :>2:EAX=0; x=1; y=1; 53 :>2:EAX=1; x=1; y=1; 11009 :>2:EAX=0; x=2; y=1; 18519 :>2:EAX=1; x=2; y=1; 18473 :>2:EAX=0; x=1; y=2; 11738 :>2:EAX=1; x=1; y=2; 1 :>2:EAX=0; x=2; y=2; 10852 :>2:EAX=1; x=2; y=2; No Witnesses Positive: 89999, Negative: 1 Condition forall (2:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) is NOT validated Hash=feb201c8f0d40ef060b1fa16fc64e45c Time X056 0.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X057.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X057 "Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | MOV EAX,[a] ; forall (3:EAX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X057 Required Histogram (16 states) 15107 :>3:EAX=0; x=1; y=1; z=1; 71 :>3:EAX=1; x=1; y=1; z=1; 17559 :>3:EAX=0; x=2; y=1; z=1; 14074 :>3:EAX=1; x=2; y=1; z=1; 35531 :>3:EAX=0; x=1; y=2; z=1; 11197 :>3:EAX=1; x=1; y=2; z=1; 4416 :>3:EAX=0; x=2; y=2; z=1; 16110 :>3:EAX=1; x=2; y=2; z=1; 22079 :>3:EAX=0; x=1; y=1; z=2; 9342 :>3:EAX=1; x=1; y=1; z=2; 6859 :>3:EAX=0; x=2; y=1; z=2; 30354 :>3:EAX=1; x=2; y=1; z=2; 7803 :>3:EAX=0; x=1; y=2; z=2; 13939 :>3:EAX=1; x=1; y=2; z=2; 1 :>3:EAX=0; x=2; y=2; z=2; 5558 :>3:EAX=1; x=2; y=2; z=2; No Witnesses Positive: 209999, Negative: 1 Condition forall (3:EAX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) is NOT validated Hash=ddc53d4c91153386f624c41db0457e74 Time X057 0.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X000-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000-F "Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MOV EAX,[y] | MOV EAX,[x] ; MFENCE | MFENCE ; MOV EBX,[x] | MOV EBX,[y] ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl (%rdi),%eax _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r8),%edx Test X000-F Required Histogram (3 states) 83937195:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 86144757:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 29918048:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) is validated Hash=c834c7d23bd1d798d7d30fb1518a4a5e Time X000-F 84.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X001-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001-F "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV EAX,[z] | MOV EAX,[x] | MOV EAX,[y] ; MFENCE | MFENCE | MFENCE ; MOV EBX,[x] | MOV EBX,[y] | MOV EBX,[z] ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl (%rdi),%eax _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r8),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx Test X001-F Required Histogram (7 states) 4567286:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 4843215:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 26014528:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 4921486:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 27234523:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 26674516:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 5744446:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) is validated Hash=4f0fae3dcb8a859cc322a6bbee50a754 Time X001-F 77.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X002-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002-F "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV EAX,[x] | MFENCE | MFENCE ; MFENCE | MOV EBX,[z] | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx Test X002-F Required Histogram (7 states) 4876007:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 4695528:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 26663726:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 4856922:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 27184807:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 26509398:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 5213612:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) is validated Hash=edbc1cbcb2457d47b515390f8b0c6c4b Time X002-F 83.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X003-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003-F "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MFENCE | MOV EAX,[x] | MOV EAX,[y] ; MOV EAX,[x] | MFENCE | MFENCE ; | MOV EBX,[y] | MOV EBX,[z] ; 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))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx Test X003-F Required Histogram (7 states) 4727906:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 4737108:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 26677618:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 5093204:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 26785257:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 26285538:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 5693369:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition 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))) is validated Hash=bb4552ee893ae626f06ac613597cf2b5 Time X003-F 75.71 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X004-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004-F "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MFENCE | MFENCE | MOV EAX,[y] | MOV EAX,[z] ; MOV EAX,[x] | MOV EAX,[y] | MFENCE | MFENCE ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx Test X004-F Required Histogram (15 states) 354478:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 352041:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 4485163:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 350292:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 11883166:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 4679222:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 13531172:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 353642:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 4619782:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 11907656:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 13534358:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 4654301:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 13674257:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 13601466:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 2019004:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) is validated Hash=42442d63bbc1c6cf841317ddb35ed7e4 Time X004-F 96.48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X005-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005-F "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MFENCE | MOV EAX,[y] | MOV EAX,[z] ; | MOV EAX,[y] | MFENCE | MFENCE ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx Test X005-F Required Histogram (15 states) 310262:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 3638964:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 11130906:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 10282646:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 4674423:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 10528245:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 12152495:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 1124061:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 719580:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 1026126:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 8005275:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 835983:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 16232738:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 6283737:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 13054559:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is validated Hash=48907b00bf594fe90dd6afe8ab56c7f9 Time X005-F 98.77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X006-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006-F "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[y] ; | MFENCE | MFENCE ; | MOV EBX,[y] | MOV EBX,[z] ; forall (2:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx Test X006-F Required Histogram (10 states) 4588809:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 13337 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 21947996:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 1199 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 24364220:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 11494 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 3224465:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 8880446:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 8350129:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 28617905:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) is validated Hash=b3597267ff79dc703c58abad3638e1c7 Time X006-F 76.29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X007-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007-F "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MFENCE | MOV [y],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV EAX,[x] | | MFENCE | MFENCE ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx Test X007-F Required Histogram (22 states) 103 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 294537:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 4485564:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 2525 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 14573 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 3667577:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 10642182:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 561 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 3237 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 10926752:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 12052733:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 14241 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 8673 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 10258108:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 1213879:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 792677:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 747533:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 16009176:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 1077596:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 6364903:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 8161427:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 13261443:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) is validated Hash=51f9c77d649cb33a973ec86222ad7278 Time X007-F 99.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X008-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008-F "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[y] | MOV EAX,[z] ; | | MFENCE | MFENCE ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (3:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx Test X008-F Required Histogram (22 states) 79 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 3710275:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 11833 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 8006387:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 3413 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 9558746:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 8591 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 608287:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 622369:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 4569 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 6225539:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 1042 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 14515040:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 16624 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 9850784:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 620694:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 14551409:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 6154345:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 12164406:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 1742964:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 1666433:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 9956171:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is validated Hash=3d86f62c47a885ade730c817b775160f Time X008-F 100.62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X009-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009-F "Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV [z],$1 | MOV [y],$1 ; MOV [x],$1 | MOV EAX,[y] ; MOV EAX,[x] | MFENCE ; MFENCE | MOV EBX,[z] ; MOV EBX,[y] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r9) _litmus_P0_2_: movl (%r9),%eax _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r8),%edx Test X009-F Required Histogram (3 states) 85234226:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 86626632:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 28139142:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) is validated Hash=50cfbfb7cc770547cd51ac3eb132f43e Time X009-F 89.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X010-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010-F "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [z],$1 ; MFENCE | MOV [y],$1 | MOV EAX,[z] ; MOV EAX,[x] | MOV EAX,[y] | MFENCE ; | MFENCE | MOV EBX,[a] ; | MOV EBX,[z] | ; 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))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rdi),%edx Test X010-F Required Histogram (7 states) 4581049:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 5100373:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 25781433:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 4844505:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 27010564:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 26855111:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 5826965:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition 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))) is validated Hash=9c09a7f12b2416283d686dcda9050e0c Time X010-F 81.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X011-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011-F "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] ; | MOV EAX,[y] | MFENCE ; | MFENCE | MOV EBX,[a] ; | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rdi),%edx Test X011-F Required Histogram (7 states) 4531508:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 21524561:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 24419297:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 3214687:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 9396489:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 7938797:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 28974661:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is validated Hash=08286b1728598fb04b1e98018b9ef14e Time X011-F 82.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X012-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012-F "Fre PodWR Fre Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MFENCE | MOV EAX,[x] ; MOV EAX,[x] | MFENCE ; | MOV EBX,[y] ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rsi),%eax Test X012-F Required Histogram (3 states) 84683999:>0:EAX=1; 1:EAX=1; 1:EBX=0; 81335605:>0:EAX=0; 1:EAX=1; 1:EBX=1; 33980396:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) is validated Hash=0b7af6d4c8337eb6befc7e49e48eed64 Time X012-F 82.90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X013-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013-F "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MFENCE | MOV EAX,[x] | MFENCE | MOV EAX,[z] ; MOV EAX,[x] | MFENCE | MOV EAX,[z] | MFENCE ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (1:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X013-F Required Histogram (15 states) 344156:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 361067:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 4549107:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 340874:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 11879124:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 4691452:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 13496926:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 344316:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 4559773:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 12077359:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 13555054:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 4600184:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 13615275:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 13611663:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 1973670:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is validated Hash=0765959719d26e1df5b5cf41197eacc0 Time X013-F 96.98 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X014-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014-F "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[x] | MFENCE | MOV EAX,[z] ; | MFENCE | MOV EAX,[z] | MFENCE ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (3:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X014-F Required Histogram (22 states) 311025:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 2335 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 3711692:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 448 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 10800089:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 13967 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 10129428:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 81 :>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 4653306:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 14793 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 10497677:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 3105 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 12080562:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 8734 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1185327:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 767216:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 1024750:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 8194367:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 802966:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 16330197:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 6194722:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 13273213:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is validated Hash=8a00aed502590e756d7f14184830164f Time X014-F 99.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X015-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015-F "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MFENCE | MOV EAX,[z] ; MOV EAX,[x] | MOV EAX,[z] | MFENCE ; MFENCE | | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax Test X015-F Required Histogram (7 states) 4907514:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 4710683:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 25823951:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 4945498:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 27630564:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 26081637:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 5900153:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) is validated Hash=a04f7a4a9c45233e3b703b3179b9f5c9 Time X015-F 81.95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X016-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016-F "Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MFENCE | MFENCE | MOV EAX,[y] ; MOV EAX,[x] | MOV EAX,[y] | MFENCE ; | | MOV EBX,[z] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax Test X016-F Required Histogram (7 states) 4767149:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 4914069:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 25944972:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 5005057:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 26780723:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 26594134:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 5993896:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) is validated Hash=42286c6632a29c9c4adbad1a40d93ef2 Time X016-F 73.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X017-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017-F "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MFENCE | MFENCE | MFENCE | MOV EAX,[z] ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MFENCE ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X017-F Required Histogram (15 states) 366746:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 350135:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 4607075:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 351950:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 11752228:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 4633360:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 13454925:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 360620:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 4671810:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 11995346:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 13555780:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 4651800:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 13542861:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 13724768:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 1980596:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is validated Hash=33c1bca85c48f5650139505a2fb04a94 Time X017-F 95.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X018-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018-F "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MFENCE | MFENCE | MOV EAX,[z] ; | MOV EAX,[y] | MOV EAX,[z] | MFENCE ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X018-F Required Histogram (15 states) 322788:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 3797149:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 10991055:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 10231389:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 4574476:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 11294248:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 12109687:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1215858:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 700701:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 937743:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 7663766:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 802129:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 15668200:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 6343485:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 13347326:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is validated Hash=f82732599a44d0d543fd243e44370021 Time X018-F 97.42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X019-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019-F "Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MFENCE | MOV EAX,[y] ; | MOV EAX,[y] | MFENCE ; | | MOV EBX,[z] ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax Test X019-F Required Histogram (7 states) 4771715:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 21914043:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 24472987:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 3092765:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 8985192:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 8372463:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 28390835:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is validated Hash=7b0ec08f4b953c33c4e1250d89580ded Time X019-F 75.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X020-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020-F "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MFENCE | MOV [y],$1 | MFENCE | MOV EAX,[z] ; MOV EAX,[x] | | MOV EAX,[z] | MFENCE ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X020-F Required Histogram (15 states) 314480:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 4734664:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 3652846:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 10484242:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 11121709:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 12073730:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 10296022:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 1080978:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 813574:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 744458:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 16213890:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 1057513:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 6168360:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 8249305:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 12994229:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) is validated Hash=f3b221f74769d6e44f146344b3e33839 Time X020-F 97.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X021-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021-F "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MFENCE | MOV EAX,[z] ; | | MOV EAX,[z] | MFENCE ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X021-F Required Histogram (15 states) 3614451:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 7885833:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 9189003:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 608941:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 747972:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 6694996:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 15096925:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 9786187:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 588661:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 14179133:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 6284459:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 12055093:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 1858636:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 1688287:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 9721423:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) is validated Hash=286b85bf09527d984586ac4c33680b51 Time X021-F 97.85 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X022-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022-F "Fre PodWW Wse Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$2 ; MOV [x],$1 | MOV EAX,[x] ; | MFENCE ; | MOV EBX,[y] ; forall (1:EAX=2 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1) Generated assembler _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X022-F Required Histogram (4 states) 84175431:>1:EAX=2; 1:EBX=0; x=1; 34400 :>1:EAX=1; 1:EBX=1; x=1; 17229550:>1:EAX=2; 1:EBX=1; x=1; 98560619:>1:EAX=2; 1:EBX=1; x=2; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (1:EAX=2 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1) is validated Hash=c5b9ee7ee9d46c63885c1fc9807c0a6e Time X022-F 82.17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X023-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023-F "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV EAX,[x] | MOV [z],$1 | MOV EAX,[z] ; | MFENCE | | MFENCE ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (1:EAX=2 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X023-F Required Histogram (30 states) 224 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 1120 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 416 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 9886778:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 14653 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 8884001:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 13557 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 10 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 9897 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 2731 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 9053998:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 10990 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 605368:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 76 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 941591:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 7830673:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 4136 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 17593 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 4742378:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 10582855:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 847236:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 3850 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 4651466:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 120 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 7684524:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 21707 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 10236326:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 1584388:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 1485343:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 20881995:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=2 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) is validated Hash=e58a6b7d952e9c8208843676b9abe7dd Time X023-F 101.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X024-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024-F "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV EAX,[x] | | MFENCE ; MFENCE | | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ (z=2 \/ z=1)) \/ 2:EAX=1 /\ z=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ z=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ z=1))) Generated assembler _litmus_P2_0_: movl $2,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X024-F Required Histogram (10 states) 384 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=0; z=1; 4214090:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 24932277:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 13438 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 2:EBX=1; z=1; 7340 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=1; z=1; 21689416:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 2926667:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=1; 8453254:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 9096218:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 28666916:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ (z=2 \/ z=1)) \/ 2:EAX=1 /\ z=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ z=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ z=1))) is validated Hash=9f4ba7d8c65af2acf5c48242fc1533fe Time X024-F 82.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X025-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025-F "Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$2 ; MFENCE | MOV [y],$1 | MOV EAX,[y] ; MOV EAX,[x] | | MFENCE ; | | MOV EBX,[z] ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1)) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X025-F Required Histogram (10 states) 1056 :>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 4686554:>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 23846158:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 12240 :>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 10705 :>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 22156080:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 3417661:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 8182285:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 9287834:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 28399427:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1)) is validated Hash=b71a41b09cccb83b3bbf5491bef41b1b Time X025-F 75.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X026-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026-F "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MFENCE | MFENCE | MOV [z],$1 | MOV EAX,[z] ; MOV EAX,[x] | MOV EAX,[y] | | MFENCE ; | | | MOV EBX,[a] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X026-F Required Histogram (22 states) 394 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 30 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 1145 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 308428:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 11093574:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 4555456:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 12063122:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 3596 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 14984 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 12942 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 5628 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 3720456:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 10396959:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 10608443:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 1133620:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 979734:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 798971:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 6072514:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 752744:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 8175533:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 16013788:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 13287939:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) is validated Hash=caba012cd09e7c971fff90d91b6005a1 Time X026-F 97.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X027-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027-F "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MFENCE | MOV [z],$1 | MOV EAX,[z] ; | MOV EAX,[y] | | MFENCE ; | | | MOV EBX,[a] ; forall (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X027-F Required Histogram (22 states) 220 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 955 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 10042144:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 9025500:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 14734 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 8602 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 9050142:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 584638:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 64 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 843664:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 7539600:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 4876 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 17187 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 4769337:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 10151746:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 961824:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 4785334:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 7960997:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 10349225:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 1477382:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 1603206:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 20808623:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) is validated Hash=6cff0672f85435f254ea32b6378208e2 Time X027-F 98.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X028-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028-F "Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[y] ; | | MFENCE ; | | MOV EBX,[z] ; forall (2:EAX=2 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X028-F Required Histogram (10 states) 1360 :>2:EAX=1; 2:EBX=0; x=1; y=1; 19574436:>2:EAX=2; 2:EBX=0; x=1; y=1; 13101 :>2:EAX=1; 2:EBX=1; x=1; y=1; 1456124:>2:EAX=2; 2:EBX=1; x=1; y=1; 8387037:>2:EAX=2; 2:EBX=0; x=2; y=1; 18638 :>2:EAX=1; 2:EBX=1; x=2; y=1; 23063524:>2:EAX=2; 2:EBX=1; x=2; y=1; 7343117:>2:EAX=2; 2:EBX=0; x=1; y=2; 26275591:>2:EAX=2; 2:EBX=1; x=1; y=2; 13867072:>2:EAX=2; 2:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=2 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) is validated Hash=88a5ec463ec37a9dcb5e4c7aad8d0a83 Time X028-F 75.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X029-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X029-F "Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MFENCE | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV EAX,[x] | | | MFENCE ; | | | MOV EBX,[a] ; forall (0:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X029-F Required Histogram (22 states) 29 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 1185 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 3728555:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 9443508:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 10024 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 5401 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 7844715:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 600094:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=1; 661 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 660469:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 14262168:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 6722 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 17407 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 6331473:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 9824538:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 610890:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 6035871:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 14903733:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 12013197:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=2; 1767740:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 1904602:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 10027018:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1))) is validated Hash=fb1f3d8cee957a65f9849048d3f641f9 Time X029-F 98.28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X030-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030-F "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; | | | MFENCE ; | | | MOV EBX,[a] ; forall (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X030-F Required Histogram (22 states) 829 :>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 6921668:>3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 8250 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 238145:>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 42 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 6488458:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 13714 :>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 7374511:>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 409 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 12858839:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 17644 :>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 8623969:>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 1655732:>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 8339 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 7378131:>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 4627994:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 9399468:>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 1314132:>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 18747352:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 1461273:>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 9882508:>3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 2978593:>3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) is validated Hash=9132e8fe3d54aaeb6fcab3bc1fe0aed4 Time X030-F 99.92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X031-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031-F "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 ; MOV [a],$1 | MOV [y],$1 ; MOV [x],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[z] ; MFENCE | MFENCE ; MOV EBX,[y] | MOV EBX,[a] ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl (%rdi),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rdi),%edx Test X031-F Required Histogram (3 states) 83744425:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 86182997:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 30072578:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) is validated Hash=b4444c9c8cd0860cb73e1a1e9d74d695 Time X031-F 95.32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X032-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032-F "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [x],$1 | MOV [z],$1 ; MFENCE | MOV [y],$1 | MOV [a],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[a] ; | MFENCE | MFENCE ; | MOV EBX,[z] | MOV EBX,[b] ; 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))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rdi),%edx Test X032-F Required Histogram (7 states) 4511125:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 5094160:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 26489586:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 4800020:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 26735884:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 27339853:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 5029372:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition 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))) is validated Hash=64f3944383ae7f5b95b8062a3ae005e1 Time X032-F 87.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X033-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033-F "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV [a],$1 ; | MOV EAX,[y] | MOV EAX,[a] ; | MFENCE | MFENCE ; | MOV EBX,[z] | MOV EBX,[b] ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rdi),%edx Test X033-F Required Histogram (7 states) 4519838:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 22254165:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 24299052:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 3169919:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 9761559:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 8276582:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 27718885:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is validated Hash=c453f59be53676b6407c058692e99af4 Time X033-F 88.46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X034-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034-F "Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 ; MOV [z],$1 | MOV [x],$1 ; MFENCE | MOV [y],$1 ; MOV EAX,[x] | MOV EAX,[y] ; | MFENCE ; | MOV EBX,[z] ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rsi),%eax Test X034-F Required Histogram (3 states) 85166710:>0:EAX=1; 1:EAX=1; 1:EBX=0; 86459180:>0:EAX=0; 1:EAX=1; 1:EBX=1; 28374110:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) is validated Hash=32e9060f8c665d86a104ba06e6471afe Time X034-F 87.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X035-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035-F "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 ; MFENCE | MFENCE | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] ; | | MFENCE ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax Test X035-F Required Histogram (7 states) 4568845:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 4710835:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 25921001:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 5270480:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 27461158:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 26339246:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 5728435:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) is validated Hash=f35de11b2cce8432288065b4e8f59e4a Time X035-F 80.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X036-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036-F "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MFENCE | MFENCE | MFENCE | MOV [a],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; | | | MFENCE ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X036-F Required Histogram (15 states) 361112:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 321640:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 4366042:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 342628:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 11733460:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 4618852:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 13706904:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 377900:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 4795572:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 12180278:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 13675365:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 4574542:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 13513130:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 13548199:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 1884376:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is validated Hash=6d2b6425f2b21047ffb12b427b82dc56 Time X036-F 102.64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X037-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037-F "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MFENCE | MFENCE | MOV [a],$1 ; | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; | | | MFENCE ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X037-F Required Histogram (15 states) 315696:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 3565709:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 10927019:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 10392121:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 4741998:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 11122335:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 12176327:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1112755:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 680988:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 943553:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 7822469:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 858289:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 16020944:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 6302160:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 13017637:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is validated Hash=7bd0e453f8d5bed5dcdb57db846de736 Time X037-F 105.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X038-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038-F "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MFENCE | MOV [z],$1 ; | MOV EAX,[y] | MOV EAX,[z] ; | | MFENCE ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax Test X038-F Required Histogram (7 states) 4333684:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 21465428:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 25172352:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 2960232:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 9096573:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 8713071:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 28258660:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is validated Hash=b06977a5d886fb7e1ddad5e7d2f81870 Time X038-F 80.30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X039-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039-F "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MFENCE | MOV [y],$1 | MFENCE | MOV [a],$1 ; MOV EAX,[x] | | MOV EAX,[z] | MOV EAX,[a] ; | | | MFENCE ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X039-F Required Histogram (15 states) 293193:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 4378554:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 3690468:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 10643475:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 11136400:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 12366122:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 10059148:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 1191857:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 770093:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 689376:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 15767330:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 1078680:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 6511581:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 8073214:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 13350509:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) is validated Hash=e2ea65c3514ec466b9860d4ddae98523 Time X039-F 104.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X040-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040-F "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MFENCE | MOV [a],$1 ; | | MOV EAX,[z] | MOV EAX,[a] ; | | | MFENCE ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X040-F Required Histogram (15 states) 3498685:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 8069080:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 9461156:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 655636:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 616376:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 6486119:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 14975513:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 9850477:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 602450:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 13979769:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 6506683:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 12139234:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 1730159:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 1751094:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 9677569:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) is validated Hash=ee7cbd858143c337dcb9c6d29dd62322 Time X040-F 106.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X041-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041-F "Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 ; MOV [z],$1 | MOV [x],$2 ; MOV [x],$1 | MOV [y],$1 ; | MOV EAX,[y] ; | MFENCE ; | MOV EBX,[z] ; forall (1:EAX=1 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1)) Generated assembler _litmus_P1_0_: movl $2,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X041-F Required Histogram (3 states) 81957437:>1:EAX=1; 1:EBX=0; x=1; 20266876:>1:EAX=1; 1:EBX=1; x=1; 97775687:>1:EAX=1; 1:EBX=1; x=2; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (1:EAX=1 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1)) is validated Hash=2cbd7a45858c3f41defd4625c3ebc9d5 Time X041-F 86.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X042-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042-F "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 ; MFENCE | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | | MOV EAX,[z] ; | | MFENCE ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 0:EAX=0 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1))) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X042-F Required Histogram (7 states) 4900187:>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 23970333:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 22348714:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 2865675:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 7973194:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 9574403:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 28367494:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 0:EAX=0 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1))) is validated Hash=957f5c7bab60ae6a4d781f1ed20486a1 Time X042-F 80.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X043-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X043-F "Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MFENCE | MFENCE | MOV [z],$1 | MOV [a],$1 ; MOV EAX,[x] | MOV EAX,[y] | | MOV EAX,[a] ; | | | MFENCE ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X043-F Required Histogram (15 states) 297521:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 10907251:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 4560302:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 11964475:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 3692566:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 10237477:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 10786563:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 1151299:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 1035705:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 796207:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 6011180:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 774087:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 8334218:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 16203433:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 13247716:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1)))) is validated Hash=bfde585c03c275188181f22e4750217c Time X043-F 104.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X044-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044-F "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MFENCE | MOV [z],$1 | MOV [a],$1 ; | MOV EAX,[y] | | MOV EAX,[a] ; | | | MFENCE ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X044-F Required Histogram (15 states) 9941845:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 9382498:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 9018089:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 595389:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 785675:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 7420374:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 4752939:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 10184878:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 925141:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 4694232:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 7973815:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 10638836:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=2; 1395156:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 1643560:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 20647573:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) is validated Hash=90fa1856ff224a98a4703c1cbd31dbef Time X044-F 106.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X045-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045-F "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; | | MOV EAX,[z] ; | | MFENCE ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X045-F Required Histogram (7 states) 20351744:>2:EAX=1; 2:EBX=0; x=1; y=1; 1141514:>2:EAX=1; 2:EBX=1; x=1; y=1; 9350592:>2:EAX=1; 2:EBX=0; x=2; y=1; 21472125:>2:EAX=1; 2:EBX=1; x=2; y=1; 7405319:>2:EAX=1; 2:EBX=0; x=1; y=2; 25963045:>2:EAX=1; 2:EBX=1; x=1; y=2; 14315661:>2:EAX=1; 2:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) is validated Hash=9b4de1cacbcdab026f19c27eea69434e Time X045-F 81.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X046-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046-F "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MFENCE | MOV [y],$1 | MOV [z],$1 | MOV [a],$1 ; MOV EAX,[x] | | | MOV EAX,[a] ; | | | MFENCE ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X046-F Required Histogram (15 states) 3636026:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 9413484:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 7762423:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 583566:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 728905:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 14569229:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 6675814:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 9555880:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 552997:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 5802467:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 14715205:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 12261990:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=2; 1662671:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 2030717:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 10048626:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) is validated Hash=def29dda4cac4e01529fe40a337896ef Time X046-F 106.71 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X047-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047-F "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MFENCE ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X047-F Required Histogram (15 states) 7155442:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 240193:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 6146666:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 7650998:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 13042757:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 8912836:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1517725:>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 7497367:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 4676292:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 9543550:>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 1171420:>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 18486160:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 1319646:>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 9700909:>3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 2938039:>3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) is validated Hash=3cddee2858c3fb6de09aa5e02acd6486 Time X047-F 106.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X048-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048-F "Fre PodWR Fre PodWR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MFENCE | MFENCE ; MOV EAX,[x] | MOV EAX,[y] ; forall (0:EAX=1 /\ (1:EAX=1 \/ 1:EAX=0) \/ 0:EAX=0 /\ 1:EAX=1) Generated assembler _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rsi),%eax Test X048-F Required Histogram (3 states) 83686765:>0:EAX=1; 1:EAX=0; 83338780:>0:EAX=0; 1:EAX=1; 32974455:>0:EAX=1; 1:EAX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 \/ 1:EAX=0) \/ 0:EAX=0 /\ 1:EAX=1) is validated Hash=60d067018c89f92ec3456c437f85c184 Time X048-F 81.14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X049-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049-F "Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MFENCE | MFENCE | MFENCE ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ 2:EAX=1)) Generated assembler _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax Test X049-F Required Histogram (7 states) 5052007:>0:EAX=1; 1:EAX=0; 2:EAX=0; 4901743:>0:EAX=0; 1:EAX=1; 2:EAX=0; 26840960:>0:EAX=1; 1:EAX=1; 2:EAX=0; 4807517:>0:EAX=0; 1:EAX=0; 2:EAX=1; 26100890:>0:EAX=1; 1:EAX=0; 2:EAX=1; 26585521:>0:EAX=0; 1:EAX=1; 2:EAX=1; 5711362:>0:EAX=1; 1:EAX=1; 2:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ 2:EAX=1)) is validated Hash=d766ec6d725495e398481f0ee334999d Time X049-F 72.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X050-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050-F "Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MFENCE | MFENCE | MFENCE | MFENCE ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ 3:EAX=1))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X050-F Required Histogram (15 states) 350007:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 364285:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 4582639:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 360346:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 11987413:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 4691075:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 13483330:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 361881:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 4652337:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 12040442:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 13463950:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 4602179:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 13642689:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 13416507:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 2000920:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ 3:EAX=1))) is validated Hash=695cf2c583c177e359c36b84e129a999 Time X050-F 94.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X051-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051-F "Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MFENCE | MFENCE | MFENCE ; | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; 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))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X051-F Required Histogram (15 states) 322282:>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 3767606:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 11240217:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 10217418:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 4562913:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 11188916:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 12021064:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 1157133:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=1; 723810:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 985619:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 7889072:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 812018:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 15703715:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 6293855:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 13114362:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition 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))) is validated Hash=d61880a6cb6ee56572bbbb8eb2939f1c Time X051-F 95.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X052-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052-F "Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MFENCE | MFENCE ; | MOV EAX,[y] | MOV EAX,[z] ; forall (1:EAX=1 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ x=1)) Generated assembler _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax Test X052-F Required Histogram (7 states) 4668359:>1:EAX=0; 2:EAX=0; x=1; 21903079:>1:EAX=1; 2:EAX=0; x=1; 24848038:>1:EAX=0; 2:EAX=1; x=1; 2792489:>1:EAX=1; 2:EAX=1; x=1; 9211082:>1:EAX=1; 2:EAX=0; x=2; 8404805:>1:EAX=0; 2:EAX=1; x=2; 28172148:>1:EAX=1; 2:EAX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ x=1)) is validated Hash=a8a22b68695782e8facb9f206c9f87a5 Time X052-F 74.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X053-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053-F "Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MFENCE | MFENCE ; | | MOV EAX,[z] | MOV EAX,[a] ; forall (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X053-F Required Histogram (15 states) 3727036:>2:EAX=0; 3:EAX=0; x=1; y=1; 7799587:>2:EAX=1; 3:EAX=0; x=1; y=1; 9643547:>2:EAX=0; 3:EAX=1; x=1; y=1; 612430:>2:EAX=1; 3:EAX=1; x=1; y=1; 648543:>2:EAX=0; 3:EAX=0; x=2; y=1; 6358688:>2:EAX=1; 3:EAX=0; x=2; y=1; 14530294:>2:EAX=0; 3:EAX=1; x=2; y=1; 9754365:>2:EAX=1; 3:EAX=1; x=2; y=1; 635113:>2:EAX=0; 3:EAX=0; x=1; y=2; 14585517:>2:EAX=1; 3:EAX=0; x=1; y=2; 6207807:>2:EAX=0; 3:EAX=1; x=1; y=2; 12000610:>2:EAX=1; 3:EAX=1; x=1; y=2; 1864529:>2:EAX=1; 3:EAX=0; x=2; y=2; 1802652:>2:EAX=0; 3:EAX=1; x=2; y=2; 9829282:>2:EAX=1; 3:EAX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) is validated Hash=fbe98524c4c9b73ffa118132fa4de63f Time X053-F 97.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X054-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054-F "Fre PodWW Wse PodWR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$2 ; MOV [x],$1 | MFENCE ; | MOV EAX,[y] ; forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) Generated assembler _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X054-F Required Histogram (3 states) 83979381:>1:EAX=0; x=1; 17625081:>1:EAX=1; x=1; 98395538:>1:EAX=1; x=2; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) is validated Hash=fd11041c5d72fd760bc633e832dfee90 Time X054-F 80.57 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X055-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055-F "Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MFENCE | MOV [z],$1 | MFENCE ; | MOV EAX,[y] | | MOV EAX,[a] ; forall (1:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X055-F Required Histogram (15 states) 10077203:>1:EAX=0; 3:EAX=0; x=1; z=1; 8937311:>1:EAX=1; 3:EAX=0; x=1; z=1; 9114673:>1:EAX=0; 3:EAX=1; x=1; z=1; 598141:>1:EAX=1; 3:EAX=1; x=1; z=1; 917154:>1:EAX=0; 3:EAX=0; x=2; z=1; 7723632:>1:EAX=1; 3:EAX=0; x=2; z=1; 4855428:>1:EAX=0; 3:EAX=1; x=2; z=1; 10302775:>1:EAX=1; 3:EAX=1; x=2; z=1; 928922:>1:EAX=0; 3:EAX=0; x=1; z=2; 4777245:>1:EAX=1; 3:EAX=0; x=1; z=2; 7793431:>1:EAX=0; 3:EAX=1; x=1; z=2; 10218894:>1:EAX=1; 3:EAX=1; x=1; z=2; 1508007:>1:EAX=1; 3:EAX=0; x=2; z=2; 1570969:>1:EAX=0; 3:EAX=1; x=2; z=2; 20676215:>1:EAX=1; 3:EAX=1; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1)))) is validated Hash=8c8b2beeff1b4be66412f97ed901ee55 Time X055-F 96.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X056-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056-F "Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [x],$1 | MOV [y],$1 | MFENCE ; | | MOV EAX,[z] ; forall (2:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) Generated assembler _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X056-F Required Histogram (7 states) 19961124:>2:EAX=0; x=1; y=1; 1234723:>2:EAX=1; x=1; y=1; 8847793:>2:EAX=0; x=2; y=1; 22350416:>2:EAX=1; x=2; y=1; 7457605:>2:EAX=0; x=1; y=2; 26174678:>2:EAX=1; x=1; y=2; 13973661:>2:EAX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) is validated Hash=a217e559cb4a765d8cc3d3e3357c35f2 Time X056-F 74.77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X057-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X057-F "Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | MFENCE ; | | | MOV EAX,[a] ; forall (3:EAX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X057-F Required Histogram (15 states) 6918381:>3:EAX=0; x=1; y=1; z=1; 236592:>3:EAX=1; x=1; y=1; z=1; 6507800:>3:EAX=0; x=2; y=1; z=1; 7288731:>3:EAX=1; x=2; y=1; z=1; 13170858:>3:EAX=0; x=1; y=2; z=1; 8595271:>3:EAX=1; x=1; y=2; z=1; 1725176:>3:EAX=0; x=2; y=2; z=1; 7396933:>3:EAX=1; x=2; y=2; z=1; 4703594:>3:EAX=0; x=1; y=1; z=2; 9373446:>3:EAX=1; x=1; y=1; z=2; 1343631:>3:EAX=0; x=2; y=1; z=2; 18599356:>3:EAX=1; x=2; y=1; z=2; 1403964:>3:EAX=0; x=1; y=2; z=2; 9744831:>3:EAX=1; x=1; y=2; z=2; 2991436:>3:EAX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) is validated Hash=7057dbb344775d452cbc169c41a2def2 Time X057-F 98.30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X000-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000-A "Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [y],ECX | XCHG [x],ECX ; MOV EAX,[y] | MOV EAX,[x] ; MOV EBX,[x] | MOV EBX,[y] ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%r9d _litmus_P0_1_: xchgl %r9d,(%rdi) _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl (%r8),%edx Test X000-A Required Histogram (3 states) 72708010:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 74260713:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 53031277:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) is validated Hash=54fe05c026e4a0b4de199467510f5552 Time X000-A 81.62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X001-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001-A "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [z],ECX | XCHG [x],ECX | XCHG [y],ECX ; MOV EAX,[z] | MOV EAX,[x] | MOV EAX,[y] ; MOV EBX,[x] | MOV EBX,[y] | MOV EBX,[z] ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%r9d _litmus_P0_1_: xchgl %r9d,(%rdi) _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl (%r8),%edx _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X001-A Required Histogram (7 states) 8362636:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 7983008:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 19772477:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 8181175:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 21118326:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 20494539:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 14087839:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) is validated Hash=4211bbbe585a8877c07dec854dbb9dfd Time X001-A 77.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X002-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002-A "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [a],ECX | XCHG [y],ECX | XCHG [z],ECX ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV EAX,[x] | MOV EBX,[z] | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%r9) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl (%rdi),%edx _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X002-A Required Histogram (7 states) 8826027:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 8254041:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 20163102:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 8676376:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 19671204:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 23657519:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 10751731:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) is validated Hash=2291cad275d2f1d741e2617c9c446eca Time X002-A 82.55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X003-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003-A "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [z],EBX | XCHG [x],ECX | XCHG [y],ECX ; MOV EAX,[x] | MOV EAX,[x] | MOV EAX,[y] ; | MOV EBX,[y] | MOV EBX,[z] ; 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))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rcx) _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X003-A Required Histogram (7 states) 7739701:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 8717819:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 19692626:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 8539165:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 20329698:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 23364785:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 11616206:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition 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))) is validated Hash=172fbf6cbcae402fc68ae2939319c0b9 Time X003-A 75.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X004-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004-A "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [a],EBX | XCHG [x],EBX | XCHG [y],ECX | XCHG [z],ECX ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx Test X004-A Required Histogram (15 states) 1177854:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 1281994:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 5281378:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 1267537:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 12659745:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 5799286:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 9720008:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 1218298:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 5680865:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 12736138:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 9205421:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 6216561:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 11420003:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 12204565:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 4130347:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) is validated Hash=a81c927fb7d487dc51f71d8630c35b1e Time X004-A 98.32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X005-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005-A "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV EBX,$2 | MOV ECX,$1 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],EBX | XCHG [y],ECX | XCHG [z],ECX ; | MOV EAX,[y] | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx Test X005-A Required Histogram (15 states) 605428:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 2987881:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 9796592:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 5933174:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 6255229:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 8079233:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 11443195:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 2897329:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 1317956:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 2124520:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 7270705:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 2363186:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 16932176:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 8798374:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 13195022:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is validated Hash=ee0914af073fd1e9574152b18726732c Time X005-A 99.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X006-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006-A "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV ECX,$2 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],ECX | XCHG [y],ECX ; | MOV EAX,[x] | MOV EAX,[y] ; | MOV EBX,[y] | MOV EBX,[z] ; forall (2:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X006-A Required Histogram (10 states) 5830324:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 795875:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 15447023:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 418328:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 21717526:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 1369757:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 6003381:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 10163713:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 13958740:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 24295333:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) is validated Hash=1345e69cc2325331e3a1b8b320054122 Time X006-A 74.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X007-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007-A "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV [x],$1 | MOV ECX,$2 | MOV ECX,$1 ; XCHG [a],EBX | MOV [y],$1 | XCHG [y],ECX | XCHG [z],ECX ; MOV EAX,[x] | | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx Test X007-A Required Histogram (22 states) 42168 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 715235:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 6280267:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 103970:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 723655:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 3087795:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 7529740:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 75467 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 278177:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 10067715:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 9894892:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 914856:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 564123:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 6362386:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 1970784:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 2120995:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 1415838:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 17225868:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 2039796:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 7981799:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 8004957:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 12599517:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) is validated Hash=11c66617a98c55b243f451928a542074 Time X007-A 99.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X008-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008-A "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV ECX,$2 | MOV ECX,$1 ; MOV [x],$1 | MOV [y],$1 | XCHG [y],ECX | XCHG [z],ECX ; | | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (3:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx Test X008-A Required Histogram (22 states) 21365 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 3865788:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 557239:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 5342028:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 244283:>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 8892458:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 367002:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 1273060:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 821120:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 168277:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 4628761:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 85275 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 14470716:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 806123:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 7849103:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 1141019:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 13468750:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 8316085:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 12167253:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 2070669:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 3340509:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 10103117:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is validated Hash=f768962698062ec5a088ed852b5b4eaa Time X008-A 100.17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X009-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009-A "Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [z],ECX | XCHG [y],ECX ; MOV [x],$1 | MOV EAX,[y] ; MOV EAX,[x] | MOV EBX,[z] ; MOV EBX,[y] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%rdi) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl (%r8),%edx Test X009-A Required Histogram (3 states) 71603869:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 81346633:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 47049498:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) is validated Hash=2e1546eb7066c1571030a20330fe3344 Time X009-A 85.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X010-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010-A "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [a],EBX | XCHG [x],ECX | XCHG [z],ECX ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[z] ; | MOV EAX,[y] | MOV EBX,[a] ; | MOV EBX,[z] | ; 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))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%r10d _litmus_P1_1_: xchgl %r10d,(%r9) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl (%r8),%eax _litmus_P1_4_: movl (%rdi),%edx Test X010-A Required Histogram (7 states) 8738123:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 8544370:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 19102551:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 8447993:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 22793898:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 23544976:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 8828089:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition 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))) is validated Hash=12b51efc6539ff6eee28c487aa964fe4 Time X010-A 80.78 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X011-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011-A "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV ECX,$2 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],ECX | XCHG [z],ECX ; | MOV [y],$1 | MOV EAX,[z] ; | MOV EAX,[y] | MOV EBX,[a] ; | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%r10d _litmus_P1_1_: xchgl %r10d,(%r9) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl (%r8),%eax _litmus_P1_4_: movl (%rdi),%edx Test X011-A Required Histogram (7 states) 6295906:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 16217536:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 22530942:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 5428858:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 10995809:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 14018353:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 24512596:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is validated Hash=3595d429fbe03e2a1f53c46b5abe64e9 Time X011-A 81.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X012-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012-A "Fre PodWR Fre Rfi PodRR" {} P0 | P1 ; MOV EBX,$1 | MOV ECX,$1 ; XCHG [y],EBX | XCHG [x],ECX ; MOV EAX,[x] | MOV EAX,[x] ; | MOV EBX,[y] ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rcx) _litmus_P0_2_: movl (%rsi),%eax Test X012-A Required Histogram (3 states) 70759740:>0:EAX=1; 1:EAX=1; 1:EBX=0; 77244718:>0:EAX=0; 1:EAX=1; 1:EBX=1; 51995542:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) is validated Hash=e90c537cfca5daea67b1e6f1c8409f39 Time X012-A 78.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X013-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013-A "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [a],EBX | XCHG [x],ECX | XCHG [y],EBX | XCHG [z],ECX ; MOV EAX,[x] | MOV EAX,[x] | MOV EAX,[z] | MOV EAX,[z] ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (1:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X013-A Required Histogram (15 states) 1262389:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1259499:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 5954523:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1243223:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 11456953:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 5645621:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 10448500:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 1159480:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 5440026:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 13866658:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 10837555:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 5881025:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 10205242:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 11203267:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 4136039:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is validated Hash=000107c0a889d6e0cc889df7b671aa24 Time X013-A 98.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X014-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014-A "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV ECX,$2 | MOV EBX,$1 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],ECX | XCHG [y],EBX | XCHG [z],ECX ; | MOV EAX,[x] | MOV EAX,[z] | MOV EAX,[z] ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (3:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X014-A Required Histogram (22 states) 728503:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 106779:>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 3165194:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 78837 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 9167726:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 782239:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 5527363:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 39745 :>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 6476455:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 784896:>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 8073881:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 264977:>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 10486421:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 613590:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1891881:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1311493:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 1991877:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 7336476:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 2184578:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 18749094:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 8104622:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 12133373:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is validated Hash=99a6bfb0c3a28feb1e4d3d8a242659f4 Time X014-A 99.92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X015-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015-A "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [a],ECX | XCHG [y],EBX | XCHG [z],ECX ; MOV [x],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV EAX,[x] | | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%r9) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl (%rdi),%edx _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax Test X015-A Required Histogram (7 states) 9213744:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 8003010:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 19803899:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 8975516:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 22350355:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 22794387:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 8859089:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) is validated Hash=2e858fabf5475afd2ef34b83c9b474ab Time X015-A 80.92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X016-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016-A "Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [z],EBX | XCHG [x],EBX | XCHG [y],ECX ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rcx) _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax Test X016-A Required Histogram (7 states) 8261866:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 8440724:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 19532649:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 8964575:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 23328663:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 22420594:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 9050929:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) is validated Hash=76d4212e1d289a38477a5ca18acb6cd9 Time X016-A 72.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X017-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017-A "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [a],EBX | XCHG [x],EBX | XCHG [y],EBX | XCHG [z],ECX ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X017-A Required Histogram (15 states) 1229190:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1281843:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 5832405:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1321715:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 13142451:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 5554776:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 9071562:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 1345491:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 5992650:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 13514963:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 10336322:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 6361849:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 11257539:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 10786493:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 2970751:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is validated Hash=632a6f76bb60b325d2cd3a8e52250153 Time X017-A 97.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X018-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018-A "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV EBX,$2 | MOV EBX,$1 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],EBX | XCHG [y],EBX | XCHG [z],ECX ; | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X018-A Required Histogram (15 states) 652934:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 3119782:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 9696659:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 5740098:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 6589279:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 8950576:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 11230876:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 2210084:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1302804:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 2109522:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 7282271:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 2343796:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 18124129:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 8697527:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 11949663:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is validated Hash=a3e1e59b0b412af9c54bf2f107cb5efd Time X018-A 97.89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X019-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019-A "Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV EBX,$2 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],EBX | XCHG [y],ECX ; | MOV EAX,[y] | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax Test X019-A Required Histogram (7 states) 5794288:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 16114101:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 22954582:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 5874817:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 10479289:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 14821317:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 23961606:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is validated Hash=2c24277fb498028559e35bf88ff5cb70 Time X019-A 73.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X020-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020-A "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV [x],$1 | MOV EBX,$2 | MOV ECX,$1 ; XCHG [a],EBX | MOV [y],$1 | XCHG [y],EBX | XCHG [z],ECX ; MOV EAX,[x] | | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X020-A Required Histogram (15 states) 736579:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 6432250:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 3083452:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 7987899:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 10263205:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 10420811:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 6517386:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 2149819:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 2363227:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 1486740:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 17421798:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 2269717:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 8380417:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 8222303:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 12264397:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) is validated Hash=7d3d8fa0c0796e5c2345821d4de2bb5e Time X020-A 97.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X021-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021-A "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV EBX,$2 | MOV ECX,$1 ; MOV [x],$1 | MOV [y],$1 | XCHG [y],EBX | XCHG [z],ECX ; | | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X021-A Required Histogram (15 states) 3803101:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 5770642:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 8906881:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 1438558:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 911563:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 4960040:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 15351871:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 8611726:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 1236133:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 12894164:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 8703217:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 11795751:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 2042262:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 3300452:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 10273639:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) is validated Hash=7c01ca60211864faeafde39cb89244e6 Time X021-A 97.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X022-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022-A "Fre PodWW Wse Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV ECX,$2 ; MOV [x],$1 | XCHG [x],ECX ; | MOV EAX,[x] ; | MOV EBX,[y] ; forall (1:EAX=2 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1) Generated assembler _litmus_P1_0_: movl $2,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X022-A Required Histogram (4 states) 76577595:>1:EAX=2; 1:EBX=0; x=1; 3465721:>1:EAX=1; 1:EBX=1; x=1; 20455484:>1:EAX=2; 1:EBX=1; x=1; 99501200:>1:EAX=2; 1:EBX=1; x=2; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (1:EAX=2 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1) is validated Hash=6d48a55cd24acd1a38931bd11259eea8 Time X022-A 79.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X023-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023-A "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV ECX,$2 | MOV [y],$1 | MOV ECX,$2 ; MOV [x],$1 | XCHG [x],ECX | MOV [z],$1 | XCHG [z],ECX ; | MOV EAX,[x] | | MOV EAX,[z] ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (1:EAX=2 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X023-A Required Histogram (32 states) 55657 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 5719 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 174921:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 48706 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 8702830:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 929681:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 6052280:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 4874 :>1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 932238:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 81975 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 305895:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 154148:>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 6022773:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 294465:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 604976:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 49265 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 1302684:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 8339172:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 151563:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 799095:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 4739378:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 8592955:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 1293370:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 158072:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 4779665:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 43847 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 8325324:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 741435:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 8313791:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 2220789:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 2141154:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 23637303:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=2 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) is validated Hash=4826bad8aca5a6ea17cb5d51245c0145 Time X023-A 100.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X024-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024-A "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV ECX,$1 | MOV [y],$1 | MOV ECX,$2 ; XCHG [a],ECX | MOV [z],$1 | XCHG [z],ECX ; MOV [x],$1 | | MOV EAX,[z] ; MOV EAX,[x] | | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ (z=2 \/ z=1)) \/ 2:EAX=1 /\ z=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ z=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ z=1))) Generated assembler _litmus_P2_0_: movl $2,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%r9) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X024-A Required Histogram (10 states) 425585:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=0; z=1; 5814598:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 21919607:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 1089428:>0:EAX=1; 0:EBX=0; 2:EAX=1; 2:EBX=1; z=1; 989820:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=1; z=1; 17126990:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 3358206:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=1; 14551704:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 11333933:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 23390129:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ (z=2 \/ z=1)) \/ 2:EAX=1 /\ z=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ z=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ z=1))) is validated Hash=0f51ae9b6dc892e8eaea14ac0a50b2e7 Time X024-A 81.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X025-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025-A "Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV EBX,$1 | MOV [x],$1 | MOV ECX,$2 ; XCHG [z],EBX | MOV [y],$1 | XCHG [y],ECX ; MOV EAX,[x] | | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1)) Generated assembler _litmus_P2_0_: movl $2,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rcx) _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X025-A Required Histogram (10 states) 415211:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 6125467:>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 21185392:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 1041682:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 1166307:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 17023799:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 3789401:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 13440356:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 11355375:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 24457010:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1)) is validated Hash=3742d8e2be68a0408c568cb4135390f6 Time X025-A 73.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X026-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026-A "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV EBX,$1 | MOV [y],$1 | MOV ECX,$2 ; XCHG [a],EBX | XCHG [x],EBX | MOV [z],$1 | XCHG [z],ECX ; MOV EAX,[x] | MOV EAX,[y] | | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X026-A Required Histogram (22 states) 80726 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 45850 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 288714:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 754740:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 10185720:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 6556305:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 9653832:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 105097:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 891808:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 809474:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 480817:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 3294256:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 5755532:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 8112681:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 1327818:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 2107528:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 2342834:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 8005237:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 1453423:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 7900115:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 18964019:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 10883474:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) is validated Hash=b16a5826afc16c1f7de0ca7bec7720f5 Time X026-A 97.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X027-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027-A "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV EBX,$2 | MOV [y],$1 | MOV ECX,$2 ; MOV [x],$1 | XCHG [x],EBX | MOV [z],$1 | XCHG [z],ECX ; | MOV EAX,[y] | | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X027-A Required Histogram (22 states) 53832 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 167763:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 8887016:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 6685536:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 970637:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 332114:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 6292520:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 727738:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 46598 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 1305398:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 8469674:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 161351:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 762843:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 4787675:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 8302325:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 1323846:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 4861329:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 8564007:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 9075450:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 2185701:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 2369243:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 23667404:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) is validated Hash=29b4ac7960ab32dc3ad11844b505b7c0 Time X027-A 98.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X028-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028-A "Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV ECX,$2 ; MOV [x],$1 | MOV [y],$1 | XCHG [y],ECX ; | | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (2:EAX=2 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) Generated assembler _litmus_P2_0_: movl $2,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X028-A Required Histogram (10 states) 331410:>2:EAX=1; 2:EBX=0; x=1; y=1; 18244292:>2:EAX=2; 2:EBX=0; x=1; y=1; 1367238:>2:EAX=1; 2:EBX=1; x=1; y=1; 1651747:>2:EAX=2; 2:EBX=1; x=1; y=1; 8316537:>2:EAX=2; 2:EBX=0; x=2; y=1; 925645:>2:EAX=1; 2:EBX=1; x=2; y=1; 19474534:>2:EAX=2; 2:EBX=1; x=2; y=1; 9388313:>2:EAX=2; 2:EBX=0; x=1; y=2; 24480051:>2:EAX=2; 2:EBX=1; x=1; y=2; 15820233:>2:EAX=2; 2:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=2 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) is validated Hash=56a57b02101cc0d563114939b23f6661 Time X028-A 74.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X029-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X029-A "Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV [x],$1 | MOV [y],$2 | MOV ECX,$2 ; XCHG [a],EBX | MOV [y],$1 | MOV [z],$1 | XCHG [z],ECX ; MOV EAX,[x] | | | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (0:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X029-A Required Histogram (22 states) 20418 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 205468:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 4108396:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 8744266:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 562015:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 245009:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 5587633:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 751955:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=1; 82170 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 903213:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 14456306:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 178134:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 755788:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 5029115:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 6893555:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 1344430:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 8393300:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 14477418:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 11260737:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=2; 3641448:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 2267164:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 10092062:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1))) is validated Hash=1bd42981e49aeb628a0d3031c156823a Time X029-A 97.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X030-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030-A "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV ECX,$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | XCHG [z],ECX ; | | | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X030-A Required Histogram (22 states) 141369:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 6324609:>3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 153538:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 354361:>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 32529 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 5832351:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 559544:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 6353439:>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 57293 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 12010701:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 819202:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 7221532:>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 1512225:>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 226618:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 6801230:>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 5252496:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 9012075:>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 1508437:>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 19573456:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 2135964:>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 10584518:>3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 3532513:>3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) is validated Hash=c45bb4a7f98ccd7cf7323cbfc1c8698d Time X030-A 99.08 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X031-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031-A "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [a],ECX | XCHG [y],ECX ; MOV [x],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[z] ; MOV EBX,[y] | MOV EBX,[a] ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,%r10d _litmus_P1_1_: xchgl %r10d,(%r8) _litmus_P1_2_: movl $1,(%rdi) _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%r9) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl (%rdi),%edx Test X031-A Required Histogram (3 states) 76312394:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 86206735:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 37480871:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) is validated Hash=16270364e97530dcdfa1fdff3648caa9 Time X031-A 90.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X032-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032-A "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [b],EBX | XCHG [x],ECX | XCHG [z],ECX ; MOV EAX,[x] | MOV [y],$1 | MOV [a],$1 ; | MOV EAX,[y] | MOV EAX,[a] ; | MOV EBX,[z] | MOV EBX,[b] ; 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))) Generated assembler _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%rdi) _litmus_P2_2_: movl $1,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%r10d _litmus_P1_1_: xchgl %r10d,(%r9) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl (%r8),%eax _litmus_P1_4_: movl (%rdi),%edx Test X032-A Required Histogram (7 states) 8890334:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 9700112:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 20964663:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 9103970:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 22321503:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 23125942:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 5893476:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition 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))) is validated Hash=941731ddaa61c31d88847cbd8cdcd3bb Time X032-A 86.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X033-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033-A "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV ECX,$2 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],ECX | XCHG [z],ECX ; | MOV [y],$1 | MOV [a],$1 ; | MOV EAX,[y] | MOV EAX,[a] ; | MOV EBX,[z] | MOV EBX,[b] ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%rdi) _litmus_P2_2_: movl $1,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%r10d _litmus_P1_1_: xchgl %r10d,(%r9) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl (%r8),%eax _litmus_P1_4_: movl (%rdi),%edx Test X033-A Required Histogram (7 states) 6358348:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 18353521:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 22483611:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 3186705:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 11719301:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 14184472:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 23714042:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is validated Hash=afbee5abc8de14ba2f28fa6bb21a7db5 Time X033-A 86.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X034-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034-A "Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 ; MOV EBX,$1 | MOV ECX,$1 ; XCHG [z],EBX | XCHG [x],ECX ; MOV EAX,[x] | MOV [y],$1 ; | MOV EAX,[y] ; | MOV EBX,[z] ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,%r10d _litmus_P1_1_: xchgl %r10d,(%r9) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl (%r8),%eax _litmus_P1_4_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rcx) _litmus_P0_2_: movl (%rsi),%eax Test X034-A Required Histogram (3 states) 77025020:>0:EAX=1; 1:EAX=1; 1:EBX=0; 77618372:>0:EAX=0; 1:EAX=1; 1:EBX=1; 45356608:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) is validated Hash=a71d3055845a53427e1c46170b07fba0 Time X034-A 82.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X035-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035-A "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [a],EBX | XCHG [x],EBX | XCHG [y],ECX ; MOV EAX,[x] | MOV EAX,[y] | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%r8) _litmus_P2_2_: movl $1,(%rdi) _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax Test X035-A Required Histogram (7 states) 9340277:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 8542687:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 22245509:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 9247452:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 22586752:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 21712848:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 6324475:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) is validated Hash=fb11d0565c5f2d21dbd31ad3db8b3c75 Time X035-A 79.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X036-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036-A "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [b],EBX | XCHG [x],EBX | XCHG [y],EBX | XCHG [z],ECX ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X036-A Required Histogram (15 states) 1340791:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1404534:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 6142801:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1306361:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 13814010:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 6177856:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 10424148:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 1322586:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 6077008:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 13527314:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 9979232:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 6038626:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 10074085:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 10158341:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 2212307:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is validated Hash=83424690d292e02e867dbe60c4998283 Time X036-A 103.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X037-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037-A "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV EBX,$2 | MOV EBX,$1 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],EBX | XCHG [y],EBX | XCHG [z],ECX ; | MOV EAX,[y] | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X037-A Required Histogram (15 states) 695943:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 3326903:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 10634790:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 6627499:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 6709630:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 8858270:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 10325829:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1502640:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1366813:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 1966457:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 7821392:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 2343587:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 18489078:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 8194476:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 11136693:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is validated Hash=7a5da725bf0cdfb6bec05d5ea7b8be1f Time X037-A 104.92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X038-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038-A "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV EBX,$2 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],EBX | XCHG [y],ECX ; | MOV EAX,[y] | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%r8) _litmus_P2_2_: movl $1,(%rdi) _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax Test X038-A Required Histogram (7 states) 5767363:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 17679771:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 22811007:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 3970414:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 11630770:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 14462558:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 23678117:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is validated Hash=73367c44b7ce02728ac738b10763c37b Time X038-A 78.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X039-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039-A "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV [x],$1 | MOV EBX,$2 | MOV ECX,$1 ; XCHG [b],EBX | MOV [y],$1 | XCHG [y],EBX | XCHG [z],ECX ; MOV EAX,[x] | | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: movl $1,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X039-A Required Histogram (15 states) 719324:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 6751207:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 3357428:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 9259587:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 10370245:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 10304592:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 6290926:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 1588944:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 2435537:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 1351461:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 18220026:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 2107326:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 8398677:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 7820164:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 11024556:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) is validated Hash=e321183141b28e5444d23da576d1a27a Time X039-A 104.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X040-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040-A "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV EBX,$2 | MOV ECX,$1 ; MOV [x],$1 | MOV [y],$1 | XCHG [y],EBX | XCHG [z],ECX ; | | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X040-A Required Histogram (15 states) 4029075:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 6197654:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 9356470:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 848753:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 858770:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 5123839:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 14482329:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 7616543:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 1208921:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 14290737:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 8718482:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 11178165:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 2128862:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 3626626:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 10334774:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) is validated Hash=38df24bb802ee8f42ae051eaa808d685 Time X040-A 105.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X041-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041-A "Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 ; MOV [z],$1 | MOV ECX,$2 ; MOV [x],$1 | XCHG [x],ECX ; | MOV [y],$1 ; | MOV EAX,[y] ; | MOV EBX,[z] ; forall (1:EAX=1 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1)) Generated assembler _litmus_P1_0_: movl $2,%r10d _litmus_P1_1_: xchgl %r10d,(%r9) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl (%r8),%eax _litmus_P1_4_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X041-A Required Histogram (3 states) 74228197:>1:EAX=1; 1:EBX=0; x=1; 26434948:>1:EAX=1; 1:EBX=1; x=1; 99336855:>1:EAX=1; 1:EBX=1; x=2; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (1:EAX=1 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1)) is validated Hash=60357633e7cc30e478ac6523445c61a0 Time X041-A 82.93 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X042-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042-A "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV EBX,$1 | MOV [x],$1 | MOV ECX,$2 ; XCHG [a],EBX | MOV [y],$1 | XCHG [y],ECX ; MOV EAX,[x] | | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 0:EAX=0 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1))) Generated assembler _litmus_P2_0_: movl $2,%r10d _litmus_P2_1_: xchgl %r10d,(%r8) _litmus_P2_2_: movl $1,(%rdi) _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X042-A Required Histogram (7 states) 6496226:>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 22369108:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 18209414:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 3341987:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 14362858:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 11950031:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 23270376:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 0:EAX=0 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1))) is validated Hash=b1c6277d958031a8444cc5e520dafbe8 Time X042-A 78.37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X043-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X043-A "Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV EBX,$1 | MOV [y],$1 | MOV ECX,$2 ; XCHG [b],EBX | XCHG [x],EBX | MOV [z],$1 | XCHG [z],ECX ; MOV EAX,[x] | MOV EAX,[y] | | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1)))) Generated assembler _litmus_P3_0_: movl $2,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X043-A Required Histogram (15 states) 696505:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 10630458:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 6772894:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 10343216:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 3267005:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 6296902:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 8716323:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 1479527:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 2190552:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 2356506:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 8276551:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 1453935:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 7992207:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 18583180:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 10944239:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1)))) is validated Hash=11f178ba0712bf2dfe62f26c001e21f9 Time X043-A 104.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X044-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044-A "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV EBX,$2 | MOV [y],$1 | MOV ECX,$2 ; MOV [x],$1 | XCHG [x],EBX | MOV [z],$1 | XCHG [z],ECX ; | MOV EAX,[y] | | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X044-A Required Histogram (15 states) 8769348:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 7175577:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 6943975:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 1003420:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 1287689:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 8618904:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 4851278:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 9134300:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 1316681:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 4954230:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 8786233:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 8984321:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=2; 2338379:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 2481080:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 23354585:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) is validated Hash=4525d017f8e567b7650189c7b4d0c8f0 Time X044-A 105.58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X045-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045-A "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$2 | MOV ECX,$2 ; MOV [x],$1 | MOV [y],$1 | XCHG [y],ECX ; | | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P2_0_: movl $2,%r10d _litmus_P2_1_: xchgl %r10d,(%r8) _litmus_P2_2_: movl $1,(%rdi) _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X045-A Required Histogram (7 states) 19829043:>2:EAX=1; 2:EBX=0; x=1; y=1; 1558845:>2:EAX=1; 2:EBX=1; x=1; y=1; 8680801:>2:EAX=1; 2:EBX=0; x=2; y=1; 19738585:>2:EAX=1; 2:EBX=1; x=2; y=1; 9989570:>2:EAX=1; 2:EBX=0; x=1; y=2; 23632852:>2:EAX=1; 2:EBX=1; x=1; y=2; 16570304:>2:EAX=1; 2:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) is validated Hash=128e873d99391f63b093bf7cbc9df3be Time X045-A 79.43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X046-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046-A "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV [x],$1 | MOV [y],$2 | MOV ECX,$2 ; XCHG [b],EBX | MOV [y],$1 | MOV [z],$1 | XCHG [z],ECX ; MOV EAX,[x] | | | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X046-A Required Histogram (15 states) 4026645:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 8770232:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 6065050:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 825595:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 969076:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 15158619:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 5366263:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 7772305:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 1405666:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 8671890:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 13840886:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 10890241:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=2; 3500869:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 2327483:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 10409180:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) is validated Hash=09c3fdd7375517b47ed822f3ecf04870 Time X046-A 105.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X047-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047-A "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV ECX,$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | XCHG [z],ECX ; | | | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X047-A Required Histogram (15 states) 6630214:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 396520:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 5867075:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 6867194:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 12318644:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 7843026:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1471007:>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 7109733:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 5405552:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 8888887:>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 1634975:>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 19298788:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 2035616:>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 10605386:>3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 3627383:>3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) is validated Hash=fe6ebf038184766141076d603283cf97 Time X047-A 105.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X048-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048-A "Fre PodWR Fre PodWR" {} P0 | P1 ; MOV EBX,$1 | MOV EBX,$1 ; XCHG [y],EBX | XCHG [x],EBX ; MOV EAX,[x] | MOV EAX,[y] ; forall (0:EAX=1 /\ (1:EAX=1 \/ 1:EAX=0) \/ 0:EAX=0 /\ 1:EAX=1) Generated assembler _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rcx) _litmus_P0_2_: movl (%rsi),%eax Test X048-A Required Histogram (3 states) 75586938:>0:EAX=1; 1:EAX=0; 75880000:>0:EAX=0; 1:EAX=1; 48533062:>0:EAX=1; 1:EAX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 \/ 1:EAX=0) \/ 0:EAX=0 /\ 1:EAX=1) is validated Hash=9663769e0c2741a1aa8145f9b9ce5ecb Time X048-A 76.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X049-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049-A "Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [z],EBX | XCHG [x],EBX | XCHG [y],EBX ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ 2:EAX=1)) Generated assembler _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rcx) _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax Test X049-A Required Histogram (7 states) 8566183:>0:EAX=1; 1:EAX=0; 2:EAX=0; 9031190:>0:EAX=0; 1:EAX=1; 2:EAX=0; 21157974:>0:EAX=1; 1:EAX=1; 2:EAX=0; 9290307:>0:EAX=0; 1:EAX=0; 2:EAX=1; 23269595:>0:EAX=1; 1:EAX=0; 2:EAX=1; 22040401:>0:EAX=0; 1:EAX=1; 2:EAX=1; 6644350:>0:EAX=1; 1:EAX=1; 2:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ 2:EAX=1)) is validated Hash=896026d247b917eddc04f54a02273d38 Time X049-A 71.62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X050-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050-A "Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [a],EBX | XCHG [x],EBX | XCHG [y],EBX | XCHG [z],EBX ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ 3:EAX=1))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X050-A Required Histogram (15 states) 1354446:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 1410389:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 6205616:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 1307818:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 13936482:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 6258033:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 10492351:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 1238337:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 5863339:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 13464117:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 9828045:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 6080379:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 9917256:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 10462463:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 2180929:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ 3:EAX=1))) is validated Hash=9d8f2889d7e8e3ddbe5384a3e93f011d Time X050-A 95.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X051-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051-A "Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV EBX,$2 | MOV EBX,$1 | MOV EBX,$1 ; MOV [x],$1 | XCHG [x],EBX | XCHG [y],EBX | XCHG [z],EBX ; | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; 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))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X051-A Required Histogram (15 states) 660152:>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 3260463:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 10443420:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 6320351:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 6545149:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 8799645:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 10455287:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 1626502:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=1; 1456256:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 2282506:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 8197165:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 2292883:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 17874320:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 8488217:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 11297684:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition 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))) is validated Hash=4be721b57cb2f1b349217d7e64548a67 Time X051-A 95.78 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X052-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052-A "Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV EBX,$2 | MOV EBX,$1 ; MOV [x],$1 | XCHG [x],EBX | XCHG [y],EBX ; | MOV EAX,[y] | MOV EAX,[z] ; forall (1:EAX=1 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ x=1)) Generated assembler _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax Test X052-A Required Histogram (7 states) 5969533:>1:EAX=0; 2:EAX=0; x=1; 18179095:>1:EAX=1; 2:EAX=0; x=1; 22927611:>1:EAX=0; 2:EAX=1; x=1; 4121019:>1:EAX=1; 2:EAX=1; x=1; 11031776:>1:EAX=1; 2:EAX=0; x=2; 14269431:>1:EAX=0; 2:EAX=1; x=2; 23501535:>1:EAX=1; 2:EAX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ x=1)) is validated Hash=deeaad536b86fc06adfee0b9bbb34dbc Time X052-A 72.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X053-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053-A "Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV EBX,$2 | MOV EBX,$1 ; MOV [x],$1 | MOV [y],$1 | XCHG [y],EBX | XCHG [z],EBX ; | | MOV EAX,[z] | MOV EAX,[a] ; forall (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X053-A Required Histogram (15 states) 4122651:>2:EAX=0; 3:EAX=0; x=1; y=1; 6043809:>2:EAX=1; 3:EAX=0; x=1; y=1; 9212225:>2:EAX=0; 3:EAX=1; x=1; y=1; 872067:>2:EAX=1; 3:EAX=1; x=1; y=1; 904755:>2:EAX=0; 3:EAX=0; x=2; y=1; 5168957:>2:EAX=1; 3:EAX=0; x=2; y=1; 14559384:>2:EAX=0; 3:EAX=1; x=2; y=1; 7669247:>2:EAX=1; 3:EAX=1; x=2; y=1; 1283198:>2:EAX=0; 3:EAX=0; x=1; y=2; 14422142:>2:EAX=1; 3:EAX=0; x=1; y=2; 8461673:>2:EAX=0; 3:EAX=1; x=1; y=2; 11196917:>2:EAX=1; 3:EAX=1; x=1; y=2; 2268330:>2:EAX=1; 3:EAX=0; x=2; y=2; 3496320:>2:EAX=0; 3:EAX=1; x=2; y=2; 10318325:>2:EAX=1; 3:EAX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) is validated Hash=5e98f81a1913285bf989bc9a8c09e214 Time X053-A 96.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X054-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054-A "Fre PodWW Wse PodWR" {} P0 | P1 ; MOV [y],$1 | MOV EBX,$2 ; MOV [x],$1 | XCHG [x],EBX ; | MOV EAX,[y] ; forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) Generated assembler _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X054-A Required Histogram (3 states) 76063061:>1:EAX=0; x=1; 24521114:>1:EAX=1; x=1; 99415825:>1:EAX=1; x=2; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) is validated Hash=8305a3015f900654003ada1eeb4d967b Time X054-A 77.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X055-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055-A "Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV EBX,$2 | MOV [y],$1 | MOV EBX,$2 ; MOV [x],$1 | XCHG [x],EBX | MOV [z],$1 | XCHG [z],EBX ; | MOV EAX,[y] | | MOV EAX,[a] ; forall (1:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: movl $2,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X055-A Required Histogram (15 states) 9095010:>1:EAX=0; 3:EAX=0; x=1; z=1; 7022597:>1:EAX=1; 3:EAX=0; x=1; z=1; 7029709:>1:EAX=0; 3:EAX=1; x=1; z=1; 871043:>1:EAX=1; 3:EAX=1; x=1; z=1; 1276467:>1:EAX=0; 3:EAX=0; x=2; z=1; 8649345:>1:EAX=1; 3:EAX=0; x=2; z=1; 4872821:>1:EAX=0; 3:EAX=1; x=2; z=1; 9005032:>1:EAX=1; 3:EAX=1; x=2; z=1; 1302738:>1:EAX=0; 3:EAX=0; x=1; z=2; 4978348:>1:EAX=1; 3:EAX=0; x=1; z=2; 8685522:>1:EAX=0; 3:EAX=1; x=1; z=2; 8982619:>1:EAX=1; 3:EAX=1; x=1; z=2; 2342332:>1:EAX=1; 3:EAX=0; x=2; z=2; 2401653:>1:EAX=0; 3:EAX=1; x=2; z=2; 23484764:>1:EAX=1; 3:EAX=1; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1)))) is validated Hash=56e3ee233bb636fd1850aaf5d29b5d9b Time X055-A 96.27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X056-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056-A "Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV EBX,$2 ; MOV [x],$1 | MOV [y],$1 | XCHG [y],EBX ; | | MOV EAX,[z] ; forall (2:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) Generated assembler _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X056-A Required Histogram (7 states) 19798328:>2:EAX=0; x=1; y=1; 1745733:>2:EAX=1; x=1; y=1; 8506208:>2:EAX=0; x=2; y=1; 19690745:>2:EAX=1; x=2; y=1; 9986921:>2:EAX=0; x=1; y=2; 23902128:>2:EAX=1; x=1; y=2; 16369937:>2:EAX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) is validated Hash=72e6fbfef1758355bb22052f433bb358 Time X056-A 73.30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X057-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X057-A "Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV EBX,$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | XCHG [z],EBX ; | | | MOV EAX,[a] ; forall (3:EAX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: movl $2,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X057-A Required Histogram (15 states) 6562436:>3:EAX=0; x=1; y=1; z=1; 391173:>3:EAX=1; x=1; y=1; z=1; 5995012:>3:EAX=0; x=2; y=1; z=1; 6767694:>3:EAX=1; x=2; y=1; z=1; 12593403:>3:EAX=0; x=1; y=2; z=1; 7916844:>3:EAX=1; x=1; y=2; z=1; 1564687:>3:EAX=0; x=2; y=2; z=1; 7082500:>3:EAX=1; x=2; y=2; z=1; 5511084:>3:EAX=0; x=1; y=1; z=2; 8849265:>3:EAX=1; x=1; y=1; z=2; 1657258:>3:EAX=0; x=2; y=1; z=2; 19213312:>3:EAX=1; x=2; y=1; z=2; 2049778:>3:EAX=0; x=1; y=2; z=2; 10367487:>3:EAX=1; x=1; y=2; z=2; 3478067:>3:EAX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) is validated Hash=ca584c5a2111e6e18891bed8f225c5bb Time X057-A 98.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X000-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000-L "Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; Lock00: | Lock06: ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_y],ECX | XCHG [L_x],ECX ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV ECX,[L_y] | MOV ECX,[L_x] ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [y],$1 | MOV [x],$1 ; MOV [L_y],$0 | MOV [L_x],$0 ; MOV EAX,[y] | MOV EAX,[x] ; Lock03: | Lock09: ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_x],ECX | XCHG [L_y],ECX ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 ; Lock04: | Lock10: ; MOV ECX,[L_x] | MOV ECX,[L_y] ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 ; JMP Lock04 | JMP Lock10 ; Lock05: | Lock11: ; MOV EBX,[x] | MOV EBX,[y] ; MOV [L_x],$0 | MOV [L_y],$0 ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r11d _litmus_P1_16_: xchgl %r11d,(%r9) _litmus_P1_17_: cmpl $0,%r11d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r9),%r11d _litmus_P1_21_: cmpl $0,%r11d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%rdi),%edx _litmus_P1_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r9) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r9),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdi) _litmus_P0_12_: movl $0,(%r9) _litmus_P0_13_: movl (%rdi),%eax _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%r11d _litmus_P0_16_: xchgl %r11d,(%r10) _litmus_P0_17_: cmpl $0,%r11d _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%r10),%r11d _litmus_P0_21_: cmpl $0,%r11d _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl (%r8),%edx _litmus_P0_26_: movl $0,(%r10) Test X000-L Required Histogram (3 states) 51753453:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 51471830:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 96774717:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) is validated Hash=0909486b449f04392fec0ec3d9aa68e0 Time X000-L 126.42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X001-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001-L "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_z],ECX | XCHG [L_x],ECX | XCHG [L_y],ECX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV ECX,[L_z] | MOV ECX,[L_x] | MOV ECX,[L_y] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; MOV EAX,[z] | MOV EAX,[x] | MOV EAX,[y] ; Lock03: | Lock09: | Lock15: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_x],ECX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 ; Lock04: | Lock10: | Lock16: ; MOV ECX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 ; JMP Lock04 | JMP Lock10 | JMP Lock16 ; Lock05: | Lock11: | Lock17: ; MOV EBX,[x] | MOV EBX,[y] | MOV EBX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r9) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r9),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdi) _litmus_P0_12_: movl $0,(%r9) _litmus_P0_13_: movl (%rdi),%eax _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%r11d _litmus_P0_16_: xchgl %r11d,(%r10) _litmus_P0_17_: cmpl $0,%r11d _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%r10),%r11d _litmus_P0_21_: cmpl $0,%r11d _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl (%r8),%edx _litmus_P0_26_: movl $0,(%r10) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r11d _litmus_P1_16_: xchgl %r11d,(%r9) _litmus_P1_17_: cmpl $0,%r11d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r9),%r11d _litmus_P1_21_: cmpl $0,%r11d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%rdi),%edx _litmus_P1_26_: movl $0,(%r9) Test X001-L Required Histogram (7 states) 1712471:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 1666741:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 23533478:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 1671012:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 22966447:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 23363647:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 25086204:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) is validated Hash=4448df3f927b9062bbcb11cd1b4fd9fb Time X001-L 120.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X002-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002-L "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV ECX,[L_a] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV EAX,[x] | Lock09: | Lock15: ; Lock03: | MOV ECX,$1 | MOV ECX,$1 ; MOV ECX,$1 | XCHG [L_z],ECX | XCHG [L_a],ECX ; XCHG [L_y],ECX | CMP ECX,$0 | CMP ECX,$0 ; CMP ECX,$0 | JE Lock11 | JE Lock17 ; JE Lock05 | Lock10: | Lock16: ; Lock04: | MOV ECX,[L_z] | MOV ECX,[L_a] ; MOV ECX,[L_y] | CMP ECX,$0 | CMP ECX,$0 ; CMP ECX,$0 | JE Lock09 | JE Lock15 ; JE Lock03 | JMP Lock10 | JMP Lock16 ; JMP Lock04 | Lock11: | Lock17: ; Lock05: | MOV EBX,[z] | MOV EBX,[a] ; MOV EBX,[y] | MOV [L_z],$0 | MOV [L_a],$0 ; MOV [L_y],$0 | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: movl (%rdi),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r10) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r10),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r8),%edx _litmus_P2_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r11) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%ebx _litmus_P0_7_: cmpl $0,%ebx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: movl $1,(%r8) _litmus_P0_14_: movl (%r8),%eax _litmus_P0_15_: LitLock03: _litmus_P0_16_: movl $1,%ebx _litmus_P0_17_: xchgl %ebx,(%r10) _litmus_P0_18_: cmpl $0,%ebx _litmus_P0_19_: je LitLock05 _litmus_P0_20_: LitLock04: _litmus_P0_21_: movl (%r10),%ebx _litmus_P0_22_: cmpl $0,%ebx _litmus_P0_23_: je LitLock03 _litmus_P0_24_: jmp LitLock04 _litmus_P0_25_: LitLock05: _litmus_P0_26_: movl (%rdi),%edx _litmus_P0_27_: movl $0,(%r10) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r11d _litmus_P1_16_: xchgl %r11d,(%r9) _litmus_P1_17_: cmpl $0,%r11d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r9),%r11d _litmus_P1_21_: cmpl $0,%r11d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%rdi),%edx _litmus_P1_26_: movl $0,(%r9) Test X002-L Required Histogram (7 states) 1757044:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 1689796:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 23616802:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 1639694:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 22810190:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 23565321:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 24921153:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) is validated Hash=f42a2ffb3d50a8968e53faaa20806ba5 Time X002-L 125.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X003-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003-L "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_z],EBX | XCHG [L_x],ECX | XCHG [L_y],ECX ; CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_z] | MOV ECX,[L_x] | MOV ECX,[L_y] ; CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | MOV EAX,[x] | MOV EAX,[y] ; MOV EBX,$1 | Lock09: | Lock15: ; XCHG [L_x],EBX | MOV ECX,$1 | MOV ECX,$1 ; CMP EBX,$0 | XCHG [L_y],ECX | XCHG [L_z],ECX ; JE Lock05 | CMP ECX,$0 | CMP ECX,$0 ; Lock04: | JE Lock11 | JE Lock17 ; MOV EBX,[L_x] | Lock10: | Lock16: ; CMP EBX,$0 | MOV ECX,[L_y] | MOV ECX,[L_z] ; JE Lock03 | CMP ECX,$0 | CMP ECX,$0 ; JMP Lock04 | JE Lock09 | JE Lock15 ; Lock05: | JMP Lock10 | JMP Lock16 ; MOV EAX,[x] | Lock11: | Lock17: ; MOV [L_x],$0 | MOV EBX,[y] | MOV EBX,[z] ; | MOV [L_y],$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))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%r8) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rsi),%eax _litmus_P0_25_: movl $0,(%r8) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r11d _litmus_P1_16_: xchgl %r11d,(%r9) _litmus_P1_17_: cmpl $0,%r11d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r9),%r11d _litmus_P1_21_: cmpl $0,%r11d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%rdi),%edx _litmus_P1_26_: movl $0,(%r9) Test X003-L Required Histogram (7 states) 1733785:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 1778440:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 22371401:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 1793398:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 22410256:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 25357698:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 24555022:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition 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))) is validated Hash=f8d7e8e5af3c6103f68c70c5324edb60 Time X003-L 119.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X004-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004-L "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EBX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_a] | MOV EBX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$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],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | MOV EAX,[y] | MOV EAX,[z] ; MOV EBX,$1 | MOV EBX,$1 | Lock15: | Lock21: ; XCHG [L_x],EBX | XCHG [L_y],EBX | MOV ECX,$1 | MOV ECX,$1 ; CMP EBX,$0 | CMP EBX,$0 | XCHG [L_z],ECX | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | CMP ECX,$0 | CMP ECX,$0 ; Lock04: | Lock10: | JE Lock17 | JE Lock23 ; MOV EBX,[L_x] | MOV EBX,[L_y] | Lock16: | Lock22: ; CMP EBX,$0 | CMP EBX,$0 | MOV ECX,[L_z] | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | CMP ECX,$0 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JE Lock15 | JE Lock21 ; Lock05: | Lock11: | JMP Lock16 | JMP Lock22 ; MOV EAX,[x] | MOV EAX,[y] | Lock17: | Lock23: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV EBX,[z] | MOV EBX,[a] ; | | MOV [L_z],$0 | MOV [L_a],$0 ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) Test X004-L Required Histogram (15 states) 57757 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 49616 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 1461713:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 46241 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 6399845:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 1653463:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 14409856:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 57982 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 1880608:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 6516420:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 14935355:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 2057690:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 17680512:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 16680274:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 16112668:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) is validated Hash=6767e7aceb6cf7d84eef4576507d1d5f Time X004-L 158.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X005-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005-L "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EBX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EBX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$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: | MOV EAX,[y] | MOV EAX,[z] ; MOV EAX,$1 | MOV EBX,$1 | Lock15: | Lock21: ; XCHG [L_x],EAX | XCHG [L_y],EBX | MOV ECX,$1 | MOV ECX,$1 ; CMP EAX,$0 | CMP EBX,$0 | XCHG [L_z],ECX | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | CMP ECX,$0 | CMP ECX,$0 ; Lock04: | Lock10: | JE Lock17 | JE Lock23 ; MOV EAX,[L_x] | MOV EBX,[L_y] | Lock16: | Lock22: ; CMP EAX,$0 | CMP EBX,$0 | MOV ECX,[L_z] | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | CMP ECX,$0 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JE Lock15 | JE Lock21 ; Lock05: | Lock11: | JMP Lock16 | JMP Lock22 ; MOV [x],$1 | MOV EAX,[y] | Lock17: | Lock23: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV EBX,[z] | MOV EBX,[a] ; | | MOV [L_z],$0 | MOV [L_a],$0 ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) Test X005-L Required Histogram (15 states) 49838 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 1430572:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 6180911:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 14052944:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 1982471:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 14785139:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 17937671:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 15714146:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 46563 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 46903 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 1650485:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 69492 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 6521458:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 2157947:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 17373460:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is validated Hash=f165503094c8c732ce277d761370e56d Time X005-L 159.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X006-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006-L "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock15: ; MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_z],EAX | XCHG [L_x],ECX | XCHG [L_y],ECX ; CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock17 ; Lock01: | Lock07: | Lock16: ; MOV EAX,[L_z] | MOV ECX,[L_x] | MOV ECX,[L_y] ; CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock15 ; JMP Lock01 | JMP Lock07 | JMP Lock16 ; Lock02: | Lock08: | Lock17: ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | MOV EAX,[y] ; MOV EAX,$1 | MOV ECX,$1 | Lock18: ; XCHG [L_x],EAX | XCHG [L_x],ECX | MOV ECX,$1 ; CMP EAX,$0 | CMP ECX,$0 | XCHG [L_z],ECX ; JE Lock05 | JE Lock11 | CMP ECX,$0 ; Lock04: | Lock10: | JE Lock20 ; MOV EAX,[L_x] | MOV ECX,[L_x] | Lock19: ; CMP EAX,$0 | CMP ECX,$0 | MOV ECX,[L_z] ; JE Lock03 | JE Lock09 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JE Lock18 ; Lock05: | Lock11: | JMP Lock19 ; MOV [x],$1 | MOV EAX,[x] | Lock20: ; MOV [L_x],$0 | MOV [L_x],$0 | MOV EBX,[z] ; | Lock12: | MOV [L_z],$0 ; | MOV ECX,$1 | ; | XCHG [L_y],ECX | ; | CMP ECX,$0 | ; | JE Lock14 | ; | Lock13: | ; | MOV ECX,[L_y] | ; | CMP ECX,$0 | ; | JE Lock12 | ; | JMP Lock13 | ; | Lock14: | ; | MOV EBX,[y] | ; | MOV [L_y],$0 | ; forall (2:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: LitLock15: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock17 _litmus_P2_5_: LitLock16: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock15 _litmus_P2_9_: jmp LitLock16 _litmus_P2_10_: LitLock17: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock18: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock20 _litmus_P2_19_: LitLock19: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock18 _litmus_P2_23_: jmp LitLock19 _litmus_P2_24_: LitLock20: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r8),%eax _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock12: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%r9) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock14 _litmus_P1_31_: LitLock13: _litmus_P1_32_: movl (%r9),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock12 _litmus_P1_35_: jmp LitLock13 _litmus_P1_36_: LitLock14: _litmus_P1_37_: movl (%rdi),%edx _litmus_P1_38_: movl $0,(%r9) Test X006-L Required Histogram (10 states) 1533803:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 658942:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 22578007:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 350854:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 19120288:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 2672594:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 22534191:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 1902850:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 1506643:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 27141828:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) is validated Hash=ada78361f0e501476005f7f0ded29799 Time X006-L 123.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X007-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007-L "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock21: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EAX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock23 ; Lock01: | Lock07: | Lock13: | Lock22: ; MOV EBX,[L_a] | MOV EAX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock21 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock22 ; Lock02: | Lock08: | Lock14: | Lock23: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV EAX,[z] ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 | Lock24: ; XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_y],ECX | MOV ECX,$1 ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock10: | Lock16: | JE Lock26 ; MOV EBX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_y] | Lock25: ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JE Lock24 ; Lock05: | Lock11: | Lock17: | JMP Lock25 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[y] | Lock26: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_y],$0 | MOV EBX,[a] ; | | Lock18: | MOV [L_a],$0 ; | | MOV ECX,$1 | ; | | XCHG [L_z],ECX | ; | | CMP ECX,$0 | ; | | JE Lock20 | ; | | Lock19: | ; | | MOV ECX,[L_z] | ; | | CMP ECX,$0 | ; | | JE Lock18 | ; | | JMP Lock19 | ; | | Lock20: | ; | | MOV EBX,[z] | ; | | MOV [L_z],$0 | ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: LitLock21: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock23 _litmus_P3_5_: LitLock22: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock21 _litmus_P3_9_: jmp LitLock22 _litmus_P3_10_: LitLock23: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock24: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock26 _litmus_P3_19_: LitLock25: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock24 _litmus_P3_23_: jmp LitLock25 _litmus_P3_24_: LitLock26: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r11d _litmus_P2_15_: xchgl %r11d,(%r10) _litmus_P2_16_: cmpl $0,%r11d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r10),%r11d _litmus_P2_20_: cmpl $0,%r11d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r8),%eax _litmus_P2_25_: movl $0,(%r10) _litmus_P2_26_: LitLock18: _litmus_P2_27_: movl $1,%r11d _litmus_P2_28_: xchgl %r11d,(%r9) _litmus_P2_29_: cmpl $0,%r11d _litmus_P2_30_: je LitLock20 _litmus_P2_31_: LitLock19: _litmus_P2_32_: movl (%r9),%r11d _litmus_P2_33_: cmpl $0,%r11d _litmus_P2_34_: je LitLock18 _litmus_P2_35_: jmp LitLock19 _litmus_P2_36_: LitLock20: _litmus_P2_37_: movl (%rdi),%edx _litmus_P2_38_: movl $0,(%r9) Test X007-L Required Histogram (22 states) 22554 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 33962 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 1327011:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 29034 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 1304843:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 1781905:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 13189258:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 3756 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 293440:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 5614298:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 12750898:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 851285:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 2604890:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 16880885:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 14283968:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 59632 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 63656 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 6461438:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 36563 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 1545919:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 2247192:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 18613613:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) is validated Hash=98962316126419f9c53d81b23002a55e Time X007-L 163.28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X008-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008-L "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock21: ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EAX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock23 ; Lock01: | Lock07: | Lock13: | Lock22: ; MOV EAX,[L_a] | MOV EAX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock21 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock22 ; Lock02: | Lock08: | Lock14: | Lock23: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV EAX,[z] ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 | Lock24: ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_y],ECX | MOV ECX,$1 ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock10: | Lock16: | JE Lock26 ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_y] | Lock25: ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JE Lock24 ; Lock05: | Lock11: | Lock17: | JMP Lock25 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[y] | Lock26: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_y],$0 | MOV EBX,[a] ; | | Lock18: | MOV [L_a],$0 ; | | MOV ECX,$1 | ; | | XCHG [L_z],ECX | ; | | CMP ECX,$0 | ; | | JE Lock20 | ; | | Lock19: | ; | | MOV ECX,[L_z] | ; | | CMP ECX,$0 | ; | | JE Lock18 | ; | | JMP Lock19 | ; | | Lock20: | ; | | MOV EBX,[z] | ; | | MOV [L_z],$0 | ; forall (3:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: LitLock21: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock23 _litmus_P3_5_: LitLock22: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock21 _litmus_P3_9_: jmp LitLock22 _litmus_P3_10_: LitLock23: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock24: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock26 _litmus_P3_19_: LitLock25: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock24 _litmus_P3_23_: jmp LitLock25 _litmus_P3_24_: LitLock26: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r11d _litmus_P2_15_: xchgl %r11d,(%r10) _litmus_P2_16_: cmpl $0,%r11d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r10),%r11d _litmus_P2_20_: cmpl $0,%r11d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r8),%eax _litmus_P2_25_: movl $0,(%r10) _litmus_P2_26_: LitLock18: _litmus_P2_27_: movl $1,%r11d _litmus_P2_28_: xchgl %r11d,(%r9) _litmus_P2_29_: cmpl $0,%r11d _litmus_P2_30_: je LitLock20 _litmus_P2_31_: LitLock19: _litmus_P2_32_: movl (%r9),%r11d _litmus_P2_33_: cmpl $0,%r11d _litmus_P2_34_: je LitLock18 _litmus_P2_35_: jmp LitLock19 _litmus_P2_36_: LitLock20: _litmus_P2_37_: movl (%rdi),%edx _litmus_P2_38_: movl $0,(%r9) Test X008-L Required Histogram (22 states) 21993 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 1252937:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 1442432:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 12703724:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 353891:>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 12737530:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 2870608:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 13285552:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 32829 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 25360 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 1734758:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 4178 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 5741377:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 860196:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 17212547:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 52716 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 6493120:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 1661503:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 19042102:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 60622 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 42586 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 2367439:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is validated Hash=b210d80428babe95c568ee61f81615e9 Time X008-L 164.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X009-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009-L "Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; Lock00: | Lock06: ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_z],ECX | XCHG [L_y],ECX ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV ECX,[L_z] | MOV ECX,[L_y] ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [z],$1 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_y],$0 ; MOV [x],$1 | MOV EAX,[y] ; MOV EAX,[x] | Lock09: ; Lock03: | MOV ECX,$1 ; MOV ECX,$1 | XCHG [L_z],ECX ; XCHG [L_y],ECX | CMP ECX,$0 ; CMP ECX,$0 | JE Lock11 ; JE Lock05 | Lock10: ; Lock04: | MOV ECX,[L_z] ; MOV ECX,[L_y] | CMP ECX,$0 ; CMP ECX,$0 | JE Lock09 ; JE Lock03 | JMP Lock10 ; JMP Lock04 | Lock11: ; Lock05: | MOV EBX,[z] ; MOV EBX,[y] | MOV [L_z],$0 ; MOV [L_y],$0 | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r11d _litmus_P1_16_: xchgl %r11d,(%r9) _litmus_P1_17_: cmpl $0,%r11d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r9),%r11d _litmus_P1_21_: cmpl $0,%r11d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%rdi),%edx _litmus_P1_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r10) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%ebx _litmus_P0_7_: cmpl $0,%ebx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: movl $1,(%r9) _litmus_P0_14_: movl (%r9),%eax _litmus_P0_15_: LitLock03: _litmus_P0_16_: movl $1,%ebx _litmus_P0_17_: xchgl %ebx,(%r11) _litmus_P0_18_: cmpl $0,%ebx _litmus_P0_19_: je LitLock05 _litmus_P0_20_: LitLock04: _litmus_P0_21_: movl (%r11),%ebx _litmus_P0_22_: cmpl $0,%ebx _litmus_P0_23_: je LitLock03 _litmus_P0_24_: jmp LitLock04 _litmus_P0_25_: LitLock05: _litmus_P0_26_: movl (%r8),%edx _litmus_P0_27_: movl $0,(%r11) Test X009-L Required Histogram (3 states) 51557018:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 51848979:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 96594003:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) is validated Hash=7131de24dc5edc14043f0d4afec9deb3 Time X009-L 131.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X010-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010-L "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],ECX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_a] | MOV ECX,[L_x] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$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 EBX,$1 | MOV EAX,[y] | Lock15: ; XCHG [L_x],EBX | Lock09: | MOV ECX,$1 ; CMP EBX,$0 | MOV ECX,$1 | XCHG [L_a],ECX ; JE Lock05 | XCHG [L_z],ECX | CMP ECX,$0 ; Lock04: | CMP ECX,$0 | JE Lock17 ; MOV EBX,[L_x] | JE Lock11 | Lock16: ; CMP EBX,$0 | Lock10: | MOV ECX,[L_a] ; JE Lock03 | MOV ECX,[L_z] | CMP ECX,$0 ; JMP Lock04 | CMP ECX,$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))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: movl (%rdi),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r10) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r10),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r8),%edx _litmus_P2_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r11) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r9) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl $1,(%r8) _litmus_P1_14_: movl (%r8),%eax _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r10) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r10),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rdi),%edx _litmus_P1_27_: movl $0,(%r10) Test X010-L Required Histogram (7 states) 1764260:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 1832174:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 23646762:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 1864313:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 22810884:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 25951118:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 22130489:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition 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))) is validated Hash=e3f4f38c2818cdfbc5b7982a9cded7f1 Time X010-L 125.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X011-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011-L "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_a] | MOV ECX,[L_x] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_z],$0 ; Lock03: | MOV [y],$1 | MOV EAX,[z] ; MOV EAX,$1 | MOV EAX,[y] | Lock15: ; XCHG [L_x],EAX | Lock09: | MOV ECX,$1 ; CMP EAX,$0 | MOV ECX,$1 | XCHG [L_a],ECX ; JE Lock05 | XCHG [L_z],ECX | CMP ECX,$0 ; Lock04: | CMP ECX,$0 | JE Lock17 ; MOV EAX,[L_x] | JE Lock11 | Lock16: ; CMP EAX,$0 | Lock10: | MOV ECX,[L_a] ; JE Lock03 | MOV ECX,[L_z] | CMP ECX,$0 ; JMP Lock04 | CMP ECX,$0 | JE Lock15 ; Lock05: | JE Lock09 | JMP Lock16 ; MOV [x],$1 | 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 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: movl (%rdi),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r10) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r10),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r8),%edx _litmus_P2_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r11) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r9) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl $1,(%r8) _litmus_P1_14_: movl (%r8),%eax _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r10) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r10),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rdi),%edx _litmus_P1_27_: movl $0,(%r10) Test X011-L Required Histogram (7 states) 1736065:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 22683549:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 23003433:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 22150098:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 1916211:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 1974771:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 26535873:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is validated Hash=c5e0688d8465dffbfda96c1958790b85 Time X011-L 126.60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X012-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012-L "Fre PodWR Fre Rfi PodRR" {} P0 | P1 ; Lock00: | Lock06: ; MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_y],EBX | XCHG [L_x],ECX ; CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV EBX,[L_y] | MOV ECX,[L_x] ; CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [y],$1 | MOV [x],$1 ; MOV [L_y],$0 | MOV [L_x],$0 ; Lock03: | MOV EAX,[x] ; MOV EBX,$1 | Lock09: ; XCHG [L_x],EBX | MOV ECX,$1 ; CMP EBX,$0 | XCHG [L_y],ECX ; JE Lock05 | CMP ECX,$0 ; Lock04: | JE Lock11 ; MOV EBX,[L_x] | Lock10: ; CMP EBX,$0 | MOV ECX,[L_y] ; JE Lock03 | CMP ECX,$0 ; JMP Lock04 | JE Lock09 ; Lock05: | JMP Lock10 ; MOV EAX,[x] | Lock11: ; MOV [L_x],$0 | MOV EBX,[y] ; | MOV [L_y],$0 ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r11d _litmus_P1_16_: xchgl %r11d,(%r9) _litmus_P1_17_: cmpl $0,%r11d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r9),%r11d _litmus_P1_21_: cmpl $0,%r11d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%rdi),%edx _litmus_P1_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%r8) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rsi),%eax _litmus_P0_25_: movl $0,(%r8) Test X012-L Required Histogram (3 states) 53096480:>0:EAX=1; 1:EAX=1; 1:EBX=0; 62302304:>0:EAX=0; 1:EAX=1; 1:EBX=1; 84601216:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) is validated Hash=555b434fedcc592482ccf7d886e58184 Time X012-L 125.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X013-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013-L "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],ECX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_a] | MOV ECX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$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],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | MOV EAX,[x] | Lock15: | MOV EAX,[z] ; MOV EBX,$1 | Lock09: | MOV EBX,$1 | Lock21: ; XCHG [L_x],EBX | MOV ECX,$1 | XCHG [L_z],EBX | MOV ECX,$1 ; CMP EBX,$0 | XCHG [L_y],ECX | CMP EBX,$0 | XCHG [L_a],ECX ; JE Lock05 | CMP ECX,$0 | JE Lock17 | CMP ECX,$0 ; Lock04: | JE Lock11 | Lock16: | JE Lock23 ; MOV EBX,[L_x] | Lock10: | MOV EBX,[L_z] | Lock22: ; CMP EBX,$0 | MOV ECX,[L_y] | CMP EBX,$0 | MOV ECX,[L_a] ; JE Lock03 | CMP ECX,$0 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JE Lock09 | JMP Lock16 | JE Lock21 ; Lock05: | JMP Lock10 | Lock17: | JMP Lock22 ; MOV EAX,[x] | Lock11: | MOV EAX,[z] | Lock23: ; MOV [L_x],$0 | MOV EBX,[y] | MOV [L_z],$0 | MOV EBX,[a] ; | MOV [L_y],$0 | | MOV [L_a],$0 ; forall (1:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r11d _litmus_P1_16_: xchgl %r11d,(%r9) _litmus_P1_17_: cmpl $0,%r11d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r9),%r11d _litmus_P1_21_: cmpl $0,%r11d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%rdi),%edx _litmus_P1_26_: movl $0,(%r9) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X013-L Required Histogram (15 states) 41861 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 62038 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1696815:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 39366 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 5775323:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 1729388:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 14701174:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 64744 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 1714774:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 7363957:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 17285771:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 1762483:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 14814479:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 16826936:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 16120891:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is validated Hash=fd5330456a3dcb8aac5fd7c7a77edf3f Time X013-L 158.28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X014-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014-L "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock15: | Lock21: ; MOV EAX,$1 | MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],ECX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock17 | JE Lock23 ; Lock01: | Lock07: | Lock16: | Lock22: ; MOV EAX,[L_a] | MOV ECX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock15 | JE Lock21 ; JMP Lock01 | JMP Lock07 | JMP Lock16 | JMP Lock22 ; Lock02: | Lock08: | Lock17: | Lock23: ; 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: | Lock18: | MOV EAX,[z] ; MOV EAX,$1 | MOV ECX,$1 | MOV EBX,$1 | Lock24: ; XCHG [L_x],EAX | XCHG [L_x],ECX | XCHG [L_z],EBX | MOV ECX,$1 ; CMP EAX,$0 | CMP ECX,$0 | CMP EBX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | JE Lock20 | CMP ECX,$0 ; Lock04: | Lock10: | Lock19: | JE Lock26 ; MOV EAX,[L_x] | MOV ECX,[L_x] | MOV EBX,[L_z] | Lock25: ; CMP EAX,$0 | CMP ECX,$0 | CMP EBX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | JE Lock18 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JMP Lock19 | JE Lock24 ; Lock05: | Lock11: | Lock20: | JMP Lock25 ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[z] | Lock26: ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_z],$0 | MOV EBX,[a] ; | Lock12: | | MOV [L_a],$0 ; | MOV ECX,$1 | | ; | XCHG [L_y],ECX | | ; | CMP ECX,$0 | | ; | JE Lock14 | | ; | Lock13: | | ; | MOV ECX,[L_y] | | ; | CMP ECX,$0 | | ; | JE Lock12 | | ; | JMP Lock13 | | ; | Lock14: | | ; | MOV EBX,[y] | | ; | MOV [L_y],$0 | | ; forall (3:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: LitLock21: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock23 _litmus_P3_5_: LitLock22: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock21 _litmus_P3_9_: jmp LitLock22 _litmus_P3_10_: LitLock23: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock24: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock26 _litmus_P3_19_: LitLock25: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock24 _litmus_P3_23_: jmp LitLock25 _litmus_P3_24_: LitLock26: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r8),%eax _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock12: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%r9) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock14 _litmus_P1_31_: LitLock13: _litmus_P1_32_: movl (%r9),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock12 _litmus_P1_35_: jmp LitLock13 _litmus_P1_36_: LitLock14: _litmus_P1_37_: movl (%rdi),%edx _litmus_P1_38_: movl $0,(%r9) _litmus_P2_0_: LitLock15: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock17 _litmus_P2_5_: LitLock16: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock15 _litmus_P2_9_: jmp LitLock16 _litmus_P2_10_: LitLock17: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock18: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock20 _litmus_P2_18_: LitLock19: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock18 _litmus_P2_22_: jmp LitLock19 _litmus_P2_23_: LitLock20: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X014-L Required Histogram (22 states) 28097 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 32048 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 1781622:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 3501 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 4971047:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 765840:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 14663315:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 25862 :>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 1478555:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 1515576:>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 15425917:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 276752:>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 12896818:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 2590553:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 14449197:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 75441 :>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 29253 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 1966521:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 64124 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 7347999:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 1431249:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 18180713:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is validated Hash=ad93bab0d2e21fd620cfa5d094e949ac Time X014-L 162.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X015-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015-L "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV ECX,[L_a] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; MOV [x],$1 | Lock09: | MOV EAX,[z] ; MOV EAX,[x] | MOV EBX,$1 | Lock15: ; Lock03: | XCHG [L_z],EBX | MOV ECX,$1 ; MOV ECX,$1 | CMP EBX,$0 | XCHG [L_a],ECX ; XCHG [L_y],ECX | JE Lock11 | CMP ECX,$0 ; CMP ECX,$0 | Lock10: | JE Lock17 ; JE Lock05 | MOV EBX,[L_z] | Lock16: ; Lock04: | CMP EBX,$0 | MOV ECX,[L_a] ; MOV ECX,[L_y] | JE Lock09 | CMP ECX,$0 ; CMP ECX,$0 | JMP Lock10 | JE Lock15 ; JE Lock03 | Lock11: | JMP Lock16 ; JMP Lock04 | MOV EAX,[z] | Lock17: ; Lock05: | MOV [L_z],$0 | MOV EBX,[a] ; MOV EBX,[y] | | MOV [L_a],$0 ; MOV [L_y],$0 | | ; forall (0:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: movl (%rdi),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r10) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r10),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r8),%edx _litmus_P2_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r11) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%ebx _litmus_P0_7_: cmpl $0,%ebx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: movl $1,(%r8) _litmus_P0_14_: movl (%r8),%eax _litmus_P0_15_: LitLock03: _litmus_P0_16_: movl $1,%ebx _litmus_P0_17_: xchgl %ebx,(%r10) _litmus_P0_18_: cmpl $0,%ebx _litmus_P0_19_: je LitLock05 _litmus_P0_20_: LitLock04: _litmus_P0_21_: movl (%r10),%ebx _litmus_P0_22_: cmpl $0,%ebx _litmus_P0_23_: je LitLock03 _litmus_P0_24_: jmp LitLock04 _litmus_P0_25_: LitLock05: _litmus_P0_26_: movl (%rdi),%edx _litmus_P0_27_: movl $0,(%r10) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) Test X015-L Required Histogram (7 states) 1817151:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 1748311:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 22449304:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 1727640:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 25820945:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 22431767:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 24004882:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) is validated Hash=45c3527cd8faa12ed6df1d756257be0f Time X015-L 125.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X016-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016-L "Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_z],EBX | XCHG [L_x],EBX | XCHG [L_y],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_z] | MOV EBX,[L_x] | MOV ECX,[L_y] ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | MOV EAX,[y] ; MOV EBX,$1 | MOV EBX,$1 | Lock15: ; XCHG [L_x],EBX | XCHG [L_y],EBX | MOV ECX,$1 ; CMP EBX,$0 | CMP EBX,$0 | XCHG [L_z],ECX ; JE Lock05 | JE Lock11 | CMP ECX,$0 ; Lock04: | Lock10: | JE Lock17 ; MOV EBX,[L_x] | MOV EBX,[L_y] | Lock16: ; CMP EBX,$0 | CMP EBX,$0 | MOV ECX,[L_z] ; JE Lock03 | JE Lock09 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JE Lock15 ; Lock05: | Lock11: | JMP Lock16 ; MOV EAX,[x] | MOV EAX,[y] | Lock17: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV EBX,[z] ; | | MOV [L_z],$0 ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%r8) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rsi),%eax _litmus_P0_25_: movl $0,(%r8) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) Test X016-L Required Histogram (7 states) 1851912:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 1829693:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 22098500:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2078337:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 25745332:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 24631892:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 21764334:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) is validated Hash=5505c985645df0029dc3bb34fd0841b0 Time X016-L 119.27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X017-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017-L "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_a] | MOV EBX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$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],$1 | 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: | MOV EAX,[z] ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | Lock21: ; XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EBX | MOV ECX,$1 ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock10: | Lock16: | JE Lock23 ; MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] | Lock22: ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JE Lock21 ; Lock05: | Lock11: | Lock17: | JMP Lock22 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | Lock23: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X017-L Required Histogram (15 states) 59222 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 73174 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1840436:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 51729 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 6398607:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 1685676:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 14126585:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 69083 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 2083114:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 7239095:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 16518799:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 1969756:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 16780202:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 16644765:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 14459757:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is validated Hash=b810eabdd9803bd5afa7348412900f13 Time X017-L 157.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X018-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018-L "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EBX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$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: | MOV EAX,[z] ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | Lock21: ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EBX | MOV ECX,$1 ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock10: | Lock16: | JE Lock23 ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] | Lock22: ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JE Lock21 ; Lock05: | Lock11: | Lock17: | JMP Lock22 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | Lock23: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X018-L Required Histogram (15 states) 54090 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 1744338:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 6299938:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 13901455:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 2294361:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 16503214:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 17029922:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 14206301:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 73182 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 51736 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 1676161:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 88655 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 7190425:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 2098653:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 16787569:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is validated Hash=1dd6aa2bb2bd41ed4671123e6eef4945 Time X018-L 159.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X019-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019-L "Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_z],EAX | XCHG [L_x],EBX | XCHG [L_y],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_z] | MOV EBX,[L_x] | MOV ECX,[L_y] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | MOV EAX,[y] ; MOV EAX,$1 | MOV EBX,$1 | Lock15: ; XCHG [L_x],EAX | XCHG [L_y],EBX | MOV ECX,$1 ; CMP EAX,$0 | CMP EBX,$0 | XCHG [L_z],ECX ; JE Lock05 | JE Lock11 | CMP ECX,$0 ; Lock04: | Lock10: | JE Lock17 ; MOV EAX,[L_x] | MOV EBX,[L_y] | Lock16: ; CMP EAX,$0 | CMP EBX,$0 | MOV ECX,[L_z] ; JE Lock03 | JE Lock09 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JE Lock15 ; Lock05: | Lock11: | JMP Lock16 ; MOV [x],$1 | MOV EAX,[y] | Lock17: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV EBX,[z] ; | | MOV [L_z],$0 ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) Test X019-L Required Histogram (7 states) 1935233:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 22464608:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 25795113:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 20248884:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 1794312:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 2176892:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 25584958:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is validated Hash=c6fb307a4a2eda6777c0ef735ab6c92b Time X019-L 120.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X020-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020-L "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_a] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$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],$1 | MOV [y],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV EAX,[z] ; MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 | Lock21: ; XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],EBX | MOV ECX,$1 ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock10: | Lock16: | JE Lock23 ; MOV EBX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] | Lock22: ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JE Lock21 ; Lock05: | Lock11: | Lock17: | JMP Lock22 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[z] | Lock23: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X020-L Required Histogram (15 states) 66498 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 1951010:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 1610640:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 14263175:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 7002916:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 16974537:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 16169624:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 14174911:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 71228 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 52977 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 6447485:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 66276 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 2285630:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 1906977:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 16956116:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) is validated Hash=fb59bb0dd98a8fee7d7edde6d00adb40 Time X020-L 158.64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X021-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021-L "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$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],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV EAX,[z] ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 | Lock21: ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EBX | MOV ECX,$1 ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock10: | Lock16: | JE Lock23 ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] | Lock22: ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JE Lock21 ; Lock05: | Lock11: | Lock17: | JMP Lock22 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] | Lock23: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X021-L Required Histogram (15 states) 1861000:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 13887454:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 16921187:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 13653386:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 59322 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 1573885:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 7152374:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 16408074:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 67766 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 6359394:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 2375242:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 17528887:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 50780 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 75472 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 2025777:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) is validated Hash=469528e3543b98c3f0af934ab5a2e07e Time X021-L 160.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X022-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022-L "Fre PodWW Wse Rfi PodRR" {} P0 | P1 ; Lock00: | Lock06: ; MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_y],EAX | XCHG [L_x],ECX ; CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV EAX,[L_y] | MOV ECX,[L_x] ; CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [y],$1 | MOV [x],$2 ; MOV [L_y],$0 | MOV [L_x],$0 ; Lock03: | Lock09: ; MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EAX | XCHG [L_x],ECX ; CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 ; Lock04: | Lock10: ; MOV EAX,[L_x] | MOV ECX,[L_x] ; CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 ; JMP Lock04 | JMP Lock10 ; Lock05: | Lock11: ; MOV [x],$1 | MOV EAX,[x] ; MOV [L_x],$0 | MOV [L_x],$0 ; | Lock12: ; | MOV ECX,$1 ; | XCHG [L_y],ECX ; | CMP ECX,$0 ; | JE Lock14 ; | Lock13: ; | MOV ECX,[L_y] ; | CMP ECX,$0 ; | JE Lock12 ; | JMP Lock13 ; | Lock14: ; | MOV EBX,[y] ; | MOV [L_y],$0 ; forall (1:EAX=2 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r8),%eax _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock12: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%r9) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock14 _litmus_P1_31_: LitLock13: _litmus_P1_32_: movl (%r9),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock12 _litmus_P1_35_: jmp LitLock13 _litmus_P1_36_: LitLock14: _litmus_P1_37_: movl (%rdi),%edx _litmus_P1_38_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) Test X022-L Required Histogram (4 states) 45431463:>1:EAX=2; 1:EBX=0; x=1; 11198801:>1:EAX=1; 1:EBX=1; x=1; 81427982:>1:EAX=2; 1:EBX=1; x=1; 61941754:>1:EAX=2; 1:EBX=1; x=2; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (1:EAX=2 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1) is validated Hash=7bdbbd7b854741c164f03b6ed3e5eb37 Time X022-L 131.08 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X023-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023-L "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock15: | Lock21: ; MOV EAX,$1 | MOV ECX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],ECX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock17 | JE Lock23 ; Lock01: | Lock07: | Lock16: | Lock22: ; MOV EAX,[L_a] | MOV ECX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock15 | JE Lock21 ; JMP Lock01 | JMP Lock07 | JMP Lock16 | JMP Lock22 ; Lock02: | Lock08: | Lock17: | Lock23: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock18: | Lock24: ; MOV EAX,$1 | MOV ECX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EAX | XCHG [L_x],ECX | XCHG [L_z],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock20 | JE Lock26 ; Lock04: | Lock10: | Lock19: | Lock25: ; MOV EAX,[L_x] | MOV ECX,[L_x] | MOV EAX,[L_z] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 | JE Lock18 | JE Lock24 ; JMP Lock04 | JMP Lock10 | JMP Lock19 | JMP Lock25 ; Lock05: | Lock11: | Lock20: | Lock26: ; MOV [x],$1 | MOV EAX,[x] | MOV [z],$1 | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; | Lock12: | | Lock27: ; | MOV ECX,$1 | | MOV ECX,$1 ; | XCHG [L_y],ECX | | XCHG [L_a],ECX ; | CMP ECX,$0 | | CMP ECX,$0 ; | JE Lock14 | | JE Lock29 ; | Lock13: | | Lock28: ; | MOV ECX,[L_y] | | MOV ECX,[L_a] ; | CMP ECX,$0 | | CMP ECX,$0 ; | JE Lock12 | | JE Lock27 ; | JMP Lock13 | | JMP Lock28 ; | Lock14: | | Lock29: ; | MOV EBX,[y] | | MOV EBX,[a] ; | MOV [L_y],$0 | | MOV [L_a],$0 ; forall (1:EAX=2 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: LitLock21: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock23 _litmus_P3_5_: LitLock22: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock21 _litmus_P3_9_: jmp LitLock22 _litmus_P3_10_: LitLock23: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock24: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock26 _litmus_P3_18_: LitLock25: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock24 _litmus_P3_22_: jmp LitLock25 _litmus_P3_23_: LitLock26: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock27: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock29 _litmus_P3_31_: LitLock28: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock27 _litmus_P3_35_: jmp LitLock28 _litmus_P3_36_: LitLock29: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r8),%eax _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock12: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%r9) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock14 _litmus_P1_31_: LitLock13: _litmus_P1_32_: movl (%r9),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock12 _litmus_P1_35_: jmp LitLock13 _litmus_P1_36_: LitLock14: _litmus_P1_37_: movl (%rdi),%edx _litmus_P1_38_: movl $0,(%r9) _litmus_P2_0_: LitLock15: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock17 _litmus_P2_5_: LitLock16: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock15 _litmus_P2_9_: jmp LitLock16 _litmus_P2_10_: LitLock17: _litmus_P2_11_: movl $1,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock18: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock20 _litmus_P2_18_: LitLock19: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock18 _litmus_P2_22_: jmp LitLock19 _litmus_P2_23_: LitLock20: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X023-L Required Histogram (32 states) 2790 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 10617 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 258004:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 2891 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 4597318:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 684718:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 12719802:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 11510 :>1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 671537:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 370994:>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 2025680:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 281510:>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 12733658:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 2076716:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 13208358:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 34169 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 20406 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 1675786:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 27479 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 1536049:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 1536536:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 16707751:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 19451 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 26915 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 1471543:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 34080 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 1615322:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 1565348:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 16269476:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 72595 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 73318 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 7657673:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=2 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) is validated Hash=1a7d533e4d65ae5e45ab403f32872806 Time X023-L 167.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X024-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024-L "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV ECX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV ECX,[L_a] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; MOV [x],$1 | Lock09: | Lock15: ; MOV EAX,[x] | MOV EAX,$1 | MOV ECX,$1 ; Lock03: | XCHG [L_z],EAX | XCHG [L_z],ECX ; MOV ECX,$1 | CMP EAX,$0 | CMP ECX,$0 ; XCHG [L_y],ECX | JE Lock11 | JE Lock17 ; CMP ECX,$0 | Lock10: | Lock16: ; JE Lock05 | MOV EAX,[L_z] | MOV ECX,[L_z] ; Lock04: | CMP EAX,$0 | CMP ECX,$0 ; MOV ECX,[L_y] | JE Lock09 | JE Lock15 ; CMP ECX,$0 | JMP Lock10 | JMP Lock16 ; JE Lock03 | Lock11: | Lock17: ; JMP Lock04 | MOV [z],$1 | MOV EAX,[z] ; Lock05: | MOV [L_z],$0 | MOV [L_z],$0 ; MOV EBX,[y] | | Lock18: ; MOV [L_y],$0 | | MOV ECX,$1 ; | | XCHG [L_a],ECX ; | | CMP ECX,$0 ; | | JE Lock20 ; | | Lock19: ; | | MOV ECX,[L_a] ; | | CMP ECX,$0 ; | | JE Lock18 ; | | JMP Lock19 ; | | Lock20: ; | | MOV EBX,[a] ; | | MOV [L_a],$0 ; forall (0:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ (z=2 \/ z=1)) \/ 2:EAX=1 /\ z=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ z=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ z=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r11d _litmus_P2_15_: xchgl %r11d,(%r9) _litmus_P2_16_: cmpl $0,%r11d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r9),%r11d _litmus_P2_20_: cmpl $0,%r11d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rdi),%eax _litmus_P2_25_: movl $0,(%r9) _litmus_P2_26_: LitLock18: _litmus_P2_27_: movl $1,%r11d _litmus_P2_28_: xchgl %r11d,(%r10) _litmus_P2_29_: cmpl $0,%r11d _litmus_P2_30_: je LitLock20 _litmus_P2_31_: LitLock19: _litmus_P2_32_: movl (%r10),%r11d _litmus_P2_33_: cmpl $0,%r11d _litmus_P2_34_: je LitLock18 _litmus_P2_35_: jmp LitLock19 _litmus_P2_36_: LitLock20: _litmus_P2_37_: movl (%r8),%edx _litmus_P2_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r11) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%ebx _litmus_P0_7_: cmpl $0,%ebx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: movl $1,(%r8) _litmus_P0_14_: movl (%r8),%eax _litmus_P0_15_: LitLock03: _litmus_P0_16_: movl $1,%ebx _litmus_P0_17_: xchgl %ebx,(%r10) _litmus_P0_18_: cmpl $0,%ebx _litmus_P0_19_: je LitLock05 _litmus_P0_20_: LitLock04: _litmus_P0_21_: movl (%r10),%ebx _litmus_P0_22_: cmpl $0,%ebx _litmus_P0_23_: je LitLock03 _litmus_P0_24_: jmp LitLock04 _litmus_P0_25_: LitLock05: _litmus_P0_26_: movl (%rdi),%edx _litmus_P0_27_: movl $0,(%r10) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) Test X024-L Required Histogram (10 states) 329172:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=0; z=1; 1648527:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 20560090:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 677491:>0:EAX=1; 0:EBX=0; 2:EAX=1; 2:EBX=1; z=1; 2472106:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=1; z=1; 23186746:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 21336523:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=1; 1632599:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 1853483:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 26303263:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ (z=2 \/ z=1)) \/ 2:EAX=1 /\ z=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ z=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ z=1))) is validated Hash=7c180ef697555e3f9e86bac0cbb8be4d Time X024-L 129.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X025-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025-L "Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_z],EBX | XCHG [L_x],EAX | XCHG [L_y],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_z] | MOV EAX,[L_x] | MOV ECX,[L_y] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$1 | MOV [y],$2 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | Lock15: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_y],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 ; Lock04: | Lock10: | Lock16: ; MOV EBX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_y] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 ; JMP Lock04 | JMP Lock10 | JMP Lock16 ; Lock05: | Lock11: | Lock17: ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[y] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_y],$0 ; | | Lock18: ; | | MOV ECX,$1 ; | | XCHG [L_z],ECX ; | | CMP ECX,$0 ; | | JE Lock20 ; | | Lock19: ; | | MOV ECX,[L_z] ; | | CMP ECX,$0 ; | | JE Lock18 ; | | JMP Lock19 ; | | Lock20: ; | | MOV EBX,[z] ; | | MOV [L_z],$0 ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1)) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r11d _litmus_P2_15_: xchgl %r11d,(%r10) _litmus_P2_16_: cmpl $0,%r11d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r10),%r11d _litmus_P2_20_: cmpl $0,%r11d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r8),%eax _litmus_P2_25_: movl $0,(%r10) _litmus_P2_26_: LitLock18: _litmus_P2_27_: movl $1,%r11d _litmus_P2_28_: xchgl %r11d,(%r9) _litmus_P2_29_: cmpl $0,%r11d _litmus_P2_30_: je LitLock20 _litmus_P2_31_: LitLock19: _litmus_P2_32_: movl (%r9),%r11d _litmus_P2_33_: cmpl $0,%r11d _litmus_P2_34_: je LitLock18 _litmus_P2_35_: jmp LitLock19 _litmus_P2_36_: LitLock20: _litmus_P2_37_: movl (%rdi),%edx _litmus_P2_38_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%r8) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rsi),%eax _litmus_P0_25_: movl $0,(%r8) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) Test X025-L Required Histogram (10 states) 345243:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 1571115:>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 18576867:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 692697:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 2588037:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 25582151:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 20876857:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 1534002:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 2118719:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 26114312:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1)) is validated Hash=0e291bfca948389fabbefcae597cca91 Time X025-L 123.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X026-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026-L "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_a] | MOV EBX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$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],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EAX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EAX,[L_z] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 | JE Lock21 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JMP Lock22 ; Lock05: | Lock11: | Lock17: | Lock23: ; MOV EAX,[x] | MOV EAX,[y] | MOV [z],$1 | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; | | | Lock24: ; | | | MOV ECX,$1 ; | | | XCHG [L_a],ECX ; | | | CMP ECX,$0 ; | | | JE Lock26 ; | | | Lock25: ; | | | MOV ECX,[L_a] ; | | | CMP ECX,$0 ; | | | JE Lock24 ; | | | JMP Lock25 ; | | | Lock26: ; | | | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (0:EAX=1 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock24: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock26 _litmus_P3_31_: LitLock25: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock24 _litmus_P3_35_: jmp LitLock25 _litmus_P3_36_: LitLock26: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X026-L Required Histogram (22 states) 3893 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 23327 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 237145:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 34599 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 5610020:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 1493678:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 12233793:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 33662 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 808087:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 1437992:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 2380963:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 2047159:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 16744595:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 15293336:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 13141441:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 42826 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 73094 :>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 1521272:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 85266 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 2284036:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 7168487:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 17301329:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) is validated Hash=2e451adddb1aa9f22593d14d4aed782a Time X026-L 162.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X027-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027-L "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EBX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$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],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EAX,[L_z] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$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 [z],$1 | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; | | | Lock24: ; | | | MOV ECX,$1 ; | | | XCHG [L_a],ECX ; | | | CMP ECX,$0 ; | | | JE Lock26 ; | | | Lock25: ; | | | MOV ECX,[L_a] ; | | | CMP ECX,$0 ; | | | JE Lock24 ; | | | JMP Lock25 ; | | | Lock26: ; | | | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock24: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock26 _litmus_P3_31_: LitLock25: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock24 _litmus_P3_35_: jmp LitLock25 _litmus_P3_36_: LitLock26: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X027-L Required Histogram (22 states) 3384 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 256761:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 5478319:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 12118444:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 850864:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 2203587:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 17191737:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 12113099:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 24949 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 32304 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 1472869:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 37746 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 1437318:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 2291833:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 15362332:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 39607 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 1426683:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 2513164:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 17585768:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 67917 :>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 101939:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 7389376:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) is validated Hash=5aaeaf3a2c26ebdc2c494f504b7b6870 Time X027-L 163.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X028-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028-L "Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_z],EAX | XCHG [L_x],EAX | XCHG [L_y],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_z] | MOV EAX,[L_x] | MOV ECX,[L_y] ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | Lock15: ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_y],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 ; Lock04: | Lock10: | Lock16: ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_y] ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 ; JMP Lock04 | JMP Lock10 | JMP Lock16 ; Lock05: | Lock11: | Lock17: ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[y] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_y],$0 ; | | Lock18: ; | | MOV ECX,$1 ; | | XCHG [L_z],ECX ; | | CMP ECX,$0 ; | | JE Lock20 ; | | Lock19: ; | | MOV ECX,[L_z] ; | | CMP ECX,$0 ; | | JE Lock18 ; | | JMP Lock19 ; | | Lock20: ; | | MOV EBX,[z] ; | | MOV [L_z],$0 ; forall (2:EAX=2 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r11d _litmus_P2_15_: xchgl %r11d,(%r10) _litmus_P2_16_: cmpl $0,%r11d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r10),%r11d _litmus_P2_20_: cmpl $0,%r11d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r8),%eax _litmus_P2_25_: movl $0,(%r10) _litmus_P2_26_: LitLock18: _litmus_P2_27_: movl $1,%r11d _litmus_P2_28_: xchgl %r11d,(%r9) _litmus_P2_29_: cmpl $0,%r11d _litmus_P2_30_: je LitLock20 _litmus_P2_31_: LitLock19: _litmus_P2_32_: movl (%r9),%r11d _litmus_P2_33_: cmpl $0,%r11d _litmus_P2_34_: je LitLock18 _litmus_P2_35_: jmp LitLock19 _litmus_P2_36_: LitLock20: _litmus_P2_37_: movl (%rdi),%edx _litmus_P2_38_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) Test X028-L Required Histogram (10 states) 430653:>2:EAX=1; 2:EBX=0; x=1; y=1; 18913652:>2:EAX=2; 2:EBX=0; x=1; y=1; 2809217:>2:EAX=1; 2:EBX=1; x=1; y=1; 18430550:>2:EAX=2; 2:EBX=1; x=1; y=1; 1554440:>2:EAX=2; 2:EBX=0; x=2; y=1; 689116:>2:EAX=1; 2:EBX=1; x=2; y=1; 25412858:>2:EAX=2; 2:EBX=1; x=2; y=1; 1499877:>2:EAX=2; 2:EBX=0; x=1; y=2; 27949626:>2:EAX=2; 2:EBX=1; x=1; y=2; 2310011:>2:EAX=2; 2:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=2 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) is validated Hash=3e086b2e5c2ef23417572f4cf4dd971d Time X028-L 123.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X029-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X029-L "Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_a] | MOV EAX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$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],$1 | MOV [y],$2 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EBX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],EAX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EBX,[L_x] | MOV EAX,[L_y] | MOV EAX,[L_z] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 | JE Lock21 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JMP Lock22 ; Lock05: | Lock11: | Lock17: | Lock23: ; MOV EAX,[x] | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; | | | Lock24: ; | | | MOV ECX,$1 ; | | | XCHG [L_a],ECX ; | | | CMP ECX,$0 ; | | | JE Lock26 ; | | | Lock25: ; | | | MOV ECX,[L_a] ; | | | CMP ECX,$0 ; | | | JE Lock24 ; | | | JMP Lock25 ; | | | Lock26: ; | | | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (0:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock24: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock26 _litmus_P3_31_: LitLock25: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock24 _litmus_P3_35_: jmp LitLock25 _litmus_P3_36_: LitLock26: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X029-L Required Histogram (22 states) 24733 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 294130:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 1438922:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 12292345:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 1509412:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 2492530:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 14752690:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 12121177:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=1; 4126 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 33141 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 5698336:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 30434 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 853801:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 1959833:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 17041893:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 66032 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 1592835:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 7197479:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 18013736:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=2; 48908 :>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 79438 :>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 2454069:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1))) is validated Hash=d35e5bcd183bdc338c51f6aef122ac59 Time X029-L 163.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X030-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030-L "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EAX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$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],$2 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EAX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EAX,[L_z] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$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 [y],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; | | | Lock24: ; | | | MOV ECX,$1 ; | | | XCHG [L_a],ECX ; | | | CMP ECX,$0 ; | | | JE Lock26 ; | | | Lock25: ; | | | MOV ECX,[L_a] ; | | | CMP ECX,$0 ; | | | JE Lock24 ; | | | JMP Lock25 ; | | | Lock26: ; | | | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock24: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock26 _litmus_P3_31_: LitLock25: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock24 _litmus_P3_35_: jmp LitLock25 _litmus_P3_36_: LitLock26: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X030-L Required Histogram (22 states) 277540:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 11976569:>3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 2415961:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 11541266:>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 22434 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 1412955:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 1580128:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 14866844:>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 4185 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 5598022:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 874199:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 17450914:>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 29965 :>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 33711 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 2235284:>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 1574073:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 17971104:>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 67708 :>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 7342244:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 43570 :>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 2583498:>3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 97826 :>3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) is validated Hash=31124f99c1f38434067489b3de92cf73 Time X030-L 164.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X031-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031-L "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 ; Lock00: | Lock06: ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_y],ECX ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV ECX,[L_a] | MOV ECX,[L_y] ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [a],$1 | MOV [y],$1 ; MOV [L_a],$0 | MOV [L_y],$0 ; MOV [x],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[z] ; Lock03: | Lock09: ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_y],ECX | XCHG [L_a],ECX ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 ; Lock04: | Lock10: ; MOV ECX,[L_y] | MOV ECX,[L_a] ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 ; JMP Lock04 | JMP Lock10 ; Lock05: | Lock11: ; MOV EBX,[y] | MOV EBX,[a] ; MOV [L_y],$0 | MOV [L_a],$0 ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r10) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl $1,(%rdi) _litmus_P1_14_: movl (%rdi),%eax _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r11) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r11),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%r9),%edx _litmus_P1_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r11) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%ebx _litmus_P0_7_: cmpl $0,%ebx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: movl $1,(%r8) _litmus_P0_14_: movl (%r8),%eax _litmus_P0_15_: LitLock03: _litmus_P0_16_: movl $1,%ebx _litmus_P0_17_: xchgl %ebx,(%r10) _litmus_P0_18_: cmpl $0,%ebx _litmus_P0_19_: je LitLock05 _litmus_P0_20_: LitLock04: _litmus_P0_21_: movl (%r10),%ebx _litmus_P0_22_: cmpl $0,%ebx _litmus_P0_23_: je LitLock03 _litmus_P0_24_: jmp LitLock04 _litmus_P0_25_: LitLock05: _litmus_P0_26_: movl (%rdi),%edx _litmus_P0_27_: movl $0,(%r10) Test X031-L Required Histogram (3 states) 53162260:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 53237929:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 93599811:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) is validated Hash=fc82de6a25980a2ec727e3cc77fec133 Time X031-L 136.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X032-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032-L "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_x],ECX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_b] | MOV ECX,[L_x] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [b],$1 | MOV [x],$1 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_z],$0 ; Lock03: | MOV [y],$1 | MOV [a],$1 ; MOV EBX,$1 | MOV EAX,[y] | MOV EAX,[a] ; XCHG [L_x],EBX | Lock09: | Lock15: ; CMP EBX,$0 | MOV ECX,$1 | MOV ECX,$1 ; JE Lock05 | XCHG [L_z],ECX | XCHG [L_b],ECX ; Lock04: | CMP ECX,$0 | CMP ECX,$0 ; MOV EBX,[L_x] | JE Lock11 | JE Lock17 ; CMP EBX,$0 | Lock10: | Lock16: ; JE Lock03 | MOV ECX,[L_z] | MOV ECX,[L_b] ; JMP Lock04 | CMP ECX,$0 | CMP ECX,$0 ; Lock05: | JE Lock09 | JE Lock15 ; MOV EAX,[x] | JMP Lock10 | JMP Lock16 ; MOV [L_x],$0 | Lock11: | Lock17: ; | MOV EBX,[z] | MOV EBX,[b] ; | MOV [L_z],$0 | MOV [L_b],$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))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%r9) _litmus_P2_14_: movl (%r9),%eax _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r8),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r11) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r9) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl $1,(%r8) _litmus_P1_14_: movl (%r8),%eax _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r10) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r10),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rdi),%edx _litmus_P1_27_: movl $0,(%r10) Test X032-L Required Histogram (7 states) 1748169:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 1873606:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 22798507:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 1903030:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 23603836:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 26224111:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 21848741:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition 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))) is validated Hash=62b2505fb059a5c0807c365ce6a168b0 Time X032-L 130.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X033-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033-L "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_x],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_b] | MOV ECX,[L_x] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [b],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_z],$0 ; Lock03: | MOV [y],$1 | MOV [a],$1 ; MOV EAX,$1 | MOV EAX,[y] | MOV EAX,[a] ; XCHG [L_x],EAX | Lock09: | Lock15: ; CMP EAX,$0 | MOV ECX,$1 | MOV ECX,$1 ; JE Lock05 | XCHG [L_z],ECX | XCHG [L_b],ECX ; Lock04: | CMP ECX,$0 | CMP ECX,$0 ; MOV EAX,[L_x] | JE Lock11 | JE Lock17 ; CMP EAX,$0 | Lock10: | Lock16: ; JE Lock03 | MOV ECX,[L_z] | MOV ECX,[L_b] ; JMP Lock04 | CMP ECX,$0 | CMP ECX,$0 ; Lock05: | JE Lock09 | JE Lock15 ; MOV [x],$1 | JMP Lock10 | JMP Lock16 ; MOV [L_x],$0 | Lock11: | Lock17: ; | MOV EBX,[z] | MOV EBX,[b] ; | MOV [L_z],$0 | MOV [L_b],$0 ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%r9) _litmus_P2_14_: movl (%r9),%eax _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r8),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r11) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r9) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl $1,(%r8) _litmus_P1_14_: movl (%r8),%eax _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r10) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r10),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rdi),%edx _litmus_P1_27_: movl $0,(%r10) Test X033-L Required Histogram (7 states) 1841960:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 23242079:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 23480299:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 21524432:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 1837228:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 2104153:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 25969849:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is validated Hash=dbaeb809d4e96b33eb8415816d28d2d0 Time X033-L 131.64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X034-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034-L "Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 ; Lock00: | Lock06: ; MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_z],EBX | XCHG [L_x],ECX ; CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV EBX,[L_z] | MOV ECX,[L_x] ; CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [z],$1 | MOV [x],$1 ; MOV [L_z],$0 | MOV [L_x],$0 ; Lock03: | MOV [y],$1 ; MOV EBX,$1 | MOV EAX,[y] ; XCHG [L_x],EBX | Lock09: ; CMP EBX,$0 | MOV ECX,$1 ; JE Lock05 | XCHG [L_z],ECX ; Lock04: | CMP ECX,$0 ; MOV EBX,[L_x] | JE Lock11 ; CMP EBX,$0 | Lock10: ; JE Lock03 | MOV ECX,[L_z] ; JMP Lock04 | CMP ECX,$0 ; Lock05: | JE Lock09 ; MOV EAX,[x] | JMP Lock10 ; MOV [L_x],$0 | Lock11: ; | MOV EBX,[z] ; | MOV [L_z],$0 ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r11) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r9) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl $1,(%r8) _litmus_P1_14_: movl (%r8),%eax _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r10) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r10),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rdi),%edx _litmus_P1_27_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%r8) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rsi),%eax _litmus_P0_25_: movl $0,(%r8) Test X034-L Required Histogram (3 states) 53381444:>0:EAX=1; 1:EAX=1; 1:EBX=0; 61917065:>0:EAX=0; 1:EAX=1; 1:EBX=1; 84701491:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) is validated Hash=e0828d2d985bc3caeb9f421f66575cb2 Time X034-L 131.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X035-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035-L "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EBX | XCHG [L_y],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_a] | MOV EBX,[L_x] | MOV ECX,[L_y] ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | MOV [z],$1 ; MOV EBX,$1 | MOV EBX,$1 | MOV EAX,[z] ; XCHG [L_x],EBX | XCHG [L_y],EBX | Lock15: ; CMP EBX,$0 | CMP EBX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | XCHG [L_a],ECX ; Lock04: | Lock10: | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EBX,[L_y] | JE Lock17 ; CMP EBX,$0 | CMP EBX,$0 | Lock16: ; JE Lock03 | JE Lock09 | MOV ECX,[L_a] ; JMP Lock04 | JMP Lock10 | CMP ECX,$0 ; Lock05: | Lock11: | JE Lock15 ; MOV EAX,[x] | MOV EAX,[y] | JMP Lock16 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock17: ; | | MOV EBX,[a] ; | | MOV [L_a],$0 ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%rdi) _litmus_P2_14_: movl (%rdi),%eax _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r9),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) Test X035-L Required Histogram (7 states) 1992712:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 1839702:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 22697877:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2082423:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 25494184:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 24663132:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 21229970:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) is validated Hash=6fed3a2495db9cd00ce244324b63a946 Time X035-L 124.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X036-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036-L "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_b] | MOV EBX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EAX,[a] ; XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EBX | Lock21: ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] | JE Lock23 ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X036-L Required Histogram (15 states) 59583 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 69834 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1805923:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 53591 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 6558690:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 1717079:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 14792424:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 63301 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 2077074:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 7352175:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 16884807:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 1962752:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 16549763:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 16447906:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 13605098:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is validated Hash=bf881738e8aeb3f088efcbfe058131a4 Time X036-L 164.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X037-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037-L "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_b] | MOV EBX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EAX,[a] ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EBX | Lock21: ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] | JE Lock23 ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X037-L Required Histogram (15 states) 53994 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 1794674:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 6343316:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 14391658:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 2283072:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 16959092:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 17139908:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 13168419:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 76547 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 49654 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 1686603:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 85051 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 7376664:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 2116921:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 16474427:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is validated Hash=adae4dd5d22489d9b5afd3a635699160 Time X037-L 165.58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X038-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038-L "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EBX | XCHG [L_y],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_a] | MOV EBX,[L_x] | MOV ECX,[L_y] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | MOV [z],$1 ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,[z] ; XCHG [L_x],EAX | XCHG [L_y],EBX | Lock15: ; CMP EAX,$0 | CMP EBX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | XCHG [L_a],ECX ; Lock04: | Lock10: | CMP ECX,$0 ; MOV EAX,[L_x] | MOV EBX,[L_y] | JE Lock17 ; CMP EAX,$0 | CMP EBX,$0 | Lock16: ; JE Lock03 | JE Lock09 | MOV ECX,[L_a] ; JMP Lock04 | JMP Lock10 | CMP ECX,$0 ; Lock05: | Lock11: | JE Lock15 ; MOV [x],$1 | MOV EAX,[y] | JMP Lock16 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock17: ; | | MOV EBX,[a] ; | | MOV [L_a],$0 ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%rdi) _litmus_P2_14_: movl (%rdi),%eax _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r9),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) Test X038-L Required Histogram (7 states) 1986259:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 22241489:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 26063386:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 19734589:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 1874950:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 2291090:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 25808237:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is validated Hash=5c8febab798f9cdf9d2707bbdcbf3fe1 Time X038-L 125.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X039-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039-L "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_b] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV EAX,[a] ; XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],EBX | Lock21: ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] | JE Lock23 ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[z] | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X039-L Required Histogram (15 states) 74080 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 2057016:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 1696136:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 14454776:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 7195197:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 17267784:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 15769333:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 13483455:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 79600 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 55465 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 6522147:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 70659 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 2315460:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 1947075:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 17011817:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) is validated Hash=0b88f97383f43e75f433db87b071c820 Time X039-L 165.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X040-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040-L "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_b] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV EAX,[a] ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EBX | Lock21: ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] | JE Lock23 ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X040-L Required Histogram (15 states) 1907866:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 14060297:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 17157762:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 12962144:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 65643 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 1644155:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 7471956:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 16279907:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 72225 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 6386882:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 2474332:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 17337534:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 50033 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 81193 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 2048071:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) is validated Hash=3f7b54e20e1baac4f0a5d51b885c9c51 Time X040-L 166.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X041-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041-L "Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 ; Lock00: | Lock06: ; MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_z],EAX | XCHG [L_x],ECX ; CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV EAX,[L_z] | MOV ECX,[L_x] ; CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [z],$1 | MOV [x],$2 ; MOV [L_z],$0 | MOV [L_x],$0 ; Lock03: | MOV [y],$1 ; MOV EAX,$1 | MOV EAX,[y] ; XCHG [L_x],EAX | Lock09: ; CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | XCHG [L_z],ECX ; Lock04: | CMP ECX,$0 ; MOV EAX,[L_x] | JE Lock11 ; CMP EAX,$0 | Lock10: ; JE Lock03 | MOV ECX,[L_z] ; JMP Lock04 | CMP ECX,$0 ; Lock05: | JE Lock09 ; MOV [x],$1 | JMP Lock10 ; MOV [L_x],$0 | Lock11: ; | MOV EBX,[z] ; | MOV [L_z],$0 ; forall (1:EAX=1 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1)) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r11) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r9) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl $1,(%r8) _litmus_P1_14_: movl (%r8),%eax _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r10) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r10),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rdi),%edx _litmus_P1_27_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) Test X041-L Required Histogram (3 states) 54287316:>1:EAX=1; 1:EBX=0; x=1; 82106305:>1:EAX=1; 1:EBX=1; x=1; 63606379:>1:EAX=1; 1:EBX=1; x=2; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (1:EAX=1 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1)) is validated Hash=92a499c580cf78cd1f9be404febc0e8c Time X041-L 131.93 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X042-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042-L "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EAX | XCHG [L_y],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_a] | MOV EAX,[L_x] | MOV ECX,[L_y] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | MOV [z],$1 ; MOV EBX,$1 | MOV EAX,$1 | MOV EAX,[z] ; XCHG [L_x],EBX | XCHG [L_y],EAX | Lock15: ; CMP EBX,$0 | CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | XCHG [L_a],ECX ; Lock04: | Lock10: | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EAX,[L_y] | JE Lock17 ; CMP EBX,$0 | CMP EAX,$0 | Lock16: ; JE Lock03 | JE Lock09 | MOV ECX,[L_a] ; JMP Lock04 | JMP Lock10 | CMP ECX,$0 ; Lock05: | Lock11: | JE Lock15 ; MOV EAX,[x] | MOV [y],$1 | JMP Lock16 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock17: ; | | MOV EBX,[a] ; | | MOV [L_a],$0 ; forall (2:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 0:EAX=0 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%rdi) _litmus_P2_14_: movl (%rdi),%eax _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r9),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) Test X042-L Required Histogram (7 states) 1843035:>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 22597761:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 25185855:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 20077888:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 2055206:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 2181057:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 26059198:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 0:EAX=0 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1))) is validated Hash=85d504abc641b068b534758a44262f20 Time X042-L 125.64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X043-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X043-L "Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_b] | MOV EBX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV EAX,[a] ; XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EAX | Lock21: ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EAX,[L_z] | JE Lock23 ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV EAX,[x] | MOV EAX,[y] | MOV [z],$1 | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X043-L Required Histogram (15 states) 51850 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 6347982:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 1951742:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 14760024:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 1913460:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 16408514:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 16478006:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 13462005:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 60142 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 95737 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 2042934:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 68991 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 2040090:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 7371351:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 16947172:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1)))) is validated Hash=67879d183f92542c6ae81a772f8f1827 Time X043-L 165.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X044-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044-L "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_b] | MOV EBX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV EAX,[a] ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EAX | Lock21: ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EAX,[L_z] | JE Lock23 ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X044-L Required Histogram (15 states) 6203549:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 14433991:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 16725033:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 12905993:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 48244 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 1890582:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 2047198:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 16736401:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 55591 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 1911293:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 2207900:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 17107500:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=2; 88557 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 84119 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 7554049:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) is validated Hash=d0dc096bf553400e9f2dca106d942814 Time X044-L 166.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X045-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045-L "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EAX | XCHG [L_y],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_a] | MOV EAX,[L_x] | MOV ECX,[L_y] ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | MOV [z],$1 ; MOV EAX,$1 | MOV EAX,$1 | MOV EAX,[z] ; XCHG [L_x],EAX | XCHG [L_y],EAX | Lock15: ; CMP EAX,$0 | CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | XCHG [L_a],ECX ; Lock04: | Lock10: | CMP ECX,$0 ; MOV EAX,[L_x] | MOV EAX,[L_y] | JE Lock17 ; CMP EAX,$0 | CMP EAX,$0 | Lock16: ; JE Lock03 | JE Lock09 | MOV ECX,[L_a] ; JMP Lock04 | JMP Lock10 | CMP ECX,$0 ; Lock05: | Lock11: | JE Lock15 ; MOV [x],$1 | MOV [y],$1 | JMP Lock16 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock17: ; | | MOV EBX,[a] ; | | MOV [L_a],$0 ; forall (2:EAX=1 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%rdi) _litmus_P2_14_: movl (%rdi),%eax _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r9),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) Test X045-L Required Histogram (7 states) 22969563:>2:EAX=1; 2:EBX=0; x=1; y=1; 18891926:>2:EAX=1; 2:EBX=1; x=1; y=1; 1834917:>2:EAX=1; 2:EBX=0; x=2; y=1; 25397672:>2:EAX=1; 2:EBX=1; x=2; y=1; 2142182:>2:EAX=1; 2:EBX=0; x=1; y=2; 26562203:>2:EAX=1; 2:EBX=1; x=1; y=2; 2201537:>2:EAX=1; 2:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) is validated Hash=e26462d734912a0264da2884bb890aee Time X045-L 126.62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X046-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046-L "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_b] | MOV EAX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EBX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV EAX,[a] ; XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],EAX | Lock21: ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EAX,[L_y] | MOV EAX,[L_z] | JE Lock23 ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV EAX,[x] | MOV [y],$1 | MOV [z],$1 | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (0:EAX=1 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X046-L Required Histogram (15 states) 1820574:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 14796620:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 15714604:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 12998314:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 47235 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 6474045:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 1813401:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 16756324:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 81923 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 2093422:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 7307521:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 17692759:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=2; 71021 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 63207 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 2269030:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) is validated Hash=451770e407a390cf83c1b07ee3ade115 Time X046-L 167.24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X047-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047-L "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_b] | MOV EAX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EAX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV EAX,[a] ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EAX | Lock21: ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EAX,[L_z] | JE Lock23 ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X047-L Required Histogram (15 states) 14393332:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 12380044:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 1796527:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 16418834:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 6277749:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 17145291:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 42447 :>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 1937235:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 2013742:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 17539663:>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 79436 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 7492288:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 57919 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 2345524:>3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 79969 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) is validated Hash=90341b89e925cb05ca47cf4991b6367f Time X047-L 168.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X048-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048-L "Fre PodWR Fre PodWR" {} P0 | P1 ; Lock00: | Lock06: ; MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_y],EBX | XCHG [L_x],EBX ; CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV EBX,[L_y] | MOV EBX,[L_x] ; CMP EBX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [y],$1 | MOV [x],$1 ; MOV [L_y],$0 | MOV [L_x],$0 ; Lock03: | Lock09: ; MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_x],EBX | XCHG [L_y],EBX ; CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 ; Lock04: | Lock10: ; MOV EBX,[L_x] | MOV EBX,[L_y] ; CMP EBX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 ; JMP Lock04 | JMP Lock10 ; Lock05: | Lock11: ; MOV EAX,[x] | MOV EAX,[y] ; MOV [L_x],$0 | MOV [L_y],$0 ; forall (0:EAX=1 /\ (1:EAX=1 \/ 1:EAX=0) \/ 0:EAX=0 /\ 1:EAX=1) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%r8) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rsi),%eax _litmus_P0_25_: movl $0,(%r8) Test X048-L Required Histogram (3 states) 64227923:>0:EAX=1; 1:EAX=0; 64886495:>0:EAX=0; 1:EAX=1; 70885582:>0:EAX=1; 1:EAX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 \/ 1:EAX=0) \/ 0:EAX=0 /\ 1:EAX=1) is validated Hash=8496c37f99fa3ca2b56c4ea54c3369fb Time X048-L 126.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X049-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049-L "Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_z],EBX | XCHG [L_x],EBX | XCHG [L_y],EBX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_z] | MOV EBX,[L_x] | MOV EBX,[L_y] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | Lock15: ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EBX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 ; Lock04: | Lock10: | Lock16: ; MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 ; JMP Lock04 | JMP Lock10 | JMP Lock16 ; Lock05: | Lock11: | Lock17: ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ 2:EAX=1)) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%r8) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rsi),%eax _litmus_P0_25_: movl $0,(%r8) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) Test X049-L Required Histogram (7 states) 2000139:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2168461:>0:EAX=0; 1:EAX=1; 2:EAX=0; 25151285:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2152541:>0:EAX=0; 1:EAX=0; 2:EAX=1; 25855432:>0:EAX=1; 1:EAX=0; 2:EAX=1; 24866722:>0:EAX=0; 1:EAX=1; 2:EAX=1; 17805420:>0:EAX=1; 1:EAX=1; 2:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ 2:EAX=1)) is validated Hash=f6bd7872ec42b5555a4a656473af2bb3 Time X049-L 119.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X050-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050-L "Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EBX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_a] | MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$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],$1 | 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 EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EBX | XCHG [L_a],EBX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] | MOV EBX,[L_a] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 | JE Lock21 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JMP Lock22 ; Lock05: | Lock11: | Lock17: | Lock23: ; MOV EAX,[x] | 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 (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ 3:EAX=1))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X050-L Required Histogram (15 states) 73347 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 70926 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 2034532:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 75962 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 7195095:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 2025790:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 16292270:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 65305 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 2023248:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 7174542:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 16282558:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 2003326:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 16192721:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 16419534:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 12070844:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ 3:EAX=1))) is validated Hash=b1210f205cc76920bb5b061f145f7cd6 Time X050-L 156.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X051-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051-L "Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$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 EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EBX | XCHG [L_a],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] | MOV EBX,[L_a] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$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))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X051-L Required Histogram (15 states) 67997 :>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 1995475:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 6998603:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 15857750:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 2214672:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 16236291:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 16528627:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 12157432:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=1; 77910 :>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 74287 :>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 1987901:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 97054 :>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 7171614:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 2243565:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 16290822:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition 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))) is validated Hash=e74fa7ebf633e2b685fd01305f8fa772 Time X051-L 158.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X052-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052-L "Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_z],EAX | XCHG [L_x],EBX | XCHG [L_y],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_z] | MOV EBX,[L_x] | MOV EBX,[L_y] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | Lock15: ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 ; Lock04: | Lock10: | Lock16: ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 ; JMP Lock04 | JMP Lock10 | JMP Lock16 ; Lock05: | Lock11: | Lock17: ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; forall (1:EAX=1 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ x=1)) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) Test X052-L Required Histogram (7 states) 2098196:>1:EAX=0; 2:EAX=0; x=1; 24898038:>1:EAX=1; 2:EAX=0; x=1; 25812505:>1:EAX=0; 2:EAX=1; x=1; 16829333:>1:EAX=1; 2:EAX=1; x=1; 2249378:>1:EAX=1; 2:EAX=0; x=2; 2185442:>1:EAX=0; 2:EAX=1; x=2; 25927108:>1:EAX=1; 2:EAX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ x=1)) is validated Hash=21af30b6d7c99bbb0929c8ff3a09b84b Time X052-L 119.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X053-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053-L "Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EBX ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$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],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EBX | XCHG [L_a],EBX ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] | MOV EBX,[L_a] ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$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 [y],$1 | MOV EAX,[z] | MOV EAX,[a] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_a],$0 ; forall (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X053-L Required Histogram (15 states) 2207846:>2:EAX=0; 3:EAX=0; x=1; y=1; 15916482:>2:EAX=1; 3:EAX=0; x=1; y=1; 16598185:>2:EAX=0; 3:EAX=1; x=1; y=1; 11467418:>2:EAX=1; 3:EAX=1; x=1; y=1; 68595 :>2:EAX=0; 3:EAX=0; x=2; y=1; 1817156:>2:EAX=1; 3:EAX=0; x=2; y=1; 7140369:>2:EAX=0; 3:EAX=1; x=2; y=1; 16102496:>2:EAX=1; 3:EAX=1; x=2; y=1; 76938 :>2:EAX=0; 3:EAX=0; x=1; y=2; 7111452:>2:EAX=1; 3:EAX=0; x=1; y=2; 2344980:>2:EAX=0; 3:EAX=1; x=1; y=2; 16855655:>2:EAX=1; 3:EAX=1; x=1; y=2; 68541 :>2:EAX=1; 3:EAX=0; x=2; y=2; 76823 :>2:EAX=0; 3:EAX=1; x=2; y=2; 2147064:>2:EAX=1; 3:EAX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) is validated Hash=779cf8ea22fe7caff70d0a9ca13a2d20 Time X053-L 159.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X054-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054-L "Fre PodWW Wse PodWR" {} P0 | P1 ; Lock00: | Lock06: ; MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_y],EAX | XCHG [L_x],EBX ; CMP EAX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV EAX,[L_y] | MOV EBX,[L_x] ; CMP EAX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [y],$1 | MOV [x],$2 ; MOV [L_y],$0 | MOV [L_x],$0 ; Lock03: | Lock09: ; MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EBX ; CMP EAX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 ; Lock04: | Lock10: ; MOV EAX,[L_x] | MOV EBX,[L_y] ; CMP EAX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 ; JMP Lock04 | JMP Lock10 ; Lock05: | Lock11: ; MOV [x],$1 | MOV EAX,[y] ; MOV [L_x],$0 | MOV [L_y],$0 ; forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) Test X054-L Required Histogram (3 states) 66270439:>1:EAX=0; x=1; 69469167:>1:EAX=1; x=1; 64260394:>1:EAX=1; x=2; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) is validated Hash=98231cefc19f79f58d18ef9e912f76fc Time X054-L 126.95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X055-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055-L "Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EBX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$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],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EAX | XCHG [L_a],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EAX,[L_z] | MOV EBX,[L_a] ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$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 [z],$1 | MOV EAX,[a] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_a],$0 ; forall (1:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X055-L Required Histogram (15 states) 7002609:>1:EAX=0; 3:EAX=0; x=1; z=1; 16227537:>1:EAX=1; 3:EAX=0; x=1; z=1; 15998677:>1:EAX=0; 3:EAX=1; x=1; z=1; 11910610:>1:EAX=1; 3:EAX=1; x=1; z=1; 64923 :>1:EAX=0; 3:EAX=0; x=2; z=1; 2140646:>1:EAX=1; 3:EAX=0; x=2; z=1; 2111513:>1:EAX=0; 3:EAX=1; x=2; z=1; 16154970:>1:EAX=1; 3:EAX=1; x=2; z=1; 71624 :>1:EAX=0; 3:EAX=0; x=1; z=2; 2166845:>1:EAX=1; 3:EAX=0; x=1; z=2; 2198618:>1:EAX=0; 3:EAX=1; x=1; z=2; 16449284:>1:EAX=1; 3:EAX=1; x=1; z=2; 95228 :>1:EAX=1; 3:EAX=0; x=2; z=2; 91617 :>1:EAX=0; 3:EAX=1; x=2; z=2; 7315299:>1:EAX=1; 3:EAX=1; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1)))) is validated Hash=a88455a0adf8b1326ec8d6f234d0073a Time X055-L 159.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X056-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056-L "Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_z],EAX | XCHG [L_x],EAX | XCHG [L_y],EBX ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_z] | MOV EAX,[L_x] | MOV EBX,[L_y] ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | Lock15: ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EBX ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 ; Lock04: | Lock10: | Lock16: ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 ; JMP Lock04 | JMP Lock10 | JMP Lock16 ; Lock05: | Lock11: | Lock17: ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; forall (2:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) Test X056-L Required Histogram (7 states) 25721583:>2:EAX=0; x=1; y=1; 16342954:>2:EAX=1; x=1; y=1; 2151165:>2:EAX=0; x=2; y=1; 24770733:>2:EAX=1; x=2; y=1; 2267566:>2:EAX=0; x=1; y=2; 26478999:>2:EAX=1; x=1; y=2; 2267000:>2:EAX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) is validated Hash=268ac22112afe195684b81d3f5feed6d Time X056-L 119.27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X057-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X057-L "Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EBX ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$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],$2 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EAX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EAX | XCHG [L_a],EBX ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EAX,[L_z] | MOV EBX,[L_a] ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$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 [y],$1 | MOV [z],$1 | MOV EAX,[a] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_a],$0 ; forall (3:EAX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X057-L Required Histogram (15 states) 16323485:>3:EAX=0; x=1; y=1; z=1; 11150662:>3:EAX=1; x=1; y=1; z=1; 2027511:>3:EAX=0; x=2; y=1; z=1; 15940517:>3:EAX=1; x=2; y=1; z=1; 7191600:>3:EAX=0; x=1; y=2; z=1; 16210854:>3:EAX=1; x=1; y=2; z=1; 68639 :>3:EAX=0; x=2; y=2; z=1; 1947642:>3:EAX=1; x=2; y=2; z=1; 2436488:>3:EAX=0; x=1; y=1; z=2; 16753152:>3:EAX=1; x=1; y=1; z=2; 85339 :>3:EAX=0; x=2; y=1; z=2; 7394387:>3:EAX=1; x=2; y=1; z=2; 76764 :>3:EAX=0; x=1; y=2; z=2; 2318232:>3:EAX=1; x=1; y=2; z=2; 74728 :>3:EAX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) is validated Hash=5cfda5d2f5e99d2d4c0b0bf8512e819a Time X057-L 160.74 Revision 6665, version 3.00+1 Parameters #ifndef SIZE_OF_TEST #define SIZE_OF_TEST 5000 #endif #ifndef NUMBER_OF_RUN #define NUMBER_OF_RUN 200 #endif #ifndef AVAIL #define AVAIL 8 #endif /* gcc options: -D_GNU_SOURCE -Wall -std=gnu99 -fomit-frame-pointer -O2 -m64 -pthread */ /* barrier: user */ /* launch: changing */ /* cache: false */ /* call: false */ /* affinity: incr4 */ /* randomise_affinity: false */ /* prealloc: false */ /* memory: indirect */ /* safer: true */ /* preload: true */ /* para: self */ /* speedcheck: true */ /* proc used: 8 */ GCCOPTS="-D_GNU_SOURCE -Wall -std=gnu99 -fomit-frame-pointer -O2 -m64 -pthread" LITMUSOPTS=+ra -r 10000 Wed Dec 29 22:40:12 CET 2010