Tue Dec 28 15:44:06 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,(%r9) _litmus_P1_1_: movl (%r9),%r8d _litmus_P1_2_: movl (%r10),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl (%r10),%r8d _litmus_P0_2_: movl (%r9),%eax Test X000 Required Histogram (4 states) 357 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 19961 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 19671 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 11 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 39643, Negative: 357 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,(%rbp) _litmus_P2_1_: movl (%rbp),%edx _litmus_P2_2_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%rbp) _litmus_P1_1_: movl (%rbp),%edx _litmus_P1_2_: movl (%r12),%eax _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl (%r12),%edx _litmus_P0_2_: movl (%rbp),%eax Test X001 Required Histogram (8 states) 38 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 6931 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 6434 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 1931 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 4045 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 1425 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 4195 :>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: 24962, Negative: 38 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: movl (%rbp),%eax _litmus_P1_0_: movl $1,(%rbp) _litmus_P1_1_: movl (%rbp),%edx _litmus_P1_2_: movl (%r12),%eax _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl (%r13),%edx _litmus_P0_3_: movl (%r14),%eax Test X002 Required Histogram (7 states) 25 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 4137 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 5157 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3162 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 4743 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 4193 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3583 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 24975, Negative: 25 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P2_1_: movl (%rbp),%edx _litmus_P2_2_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%rbp) _litmus_P1_1_: movl (%rbp),%edx _litmus_P1_2_: movl (%r12),%eax _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl (%rdx),%eax Test X003 Required Histogram (7 states) 46 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 6785 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 6451 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 1858 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3884 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 1566 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 4410 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 24954, Negative: 46 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r10) _litmus_P3_1_: movl (%r10),%r8d _litmus_P3_2_: movl (%r9),%eax _litmus_P2_0_: movl $1,(%r9) _litmus_P2_1_: movl (%r9),%r8d _litmus_P2_2_: movl (%r10),%eax _litmus_P1_0_: movl $1,(%rbp) _litmus_P1_1_: movl (%r8),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl (%r8),%eax Test X004 Required Histogram (15 states) 11 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 683 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 1906 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 1575 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 737 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 2959 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 1494 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 920 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 2171 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 2076 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 2476 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 65 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 1758 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 1077 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 92 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 19989, Negative: 11 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl (%r10),%r9d _litmus_P2_2_: movl (%r11),%eax _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X005 Required Histogram (16 states) 967 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 4358 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 4261 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 2868 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 2805 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 374 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 1317 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 8 :>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; 431 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 139 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 293 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 2804 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 2186 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 2129 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 57 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 24997, 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: movl (%r13),%eax _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl (%r12),%edx _litmus_P1_2_: movl (%r13),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) Test X006 Required Histogram (10 states) 5762 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 23 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 5387 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 60 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 4779 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 9 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 83 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=2; 4616 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 5732 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 3549 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 29917, Negative: 83 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%r10) _litmus_P2_1_: movl (%r10),%r9d _litmus_P2_2_: movl (%r11),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl (%r9),%eax Test X007 Required Histogram (20 states) 5 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 4014 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 1820 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 18 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 4789 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 1184 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 11 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 3052 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 427 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 13 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 1035 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 1238 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 411 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 2345 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 2405 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 3225 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 2391 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 1615 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; No Witnesses Positive: 29999, Negative: 1 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%r10) _litmus_P2_1_: movl (%r10),%r9d _litmus_P2_2_: movl (%r11),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X008 Required Histogram (19 states) 6 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 6259 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 5143 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 1 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 641 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 1250 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 6 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 2350 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 7037 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 7 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 1144 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 2205 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 6642 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 3774 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 2294 :>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; 125 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 2924 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 3191 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; No Witnesses Positive: 44999, 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P1_1_: movl (%r9),%r8d _litmus_P1_2_: movl (%r10),%eax _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl (%r10),%r9d _litmus_P0_3_: movl (%r11),%eax Test X009 Required Histogram (4 states) 151 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 19864 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 19958 :>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: 39849, Negative: 151 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: movl (%rbp),%eax _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: movl (%r13),%edx _litmus_P1_3_: movl (%r14),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl (%rbx),%eax Test X010 Required Histogram (7 states) 76 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 4786 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 5578 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2702 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 4691 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3523 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3644 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 24924, Negative: 76 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,(%r13) _litmus_P2_1_: movl (%r13),%edx _litmus_P2_2_: movl (%r12),%eax _litmus_P1_0_: movl $2,(%r13) _litmus_P1_1_: movl $1,(%r14) _litmus_P1_2_: movl (%r14),%edx _litmus_P1_3_: movl (%r15),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X011 Required Histogram (8 states) 5545 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 4581 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 2870 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 1 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 69 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=2; 3714 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 4384 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 3836 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 24931, Negative: 69 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P1_1_: movl (%r9),%r8d _litmus_P1_2_: movl (%r10),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl (%rbp),%eax Test X012 Required Histogram (4 states) 107 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 19924 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 19955 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 14 :>0:EAX=1; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 39893, Negative: 107 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r10) _litmus_P3_1_: movl (%r10),%r8d _litmus_P3_2_: movl (%r9),%eax _litmus_P2_0_: movl $1,(%rbp) _litmus_P2_1_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl (%r9),%r8d _litmus_P1_2_: movl (%r10),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl (%r8),%eax Test X013 Required Histogram (15 states) 14 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1793 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 2399 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 2195 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1240 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 3980 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 2858 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 1250 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 2279 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 2884 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 4976 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 299 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 2422 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 990 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 421 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 29986, Negative: 14 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r10) _litmus_P1_1_: movl (%r10),%r9d _litmus_P1_2_: movl (%r11),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X014 Required Histogram (20 states) 3038 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 11 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 5068 :>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 7120 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 34 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 3000 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 23 :>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 2972 :>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; 1607 :>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 9 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1229 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 2 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 543 :>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 1140 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 1655 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 2677 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 6724 :>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 2099 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 1047 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 39998, Negative: 2 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: movl (%rbp),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl (%rbx),%eax _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl (%r13),%edx _litmus_P0_3_: movl (%r14),%eax Test X015 Required Histogram (7 states) 59 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 4357 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 6578 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3400 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 6268 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 5634 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3704 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 29941, Negative: 59 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,(%rbp) _litmus_P2_1_: movl (%rbp),%edx _litmus_P2_2_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl (%rbx),%eax _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl (%rdx),%eax Test X016 Required Histogram (7 states) 16 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 5489 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 5805 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2574 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 4939 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2829 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3348 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 24984, Negative: 16 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r10) _litmus_P3_1_: movl (%r10),%r8d _litmus_P3_2_: movl (%r9),%eax _litmus_P2_0_: movl $1,(%rbp) _litmus_P2_1_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rbp) _litmus_P1_1_: movl (%r8),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl (%r8),%eax Test X017 Required Histogram (15 states) 6 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1501 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 3021 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 3713 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1218 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 3146 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 3983 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 1779 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 3803 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 3882 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 3023 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 732 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 3093 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 1849 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 251 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 34994, Negative: 6 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X018 Required Histogram (15 states) 720 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 3199 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 2865 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 2804 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 2318 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 432 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 972 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 2 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 349 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 63 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 358 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 2140 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 2348 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 1369 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 61 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 19998, Negative: 2 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.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: movl (%r13),%eax _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl (%rbp),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) Test X019 Required Histogram (8 states) 5558 :>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 3379 :>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 3229 :>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 10 :>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 32 :>1:EAX=0; 2:EAX=1; 2:EBX=0; x=2; 4975 :>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 4292 :>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 3525 :>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 24968, Negative: 32 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r9),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl (%r9),%eax Test X020 Required Histogram (15 states) 2599 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 1154 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 2815 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 755 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 2585 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 92 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 48 :>0:EAX=0; 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; 687 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 324 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 2052 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 2069 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 2125 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 1491 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 1202 :>0:EAX=1; 2:EAX=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=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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X021 Required Histogram (15 states) 6893 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 4200 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 1635 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 944 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 3954 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 8242 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 1905 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 3927 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 7072 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 3986 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 1438 :>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; 482 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 2779 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 2542 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; No Witnesses Positive: 49999, 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r10) _litmus_P1_1_: movl (%r10),%r9d _litmus_P1_2_: movl (%r11),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl $1,(%rax) Test X022 Required Histogram (5 states) 19987 :>1:EAX=2; 1:EBX=0; x=1; 58 :>1:EAX=1; 1:EBX=1; x=1; 153 :>1:EAX=2; 1:EBX=1; x=1; 47 :>1:EAX=2; 1:EBX=0; x=2; 19755 :>1:EAX=2; 1:EBX=1; x=2; No Witnesses Positive: 39953, Negative: 47 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%r10) _litmus_P1_1_: movl (%r10),%r9d _litmus_P1_2_: movl (%r11),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X023 Required Histogram (28 states) 4 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 155 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 2 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 12934 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 67 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 7497 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 2 :>1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 312 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 41 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 6647 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 5 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 2127 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 2113 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 342 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 32 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 9197 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 2507 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 2286 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 43 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 9322 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 3 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 2605 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 3 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 2520 :>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; 1013 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 1086 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 7134 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; No Witnesses Positive: 69999, 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P2_1_: movl (%r13),%edx _litmus_P2_2_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,(%r14) _litmus_P0_2_: movl (%r14),%edx _litmus_P0_3_: movl (%r15),%eax Test X024 Required Histogram (10 states) 33 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=0; z=1; 7220 :>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 3405 :>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 227 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 2:EBX=1; z=1; 6440 :>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 5 :>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=1; 8 :>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=2; 4525 :>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 3315 :>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 4822 :>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=2; No Witnesses Positive: 29992, Negative: 8 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: movl (%r13),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl (%rdx),%eax Test X025 Required Histogram (11 states) 57 :>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 8159 :>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 7946 :>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 57 :>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 19 :>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 11303 :>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 33 :>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 7 :>0:EAX=0; 2:EAX=2; 2:EBX=0; y=2; 8899 :>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 3635 :>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 4885 :>0:EAX=1; 2:EAX=2; 2:EBX=1; y=2; No Witnesses Positive: 44993, Negative: 7 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl (%r9),%eax Test X026 Required Histogram (22 states) 7 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 23 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 37 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 5424 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 8693 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 4912 :>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 2507 :>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 228 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 322 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 28 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 9804 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 4522 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 2036 :>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; 2 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 2906 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 3797 :>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 4486 :>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 1088 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 3848 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 6436 :>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 3893 :>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; No Witnesses Positive: 64998, Negative: 2 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X027 Required Histogram (22 states) 24 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 124 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 29072 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 10317 :>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 689 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 10162 :>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 2 :>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 14 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 5115 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 3378 :>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 421 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 40 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 16918 :>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 3762 :>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 3614 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 15270 :>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 4230 :>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 3591 :>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 2 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=2; 2997 :>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 2079 :>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 18179 :>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; No Witnesses Positive: 129998, Negative: 2 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.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: movl (%r13),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) Test X028 Required Histogram (11 states) 259 :>2:EAX=1; 2:EBX=0; x=1; y=1; 13888 :>2:EAX=2; 2:EBX=0; x=1; y=1; 2 :>2:EAX=1; 2:EBX=1; x=1; y=1; 24 :>2:EAX=2; 2:EBX=1; x=1; y=1; 15486 :>2:EAX=2; 2:EBX=0; x=2; y=1; 83 :>2:EAX=1; 2:EBX=1; x=2; y=1; 19743 :>2:EAX=2; 2:EBX=1; x=2; y=1; 13874 :>2:EAX=2; 2:EBX=0; x=1; y=2; 13615 :>2:EAX=2; 2:EBX=1; x=1; y=2; 1 :>2:EAX=2; 2:EBX=0; x=2; y=2; 8025 :>2:EAX=2; 2:EBX=1; x=2; y=2; No Witnesses Positive: 84999, Negative: 1 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl (%r9),%eax Test X029 Required Histogram (21 states) 198 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 57 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 13250 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 2828 :>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 6 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 6622 :>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 9 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 2412 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 22365 :>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 346 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 496 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 10220 :>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 7329 :>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 7845 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 5243 :>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 20079 :>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 3216 :>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; 2409 :>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 457 :>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 4612 :>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=2; No Witnesses Positive: 109999, 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X030 Required Histogram (23 states) 327 :>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 77467 :>3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 1 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 13 :>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 32 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 102420:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 108 :>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 89513 :>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 38 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 194017:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 1609 :>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 86369 :>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 18558 :>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 807 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 104060:>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 140393:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 41168 :>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 20999 :>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 173411:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 54387 :>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 53484 :>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; 5818 :>3:EAX=2; 3:EBX=1; x=2; y=2; z=2; No Witnesses Positive: 1164999, 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 0.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P1_1_: movl $1,(%r12) _litmus_P1_2_: movl (%r12),%r9d _litmus_P1_3_: movl (%r10),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl (%r11),%r9d _litmus_P0_3_: movl (%r12),%eax Test X031 Required Histogram (4 states) 80 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 19993 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 19862 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 65 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 39920, Negative: 80 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%r12),%edx _litmus_P2_3_: movl (%r13),%eax _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: movl (%r13),%edx _litmus_P1_3_: movl (%r14),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl (%rbx),%eax Test X032 Required Histogram (8 states) 12 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3280 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 6638 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3358 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 7705 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 6701 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2305 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 1 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 29988, Negative: 12 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,(%r15) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r13),%edx _litmus_P2_3_: movl (%r14),%eax _litmus_P1_0_: movl $2,(%r13) _litmus_P1_1_: movl $1,(%r14) _litmus_P1_2_: movl (%r14),%edx _litmus_P1_3_: movl (%r15),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X033 Required Histogram (8 states) 4736 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 8619 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 7235 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 5 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 3 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=2; 3010 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 8684 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 2708 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 34997, Negative: 3 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r10) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl (%r11),%r9d _litmus_P1_3_: movl (%r12),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl (%rbp),%eax Test X034 Required Histogram (4 states) 124 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 19825 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 20023 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 28 :>0:EAX=1; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 39876, Negative: 124 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P2_1_: movl $1,(%r14) _litmus_P2_2_: movl (%r14),%edx _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl (%rbx),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl (%rbx),%eax Test X035 Required Histogram (7 states) 9 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 4533 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 5403 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2917 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 4745 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3801 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3592 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 24991, Negative: 9 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P3_1_: movl $1,(%r10) _litmus_P3_2_: movl (%r10),%r9d _litmus_P3_3_: movl (%r11),%eax _litmus_P2_0_: movl $1,(%rbp) _litmus_P2_1_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rbp) _litmus_P1_1_: movl (%r8),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl (%r8),%eax Test X036 Required Histogram (15 states) 7 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1220 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1946 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1636 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1093 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 4560 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 2058 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 749 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 1817 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 2002 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 4271 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 697 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 1880 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 799 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 265 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 24993, Negative: 7 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: movl (%r12),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X037 Required Histogram (16 states) 2154 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 4013 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 5044 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 1746 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 2711 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 1163 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 1146 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 3 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 3 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 445 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 1179 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 1676 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 1952 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 4232 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 2121 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 412 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 29997, Negative: 3 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%r15) _litmus_P2_2_: movl (%r15),%edx _litmus_P2_3_: movl (%r13),%eax _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl (%rbp),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X038 Required Histogram (8 states) 5300 :>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 4751 :>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 3134 :>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 3 :>1:EAX=0; 2:EAX=1; 2:EBX=0; x=2; 3571 :>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 4635 :>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 3604 :>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 24997, Negative: 3 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: movl (%r12),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r9),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl (%r9),%eax Test X039 Required Histogram (15 states) 3075 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 1315 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 3759 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 869 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 2854 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 700 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 746 :>0:EAX=0; 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; 1095 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 448 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 2234 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 1993 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 2873 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 1915 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 1123 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; No Witnesses Positive: 24999, 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=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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: movl (%r12),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X040 Required Histogram (16 states) 39170 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 22896 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 9963 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 5 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 8072 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 27438 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 42051 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 17950 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 18932 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 41265 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 27948 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 10981 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 2 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; 3469 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 18093 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 16765 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; No Witnesses Positive: 304998, Negative: 2 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.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P1_1_: movl $1,(%r12) _litmus_P1_2_: movl (%r12),%r10d _litmus_P1_3_: movl (%r13),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl $1,(%rax) Test X041 Required Histogram (4 states) 19900 :>1:EAX=1; 1:EBX=0; x=1; 177 :>1:EAX=1; 1:EBX=1; x=1; 3 :>1:EAX=1; 1:EBX=0; x=2; 19920 :>1:EAX=1; 1:EBX=1; x=2; No Witnesses Positive: 39997, Negative: 3 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%r15) _litmus_P2_2_: movl (%r15),%edx _litmus_P2_3_: movl (%r13),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl (%rbp),%eax Test X042 Required Histogram (8 states) 4481 :>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 4741 :>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 6454 :>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 11 :>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=0; y=2; 4697 :>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 1868 :>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 2747 :>0:EAX=1; 2:EAX=1; 2:EBX=1; y=2; No Witnesses Positive: 24999, Negative: 1 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: movl (%r12),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl (%r9),%eax Test X043 Required Histogram (15 states) 3389 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 5568 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 2807 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 1634 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 6299 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 2242 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 1014 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 6 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 1768 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 2614 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 2602 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 544 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 3102 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 4562 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 1849 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; No Witnesses Positive: 39994, Negative: 6 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: movl (%r12),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X044 Required Histogram (16 states) 19357 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 5587 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 5410 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 5 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 11108 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 4926 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 16351 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 4251 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 9591 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 15302 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 8035 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 6334 :>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; 2096 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 2648 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 13998 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=2; No Witnesses Positive: 124999, 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.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%r15) _litmus_P2_2_: movl (%r15),%edx _litmus_P2_3_: movl (%r13),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X045 Required Histogram (8 states) 13423 :>2:EAX=1; 2:EBX=0; x=1; y=1; 7 :>2:EAX=1; 2:EBX=1; x=1; y=1; 11081 :>2:EAX=1; 2:EBX=0; x=2; y=1; 16599 :>2:EAX=1; 2:EBX=1; x=2; y=1; 13314 :>2:EAX=1; 2:EBX=0; x=1; y=2; 9149 :>2:EAX=1; 2:EBX=1; x=1; y=2; 1 :>2:EAX=1; 2:EBX=0; x=2; y=2; 6426 :>2:EAX=1; 2:EBX=1; x=2; y=2; No Witnesses Positive: 69999, 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: movl (%r12),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl (%r9),%eax Test X046 Required Histogram (16 states) 80534 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 12180 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 34775 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 2 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 15723 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 79298 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 53355 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 37794 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 46299 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 36068 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 83932 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 23363 :>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; 24362 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 11814 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 40500 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=2; No Witnesses Positive: 579999, 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.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: movl (%r12),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X047 Required Histogram (16 states) 69170 :>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 11 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 74977 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 56220 :>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 159386:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 67682 :>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 14625 :>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 83012 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 118520:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 28248 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 20346 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 150201:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 45705 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 51992 :>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; 19904 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=2; No Witnesses Positive: 959999, 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 0.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P1_1_: movl (%r8),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl (%rbp),%eax Test X048 Required Histogram (4 states) 141 :>0:EAX=0; 1:EAX=0; 19970 :>0:EAX=1; 1:EAX=0; 19883 :>0:EAX=0; 1:EAX=1; 6 :>0:EAX=1; 1:EAX=1; No Witnesses Positive: 39859, Negative: 141 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rdx) _litmus_P2_1_: movl (%rbx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl (%rbx),%eax _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl (%rdx),%eax Test X049 Required Histogram (8 states) 11 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 8201 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 5861 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 4127 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 4112 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 1818 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 5869 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 1 :>0:EAX=1; 1:EAX=1; 2:EAX=1; No Witnesses Positive: 29989, Negative: 11 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r8) _litmus_P3_1_: movl (%rbp),%eax _litmus_P2_0_: movl $1,(%rbp) _litmus_P2_1_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rbp) _litmus_P1_1_: movl (%r8),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl (%r8),%eax Test X050 Required Histogram (15 states) 9 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=0; 1186 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 2212 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 3195 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 1768 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 3103 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 2973 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 1256 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 2079 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3568 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3059 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 621 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 2910 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 1121 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 940 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; No Witnesses Positive: 29991, Negative: 9 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P3_1_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X051 Required Histogram (16 states) 416 :>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 3332 :>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 3469 :>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 2842 :>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 2064 :>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 362 :>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 1115 :>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 3 :>1:EAX=1; 2:EAX=1; 3:EAX=1; x=1; 1 :>1:EAX=0; 2:EAX=0; 3:EAX=0; x=2; 336 :>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 56 :>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 273 :>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 1849 :>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 2370 :>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 1447 :>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 65 :>1:EAX=1; 2:EAX=1; 3:EAX=1; x=2; No Witnesses Positive: 19999, Negative: 1 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.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rdx) _litmus_P2_1_: movl (%rbp),%eax _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl (%rbp),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) Test X052 Required Histogram (8 states) 9903 :>1:EAX=0; 2:EAX=0; x=1; 6234 :>1:EAX=1; 2:EAX=0; x=1; 3506 :>1:EAX=0; 2:EAX=1; x=1; 2 :>1:EAX=1; 2:EAX=1; x=1; 9 :>1:EAX=0; 2:EAX=0; x=2; 7083 :>1:EAX=1; 2:EAX=0; x=2; 6228 :>1:EAX=0; 2:EAX=1; x=2; 7035 :>1:EAX=1; 2:EAX=1; x=2; No Witnesses Positive: 39991, Negative: 9 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,(%r9) _litmus_P3_1_: movl (%r8),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X053 Required Histogram (15 states) 20631 :>2:EAX=0; 3:EAX=0; x=1; y=1; 14693 :>2:EAX=1; 3:EAX=0; x=1; y=1; 3717 :>2:EAX=0; 3:EAX=1; x=1; y=1; 5007 :>2:EAX=0; 3:EAX=0; x=2; y=1; 10729 :>2:EAX=1; 3:EAX=0; x=2; y=1; 29002 :>2:EAX=0; 3:EAX=1; x=2; y=1; 6155 :>2:EAX=1; 3:EAX=1; x=2; y=1; 10426 :>2:EAX=0; 3:EAX=0; x=1; y=2; 30125 :>2:EAX=1; 3:EAX=0; x=1; y=2; 11506 :>2:EAX=0; 3:EAX=1; x=1; y=2; 6930 :>2:EAX=1; 3:EAX=1; x=1; y=2; 1 :>2:EAX=0; 3:EAX=0; x=2; y=2; 1149 :>2:EAX=1; 3:EAX=0; x=2; y=2; 10306 :>2:EAX=0; 3:EAX=1; x=2; y=2; 9623 :>2:EAX=1; 3:EAX=1; x=2; y=2; No Witnesses Positive: 169999, Negative: 1 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.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r8) _litmus_P1_1_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl $1,(%rax) Test X054 Required Histogram (4 states) 35140 :>1:EAX=0; x=1; 232 :>1:EAX=1; x=1; 5 :>1:EAX=0; x=2; 34623 :>1:EAX=1; x=2; No Witnesses Positive: 69995, Negative: 5 Condition forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) is NOT validated Hash=62acb715d47784e9a92843581eaa8492 Time X054 0.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P3_1_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X055 Required Histogram (16 states) 11769 :>1:EAX=0; 3:EAX=0; x=1; z=1; 4899 :>1:EAX=1; 3:EAX=0; x=1; z=1; 4623 :>1:EAX=0; 3:EAX=1; x=1; z=1; 1 :>1:EAX=1; 3:EAX=1; x=1; z=1; 1777 :>1:EAX=0; 3:EAX=0; x=2; z=1; 1410 :>1:EAX=1; 3:EAX=0; x=2; z=1; 7290 :>1:EAX=0; 3:EAX=1; x=2; z=1; 1064 :>1:EAX=1; 3:EAX=1; x=2; z=1; 2026 :>1:EAX=0; 3:EAX=0; x=1; z=2; 7117 :>1:EAX=1; 3:EAX=0; x=1; z=2; 2002 :>1:EAX=0; 3:EAX=1; x=1; z=2; 1283 :>1:EAX=1; 3:EAX=1; x=1; z=2; 1 :>1:EAX=0; 3:EAX=0; x=2; z=2; 1252 :>1:EAX=1; 3:EAX=0; x=2; z=2; 1054 :>1:EAX=0; 3:EAX=1; x=2; z=2; 7432 :>1:EAX=1; 3:EAX=1; x=2; z=2; No Witnesses Positive: 54999, 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,(%rdx) _litmus_P2_1_: movl (%rbp),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) Test X056 Required Histogram (8 states) 8771 :>2:EAX=0; x=1; y=1; 24 :>2:EAX=1; x=1; y=1; 7280 :>2:EAX=0; x=2; y=1; 12909 :>2:EAX=1; x=2; y=1; 9895 :>2:EAX=0; x=1; y=2; 4133 :>2:EAX=1; x=1; y=2; 1 :>2:EAX=0; x=2; y=2; 1987 :>2:EAX=1; x=2; y=2; No Witnesses Positive: 44999, 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P3_1_: movl (%r8),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X057 Required Histogram (16 states) 1924639:>3:EAX=0; x=1; y=1; z=1; 210 :>3:EAX=1; x=1; y=1; z=1; 2373552:>3:EAX=0; x=2; y=1; z=1; 1921994:>3:EAX=1; x=2; y=1; z=1; 5076875:>3:EAX=0; x=1; y=2; z=1; 1991116:>3:EAX=1; x=1; y=2; z=1; 455092:>3:EAX=0; x=2; y=2; z=1; 2383343:>3:EAX=1; x=2; y=2; z=1; 3768103:>3:EAX=0; x=1; y=1; z=2; 680826:>3:EAX=1; x=1; y=1; z=2; 587417:>3:EAX=0; x=2; y=1; z=2; 4642645:>3:EAX=1; x=2; y=1; z=2; 1722029:>3:EAX=0; x=1; y=2; z=2; 1116371:>3:EAX=1; x=1; y=2; z=2; 1 :>3:EAX=0; x=2; y=2; z=2; 390787:>3:EAX=1; x=2; y=2; z=2; No Witnesses Positive: 29034999, 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 2.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P1_1_: movl (%r9),%r8d _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r10),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl (%r10),%r8d _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r9),%eax Test X000-F Required Histogram (3 states) 338669974:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 332052404:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 129277622:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 800000000, 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 15.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P2_1_: movl (%rbp),%edx _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%rbp) _litmus_P1_1_: movl (%rbp),%edx _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r12),%eax _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl (%r12),%edx _litmus_P0_2_: mfence _litmus_P0_3_: movl (%rbp),%eax Test X001-F Required Histogram (7 states) 22916111:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 24799924:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 142282271:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 20343765:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 145238749:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 140456679:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3962501:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 63.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rbp),%eax _litmus_P1_0_: movl $1,(%rbp) _litmus_P1_1_: movl (%rbp),%edx _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r12),%eax _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl (%r13),%edx _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r14),%eax Test X002-F Required Histogram (7 states) 21513423:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 17547062:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 143630007:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 17783493:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 148781536:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 144720504:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 6023975:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 68.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P2_1_: movl (%rbp),%edx _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%rbp) _litmus_P1_1_: movl (%rbp),%edx _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r12),%eax _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rdx),%eax Test X003-F Required Histogram (7 states) 20842003:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 24640453:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 143867043:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 27010229:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 139970974:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 140360707:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3308591:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 57.64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r10) _litmus_P3_1_: movl (%r10),%r8d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r9),%eax _litmus_P2_0_: movl $1,(%r9) _litmus_P2_1_: movl (%r9),%r8d _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r10),%eax _litmus_P1_0_: movl $1,(%rbp) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r8),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r8),%eax Test X004-F Required Histogram (15 states) 22791 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 24687 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 8036903:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 42687 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 43052064:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 7619764:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 65084153:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 39711 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 7561658:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 46626080:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 68522558:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 7768095:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 75709000:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 65671765:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 4218084:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 400000000, 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 34.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl (%r10),%r9d _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r11),%eax _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X005-F Required Histogram (15 states) 22047 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 7500410:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 44636365:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 56921955:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 6494127:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 57091129:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 51226308:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 1455404:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 760119:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 133421:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 23903430:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 127490:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 54492104:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 33799996:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 61435695:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 400000000, 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 36.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r13),%eax _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl (%r12),%edx _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r13),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) Test X006-F Required Histogram (10 states) 16474114:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 89894 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 143975449:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 84966 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 114131575:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 13056 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 1862629:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 36629451:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 50821274:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 135917592:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 59.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%r10) _litmus_P2_1_: movl (%r10),%r9d _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r11),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r9),%eax Test X007-F Required Histogram (22 states) 127 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 20576 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 6713777:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 7452 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 12478 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 6847260:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 58502043:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 3707 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 112128:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 51403557:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 46509865:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 126053:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 41842 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 58806236:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 2311083:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 60713 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 291312:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 48609491:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 128719:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 30541916:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 24333950:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 64615715:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 400000000, 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 35.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%r10) _litmus_P2_1_: movl (%r10),%r9d _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r11),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X008-F Required Histogram (22 states) 65 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 5427138:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 11425 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 46970617:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 73273 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 35471942:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 32001 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 733506:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 1099362:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 18780 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 24240367:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 32980 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 58589631:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 833961:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 49868732:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 44505 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 48071014:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 29119164:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 54592345:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 733401:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 667242:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 43368549:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 38.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P1_1_: movl (%r9),%r8d _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r10),%eax _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl (%r10),%r9d _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r11),%eax Test X009-F Required Histogram (3 states) 310983453:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 188806053:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 300210494:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 800000000, 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 17.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rbp),%eax _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: movl (%r13),%edx _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r14),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rbx),%eax Test X010-F Required Histogram (7 states) 15196052:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 17723717:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 148401889:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 24991287:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 139674845:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 149218018:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 4794192:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 63.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P2_1_: movl (%r13),%edx _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $2,(%r13) _litmus_P1_1_: movl $1,(%r14) _litmus_P1_2_: movl (%r14),%edx _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r15),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X011-F Required Histogram (7 states) 14734232:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 133379345:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 113481243:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 1715735:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 41016553:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 47499075:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 148173817:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 63.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P1_1_: movl (%r9),%r8d _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r10),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rbp),%eax Test X012-F Required Histogram (3 states) 285940415:>0:EAX=1; 1:EAX=1; 1:EBX=0; 338701823:>0:EAX=0; 1:EAX=1; 1:EBX=1; 175357762:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 800000000, 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 14.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r10) _litmus_P3_1_: movl (%r10),%r8d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r9),%eax _litmus_P2_0_: movl $1,(%rbp) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl (%r9),%r8d _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r10),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r8),%eax Test X013-F Required Histogram (15 states) 24907 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 39586 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 6790600:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 25096 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 35433486:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 7416458:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 75966744:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 37103 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 7812910:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 54474108:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 62297434:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 7033877:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 75850682:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 61915031:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 4881978:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 400000000, 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 34.08 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r10) _litmus_P1_1_: movl (%r10),%r9d _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r11),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X014-F Required Histogram (22 states) 21641 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 9965 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 7235942:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 231 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 41508435:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 153445:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 65815222:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 732 :>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 5937509:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 14723 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 58622473:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 170158:>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 51302795:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 35873 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 2665386:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 399641:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 42200 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 17332971:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 160285:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 57405780:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 30305752:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 60858841:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 400000000, 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 35.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rbp),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rbx),%eax _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl (%r13),%edx _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r14),%eax Test X015-F Required Histogram (7 states) 21848100:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 14314598:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 144830216:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 18406010:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 147970722:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 146255213:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 6375141:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 62.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P2_1_: movl (%rbp),%edx _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rbx),%eax _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rdx),%eax Test X016-F Required Histogram (7 states) 21625883:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 20762151:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 144392418:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 25191175:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 141205859:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 143973376:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2849138:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 58.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r10) _litmus_P3_1_: movl (%r10),%r8d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r9),%eax _litmus_P2_0_: movl $1,(%rbp) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rbp) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r8),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r8),%eax Test X017-F Required Histogram (15 states) 26299 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 24419 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 6044168:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 27468 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 41571593:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 6565720:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 70675563:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 45643 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 6595905:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 47226105:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 70556431:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 6325492:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 74711336:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 65906051:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 3697807:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 400000000, 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 32.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X018-F Required Histogram (15 states) 21708 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 6215060:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 41276330:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 62167690:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 6027125:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 58988492:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 49809286:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1553484:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 662832:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 45110 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 22406954:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 167270:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 56930743:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 33035730:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 60692186:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 400000000, 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 33.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r13),%eax _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rbp),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) Test X019-F Required Histogram (7 states) 22025005:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 134475931:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 115108352:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 891556:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 39592628:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 51727179:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 136179349:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 57.92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r9),%eax Test X020-F Required Histogram (15 states) 20963 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 6300237:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 6190332:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 59198449:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 51469063:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 45252373:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 55423299:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 1190688:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 63693 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 580571:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 49105647:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 143952:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 33021236:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 30343547:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 61695950:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 400000000, 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 35.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X021-F Required Histogram (15 states) 5458437:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 47615048:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 34647587:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 346282:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 1181736:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 22834869:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 56696422:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 45738869:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 45802 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 48080159:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 31415027:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 53535270:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 1407944:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 770839:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 50225709:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 39.32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r10) _litmus_P1_1_: movl (%r10),%r9d _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r11),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl $1,(%rax) Test X022-F Required Histogram (4 states) 301736134:>1:EAX=2; 1:EBX=0; x=1; 1871067:>1:EAX=1; 1:EBX=1; x=1; 102364171:>1:EAX=2; 1:EBX=1; x=1; 394028628:>1:EAX=2; 1:EBX=1; x=2; Ok Witnesses Positive: 800000000, 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 15.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%r10) _litmus_P1_1_: movl (%r10),%r9d _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r11),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X023-F Required Histogram (32 states) 316 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 1973 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 113764:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 197 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 48184321:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 78852 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 41489568:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 2122 :>1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 219301:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 861 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 23493 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 105643:>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 41860769:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 19790 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 734989:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 6431 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 47032 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 14480363:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 257329:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 182348:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 25097656:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 57060070:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 53858 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 167300:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 24663188:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 10967 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 16629475:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 184135:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 55644826:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 1771421:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 1950932:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 68956710:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 400000000, 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 38.98 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P2_1_: movl (%r13),%edx _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,(%r14) _litmus_P0_2_: movl (%r14),%edx _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r15),%eax Test X024-F Required Histogram (10 states) 108490:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=0; z=1; 13746799:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 115373014:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 210149:>0:EAX=1; 0:EBX=0; 2:EAX=1; 2:EBX=1; z=1; 15930 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=1; z=1; 143286286:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 3951983:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=1; 47072712:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 34933306:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 141301331:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=2; Ok Witnesses Positive: 500000000, 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 63.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r13),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rdx),%eax Test X025-F Required Histogram (10 states) 84033 :>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 17020743:>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 113845914:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 113225:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 14958 :>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 143823816:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 1677129:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 46622053:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 42790708:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 134007421:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=2; Ok Witnesses Positive: 500000000, 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 57.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r9),%eax Test X026-F Required Histogram (22 states) 288 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 239 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 139977:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 20387 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 46685862:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 5782909:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 46711655:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 14130 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 206473:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 10600 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 46522 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 6658371:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 64819953:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 59953766:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 1846036:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 55400 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 73202 :>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 29743575:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 350442:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 24699905:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 51547708:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 60632600:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; Ok Witnesses Positive: 400000000, 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 34.37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X027-F Required Histogram (22 states) 274 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 107267:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 48538299:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 39406712:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 222732:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 22447 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 40917219:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 278569:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 13918 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 35031 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 17471683:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 288786:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 120364:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 25960404:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 57305288:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 76600 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 23722872:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 23280074:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 45787313:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 3221285:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 2190220:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 71032643:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 400000000, 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 37.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r13),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) Test X028-F Required Histogram (10 states) 79260 :>2:EAX=1; 2:EBX=0; x=1; y=1; 105285344:>2:EAX=2; 2:EBX=0; x=1; y=1; 16026 :>2:EAX=1; 2:EBX=1; x=1; y=1; 359916:>2:EAX=2; 2:EBX=1; x=1; y=1; 39138246:>2:EAX=2; 2:EBX=0; x=2; y=1; 131115:>2:EAX=1; 2:EBX=1; x=2; y=1; 129140533:>2:EAX=2; 2:EBX=1; x=2; y=1; 40662803:>2:EAX=2; 2:EBX=0; x=1; y=2; 125871087:>2:EAX=2; 2:EBX=1; x=1; y=2; 59315670:>2:EAX=2; 2:EBX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 53.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r9),%eax Test X029-F Required Histogram (22 states) 132 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 95396 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 4481644:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 35338349:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 6393 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 36024 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 49327437:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 508820:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=1; 4878 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 858310:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 54146403:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 81541 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 771418:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 31485369:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 47203199:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 50726 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 28440049:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 50580904:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 52275299:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=2; 302199:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 1371315:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 42634195:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 400000000, 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 36.53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X030-F Required Histogram (22 states) 90492 :>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 28336789:>3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 17150 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 86056 :>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 13764 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 16072685:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 30049 :>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 45356857:>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 1037 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 53130337:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 555000:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 37730772:>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 2126009:>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 386380:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 39020351:>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 21475192:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 38234898:>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 4424918:>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 67625030:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 224175:>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 42013997:>3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 3048062:>3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 400000000, 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 39.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P1_1_: movl $1,(%r12) _litmus_P1_2_: movl (%r12),%r9d _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r10),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl (%r11),%r9d _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r12),%eax Test X031-F Required Histogram (3 states) 136106173:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 146265790:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 517628037:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 800000000, 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 19.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%r12),%edx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%eax _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: movl (%r13),%edx _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r14),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rbx),%eax Test X032-F Required Histogram (7 states) 14681668:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 15147979:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 145393935:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 19116331:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 146302848:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 152205670:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 7151569:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 66.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r13),%edx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r14),%eax _litmus_P1_0_: movl $2,(%r13) _litmus_P1_1_: movl $1,(%r14) _litmus_P1_2_: movl (%r14),%edx _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r15),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X033-F Required Histogram (7 states) 15334070:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 131977567:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 114814019:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 3263685:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 42749796:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 44467400:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 147393463:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 64.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r10) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl (%r11),%r9d _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r12),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rbp),%eax Test X034-F Required Histogram (3 states) 180601859:>0:EAX=1; 1:EAX=1; 1:EBX=0; 226299220:>0:EAX=0; 1:EAX=1; 1:EBX=1; 393098921:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 800000000, 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 17.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P2_1_: movl $1,(%r14) _litmus_P2_2_: movl (%r14),%edx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rbx),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rbx),%eax Test X035-F Required Histogram (7 states) 18297488:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 14699201:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 143264581:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 20342819:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 148654093:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 149661286:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 5080532:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 59.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P3_1_: movl $1,(%r10) _litmus_P3_2_: movl (%r10),%r9d _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r11),%eax _litmus_P2_0_: movl $1,(%rbp) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rbp) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r8),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r8),%eax Test X036-F Required Histogram (15 states) 24045 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 22179 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 4974476:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 24018 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 45930912:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 4183383:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 68014502:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 50461 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 6685670:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 43286806:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 72700443:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 8417171:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 68555071:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 72611817:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 4519046:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 400000000, 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 36.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X037-F Required Histogram (15 states) 22961 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 5236530:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 46252040:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 60797900:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 6266168:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 60885914:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 45540265:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1581887:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 504769:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 40745 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 22466626:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 208259:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 54613772:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 33450750:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 62131414:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 400000000, 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 35.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%r15) _litmus_P2_2_: movl (%r15),%edx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%eax _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rbp),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X038-F Required Histogram (7 states) 20689857:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 130270250:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 115953930:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 1770301:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 42775327:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 48473814:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 140066521:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 60.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r9),%eax Test X039-F Required Histogram (15 states) 18842 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 5213361:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 3916216:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 56735459:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 48002962:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 46827284:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 62069556:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 2618944:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 72413 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 367768:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 51348110:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 104976:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 33607632:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 29749471:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 59347006:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 400000000, 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 36.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X040-F Required Histogram (15 states) 4781689:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 45934724:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 35565970:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 719069:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 965204:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 24306987:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 54088951:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 49598156:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 48587 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 49935937:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 32900799:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 50233616:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 1771628:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 654824:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 48493859:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 39.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P1_1_: movl $1,(%r12) _litmus_P1_2_: movl (%r12),%r10d _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl $1,(%rax) Test X041-F Required Histogram (3 states) 184640769:>1:EAX=1; 1:EBX=0; x=1; 227861089:>1:EAX=1; 1:EBX=1; x=1; 387498142:>1:EAX=1; 1:EBX=1; x=2; Ok Witnesses Positive: 800000000, 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 17.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%r15) _litmus_P2_2_: movl (%r15),%edx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rbp),%eax Test X042-F Required Histogram (7 states) 15621776:>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 113241968:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 132577787:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 1753336:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 42997971:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 54914303:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 138892859:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=2; Ok Witnesses Positive: 500000000, 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 60.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r9),%eax Test X043-F Required Histogram (15 states) 18276 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 46143306:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 3744756:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 44761267:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 6412016:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 55947898:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 60560926:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 1891461:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 58254 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 56854 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 28283966:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 1242599:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 35627285:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 53418611:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 61832525:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; Ok Witnesses Positive: 400000000, 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 35.98 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X044-F Required Histogram (15 states) 47538574:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 39103493:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 36587111:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 357903:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 32754 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 19981216:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 22746885:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 50025907:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 41263 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 22622302:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 29238345:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 48513427:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=2; 2692044:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 6546694:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 73972082:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 400000000, 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 40.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%r15) _litmus_P2_2_: movl (%r15),%edx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X045-F Required Histogram (7 states) 101815381:>2:EAX=1; 2:EBX=0; x=1; y=1; 483934:>2:EAX=1; 2:EBX=1; x=1; y=1; 40407623:>2:EAX=1; 2:EBX=0; x=2; y=1; 119328472:>2:EAX=1; 2:EBX=1; x=2; y=1; 39943667:>2:EAX=1; 2:EBX=0; x=1; y=2; 126807806:>2:EAX=1; 2:EBX=1; x=1; y=2; 71213117:>2:EAX=1; 2:EBX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 59.44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r9),%eax Test X046-F Required Histogram (15 states) 3031122:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 33991255:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 48951323:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 658624:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 615341:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 51042452:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 29823761:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 40689971:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 42639 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 26024790:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 51703763:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 55419700:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=2; 366146:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 4288161:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 53350952:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 400000000, 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 38.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X047-F Required Histogram (15 states) 27219293:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 122838:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 19460202:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 38371738:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 50685163:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 32816584:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 2979321:>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 34430416:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 19337584:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 39991766:>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 4206874:>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 72147047:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 67504 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 50229677:>3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 7933993:>3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 400000000, 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 43.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r8),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rbp),%eax Test X048-F Required Histogram (3 states) 336090722:>0:EAX=1; 1:EAX=0; 289855830:>0:EAX=0; 1:EAX=1; 174053448:>0:EAX=1; 1:EAX=1; Ok Witnesses Positive: 800000000, 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 14.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rdx) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rbx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rbx),%eax _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rdx),%eax Test X049-F Required Histogram (7 states) 19463842:>0:EAX=1; 1:EAX=0; 2:EAX=0; 18634940:>0:EAX=0; 1:EAX=1; 2:EAX=0; 146408729:>0:EAX=1; 1:EAX=1; 2:EAX=0; 18179487:>0:EAX=0; 1:EAX=0; 2:EAX=1; 147321222:>0:EAX=1; 1:EAX=0; 2:EAX=1; 147567977:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2423803:>0:EAX=1; 1:EAX=1; 2:EAX=1; Ok Witnesses Positive: 500000000, 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 57.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r8) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rbp),%eax _litmus_P2_0_: movl $1,(%rbp) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rbp) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r8),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r8),%eax Test X050-F Required Histogram (15 states) 101759:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 95505 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 5804065:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 105666:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 44182071:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 5752064:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 71444051:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 105370:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 5753530:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 43979884:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 71487939:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 5887279:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 71171005:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 71341396:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 2788416:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; Ok Witnesses Positive: 400000000, 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 31.95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X051-F Required Histogram (15 states) 21881 :>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 5288312:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 48378506:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 61771399:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 5205391:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 60151556:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 44551044:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 1085298:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=1; 501680:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 58913 :>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 30615843:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 71525 :>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 52827099:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 33044470:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 56427083:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=2; Ok Witnesses Positive: 400000000, 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 32.92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rdx) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rbp),%eax _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rbp),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) Test X052-F Required Histogram (7 states) 20534415:>1:EAX=0; 2:EAX=0; x=1; 136013722:>1:EAX=1; 2:EAX=0; x=1; 114364869:>1:EAX=0; 2:EAX=1; x=1; 858388:>1:EAX=1; 2:EAX=1; x=1; 53591325:>1:EAX=1; 2:EAX=0; x=2; 48521918:>1:EAX=0; 2:EAX=1; x=2; 126115363:>1:EAX=1; 2:EAX=1; x=2; Ok Witnesses Positive: 500000000, 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 55.51 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X053-F Required Histogram (15 states) 4555525:>2:EAX=0; 3:EAX=0; x=1; y=1; 48562007:>2:EAX=1; 3:EAX=0; x=1; y=1; 35160893:>2:EAX=0; 3:EAX=1; x=1; y=1; 293850:>2:EAX=1; 3:EAX=1; x=1; y=1; 959087:>2:EAX=0; 3:EAX=0; x=2; y=1; 30978817:>2:EAX=1; 3:EAX=0; x=2; y=1; 52303694:>2:EAX=0; 3:EAX=1; x=2; y=1; 43524246:>2:EAX=1; 3:EAX=1; x=2; y=1; 50923 :>2:EAX=0; 3:EAX=0; x=1; y=2; 51439593:>2:EAX=1; 3:EAX=0; x=1; y=2; 31504937:>2:EAX=0; 3:EAX=1; x=1; y=2; 49707855:>2:EAX=1; 3:EAX=1; x=1; y=2; 2749286:>2:EAX=1; 3:EAX=0; x=2; y=2; 343434:>2:EAX=0; 3:EAX=1; x=2; y=2; 47865853:>2:EAX=1; 3:EAX=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 37.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r8) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl $1,(%rax) Test X054-F Required Histogram (3 states) 314629634:>1:EAX=0; x=1; 92923855:>1:EAX=1; x=1; 392446511:>1:EAX=1; x=2; Ok Witnesses Positive: 800000000, Negative: 0 Condition forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) is validated Hash=fd11041c5d72fd760bc633e832dfee90 Time X054-F 14.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X055-F Required Histogram (15 states) 49805602:>1:EAX=0; 3:EAX=0; x=1; z=1; 38768737:>1:EAX=1; 3:EAX=0; x=1; z=1; 37789855:>1:EAX=0; 3:EAX=1; x=1; z=1; 62139 :>1:EAX=1; 3:EAX=1; x=1; z=1; 43595 :>1:EAX=0; 3:EAX=0; x=2; z=1; 26313821:>1:EAX=1; 3:EAX=0; x=2; z=1; 24720233:>1:EAX=0; 3:EAX=1; x=2; z=1; 45265728:>1:EAX=1; 3:EAX=1; x=2; z=1; 43959 :>1:EAX=0; 3:EAX=0; x=1; z=2; 24598121:>1:EAX=1; 3:EAX=0; x=1; z=2; 26246080:>1:EAX=0; 3:EAX=1; x=1; z=2; 46276056:>1:EAX=1; 3:EAX=1; x=1; z=2; 3611225:>1:EAX=1; 3:EAX=0; x=2; z=2; 3943418:>1:EAX=0; 3:EAX=1; x=2; z=2; 72511431:>1:EAX=1; 3:EAX=1; x=2; z=2; Ok Witnesses Positive: 400000000, 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 36.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rdx) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rbp),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) Test X056-F Required Histogram (7 states) 104855293:>2:EAX=0; x=1; y=1; 88074 :>2:EAX=1; x=1; y=1; 48156608:>2:EAX=0; x=2; y=1; 114245442:>2:EAX=1; x=2; y=1; 42848204:>2:EAX=0; x=1; y=2; 123609653:>2:EAX=1; x=1; y=2; 66196726:>2:EAX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 55.24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X057-F Required Histogram (15 states) 28170267:>3:EAX=0; x=1; y=1; z=1; 20356 :>3:EAX=1; x=1; y=1; z=1; 23637753:>3:EAX=0; x=2; y=1; z=1; 35749688:>3:EAX=1; x=2; y=1; z=1; 51493435:>3:EAX=0; x=1; y=2; z=1; 34353346:>3:EAX=1; x=1; y=2; z=1; 4027681:>3:EAX=0; x=2; y=2; z=1; 35545395:>3:EAX=1; x=2; y=2; z=1; 21632788:>3:EAX=0; x=1; y=1; z=2; 39153159:>3:EAX=1; x=1; y=1; z=2; 4567194:>3:EAX=0; x=2; y=1; z=2; 68814788:>3:EAX=1; x=2; y=1; z=2; 79390 :>3:EAX=0; x=1; y=2; z=2; 47337972:>3:EAX=1; x=1; y=2; z=2; 5416788:>3:EAX=1; x=2; y=2; z=2; Ok Witnesses Positive: 400000000, 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 38.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r12d _litmus_P1_1_: xchgl %r12d,(%r9) _litmus_P1_2_: movl (%r9),%r8d _litmus_P1_3_: movl (%r10),%eax _litmus_P0_0_: movl $1,%r12d _litmus_P0_1_: xchgl %r12d,(%r10) _litmus_P0_2_: movl (%r10),%r8d _litmus_P0_3_: movl (%r9),%eax Test X000-A Required Histogram (3 states) 399990531:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 399659544:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 349925:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 800000000, 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 16.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P2_1_: xchgl %r13d,(%rbp) _litmus_P2_2_: movl (%rbp),%edx _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $1,%r13d _litmus_P1_1_: xchgl %r13d,(%rbp) _litmus_P1_2_: movl (%rbp),%edx _litmus_P1_3_: movl (%r12),%eax _litmus_P0_0_: movl $1,%r13d _litmus_P0_1_: xchgl %r13d,(%r12) _litmus_P0_2_: movl (%r12),%edx _litmus_P0_3_: movl (%rbp),%eax Test X001-A Required Histogram (7 states) 53109527:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 53173461:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 109138429:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 53354036:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 108205109:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 108181474:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 14837964:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 53.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P2_1_: xchgl %r13d,(%r12) _litmus_P2_2_: movl (%r12),%edx _litmus_P2_3_: movl (%rbp),%eax _litmus_P1_0_: movl $1,%r13d _litmus_P1_1_: xchgl %r13d,(%rbp) _litmus_P1_2_: movl (%rbp),%edx _litmus_P1_3_: movl (%r12),%eax _litmus_P0_0_: movl $1,%r15d _litmus_P0_1_: xchgl %r15d,(%r12) _litmus_P0_2_: movl $1,(%r13) _litmus_P0_3_: movl (%r13),%edx _litmus_P0_4_: movl (%r14),%eax Test X002-A Required Histogram (7 states) 52752464:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 61053588:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 101744882:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 55194859:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 109288654:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 109021851:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 10943702:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 61.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P2_1_: xchgl %r13d,(%rbp) _litmus_P2_2_: movl (%rbp),%edx _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $1,%r13d _litmus_P1_1_: xchgl %r13d,(%rbp) _litmus_P1_2_: movl (%rbp),%edx _litmus_P1_3_: movl (%r12),%eax _litmus_P0_0_: movl $1,%ebp _litmus_P0_1_: xchgl %ebp,(%rbx) _litmus_P0_2_: movl (%rdx),%eax Test X003-A Required Histogram (7 states) 52254297:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 61022540:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 103044882:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 56757214:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 108894202:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 106656322:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 11370543:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 54.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r12d _litmus_P3_1_: xchgl %r12d,(%r10) _litmus_P3_2_: movl (%r10),%r8d _litmus_P3_3_: movl (%r9),%eax _litmus_P2_0_: movl $1,%r12d _litmus_P2_1_: xchgl %r12d,(%r9) _litmus_P2_2_: movl (%r9),%r8d _litmus_P2_3_: movl (%r10),%eax _litmus_P1_0_: movl $1,%r10d _litmus_P1_1_: xchgl %r10d,(%rbp) _litmus_P1_2_: movl (%r8),%eax _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%rbp) _litmus_P0_2_: movl (%r8),%eax Test X004-A Required Histogram (15 states) 3976719:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 3801916:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 30135696:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 4755975:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 57334177:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 32959945:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 29117181:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 4287097:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 32713589:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 58832989:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 33131521:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 33743713:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 37579617:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 34469035:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 3160830:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 400000000, 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 33.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,%r13d _litmus_P2_1_: xchgl %r13d,(%r10) _litmus_P2_2_: movl (%r10),%r9d _litmus_P2_3_: movl (%r11),%eax _litmus_P1_0_: movl $2,%r11d _litmus_P1_1_: xchgl %r11d,(%r8) _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X005-A Required Histogram (15 states) 772366:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 31463567:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 64798234:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 31565198:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 37428272:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 32521628:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 31259409:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 1282120:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 1921851:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 4452086:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 23551186:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 5259862:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 58477550:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 34473567:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 40773104:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 400000000, 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 34.51 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P2_1_: xchgl %r14d,(%r12) _litmus_P2_2_: movl (%r12),%edx _litmus_P2_3_: movl (%r13),%eax _litmus_P1_0_: movl $2,%r14d _litmus_P1_1_: xchgl %r14d,(%r12) _litmus_P1_2_: movl (%r12),%edx _litmus_P1_3_: movl (%r13),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) Test X006-A Required Histogram (10 states) 54814330:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 2306310:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 105110945:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 1771922:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 109211002:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 314854:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 3303959:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 48514171:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 54039719:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 120612788:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 54.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,%r13d _litmus_P2_1_: xchgl %r13d,(%r10) _litmus_P2_2_: movl (%r10),%r9d _litmus_P2_3_: movl (%r11),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,%r11d _litmus_P0_1_: xchgl %r11d,(%r8) _litmus_P0_2_: movl (%r9),%eax Test X007-A Required Histogram (22 states) 301403:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 737450:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 35186276:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 258858:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 1635603:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 34053207:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 25868771:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 42817 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 1571197:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 65315554:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 27451301:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 1571420:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 294577:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 33182463:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 983996:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 3944527:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 2082126:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 58289397:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 4027120:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 31930705:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 26403071:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 44868161:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 400000000, 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 34.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,%r13d _litmus_P2_1_: xchgl %r13d,(%r10) _litmus_P2_2_: movl (%r10),%r9d _litmus_P2_3_: movl (%r11),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X008-A Required Histogram (22 states) 84885 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 27894876:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 1607906:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 23836445:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 1895309:>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 28773496:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 121883:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 607076:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 6309293:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 427216:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 30585014:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 51733 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 62582820:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 2229798:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 37818566:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 539283:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 60787994:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 34560944:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 39096638:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 1753894:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 4878127:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 33556804:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 39.14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r12d _litmus_P1_1_: xchgl %r12d,(%r9) _litmus_P1_2_: movl (%r9),%r8d _litmus_P1_3_: movl (%r10),%eax _litmus_P0_0_: movl $1,%r14d _litmus_P0_1_: xchgl %r14d,(%r12) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl (%r10),%r9d _litmus_P0_4_: movl (%r11),%eax Test X009-A Required Histogram (3 states) 401176804:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 398122529:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 700667:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 800000000, 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 16.53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P2_1_: xchgl %r13d,(%r12) _litmus_P2_2_: movl (%r12),%edx _litmus_P2_3_: movl (%rbp),%eax _litmus_P1_0_: movl $1,%r15d _litmus_P1_1_: xchgl %r15d,(%r12) _litmus_P1_2_: movl $1,(%r13) _litmus_P1_3_: movl (%r13),%edx _litmus_P1_4_: movl (%r14),%eax _litmus_P0_0_: movl $1,%ebp _litmus_P0_1_: xchgl %ebp,(%rdx) _litmus_P0_2_: movl (%rbx),%eax Test X010-A Required Histogram (7 states) 52898326:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 59588186:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 102786199:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 60531192:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 111392239:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 105170772:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 7633086:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 57.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P2_1_: xchgl %r14d,(%r13) _litmus_P2_2_: movl (%r13),%edx _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $2,%r15d _litmus_P1_1_: xchgl %r15d,(%r12) _litmus_P1_2_: movl $1,(%r13) _litmus_P1_3_: movl (%r13),%edx _litmus_P1_4_: movl (%r14),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X011-A Required Histogram (7 states) 54526365:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 106376403:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 111954961:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 2310444:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 49888818:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 62633534:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 112309475:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 58.89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r12d _litmus_P1_1_: xchgl %r12d,(%r9) _litmus_P1_2_: movl (%r9),%r8d _litmus_P1_3_: movl (%r10),%eax _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%r8) _litmus_P0_2_: movl (%rbp),%eax Test X012-A Required Histogram (3 states) 400283735:>0:EAX=1; 1:EAX=1; 1:EBX=0; 399515776:>0:EAX=0; 1:EAX=1; 1:EBX=1; 200489:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 800000000, 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 14.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r12d _litmus_P3_1_: xchgl %r12d,(%r10) _litmus_P3_2_: movl (%r10),%r8d _litmus_P3_3_: movl (%r9),%eax _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%rbp) _litmus_P2_2_: movl (%r8),%eax _litmus_P1_0_: movl $1,%r12d _litmus_P1_1_: xchgl %r12d,(%r9) _litmus_P1_2_: movl (%r9),%r8d _litmus_P1_3_: movl (%r10),%eax _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%rbp) _litmus_P0_2_: movl (%r8),%eax Test X013-A Required Histogram (15 states) 4531367:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 3851199:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 30709211:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 4674613:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 49775560:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 33463055:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 36386077:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 3765211:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 33375656:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 64303609:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 33496522:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 30563065:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 34648605:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 32964546:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 3491704:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 400000000, 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 33.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,%r11d _litmus_P2_1_: xchgl %r11d,(%r8) _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,%r13d _litmus_P1_1_: xchgl %r13d,(%r10) _litmus_P1_2_: movl (%r10),%r9d _litmus_P1_3_: movl (%r11),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X014-A Required Histogram (22 states) 612285:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 294292:>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 31573931:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 19727 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 57806900:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 1393933:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 35469619:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 340692:>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 38490747:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 2313086:>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 30421513:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 1507742:>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 28321644:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 245134:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 859583:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1950224:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 3798082:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 24656410:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 4134662:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 66748405:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 30161904:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 38879485:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 400000000, 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 37.98 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P2_1_: xchgl %r13d,(%r12) _litmus_P2_2_: movl (%r12),%edx _litmus_P2_3_: movl (%rbp),%eax _litmus_P1_0_: movl $1,%ebp _litmus_P1_1_: xchgl %ebp,(%rdx) _litmus_P1_2_: movl (%rbx),%eax _litmus_P0_0_: movl $1,%r15d _litmus_P0_1_: xchgl %r15d,(%r12) _litmus_P0_2_: movl $1,(%r13) _litmus_P0_3_: movl (%r13),%edx _litmus_P0_4_: movl (%r14),%eax Test X015-A Required Histogram (7 states) 53947846:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 60451133:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 102234240:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 60993831:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 109730009:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 104508670:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 8134271:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 58.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P2_1_: xchgl %r13d,(%rbp) _litmus_P2_2_: movl (%rbp),%edx _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $1,%ebp _litmus_P1_1_: xchgl %ebp,(%rdx) _litmus_P1_2_: movl (%rbx),%eax _litmus_P0_0_: movl $1,%ebp _litmus_P0_1_: xchgl %ebp,(%rbx) _litmus_P0_2_: movl (%rdx),%eax Test X016-A Required Histogram (7 states) 54749352:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 60066804:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 103365342:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 61277033:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 108730156:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 103956635:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 7854678:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 55.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r12d _litmus_P3_1_: xchgl %r12d,(%r10) _litmus_P3_2_: movl (%r10),%r8d _litmus_P3_3_: movl (%r9),%eax _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%rbp) _litmus_P2_2_: movl (%r8),%eax _litmus_P1_0_: movl $1,%r10d _litmus_P1_1_: xchgl %r10d,(%rbp) _litmus_P1_2_: movl (%r8),%eax _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%rbp) _litmus_P0_2_: movl (%r8),%eax Test X017-A Required Histogram (15 states) 4472086:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 4127425:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 30615160:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 4918874:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 57168326:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 32527803:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 30181571:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 4522356:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 34087043:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 62300214:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 33718261:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 32811575:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 35389235:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 30897894:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 2262177:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 400000000, 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 31.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,%r11d _litmus_P2_1_: xchgl %r11d,(%r8) _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,%r11d _litmus_P1_1_: xchgl %r11d,(%r8) _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X018-A Required Histogram (15 states) 882840:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 31901773:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 63644844:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 32336472:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 39910985:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 33670248:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 28956721:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 638456:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1650962:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 4742447:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 23365974:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 5586580:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 64052549:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 33133404:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 35525745:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 400000000, 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 33.17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P2_1_: xchgl %r14d,(%r12) _litmus_P2_2_: movl (%r12),%edx _litmus_P2_3_: movl (%r13),%eax _litmus_P1_0_: movl $2,%r12d _litmus_P1_1_: xchgl %r12d,(%rdx) _litmus_P1_2_: movl (%rbp),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) Test X019-A Required Histogram (7 states) 56196163:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 105948021:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 111180696:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 2719298:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 47814960:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 63191124:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 112949738:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 53.57 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,%r11d _litmus_P2_1_: xchgl %r11d,(%r8) _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,%r11d _litmus_P0_1_: xchgl %r11d,(%r8) _litmus_P0_2_: movl (%r9),%eax Test X020-A Required Histogram (15 states) 1324447:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 35845999:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 33774903:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 29531542:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 68310684:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 29047242:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 32235127:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 1060526:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 5100287:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 2038540:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 56705448:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 4452015:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 33875599:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 25463757:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 41233884:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 400000000, 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 34.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,%r11d _litmus_P2_1_: xchgl %r11d,(%r8) _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X021-A Required Histogram (15 states) 28360044:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 27354113:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 31443388:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 384748:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 5999687:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 30617742:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 67405521:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 36018634:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 844953:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 58817015:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 37781374:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 36022661:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 1826810:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 5785798:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 31337512:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 37.89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P1_1_: xchgl %r13d,(%r10) _litmus_P1_2_: movl (%r10),%r9d _litmus_P1_3_: movl (%r11),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl $1,(%rax) Test X022-A Required Histogram (4 states) 391987121:>1:EAX=2; 1:EBX=0; x=1; 5131042:>1:EAX=1; 1:EBX=1; x=1; 3444255:>1:EAX=2; 1:EBX=1; x=1; 399437582:>1:EAX=2; 1:EBX=1; x=2; Ok Witnesses Positive: 800000000, 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 14.42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,%r13d _litmus_P1_1_: xchgl %r13d,(%r10) _litmus_P1_2_: movl (%r10),%r9d _litmus_P1_3_: movl (%r11),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X023-A Required Histogram (32 states) 9940 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 9216 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 1534998:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 10340 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 63540842:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 1265074:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 29885758:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 12231 :>1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 1276187:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 12808 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 35660 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 1550382:>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 29976622:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 39920 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 49899 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 87125 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 103976:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 30573485:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 274676:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 2036286:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 29225774:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 33392379:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 106331:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 253136:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 29466744:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 110080:>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 30812483:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 2214019:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 33551182:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 1597345:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 1725324:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 75259778:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 400000000, 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 41.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P2_1_: xchgl %r14d,(%r13) _litmus_P2_2_: movl (%r13),%edx _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,%r15d _litmus_P0_1_: xchgl %r15d,(%r12) _litmus_P0_2_: movl $1,(%r13) _litmus_P0_3_: movl (%r13),%edx _litmus_P0_4_: movl (%r14),%eax Test X024-A Required Histogram (10 states) 1901313:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=0; z=1; 56507728:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 107083050:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 2893568:>0:EAX=1; 0:EBX=0; 2:EAX=1; 2:EBX=1; z=1; 267315:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=1; z=1; 105948210:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 1852403:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=1; 52029418:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 55191465:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 116325530:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=2; Ok Witnesses Positive: 500000000, 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 56.58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P2_1_: xchgl %r14d,(%r12) _litmus_P2_2_: movl (%r12),%edx _litmus_P2_3_: movl (%r13),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,%r12d _litmus_P0_1_: xchgl %r12d,(%rbp) _litmus_P0_2_: movl (%rdx),%eax Test X025-A Required Histogram (10 states) 1825064:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 56767545:>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 107140259:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 2400794:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 282289:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 105236444:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 1810530:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 50910359:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 51398692:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 122228024:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=2; Ok Witnesses Positive: 500000000, 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 52.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $1,%r11d _litmus_P1_1_: xchgl %r11d,(%r8) _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,%r11d _litmus_P0_1_: xchgl %r11d,(%r8) _litmus_P0_2_: movl (%r9),%eax Test X026-A Required Histogram (22 states) 45032 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 270516:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 1403435:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 1417427:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 63071589:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 36447518:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 26242408:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 342203:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 1765320:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 1907644:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 202152:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 34315691:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 34210874:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 26922060:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 316415:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 4305555:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 3958970:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 30331636:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 2193471:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 26860141:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 64446074:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 39023869:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; Ok Witnesses Positive: 400000000, 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 34.42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,%r11d _litmus_P1_1_: xchgl %r11d,(%r8) _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X027-A Required Histogram (22 states) 27888 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 1491112:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 64772296:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 30007720:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 1616965:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 37817 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 29748895:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 65817 :>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 81112 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 217443:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 29928806:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 274628:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 1779791:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 30144913:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 33586878:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 152097:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 30022640:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 33250825:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 38046958:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 1454402:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 2090811:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 71200186:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 400000000, 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 36.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P2_1_: xchgl %r14d,(%r12) _litmus_P2_2_: movl (%r12),%edx _litmus_P2_3_: movl (%r13),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) Test X028-A Required Histogram (10 states) 2316250:>2:EAX=1; 2:EBX=0; x=1; y=1; 102796393:>2:EAX=2; 2:EBX=0; x=1; y=1; 141476:>2:EAX=1; 2:EBX=1; x=1; y=1; 183385:>2:EAX=2; 2:EBX=1; x=1; y=1; 55276054:>2:EAX=2; 2:EBX=0; x=2; y=1; 3343722:>2:EAX=1; 2:EBX=1; x=2; y=1; 107440686:>2:EAX=2; 2:EBX=1; x=2; y=1; 50879670:>2:EAX=2; 2:EBX=0; x=1; y=2; 115943899:>2:EAX=2; 2:EBX=1; x=1; y=2; 61678465:>2:EAX=2; 2:EBX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 54.32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,%r11d _litmus_P0_1_: xchgl %r11d,(%r8) _litmus_P0_2_: movl (%r9),%eax Test X029-A Required Histogram (22 states) 234495:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 1634927:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 30104359:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 26069881:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 1867194:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 81526 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 24858805:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 383735:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=1; 58955 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 6092433:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 60860612:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 532175:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 2294079:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 32198274:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 37983654:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 1336233:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 31747729:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 65089102:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 36074554:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=2; 5141536:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 2021941:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 33333801:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 400000000, 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 37.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X030-A Required Histogram (22 states) 1559666:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 25294236:>3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 18027 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 14890 :>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 281332:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 28370277:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 1914770:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 26334814:>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 25599 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 59144050:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 2574112:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 33498742:>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 5209098:>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 622524:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 37319710:>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 25683704:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 35875859:>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 5608198:>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 69511233:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 108095:>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 39209833:>3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 1821231:>3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 400000000, 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 42.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P1_1_: xchgl %r14d,(%r11) _litmus_P1_2_: movl $1,(%r12) _litmus_P1_3_: movl (%r12),%r9d _litmus_P1_4_: movl (%r10),%eax _litmus_P0_0_: movl $1,%r14d _litmus_P0_1_: xchgl %r14d,(%r10) _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl (%r11),%r9d _litmus_P0_4_: movl (%r12),%eax Test X031-A Required Histogram (3 states) 398673005:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 400562875:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 764120:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 800000000, 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 18.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_1_: xchgl %r15d,(%r14) _litmus_P2_2_: movl $1,(%r12) _litmus_P2_3_: movl (%r12),%edx _litmus_P2_4_: movl (%r13),%eax _litmus_P1_0_: movl $1,%r15d _litmus_P1_1_: xchgl %r15d,(%r12) _litmus_P1_2_: movl $1,(%r13) _litmus_P1_3_: movl (%r13),%edx _litmus_P1_4_: movl (%r14),%eax _litmus_P0_0_: movl $1,%ebp _litmus_P0_1_: xchgl %ebp,(%rdx) _litmus_P0_2_: movl (%rbx),%eax Test X032-A Required Histogram (7 states) 58462089:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 59550328:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 105069619:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 59685487:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 107413588:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 105258428:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 4560461:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 61.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_1_: xchgl %r15d,(%r14) _litmus_P2_2_: movl $1,(%r12) _litmus_P2_3_: movl (%r12),%edx _litmus_P2_4_: movl (%r13),%eax _litmus_P1_0_: movl $2,%r15d _litmus_P1_1_: xchgl %r15d,(%r12) _litmus_P1_2_: movl $1,(%r13) _litmus_P1_3_: movl (%r13),%edx _litmus_P1_4_: movl (%r14),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X033-A Required Histogram (7 states) 56484809:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 108047844:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 110041857:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 1023104:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 56155085:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 61726047:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 106521254:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 60.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P1_1_: xchgl %r14d,(%r10) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl (%r11),%r9d _litmus_P1_4_: movl (%r12),%eax _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%r8) _litmus_P0_2_: movl (%rbp),%eax Test X034-A Required Histogram (3 states) 402473975:>0:EAX=1; 1:EAX=1; 1:EBX=0; 396658603:>0:EAX=0; 1:EAX=1; 1:EBX=1; 867422:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 800000000, 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 16.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_1_: xchgl %r15d,(%r13) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl (%r14),%edx _litmus_P2_4_: movl (%r12),%eax _litmus_P1_0_: movl $1,%ebp _litmus_P1_1_: xchgl %ebp,(%rdx) _litmus_P1_2_: movl (%rbx),%eax _litmus_P0_0_: movl $1,%ebp _litmus_P0_1_: xchgl %ebp,(%rdx) _litmus_P0_2_: movl (%rbx),%eax Test X035-A Required Histogram (7 states) 59650412:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 59265097:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 106374334:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 59356803:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 105542760:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 104986766:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 4823828:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 56.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P3_1_: xchgl %r14d,(%r12) _litmus_P3_2_: movl $1,(%r10) _litmus_P3_3_: movl (%r10),%r9d _litmus_P3_4_: movl (%r11),%eax _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%rbp) _litmus_P2_2_: movl (%r8),%eax _litmus_P1_0_: movl $1,%r10d _litmus_P1_1_: xchgl %r10d,(%rbp) _litmus_P1_2_: movl (%r8),%eax _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%rbp) _litmus_P0_2_: movl (%r8),%eax Test X036-A Required Histogram (15 states) 4538969:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 5126587:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 33015140:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 4842299:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 61399790:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 32916389:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 30670838:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 4590335:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 32817374:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 61262926:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 31400002:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 33534124:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 31745091:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 30795504:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 1344632:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 400000000, 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 34.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_1_: xchgl %r15d,(%r13) _litmus_P3_2_: movl $1,(%r11) _litmus_P3_3_: movl (%r11),%r10d _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $1,%r11d _litmus_P2_1_: xchgl %r11d,(%r8) _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,%r11d _litmus_P1_1_: xchgl %r11d,(%r8) _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X037-A Required Histogram (15 states) 2196399:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 35179682:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 66089329:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 32624583:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 37746591:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 30794467:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 27071112:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 300757:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 2034024:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 6031507:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 27914014:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 4955336:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 61572566:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 32915287:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 32574346:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 400000000, 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 37.44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_1_: xchgl %r15d,(%r13) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl (%r14),%edx _litmus_P2_4_: movl (%r12),%eax _litmus_P1_0_: movl $2,%r12d _litmus_P1_1_: xchgl %r12d,(%rdx) _litmus_P1_2_: movl (%rbp),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X038-A Required Histogram (7 states) 57919741:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 108623361:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 109114759:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 1291364:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 55237941:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 60218732:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 107594102:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 56.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,%r15d _litmus_P3_1_: xchgl %r15d,(%r13) _litmus_P3_2_: movl $1,(%r11) _litmus_P3_3_: movl (%r11),%r10d _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $2,%r11d _litmus_P2_1_: xchgl %r11d,(%r8) _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,%r11d _litmus_P0_1_: xchgl %r11d,(%r8) _litmus_P0_2_: movl (%r9),%eax Test X039-A Required Histogram (15 states) 1391866:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 37978931:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 34414317:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 30567265:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 66975197:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 27727130:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 31873886:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 328181:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 5501430:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 2087443:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 61461904:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 4185340:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 32658972:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 26672136:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 36176002:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 400000000, 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 35.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_1_: xchgl %r15d,(%r13) _litmus_P3_2_: movl $1,(%r11) _litmus_P3_3_: movl (%r11),%r10d _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $2,%r11d _litmus_P2_1_: xchgl %r11d,(%r8) _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X040-A Required Histogram (15 states) 30303935:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 26954223:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 28755543:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 203038:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 6667712:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 37319911:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 65331976:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 32868397:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 2303557:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 61697642:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 35334299:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 33713169:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 1920183:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 4784484:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 31841931:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 39.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P1_1_: xchgl %r15d,(%r11) _litmus_P1_2_: movl $1,(%r12) _litmus_P1_3_: movl (%r12),%r10d _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl $1,(%rax) Test X041-A Required Histogram (3 states) 389291220:>1:EAX=1; 1:EBX=0; x=1; 11198378:>1:EAX=1; 1:EBX=1; x=1; 399510402:>1:EAX=1; 1:EBX=1; x=2; Ok Witnesses Positive: 800000000, 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 16.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_1_: xchgl %r15d,(%r13) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl (%r14),%edx _litmus_P2_4_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,%r12d _litmus_P0_1_: xchgl %r12d,(%rdx) _litmus_P0_2_: movl (%rbp),%eax Test X042-A Required Histogram (7 states) 57130230:>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 109086070:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 106742873:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 1262140:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 60088535:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 51959403:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 113730749:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=2; Ok Witnesses Positive: 500000000, 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 56.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_1_: xchgl %r15d,(%r13) _litmus_P3_2_: movl $1,(%r11) _litmus_P3_3_: movl (%r11),%r10d _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $1,%r11d _litmus_P1_1_: xchgl %r11d,(%r8) _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,%r11d _litmus_P0_1_: xchgl %r11d,(%r8) _litmus_P0_2_: movl (%r9),%eax Test X043-A Required Histogram (15 states) 1665831:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 65295331:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 37499621:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 27119205:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 33635334:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 32570396:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 30200680:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 355312:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 4423670:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 5554845:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 32633795:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 2994505:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 27107993:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 62831364:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 36112118:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; Ok Witnesses Positive: 400000000, 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 37.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_1_: xchgl %r15d,(%r13) _litmus_P3_2_: movl $1,(%r11) _litmus_P3_3_: movl (%r11),%r10d _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,%r11d _litmus_P1_1_: xchgl %r11d,(%r8) _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X044-A Required Histogram (15 states) 66928380:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 30485706:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 29516144:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 72210 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 248719:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 35217372:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 29910127:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 33205831:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 420168:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 31049348:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 32994909:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 36307385:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=2; 1734435:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 2415096:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 69494170:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 400000000, 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 39.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_1_: xchgl %r15d,(%r13) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl (%r14),%edx _litmus_P2_4_: movl (%r12),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X045-A Required Histogram (7 states) 100248906:>2:EAX=1; 2:EBX=0; x=1; y=1; 170579:>2:EAX=1; 2:EBX=1; x=1; y=1; 65378753:>2:EAX=1; 2:EBX=0; x=2; y=1; 104562969:>2:EAX=1; 2:EBX=1; x=2; y=1; 53380653:>2:EAX=1; 2:EBX=0; x=1; y=2; 113562981:>2:EAX=1; 2:EBX=1; x=1; y=2; 62695159:>2:EAX=1; 2:EBX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 54.60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_1_: xchgl %r15d,(%r13) _litmus_P3_2_: movl $1,(%r11) _litmus_P3_3_: movl (%r11),%r10d _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,%r11d _litmus_P0_1_: xchgl %r11d,(%r8) _litmus_P0_2_: movl (%r9),%eax Test X046-A Required Histogram (15 states) 30013747:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 28087378:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 27114551:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 139642:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 6518717:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 65442083:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 32693002:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 36600615:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 1890476:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 35351219:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 62643406:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 32931154:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=2; 5250821:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 2596762:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 32726427:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 400000000, 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 39.48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_1_: xchgl %r15d,(%r13) _litmus_P3_2_: movl $1,(%r11) _litmus_P3_3_: movl (%r11),%r10d _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X047-A Required Histogram (15 states) 25179408:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 23812 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 32942131:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 27583318:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 63465921:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 33040645:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 6521285:>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 36692408:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 26225375:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 35163735:>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 6215999:>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 66147997:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 394398:>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 38176855:>3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 2226713:>3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 400000000, 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 40.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r10d _litmus_P1_1_: xchgl %r10d,(%rbp) _litmus_P1_2_: movl (%r8),%eax _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%r8) _litmus_P0_2_: movl (%rbp),%eax Test X048-A Required Histogram (3 states) 402103387:>0:EAX=1; 1:EAX=0; 397737399:>0:EAX=0; 1:EAX=1; 159214:>0:EAX=1; 1:EAX=1; Ok Witnesses Positive: 800000000, 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 13.78 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P2_1_: xchgl %ebp,(%rdx) _litmus_P2_2_: movl (%rbx),%eax _litmus_P1_0_: movl $1,%ebp _litmus_P1_1_: xchgl %ebp,(%rdx) _litmus_P1_2_: movl (%rbx),%eax _litmus_P0_0_: movl $1,%ebp _litmus_P0_1_: xchgl %ebp,(%rbx) _litmus_P0_2_: movl (%rdx),%eax Test X049-A Required Histogram (7 states) 60580405:>0:EAX=1; 1:EAX=0; 2:EAX=0; 60838219:>0:EAX=0; 1:EAX=1; 2:EAX=0; 104672370:>0:EAX=1; 1:EAX=1; 2:EAX=0; 60863941:>0:EAX=0; 1:EAX=0; 2:EAX=1; 104452218:>0:EAX=1; 1:EAX=0; 2:EAX=1; 103795593:>0:EAX=0; 1:EAX=1; 2:EAX=1; 4797254:>0:EAX=1; 1:EAX=1; 2:EAX=1; Ok Witnesses Positive: 500000000, 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 51.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r10d _litmus_P3_1_: xchgl %r10d,(%r8) _litmus_P3_2_: movl (%rbp),%eax _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%rbp) _litmus_P2_2_: movl (%r8),%eax _litmus_P1_0_: movl $1,%r10d _litmus_P1_1_: xchgl %r10d,(%rbp) _litmus_P1_2_: movl (%r8),%eax _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%rbp) _litmus_P0_2_: movl (%r8),%eax Test X050-A Required Histogram (15 states) 4784812:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 4884248:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 33355305:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 4814375:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 60038123:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 32805168:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 31642397:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 4876621:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 33013758:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 60187597:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 31546184:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 33319805:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 31850753:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 31352697:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 1528157:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; Ok Witnesses Positive: 400000000, 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 32.08 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r11d _litmus_P3_1_: xchgl %r11d,(%r9) _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,%r11d _litmus_P2_1_: xchgl %r11d,(%r8) _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,%r11d _litmus_P1_1_: xchgl %r11d,(%r8) _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X051-A Required Histogram (15 states) 2077142:>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 34458401:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 66271792:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 32226792:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 38346048:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 31026669:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 26461890:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 328622:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=1; 1968251:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 4912447:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 25792029:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 5411617:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 61689332:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 32655491:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 36373477:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=2; Ok Witnesses Positive: 400000000, 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 33.08 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r12d _litmus_P2_1_: xchgl %r12d,(%rdx) _litmus_P2_2_: movl (%rbp),%eax _litmus_P1_0_: movl $2,%r12d _litmus_P1_1_: xchgl %r12d,(%rdx) _litmus_P1_2_: movl (%rbp),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) Test X052-A Required Histogram (7 states) 59216509:>1:EAX=0; 2:EAX=0; x=1; 107370128:>1:EAX=1; 2:EAX=0; x=1; 107747628:>1:EAX=0; 2:EAX=1; x=1; 1472913:>1:EAX=1; 2:EAX=1; x=1; 51494868:>1:EAX=1; 2:EAX=0; x=2; 60466298:>1:EAX=0; 2:EAX=1; x=2; 112231656:>1:EAX=1; 2:EAX=1; x=2; Ok Witnesses Positive: 500000000, 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 51.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r11d _litmus_P3_1_: xchgl %r11d,(%r9) _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $2,%r11d _litmus_P2_1_: xchgl %r11d,(%r8) _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X053-A Required Histogram (15 states) 30980581:>2:EAX=0; 3:EAX=0; x=1; y=1; 27730304:>2:EAX=1; 3:EAX=0; x=1; y=1; 28441938:>2:EAX=0; 3:EAX=1; x=1; y=1; 166308:>2:EAX=1; 3:EAX=1; x=1; y=1; 6098887:>2:EAX=0; 3:EAX=0; x=2; y=1; 33067666:>2:EAX=1; 3:EAX=0; x=2; y=1; 65802598:>2:EAX=0; 3:EAX=1; x=2; y=1; 36404898:>2:EAX=1; 3:EAX=1; x=2; y=1; 2362100:>2:EAX=0; 3:EAX=0; x=1; y=2; 62150738:>2:EAX=1; 3:EAX=0; x=1; y=2; 35181143:>2:EAX=0; 3:EAX=1; x=1; y=2; 33155852:>2:EAX=1; 3:EAX=1; x=1; y=2; 1642616:>2:EAX=1; 3:EAX=0; x=2; y=2; 5976626:>2:EAX=0; 3:EAX=1; x=2; y=2; 30837745:>2:EAX=1; 3:EAX=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 36.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r11d _litmus_P1_1_: xchgl %r11d,(%r8) _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl $1,(%rax) Test X054-A Required Histogram (3 states) 392764591:>1:EAX=0; x=1; 15552344:>1:EAX=1; x=1; 391683065:>1:EAX=1; x=2; Ok Witnesses Positive: 800000000, Negative: 0 Condition forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) is validated Hash=8305a3015f900654003ada1eeb4d967b Time X054-A 14.30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r11d _litmus_P3_1_: xchgl %r11d,(%r9) _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,%r11d _litmus_P1_1_: xchgl %r11d,(%r8) _litmus_P1_2_: movl (%r9),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X055-A Required Histogram (15 states) 66542959:>1:EAX=0; 3:EAX=0; x=1; z=1; 31187250:>1:EAX=1; 3:EAX=0; x=1; z=1; 30519011:>1:EAX=0; 3:EAX=1; x=1; z=1; 86320 :>1:EAX=1; 3:EAX=1; x=1; z=1; 264929:>1:EAX=0; 3:EAX=0; x=2; z=1; 31699041:>1:EAX=1; 3:EAX=0; x=2; z=1; 30786022:>1:EAX=0; 3:EAX=1; x=2; z=1; 36528862:>1:EAX=1; 3:EAX=1; x=2; z=1; 349046:>1:EAX=0; 3:EAX=0; x=1; z=2; 31073202:>1:EAX=1; 3:EAX=0; x=1; z=2; 32240162:>1:EAX=0; 3:EAX=1; x=1; z=2; 36104881:>1:EAX=1; 3:EAX=1; x=1; z=2; 1652829:>1:EAX=1; 3:EAX=0; x=2; z=2; 1791449:>1:EAX=0; 3:EAX=1; x=2; z=2; 69174037:>1:EAX=1; 3:EAX=1; x=2; z=2; Ok Witnesses Positive: 400000000, 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 38.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r12d _litmus_P2_1_: xchgl %r12d,(%rdx) _litmus_P2_2_: movl (%rbp),%eax _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rdx) _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) Test X056-A Required Histogram (7 states) 101996728:>2:EAX=0; x=1; y=1; 196625:>2:EAX=1; x=1; y=1; 59831852:>2:EAX=0; x=2; y=1; 109147335:>2:EAX=1; x=2; y=1; 53247834:>2:EAX=0; x=1; y=2; 113695995:>2:EAX=1; x=1; y=2; 61883631:>2:EAX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 53.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r11d _litmus_P3_1_: xchgl %r11d,(%r9) _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%rax) _litmus_P1_1_: movl $1,(%rbp) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rbp) Test X057-A Required Histogram (15 states) 26407899:>3:EAX=0; x=1; y=1; z=1; 24258 :>3:EAX=1; x=1; y=1; z=1; 30395510:>3:EAX=0; x=2; y=1; z=1; 30105904:>3:EAX=1; x=2; y=1; z=1; 62195267:>3:EAX=0; x=1; y=2; z=1; 34177683:>3:EAX=1; x=1; y=2; z=1; 5460278:>3:EAX=0; x=2; y=2; z=1; 37436615:>3:EAX=1; x=2; y=2; z=1; 26740621:>3:EAX=0; x=1; y=1; z=2; 35479394:>3:EAX=1; x=1; y=1; z=2; 5762169:>3:EAX=0; x=2; y=1; z=2; 66035131:>3:EAX=1; x=2; y=1; z=2; 348650:>3:EAX=0; x=1; y=2; z=2; 37483527:>3:EAX=1; x=1; y=2; z=2; 1947094:>3:EAX=1; x=2; y=2; z=2; Ok Witnesses Positive: 400000000, 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 38.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P1_2_: xchgl %r15d,(%r11) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl (%r13),%ebp _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r15d _litmus_P1_16_: xchgl %r15d,(%r12) _litmus_P1_17_: cmpl $0,%r15d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r12),%r15d _litmus_P1_21_: cmpl $0,%r15d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%r14),%ebx _litmus_P1_26_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r12) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: movl (%r14),%ebp _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%r15d _litmus_P0_16_: xchgl %r15d,(%r11) _litmus_P0_17_: cmpl $0,%r15d _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%r11),%r15d _litmus_P0_21_: cmpl $0,%r15d _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl (%r13),%ebx _litmus_P0_26_: movl $0,(%r11) Test X000-L Required Histogram (3 states) 377244133:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 374111141:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 48644726:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 800000000, 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 18.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%rbp) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rbp),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r13) _litmus_P2_12_: movl $0,(%rbp) _litmus_P2_13_: movl (%r13),%edx _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%r12) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r12),%r15d _litmus_P2_21_: cmpl $0,%r15d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r14),%eax _litmus_P2_26_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%rbp) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rbp),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%rbp) _litmus_P1_13_: movl (%r13),%edx _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r15d _litmus_P1_16_: xchgl %r15d,(%r12) _litmus_P1_17_: cmpl $0,%r15d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r12),%r15d _litmus_P1_21_: cmpl $0,%r15d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%r14),%eax _litmus_P1_26_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r12) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: movl (%r14),%edx _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%r15d _litmus_P0_16_: xchgl %r15d,(%rbp) _litmus_P0_17_: cmpl $0,%r15d _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%rbp),%r15d _litmus_P0_21_: cmpl $0,%r15d _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl (%r13),%eax _litmus_P0_26_: movl $0,(%rbp) Test X001-L Required Histogram (7 states) 13364322:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 13367376:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 146378609:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 12979225:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 148269383:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 147864005:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 17777080:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 81.77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%r12) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r12),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r14) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: movl (%r14),%edx _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%rbp) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%rbp),%r15d _litmus_P2_21_: cmpl $0,%r15d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r13),%eax _litmus_P2_26_: movl $0,(%rbp) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%rbp) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rbp),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%rbp) _litmus_P1_13_: movl (%r13),%edx _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r15d _litmus_P1_16_: xchgl %r15d,(%r12) _litmus_P1_17_: cmpl $0,%r15d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r12),%r15d _litmus_P1_21_: cmpl $0,%r15d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%r14),%eax _litmus_P1_26_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%r12) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%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,(%r14) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: movl $1,(%r15) _litmus_P0_14_: movl (%r15),%edx _litmus_P0_15_: LitLock03: _litmus_P0_16_: movl $1,%edi _litmus_P0_17_: xchgl %edi,(%r13) _litmus_P0_18_: cmpl $0,%edi _litmus_P0_19_: je LitLock05 _litmus_P0_20_: LitLock04: _litmus_P0_21_: movl (%r13),%edi _litmus_P0_22_: cmpl $0,%edi _litmus_P0_23_: je LitLock03 _litmus_P0_24_: jmp LitLock04 _litmus_P0_25_: LitLock05: _litmus_P0_26_: movl (%rax),%ecx _litmus_P0_27_: movl $0,(%r13) Test X002-L Required Histogram (7 states) 13471259:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 12880790:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 148112148:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 8914130:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 151095025:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 142713540:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 22813108:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 86.51 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%rbp) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rbp),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r13) _litmus_P2_12_: movl $0,(%rbp) _litmus_P2_13_: movl (%r13),%edx _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%r12) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r12),%r15d _litmus_P2_21_: cmpl $0,%r15d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r14),%eax _litmus_P2_26_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%rbp) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rbp),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%rbp) _litmus_P1_13_: movl (%r13),%edx _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r15d _litmus_P1_16_: xchgl %r15d,(%r12) _litmus_P1_17_: cmpl $0,%r15d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r12),%r15d _litmus_P1_21_: cmpl $0,%r15d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%r14),%eax _litmus_P1_26_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r12) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%rdx) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r13),%eax _litmus_P0_25_: movl $0,(%rdx) Test X003-L Required Histogram (7 states) 13045168:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 13433526:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 147289447:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 9117509:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 151552787:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 146649290:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 18912273:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 78.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r14),%ebp _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r11) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r11),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r13),%ebx _litmus_P3_26_: movl $0,(%r11) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r11) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r11),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r13) _litmus_P2_12_: movl $0,(%r11) _litmus_P2_13_: movl (%r13),%ebp _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%r12) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r12),%r15d _litmus_P2_21_: cmpl $0,%r15d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r14),%ebx _litmus_P2_26_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%r9) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r9),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r11) _litmus_P1_12_: movl $0,(%r9) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%r10) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r10),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r12),%eax _litmus_P1_25_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r9) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r9),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r11) _litmus_P0_12_: movl $0,(%r9) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r10) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r10),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r12),%eax _litmus_P0_25_: movl $0,(%r10) Test X004-L Required Histogram (15 states) 13883 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 17518 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 10336778:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 26926 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 30613537:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 10140364:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 67876011:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 15063 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 6165804:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 30445577:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 71069087:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 6330570:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 71487753:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 68230686:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 27230443:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 400000000, 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 50.37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r14),%ebp _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r11) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r11),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r13),%ebx _litmus_P3_26_: movl $0,(%r11) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r11) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r11),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r13) _litmus_P2_12_: movl $0,(%r11) _litmus_P2_13_: movl (%r13),%ebp _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%r12) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r12),%r15d _litmus_P2_21_: cmpl $0,%r15d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r14),%ebx _litmus_P2_26_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r12) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r11) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r11),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r13),%eax _litmus_P1_25_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X005-L Required Histogram (15 states) 13465 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 10752223:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 31352756:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 65193472:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 8296897:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 67861202:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 74609058:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 23101181:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 19939 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 22941 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 11020087:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 16080 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 29830008:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 4926507:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 72984184:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 400000000, 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 50.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%rbp) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock17 _litmus_P2_5_: LitLock16: _litmus_P2_6_: movl (%rbp),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock15 _litmus_P2_9_: jmp LitLock16 _litmus_P2_10_: LitLock17: _litmus_P2_11_: movl $1,(%r13) _litmus_P2_12_: movl $0,(%rbp) _litmus_P2_13_: movl (%r13),%edx _litmus_P2_14_: LitLock18: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%r12) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock20 _litmus_P2_19_: LitLock19: _litmus_P2_20_: movl (%r12),%r15d _litmus_P2_21_: cmpl $0,%r15d _litmus_P2_22_: je LitLock18 _litmus_P2_23_: jmp LitLock19 _litmus_P2_24_: LitLock20: _litmus_P2_25_: movl (%r14),%eax _litmus_P2_26_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%rbp) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rbp),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r13) _litmus_P1_12_: movl $0,(%rbp) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%rbp) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rbp),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r13),%edx _litmus_P1_25_: movl $0,(%rbp) _litmus_P1_26_: LitLock12: _litmus_P1_27_: movl $1,%r15d _litmus_P1_28_: xchgl %r15d,(%r12) _litmus_P1_29_: cmpl $0,%r15d _litmus_P1_30_: je LitLock14 _litmus_P1_31_: LitLock13: _litmus_P1_32_: movl (%r12),%r15d _litmus_P1_33_: cmpl $0,%r15d _litmus_P1_34_: je LitLock12 _litmus_P1_35_: jmp LitLock13 _litmus_P1_36_: LitLock14: _litmus_P1_37_: movl (%r14),%eax _litmus_P1_38_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%rdx) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r13) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%rax) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rax),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r12) _litmus_P0_25_: movl $0,(%rax) Test X006-L Required Histogram (10 states) 12224533:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 1733429:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 141609647:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 2465557:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 142801126:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 3128263:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 22156903:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 17380635:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 7479594:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 149020313:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 82.37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock23 _litmus_P3_5_: LitLock22: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock21 _litmus_P3_9_: jmp LitLock22 _litmus_P3_10_: LitLock23: _litmus_P3_11_: movl $1,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r14),%ebp _litmus_P3_14_: LitLock24: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r11) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock26 _litmus_P3_19_: LitLock25: _litmus_P3_20_: movl (%r11),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock24 _litmus_P3_23_: jmp LitLock25 _litmus_P3_24_: LitLock26: _litmus_P3_25_: movl (%r13),%ebx _litmus_P3_26_: movl $0,(%r11) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r11) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r11),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r13) _litmus_P2_12_: movl $0,(%r11) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r11) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r11),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r13),%ebp _litmus_P2_25_: movl $0,(%r11) _litmus_P2_26_: LitLock18: _litmus_P2_27_: movl $1,%r15d _litmus_P2_28_: xchgl %r15d,(%r12) _litmus_P2_29_: cmpl $0,%r15d _litmus_P2_30_: je LitLock20 _litmus_P2_31_: LitLock19: _litmus_P2_32_: movl (%r12),%r15d _litmus_P2_33_: cmpl $0,%r15d _litmus_P2_34_: je LitLock18 _litmus_P2_35_: jmp LitLock19 _litmus_P2_36_: LitLock20: _litmus_P2_37_: movl (%r14),%ebx _litmus_P2_38_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r13d _litmus_P1_2_: xchgl %r13d,(%rax) _litmus_P1_3_: cmpl $0,%r13d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r13d _litmus_P1_7_: cmpl $0,%r13d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r13d _litmus_P1_15_: xchgl %r13d,(%r9) _litmus_P1_16_: cmpl $0,%r13d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r9),%r13d _litmus_P1_20_: cmpl $0,%r13d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r10) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r11) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r13),%eax _litmus_P0_25_: movl $0,(%r11) Test X007-L Required Histogram (22 states) 1390 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 10676 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 2953478:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 21090 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 4855764:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 9630886:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 64352728:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 3215 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 2846849:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 26877534:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 66024064:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 1340923:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 5003630:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 69690105:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 23315252:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 11071 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 42436 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 31582069:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 16937 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 3991189:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 8123429:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 79305285:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 400000000, 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 52.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock23 _litmus_P3_5_: LitLock22: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock21 _litmus_P3_9_: jmp LitLock22 _litmus_P3_10_: LitLock23: _litmus_P3_11_: movl $1,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r14),%ebp _litmus_P3_14_: LitLock24: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r11) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock26 _litmus_P3_19_: LitLock25: _litmus_P3_20_: movl (%r11),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock24 _litmus_P3_23_: jmp LitLock25 _litmus_P3_24_: LitLock26: _litmus_P3_25_: movl (%r13),%ebx _litmus_P3_26_: movl $0,(%r11) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r11) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r11),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r13) _litmus_P2_12_: movl $0,(%r11) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r11) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r11),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r13),%ebp _litmus_P2_25_: movl $0,(%r11) _litmus_P2_26_: LitLock18: _litmus_P2_27_: movl $1,%r15d _litmus_P2_28_: xchgl %r15d,(%r12) _litmus_P2_29_: cmpl $0,%r15d _litmus_P2_30_: je LitLock20 _litmus_P2_31_: LitLock19: _litmus_P2_32_: movl (%r12),%r15d _litmus_P2_33_: cmpl $0,%r15d _litmus_P2_34_: je LitLock18 _litmus_P2_35_: jmp LitLock19 _litmus_P2_36_: LitLock20: _litmus_P2_37_: movl (%r14),%ebx _litmus_P2_38_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r13d _litmus_P1_2_: xchgl %r13d,(%rax) _litmus_P1_3_: cmpl $0,%r13d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r13d _litmus_P1_7_: cmpl $0,%r13d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r10) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r13d _litmus_P1_15_: xchgl %r13d,(%r9) _litmus_P1_16_: cmpl $0,%r13d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r9),%r13d _litmus_P1_20_: cmpl $0,%r13d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X008-L Required Histogram (22 states) 1448 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 3377638:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 4684445:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 62835506:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 3004595:>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 60646542:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 4495918:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 20291949:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 11961 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 10898 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 10388902:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 515 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 28925676:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 957283:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 72519036:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 11685 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 34433414:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 6013865:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 81751695:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 29392 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 13835 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 5593802:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 54.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P1_2_: xchgl %r15d,(%r11) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl (%r13),%ebp _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r15d _litmus_P1_16_: xchgl %r15d,(%r12) _litmus_P1_17_: cmpl $0,%r15d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r12),%r15d _litmus_P1_21_: cmpl $0,%r15d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%r14),%ebx _litmus_P1_26_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rbx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r13) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: movl $1,(%rbp) _litmus_P0_14_: movl (%rbp),%r14d _litmus_P0_15_: LitLock03: _litmus_P0_16_: movl $1,%eax _litmus_P0_17_: xchgl %eax,(%rcx) _litmus_P0_18_: cmpl $0,%eax _litmus_P0_19_: je LitLock05 _litmus_P0_20_: LitLock04: _litmus_P0_21_: movl (%rcx),%eax _litmus_P0_22_: cmpl $0,%eax _litmus_P0_23_: je LitLock03 _litmus_P0_24_: jmp LitLock04 _litmus_P0_25_: LitLock05: _litmus_P0_26_: movl (%r12),%r15d _litmus_P0_27_: movl $0,(%rcx) Test X009-L Required Histogram (3 states) 357713102:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 288873298:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 153413600:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 800000000, 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 23.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%r12) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r12),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r14) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: movl (%r14),%edx _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%rbp) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%rbp),%r15d _litmus_P2_21_: cmpl $0,%r15d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r13),%eax _litmus_P2_26_: movl $0,(%rbp) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r12) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r12),%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,(%r14) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: movl $1,(%r15) _litmus_P1_14_: movl (%r15),%edx _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%edi _litmus_P1_17_: xchgl %edi,(%r13) _litmus_P1_18_: cmpl $0,%edi _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r13),%edi _litmus_P1_22_: cmpl $0,%edi _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rax),%ecx _litmus_P1_27_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%rdx) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r13) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r12) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r14),%eax _litmus_P0_25_: movl $0,(%r12) Test X010-L Required Histogram (7 states) 8128034:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 12565784:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 151536734:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 9320247:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 144377226:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 148579631:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 25492344:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 83.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%r12) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r12),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r14) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: movl (%r14),%edx _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%rbp) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%rbp),%r15d _litmus_P2_21_: cmpl $0,%r15d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r13),%eax _litmus_P2_26_: movl $0,(%rbp) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r12) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r12),%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,(%r14) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: movl $1,(%r15) _litmus_P1_14_: movl (%r15),%edx _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%edi _litmus_P1_17_: xchgl %edi,(%r13) _litmus_P1_18_: cmpl $0,%edi _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r13),%edi _litmus_P1_22_: cmpl $0,%edi _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rax),%ecx _litmus_P1_27_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%rax) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%rdx) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r13) _litmus_P0_25_: movl $0,(%rdx) Test X011-L Required Histogram (7 states) 12010988:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 146144249:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 147300312:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 23467138:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 16479577:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 7552612:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 147045124:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 85.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P1_2_: xchgl %r15d,(%r11) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl (%r13),%ebp _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r15d _litmus_P1_16_: xchgl %r15d,(%r12) _litmus_P1_17_: cmpl $0,%r15d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r12),%r15d _litmus_P1_21_: cmpl $0,%r15d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%r14),%ebx _litmus_P1_26_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r10) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r9) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r11),%eax _litmus_P0_25_: movl $0,(%r9) Test X012-L Required Histogram (3 states) 351975447:>0:EAX=1; 1:EAX=1; 1:EBX=0; 290587334:>0:EAX=0; 1:EAX=1; 1:EBX=1; 157437219:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 800000000, 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 19.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r14),%ebp _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r11) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r11),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r13),%ebx _litmus_P3_26_: movl $0,(%r11) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r9) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r9),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r10) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r10),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r12),%eax _litmus_P2_25_: movl $0,(%r10) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r11) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl (%r13),%ebp _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r15d _litmus_P1_16_: xchgl %r15d,(%r12) _litmus_P1_17_: cmpl $0,%r15d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r12),%r15d _litmus_P1_21_: cmpl $0,%r15d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%r14),%ebx _litmus_P1_26_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r9) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r9),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r11) _litmus_P0_12_: movl $0,(%r9) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r10) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r10),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r12),%eax _litmus_P0_25_: movl $0,(%r10) Test X013-L Required Histogram (15 states) 16675 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 19960 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 5987715:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 15914 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 29226986:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 10121243:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 73448319:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 16231 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 10136993:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 32224238:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 66441770:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 6162653:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 72567689:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 66474474:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 27139140:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 400000000, 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 50.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock23 _litmus_P3_5_: LitLock22: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock21 _litmus_P3_9_: jmp LitLock22 _litmus_P3_10_: LitLock23: _litmus_P3_11_: movl $1,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r14),%ebp _litmus_P3_14_: LitLock24: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r11) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock26 _litmus_P3_19_: LitLock25: _litmus_P3_20_: movl (%r11),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock24 _litmus_P3_23_: jmp LitLock25 _litmus_P3_24_: LitLock26: _litmus_P3_25_: movl (%r13),%ebx _litmus_P3_26_: movl $0,(%r11) _litmus_P2_0_: LitLock15: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r10) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock17 _litmus_P2_5_: LitLock16: _litmus_P2_6_: movl (%r10),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock15 _litmus_P2_9_: jmp LitLock16 _litmus_P2_10_: LitLock17: _litmus_P2_11_: movl $1,(%r12) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock18: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r11) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock20 _litmus_P2_18_: LitLock19: _litmus_P2_19_: movl (%r11),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock18 _litmus_P2_22_: jmp LitLock19 _litmus_P2_23_: LitLock20: _litmus_P2_24_: movl (%r13),%eax _litmus_P2_25_: movl $0,(%r11) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r11) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r13) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r11) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r11),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r13),%ebp _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock12: _litmus_P1_27_: movl $1,%r15d _litmus_P1_28_: xchgl %r15d,(%r12) _litmus_P1_29_: cmpl $0,%r15d _litmus_P1_30_: je LitLock14 _litmus_P1_31_: LitLock13: _litmus_P1_32_: movl (%r12),%r15d _litmus_P1_33_: cmpl $0,%r15d _litmus_P1_34_: je LitLock12 _litmus_P1_35_: jmp LitLock13 _litmus_P1_36_: LitLock14: _litmus_P1_37_: movl (%r14),%ebx _litmus_P1_38_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X014-L Required Histogram (22 states) 9607 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 13141 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 5516498:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 4768 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 24764581:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 1470502:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 74705399:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 2443 :>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 2238807:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 4614310:>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 65273961:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 2690438:>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 65747738:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 5112761:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 24610761:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 28859 :>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 16254 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 11680650:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 14324 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 32934396:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 4018890:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 74530912:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 400000000, 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 51.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,%r15d _litmus_P2_2_: xchgl %r15d,(%r12) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r12),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r14) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: movl (%r14),%edx _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%rbp) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%rbp),%r15d _litmus_P2_21_: cmpl $0,%r15d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r13),%eax _litmus_P2_26_: movl $0,(%rbp) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%rdx) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rdx),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%rdx) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r12) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r12),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r14),%eax _litmus_P1_25_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%r12) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%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,(%r14) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: movl $1,(%r15) _litmus_P0_14_: movl (%r15),%edx _litmus_P0_15_: LitLock03: _litmus_P0_16_: movl $1,%edi _litmus_P0_17_: xchgl %edi,(%r13) _litmus_P0_18_: cmpl $0,%edi _litmus_P0_19_: je LitLock05 _litmus_P0_20_: LitLock04: _litmus_P0_21_: movl (%r13),%edi _litmus_P0_22_: cmpl $0,%edi _litmus_P0_23_: je LitLock03 _litmus_P0_24_: jmp LitLock04 _litmus_P0_25_: LitLock05: _litmus_P0_26_: movl (%rax),%ecx _litmus_P0_27_: movl $0,(%r13) Test X015-L Required Histogram (7 states) 8323055:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 11882475:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 153295408:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 8799023:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 150066407:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 143459183:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 24174449:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 83.08 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%rbp) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rbp),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r13) _litmus_P2_12_: movl $0,(%rbp) _litmus_P2_13_: movl (%r13),%edx _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%r12) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r12),%r15d _litmus_P2_21_: cmpl $0,%r15d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r14),%eax _litmus_P2_26_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%rdx) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rdx),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%rdx) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r12) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r12),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r14),%eax _litmus_P1_25_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r12) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%rdx) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r13),%eax _litmus_P0_25_: movl $0,(%rdx) Test X016-L Required Histogram (7 states) 8299010:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 13167600:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 151596385:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 9427323:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 150445799:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 147055139:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 20008744:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 78.58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r14),%ebp _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r11) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r11),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r13),%ebx _litmus_P3_26_: movl $0,(%r11) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r9) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r9),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r10) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r10),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r12),%eax _litmus_P2_25_: movl $0,(%r10) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%r9) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r9),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r11) _litmus_P1_12_: movl $0,(%r9) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%r10) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r10),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r12),%eax _litmus_P1_25_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r9) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r9),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r11) _litmus_P0_12_: movl $0,(%r9) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r10) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r10),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r12),%eax _litmus_P0_25_: movl $0,(%r10) Test X017-L Required Histogram (15 states) 13991 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 14189 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 5821981:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 17143 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 31728381:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 9879211:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 72424979:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 18242 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 6330700:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 31548074:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 70032762:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 6049163:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 71968516:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 67592323:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 26560345:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 400000000, 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 48.62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r14),%ebp _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r11) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r11),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r13),%ebx _litmus_P3_26_: movl $0,(%r11) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r10) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r12) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r11) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r11),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r13),%eax _litmus_P2_25_: movl $0,(%r11) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r12) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r11) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r11),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r13),%eax _litmus_P1_25_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X018-L Required Histogram (15 states) 12460 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 6121436:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 31795091:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 70702695:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 8750812:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 65275104:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 74783781:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 23659127:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 16153 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 16601 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 10515940:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 16099 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 31096264:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 4516706:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 72721731:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 400000000, 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 49.93 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%rbp) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rbp),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r13) _litmus_P2_12_: movl $0,(%rbp) _litmus_P2_13_: movl (%r13),%edx _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%r12) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r12),%r15d _litmus_P2_21_: cmpl $0,%r15d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r14),%eax _litmus_P2_26_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%rdx) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rdx),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r13) _litmus_P1_12_: movl $0,(%rdx) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r12) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r12),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r14),%eax _litmus_P1_25_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%rdx) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r13) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%rax) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rax),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r12) _litmus_P0_25_: movl $0,(%rax) Test X019-L Required Histogram (7 states) 13971131:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 144044663:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 154662676:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 18028833:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 15976552:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 7760098:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 145556047:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 80.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r14),%ebp _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r11) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r11),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r13),%ebx _litmus_P3_26_: movl $0,(%r11) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r10) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r12) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r11) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r11),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r13),%eax _litmus_P2_25_: movl $0,(%r11) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r13d _litmus_P1_2_: xchgl %r13d,(%rax) _litmus_P1_3_: cmpl $0,%r13d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r13d _litmus_P1_7_: cmpl $0,%r13d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r13d _litmus_P1_15_: xchgl %r13d,(%r9) _litmus_P1_16_: cmpl $0,%r13d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r9),%r13d _litmus_P1_20_: cmpl $0,%r13d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r10) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r11) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r13),%eax _litmus_P0_25_: movl $0,(%r11) Test X020-L Required Histogram (15 states) 13892 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 8689692:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 10730064:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 66679893:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 33032024:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 73257425:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 66012684:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 21779102:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 11076 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 20001 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 30896776:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 17452 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 4746659:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 7427369:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 76685891:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 400000000, 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 49.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r14),%ebp _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r11) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r11),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r13),%ebx _litmus_P3_26_: movl $0,(%r11) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r10) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r12) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r11) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r11),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r13),%eax _litmus_P2_25_: movl $0,(%r11) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r13d _litmus_P1_2_: xchgl %r13d,(%rax) _litmus_P1_3_: cmpl $0,%r13d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r13d _litmus_P1_7_: cmpl $0,%r13d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r10) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r13d _litmus_P1_15_: xchgl %r13d,(%r9) _litmus_P1_16_: cmpl $0,%r13d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r9),%r13d _litmus_P1_20_: cmpl $0,%r13d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X021-L Required Histogram (15 states) 8182983:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 66334363:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 68400458:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 20943190:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 14529 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 10117001:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 32741867:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 71073654:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 11325 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 31666423:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 6825053:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 78583418:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 18268 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 13067 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 5074401:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 52.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P1_2_: xchgl %r15d,(%r11) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r13) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r11) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r11),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r13),%ebp _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock12: _litmus_P1_27_: movl $1,%r15d _litmus_P1_28_: xchgl %r15d,(%r12) _litmus_P1_29_: cmpl $0,%r15d _litmus_P1_30_: je LitLock14 _litmus_P1_31_: LitLock13: _litmus_P1_32_: movl (%r12),%r15d _litmus_P1_33_: cmpl $0,%r15d _litmus_P1_34_: je LitLock12 _litmus_P1_35_: jmp LitLock13 _litmus_P1_36_: LitLock14: _litmus_P1_37_: movl (%r14),%ebx _litmus_P1_38_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%r9) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r9),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r11) _litmus_P0_12_: movl $0,(%r9) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%rax) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rax),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r10) _litmus_P0_25_: movl $0,(%rax) Test X022-L Required Histogram (4 states) 60350926:>1:EAX=2; 1:EBX=0; x=1; 103509833:>1:EAX=1; 1:EBX=1; x=1; 422812918:>1:EAX=2; 1:EBX=1; x=1; 213326323:>1:EAX=2; 1:EBX=1; x=2; Ok Witnesses Positive: 800000000, 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 21.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock23 _litmus_P3_5_: LitLock22: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock21 _litmus_P3_9_: jmp LitLock22 _litmus_P3_10_: LitLock23: _litmus_P3_11_: movl $2,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: LitLock24: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r12) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock26 _litmus_P3_18_: LitLock25: _litmus_P3_19_: movl (%r12),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock24 _litmus_P3_22_: jmp LitLock25 _litmus_P3_23_: LitLock26: _litmus_P3_24_: movl (%r14),%ebp _litmus_P3_25_: movl $0,(%r12) _litmus_P3_26_: LitLock27: _litmus_P3_27_: movl $1,%r15d _litmus_P3_28_: xchgl %r15d,(%r11) _litmus_P3_29_: cmpl $0,%r15d _litmus_P3_30_: je LitLock29 _litmus_P3_31_: LitLock28: _litmus_P3_32_: movl (%r11),%r15d _litmus_P3_33_: cmpl $0,%r15d _litmus_P3_34_: je LitLock27 _litmus_P3_35_: jmp LitLock28 _litmus_P3_36_: LitLock29: _litmus_P3_37_: movl (%r13),%ebx _litmus_P3_38_: movl $0,(%r11) _litmus_P2_0_: LitLock15: _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rax) _litmus_P2_3_: cmpl $0,%r13d _litmus_P2_4_: je LitLock17 _litmus_P2_5_: LitLock16: _litmus_P2_6_: movl (%rax),%r13d _litmus_P2_7_: cmpl $0,%r13d _litmus_P2_8_: je LitLock15 _litmus_P2_9_: jmp LitLock16 _litmus_P2_10_: LitLock17: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock18: _litmus_P2_14_: movl $1,%r13d _litmus_P2_15_: xchgl %r13d,(%r9) _litmus_P2_16_: cmpl $0,%r13d _litmus_P2_17_: je LitLock20 _litmus_P2_18_: LitLock19: _litmus_P2_19_: movl (%r9),%r13d _litmus_P2_20_: cmpl $0,%r13d _litmus_P2_21_: je LitLock18 _litmus_P2_22_: jmp LitLock19 _litmus_P2_23_: LitLock20: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%r9) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r11) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r13) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r11) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r11),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r13),%ebp _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock12: _litmus_P1_27_: movl $1,%r15d _litmus_P1_28_: xchgl %r15d,(%r12) _litmus_P1_29_: cmpl $0,%r15d _litmus_P1_30_: je LitLock14 _litmus_P1_31_: LitLock13: _litmus_P1_32_: movl (%r12),%r15d _litmus_P1_33_: cmpl $0,%r15d _litmus_P1_34_: je LitLock12 _litmus_P1_35_: jmp LitLock13 _litmus_P1_36_: LitLock14: _litmus_P1_37_: movl (%r14),%ebx _litmus_P1_38_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X023-L Required Histogram (32 states) 304 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 1720 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 2761373:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 411 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 26040584:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 986189:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 67549582:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 2504 :>1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 1002709:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 1573753:>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 3393815:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 2804491:>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 66889885:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 3333210:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 20927006:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 3507 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 9941 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 3909870:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 6130 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 5066282:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 3851147:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 67895381:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 10106 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 5016 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 3571004:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 4379 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 3419562:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 5199373:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 68240461:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 18794 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 20460 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 41501051:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 400000000, 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 56.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%r12) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r12),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r14) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r12) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r12),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r14),%edx _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: LitLock18: _litmus_P2_27_: movl $1,%r15d _litmus_P2_28_: xchgl %r15d,(%rbp) _litmus_P2_29_: cmpl $0,%r15d _litmus_P2_30_: je LitLock20 _litmus_P2_31_: LitLock19: _litmus_P2_32_: movl (%rbp),%r15d _litmus_P2_33_: cmpl $0,%r15d _litmus_P2_34_: je LitLock18 _litmus_P2_35_: jmp LitLock19 _litmus_P2_36_: LitLock20: _litmus_P2_37_: movl (%r13),%eax _litmus_P2_38_: movl $0,(%rbp) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rax) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r12) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%rdx) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdx),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rdx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%r12) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%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,(%r14) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: movl $1,(%r15) _litmus_P0_14_: movl (%r15),%edx _litmus_P0_15_: LitLock03: _litmus_P0_16_: movl $1,%edi _litmus_P0_17_: xchgl %edi,(%r13) _litmus_P0_18_: cmpl $0,%edi _litmus_P0_19_: je LitLock05 _litmus_P0_20_: LitLock04: _litmus_P0_21_: movl (%r13),%edi _litmus_P0_22_: cmpl $0,%edi _litmus_P0_23_: je LitLock03 _litmus_P0_24_: jmp LitLock04 _litmus_P0_25_: LitLock05: _litmus_P0_26_: movl (%rax),%ecx _litmus_P0_27_: movl $0,(%r13) Test X024-L Required Histogram (10 states) 2517819:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=0; z=1; 12105720:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 144458492:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 1548403:>0:EAX=1; 0:EBX=0; 2:EAX=1; 2:EBX=1; z=1; 3221476:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=1; z=1; 138279136:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 26029372:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=1; 7503342:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 11546765:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 152789475:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=2; Ok Witnesses Positive: 500000000, 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 85.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%rbp) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rbp),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r13) _litmus_P2_12_: movl $0,(%rbp) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%rbp) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rbp),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r13),%edx _litmus_P2_25_: movl $0,(%rbp) _litmus_P2_26_: LitLock18: _litmus_P2_27_: movl $1,%r15d _litmus_P2_28_: xchgl %r15d,(%r12) _litmus_P2_29_: cmpl $0,%r15d _litmus_P2_30_: je LitLock20 _litmus_P2_31_: LitLock19: _litmus_P2_32_: movl (%r12),%r15d _litmus_P2_33_: cmpl $0,%r15d _litmus_P2_34_: je LitLock18 _litmus_P2_35_: jmp LitLock19 _litmus_P2_36_: LitLock20: _litmus_P2_37_: movl (%r14),%eax _litmus_P2_38_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rax) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r12) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%rdx) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdx),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rdx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r12) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%rdx) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r13),%eax _litmus_P0_25_: movl $0,(%rdx) Test X025-L Required Histogram (10 states) 2419634:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 11067840:>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 141795164:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 1636929:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 3316818:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 143682723:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 23084751:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 7182478:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 13032471:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 152781192:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=2; Ok Witnesses Positive: 500000000, 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 79.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r12) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r12),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%r14),%ebp _litmus_P3_25_: movl $0,(%r12) _litmus_P3_26_: LitLock24: _litmus_P3_27_: movl $1,%r15d _litmus_P3_28_: xchgl %r15d,(%r11) _litmus_P3_29_: cmpl $0,%r15d _litmus_P3_30_: je LitLock26 _litmus_P3_31_: LitLock25: _litmus_P3_32_: movl (%r11),%r15d _litmus_P3_33_: cmpl $0,%r15d _litmus_P3_34_: je LitLock24 _litmus_P3_35_: jmp LitLock25 _litmus_P3_36_: LitLock26: _litmus_P3_37_: movl (%r13),%ebx _litmus_P3_38_: movl $0,(%r11) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rax) _litmus_P2_3_: cmpl $0,%r13d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rax),%r13d _litmus_P2_7_: cmpl $0,%r13d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r13d _litmus_P2_15_: xchgl %r13d,(%r9) _litmus_P2_16_: cmpl $0,%r13d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r9),%r13d _litmus_P2_20_: cmpl $0,%r13d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%r9) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r12) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r11) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r11),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r13),%eax _litmus_P1_25_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r10) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r11) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r13),%eax _litmus_P0_25_: movl $0,(%r11) Test X026-L Required Histogram (22 states) 893 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 1393 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 2705880:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 10256 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 27244049:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 2495226:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 65888249:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 10729 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 1351090:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 4806407:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 5121642:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 5880233:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 73788662:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 65624469:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 23553865:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 12563 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 11514 :>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 3833057:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 26899 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 7881222:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 32688180:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 77063522:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; Ok Witnesses Positive: 400000000, 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 49.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r12) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r12),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%r14),%ebp _litmus_P3_25_: movl $0,(%r12) _litmus_P3_26_: LitLock24: _litmus_P3_27_: movl $1,%r15d _litmus_P3_28_: xchgl %r15d,(%r11) _litmus_P3_29_: cmpl $0,%r15d _litmus_P3_30_: je LitLock26 _litmus_P3_31_: LitLock25: _litmus_P3_32_: movl (%r11),%r15d _litmus_P3_33_: cmpl $0,%r15d _litmus_P3_34_: je LitLock24 _litmus_P3_35_: jmp LitLock25 _litmus_P3_36_: LitLock26: _litmus_P3_37_: movl (%r13),%ebx _litmus_P3_38_: movl $0,(%r11) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rax) _litmus_P2_3_: cmpl $0,%r13d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rax),%r13d _litmus_P2_7_: cmpl $0,%r13d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r13d _litmus_P2_15_: xchgl %r13d,(%r9) _litmus_P2_16_: cmpl $0,%r13d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r9),%r13d _litmus_P2_20_: cmpl $0,%r13d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%r9) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r12) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r11) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r11),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r13),%eax _litmus_P1_25_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X027-L Required Histogram (22 states) 563 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 2775268:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 30310733:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 64529856:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 1186780:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 4976951:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 76046686:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 20305449:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 1547 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 11254 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 3492331:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 9708 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 5638445:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 4060377:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 67882827:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 12295 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 3628858:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 9227204:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 70695945:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 13265 :>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 23378 :>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 35170280:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 400000000, 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 53.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%rbp) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rbp),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r13) _litmus_P2_12_: movl $0,(%rbp) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%rbp) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rbp),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r13),%edx _litmus_P2_25_: movl $0,(%rbp) _litmus_P2_26_: LitLock18: _litmus_P2_27_: movl $1,%r15d _litmus_P2_28_: xchgl %r15d,(%r12) _litmus_P2_29_: cmpl $0,%r15d _litmus_P2_30_: je LitLock20 _litmus_P2_31_: LitLock19: _litmus_P2_32_: movl (%r12),%r15d _litmus_P2_33_: cmpl $0,%r15d _litmus_P2_34_: je LitLock18 _litmus_P2_35_: jmp LitLock19 _litmus_P2_36_: LitLock20: _litmus_P2_37_: movl (%r14),%eax _litmus_P2_38_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rax) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r12) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%rdx) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdx),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rdx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%rdx) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r13) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%rax) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rax),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r12) _litmus_P0_25_: movl $0,(%rax) Test X028-L Required Histogram (10 states) 2867851:>2:EAX=1; 2:EBX=0; x=1; y=1; 137524193:>2:EAX=2; 2:EBX=0; x=1; y=1; 3471903:>2:EAX=1; 2:EBX=1; x=1; y=1; 18709728:>2:EAX=2; 2:EBX=1; x=1; y=1; 11614366:>2:EAX=2; 2:EBX=0; x=2; y=1; 881326:>2:EAX=1; 2:EBX=1; x=2; y=1; 148631747:>2:EAX=2; 2:EBX=1; x=2; y=1; 9461873:>2:EAX=2; 2:EBX=0; x=1; y=2; 157374194:>2:EAX=2; 2:EBX=1; x=1; y=2; 9462819:>2:EAX=2; 2:EBX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 81.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r12) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r12),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%r14),%ebp _litmus_P3_25_: movl $0,(%r12) _litmus_P3_26_: LitLock24: _litmus_P3_27_: movl $1,%r15d _litmus_P3_28_: xchgl %r15d,(%r11) _litmus_P3_29_: cmpl $0,%r15d _litmus_P3_30_: je LitLock26 _litmus_P3_31_: LitLock25: _litmus_P3_32_: movl (%r11),%r15d _litmus_P3_33_: cmpl $0,%r15d _litmus_P3_34_: je LitLock24 _litmus_P3_35_: jmp LitLock25 _litmus_P3_36_: LitLock26: _litmus_P3_37_: movl (%r13),%ebx _litmus_P3_38_: movl $0,(%r11) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rax) _litmus_P2_3_: cmpl $0,%r13d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rax),%r13d _litmus_P2_7_: cmpl $0,%r13d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r10) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r13d _litmus_P2_15_: xchgl %r13d,(%r9) _litmus_P2_16_: cmpl $0,%r13d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r9),%r13d _litmus_P2_20_: cmpl $0,%r13d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%r9) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r13d _litmus_P1_2_: xchgl %r13d,(%rax) _litmus_P1_3_: cmpl $0,%r13d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r13d _litmus_P1_7_: cmpl $0,%r13d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r13d _litmus_P1_15_: xchgl %r13d,(%r9) _litmus_P1_16_: cmpl $0,%r13d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r9),%r13d _litmus_P1_20_: cmpl $0,%r13d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r10) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r11) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r13),%eax _litmus_P0_25_: movl $0,(%r11) Test X029-L Required Histogram (22 states) 1381 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 2810933:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 2724341:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 60260321:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 4753825:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 4994625:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 64409489:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 20962363:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=1; 270 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 11887 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 29055411:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 7240 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 987572:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 6608787:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 76427896:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 11740 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 5840885:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 35813512:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 78832078:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=2; 10409 :>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 21622 :>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 5453413:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 400000000, 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 53.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r12) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r12),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%r14),%ebp _litmus_P3_25_: movl $0,(%r12) _litmus_P3_26_: LitLock24: _litmus_P3_27_: movl $1,%r15d _litmus_P3_28_: xchgl %r15d,(%r11) _litmus_P3_29_: cmpl $0,%r15d _litmus_P3_30_: je LitLock26 _litmus_P3_31_: LitLock25: _litmus_P3_32_: movl (%r11),%r15d _litmus_P3_33_: cmpl $0,%r15d _litmus_P3_34_: je LitLock24 _litmus_P3_35_: jmp LitLock25 _litmus_P3_36_: LitLock26: _litmus_P3_37_: movl (%r13),%ebx _litmus_P3_38_: movl $0,(%r11) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rax) _litmus_P2_3_: cmpl $0,%r13d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rax),%r13d _litmus_P2_7_: cmpl $0,%r13d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r10) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r13d _litmus_P2_15_: xchgl %r13d,(%r9) _litmus_P2_16_: cmpl $0,%r13d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r9),%r13d _litmus_P2_20_: cmpl $0,%r13d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%r9) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r13d _litmus_P1_2_: xchgl %r13d,(%rax) _litmus_P1_3_: cmpl $0,%r13d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r13d _litmus_P1_7_: cmpl $0,%r13d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r10) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r13d _litmus_P1_15_: xchgl %r13d,(%r9) _litmus_P1_16_: cmpl $0,%r13d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r9),%r13d _litmus_P1_20_: cmpl $0,%r13d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X030-L Required Histogram (22 states) 2878181:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 58297634:>3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 4622843:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 17785452:>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 1396 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 3674013:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 5345614:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 66489658:>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 306 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 33184502:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 904830:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 78256567:>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 11849 :>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 5088 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 4815668:>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 5714916:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 70839714:>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 13789 :>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 39174654:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 11082 :>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 7953479:>3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 18765 :>3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 400000000, 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 54.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%eax _litmus_P1_2_: xchgl %eax,(%rbx) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rbx),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r12) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: movl $1,(%r13) _litmus_P1_14_: movl (%r13),%r14d _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%eax _litmus_P1_17_: xchgl %eax,(%rcx) _litmus_P1_18_: cmpl $0,%eax _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%rcx),%eax _litmus_P1_22_: cmpl $0,%eax _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rbp),%r15d _litmus_P1_27_: movl $0,(%rcx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rcx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rbp) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: movl $1,(%r12) _litmus_P0_14_: movl (%r12),%r14d _litmus_P0_15_: LitLock03: _litmus_P0_16_: movl $1,%eax _litmus_P0_17_: xchgl %eax,(%rbx) _litmus_P0_18_: cmpl $0,%eax _litmus_P0_19_: je LitLock05 _litmus_P0_20_: LitLock04: _litmus_P0_21_: movl (%rbx),%eax _litmus_P0_22_: cmpl $0,%eax _litmus_P0_23_: je LitLock03 _litmus_P0_24_: jmp LitLock04 _litmus_P0_25_: LitLock05: _litmus_P0_26_: movl (%r13),%r15d _litmus_P0_27_: movl $0,(%rbx) Test X031-L Required Histogram (3 states) 308819255:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 293235161:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 197945584:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 800000000, 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 23.89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%edi _litmus_P2_2_: xchgl %edi,(%r13) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r13),%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,(%rax) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: movl $1,(%r14) _litmus_P2_14_: movl (%r14),%edx _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%edi _litmus_P2_17_: xchgl %edi,(%r12) _litmus_P2_18_: cmpl $0,%edi _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r12),%edi _litmus_P2_22_: cmpl $0,%edi _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r15),%ecx _litmus_P2_27_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r12) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r12),%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,(%r14) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: movl $1,(%r15) _litmus_P1_14_: movl (%r15),%edx _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%edi _litmus_P1_17_: xchgl %edi,(%r13) _litmus_P1_18_: cmpl $0,%edi _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r13),%edi _litmus_P1_22_: cmpl $0,%edi _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rax),%ecx _litmus_P1_27_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%rdx) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r13) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r12) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r14),%eax _litmus_P0_25_: movl $0,(%r12) Test X032-L Required Histogram (7 states) 8911632:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 8285329:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 145775204:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 9417643:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 146642463:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 151758350:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 29209379:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 96.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%edi _litmus_P2_2_: xchgl %edi,(%r13) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r13),%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,(%rax) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: movl $1,(%r14) _litmus_P2_14_: movl (%r14),%edx _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%edi _litmus_P2_17_: xchgl %edi,(%r12) _litmus_P2_18_: cmpl $0,%edi _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r12),%edi _litmus_P2_22_: cmpl $0,%edi _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r15),%ecx _litmus_P2_27_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r12) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r12),%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,(%r14) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: movl $1,(%r15) _litmus_P1_14_: movl (%r15),%edx _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%edi _litmus_P1_17_: xchgl %edi,(%r13) _litmus_P1_18_: cmpl $0,%edi _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r13),%edi _litmus_P1_22_: cmpl $0,%edi _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rax),%ecx _litmus_P1_27_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%rax) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%rdx) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r13) _litmus_P0_25_: movl $0,(%rdx) Test X033-L Required Histogram (7 states) 12327593:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 140705446:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 148398620:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 27811448:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 10943019:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 7852263:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 151961611:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 89.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%eax _litmus_P1_2_: xchgl %eax,(%rcx) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rcx),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rbp) _litmus_P1_12_: movl $0,(%rcx) _litmus_P1_13_: movl $1,(%r12) _litmus_P1_14_: movl (%r12),%r14d _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%eax _litmus_P1_17_: xchgl %eax,(%rbx) _litmus_P1_18_: cmpl $0,%eax _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%rbx),%eax _litmus_P1_22_: cmpl $0,%eax _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%r13),%r15d _litmus_P1_27_: movl $0,(%rbx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r10) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r9) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r11),%eax _litmus_P0_25_: movl $0,(%r9) Test X034-L Required Histogram (3 states) 279083432:>0:EAX=1; 1:EAX=1; 1:EBX=0; 305900739:>0:EAX=0; 1:EAX=1; 1:EBX=1; 215015829:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 800000000, 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 20.62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%edi _litmus_P2_2_: xchgl %edi,(%r13) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r13),%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,(%r15) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: movl $1,(%rax) _litmus_P2_14_: movl (%rax),%edx _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%edi _litmus_P2_17_: xchgl %edi,(%r12) _litmus_P2_18_: cmpl $0,%edi _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r12),%edi _litmus_P2_22_: cmpl $0,%edi _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r14),%ecx _litmus_P2_27_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%rdx) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rdx),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%rdx) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r12) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r12),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r14),%eax _litmus_P1_25_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%rdx) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r13) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r12) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r14),%eax _litmus_P0_25_: movl $0,(%r12) Test X035-L Required Histogram (7 states) 9402094:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 8830974:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 145621587:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 9264753:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 151403839:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 150594951:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 24881802:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 79.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%eax _litmus_P3_2_: xchgl %eax,(%rbx) _litmus_P3_3_: cmpl $0,%eax _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%rbx),%eax _litmus_P3_7_: cmpl $0,%eax _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%r13) _litmus_P3_12_: movl $0,(%rbx) _litmus_P3_13_: movl $1,(%rbp) _litmus_P3_14_: movl (%rbp),%r14d _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%eax _litmus_P3_17_: xchgl %eax,(%rcx) _litmus_P3_18_: cmpl $0,%eax _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%rcx),%eax _litmus_P3_22_: cmpl $0,%eax _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r12),%r15d _litmus_P3_27_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r9) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r9),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r10) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r10),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r12),%eax _litmus_P2_25_: movl $0,(%r10) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%r9) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r9),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r11) _litmus_P1_12_: movl $0,(%r9) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%r10) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r10),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r12),%eax _litmus_P1_25_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r9) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r9),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r11) _litmus_P0_12_: movl $0,(%r9) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r10) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r10),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r12),%eax _litmus_P0_25_: movl $0,(%r10) Test X036-L Required Histogram (15 states) 13037 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 14294 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 7618569:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 12959 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 31832661:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 7136124:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 66711493:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 23121 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 7120673:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 32302935:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 71590627:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 6602075:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 72746815:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 69215932:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 27058685:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 400000000, 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 51.62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P3_2_: xchgl %ebp,(%r13) _litmus_P3_3_: cmpl $0,%ebp _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r13),%ebp _litmus_P3_7_: cmpl $0,%ebp _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rax) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: movl $1,(%r14) _litmus_P3_14_: movl (%r14),%ecx _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebp _litmus_P3_17_: xchgl %ebp,(%r12) _litmus_P3_18_: cmpl $0,%ebp _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r12),%ebp _litmus_P3_22_: cmpl $0,%ebp _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r15),%ebx _litmus_P3_27_: movl $0,(%r12) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r10) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r12) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r11) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r11),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r13),%eax _litmus_P2_25_: movl $0,(%r11) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r12) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r11) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r11),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r13),%eax _litmus_P1_25_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X037-L Required Histogram (15 states) 11906 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 6972071:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 31345175:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 66589155:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 8639636:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 67883992:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 75527566:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 25266319:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 15357 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 12899 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 7311141:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 17057 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 31036016:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 4398532:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 74973178:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 400000000, 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 53.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%edi _litmus_P2_2_: xchgl %edi,(%r13) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r13),%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,(%r15) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: movl $1,(%rax) _litmus_P2_14_: movl (%rax),%edx _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%edi _litmus_P2_17_: xchgl %edi,(%r12) _litmus_P2_18_: cmpl $0,%edi _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r12),%edi _litmus_P2_22_: cmpl $0,%edi _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r14),%ecx _litmus_P2_27_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%rdx) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rdx),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r13) _litmus_P1_12_: movl $0,(%rdx) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r12) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r12),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r14),%eax _litmus_P1_25_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%rax) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%rdx) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r13) _litmus_P0_25_: movl $0,(%rdx) Test X038-L Required Histogram (7 states) 15140674:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 137806429:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 155400768:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 22843720:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 10601342:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 7569006:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 150638061:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 87.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P3_2_: xchgl %ebp,(%r13) _litmus_P3_3_: cmpl $0,%ebp _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r13),%ebp _litmus_P3_7_: cmpl $0,%ebp _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rax) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: movl $1,(%r14) _litmus_P3_14_: movl (%r14),%ecx _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebp _litmus_P3_17_: xchgl %ebp,(%r12) _litmus_P3_18_: cmpl $0,%ebp _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r12),%ebp _litmus_P3_22_: cmpl $0,%ebp _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r15),%ebx _litmus_P3_27_: movl $0,(%r12) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r10) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r12) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r11) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r11),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r13),%eax _litmus_P2_25_: movl $0,(%r11) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r13d _litmus_P1_2_: xchgl %r13d,(%rax) _litmus_P1_3_: cmpl $0,%r13d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r13d _litmus_P1_7_: cmpl $0,%r13d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r13d _litmus_P1_15_: xchgl %r13d,(%r9) _litmus_P1_16_: cmpl $0,%r13d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r9),%r13d _litmus_P1_20_: cmpl $0,%r13d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r10) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r11) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r13),%eax _litmus_P0_25_: movl $0,(%r11) Test X039-L Required Histogram (15 states) 12439 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 9737503:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 6772420:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 61949391:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 33744184:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 74727785:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 68702001:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 24305856:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 10161 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 13467 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 30886636:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 19134 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 4427563:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 6673581:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 78017879:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 400000000, 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 52.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P3_2_: xchgl %ebp,(%r13) _litmus_P3_3_: cmpl $0,%ebp _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r13),%ebp _litmus_P3_7_: cmpl $0,%ebp _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rax) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: movl $1,(%r14) _litmus_P3_14_: movl (%r14),%ecx _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebp _litmus_P3_17_: xchgl %ebp,(%r12) _litmus_P3_18_: cmpl $0,%ebp _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r12),%ebp _litmus_P3_22_: cmpl $0,%ebp _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r15),%ebx _litmus_P3_27_: movl $0,(%r12) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r10) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r12) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r11) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r11),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r13),%eax _litmus_P2_25_: movl $0,(%r11) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r13d _litmus_P1_2_: xchgl %r13d,(%rax) _litmus_P1_3_: cmpl $0,%r13d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r13d _litmus_P1_7_: cmpl $0,%r13d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r10) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r13d _litmus_P1_15_: xchgl %r13d,(%r9) _litmus_P1_16_: cmpl $0,%r13d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r9),%r13d _litmus_P1_20_: cmpl $0,%r13d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X040-L Required Histogram (15 states) 9297111:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 61780006:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 70114329:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 22506286:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 13615 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 7103695:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 32402654:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 73633037:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 10115 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 31480311:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 6873621:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 79722389:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 13065 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 17066 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 5032700:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 56.62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P1_2_: xchgl %ebp,(%r12) _litmus_P1_3_: cmpl $0,%ebp _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r12),%ebp _litmus_P1_7_: cmpl $0,%ebp _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r14) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: movl $1,(%r15) _litmus_P1_14_: movl (%r15),%ecx _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%ebp _litmus_P1_17_: xchgl %ebp,(%r13) _litmus_P1_18_: cmpl $0,%ebp _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r13),%ebp _litmus_P1_22_: cmpl $0,%ebp _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rax),%ebx _litmus_P1_27_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%r9) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r9),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r11) _litmus_P0_12_: movl $0,(%r9) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%rax) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rax),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r10) _litmus_P0_25_: movl $0,(%rax) Test X041-L Required Histogram (3 states) 286310852:>1:EAX=1; 1:EBX=0; x=1; 186557696:>1:EAX=1; 1:EBX=1; x=1; 327131452:>1:EAX=1; 1:EBX=1; x=2; Ok Witnesses Positive: 800000000, 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 22.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%edi _litmus_P2_2_: xchgl %edi,(%r13) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r13),%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,(%r15) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: movl $1,(%rax) _litmus_P2_14_: movl (%rax),%edx _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%edi _litmus_P2_17_: xchgl %edi,(%r12) _litmus_P2_18_: cmpl $0,%edi _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r12),%edi _litmus_P2_22_: cmpl $0,%edi _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r14),%ecx _litmus_P2_27_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rax) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r12) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%rdx) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdx),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rdx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%rdx) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r13) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r12) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r14),%eax _litmus_P0_25_: movl $0,(%r12) Test X042-L Required Histogram (7 states) 11639486:>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 147576741:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 146187885:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 23570520:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 7248955:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 12069359:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 151707054:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=2; Ok Witnesses Positive: 500000000, 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 87.62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P3_2_: xchgl %ebp,(%r13) _litmus_P3_3_: cmpl $0,%ebp _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r13),%ebp _litmus_P3_7_: cmpl $0,%ebp _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rax) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: movl $1,(%r14) _litmus_P3_14_: movl (%r14),%ecx _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebp _litmus_P3_17_: xchgl %ebp,(%r12) _litmus_P3_18_: cmpl $0,%ebp _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r12),%ebp _litmus_P3_22_: cmpl $0,%ebp _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r15),%ebx _litmus_P3_27_: movl $0,(%r12) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rax) _litmus_P2_3_: cmpl $0,%r13d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rax),%r13d _litmus_P2_7_: cmpl $0,%r13d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r13d _litmus_P2_15_: xchgl %r13d,(%r9) _litmus_P2_16_: cmpl $0,%r13d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r9),%r13d _litmus_P2_20_: cmpl $0,%r13d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%r9) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r12) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r11) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r11),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r13),%eax _litmus_P1_25_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r10) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r11) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r13),%eax _litmus_P0_25_: movl $0,(%r11) Test X043-L Required Histogram (15 states) 11792 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 32008047:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 9805545:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 69667144:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 6131803:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 71214819:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 64812359:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 24606728:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 12224 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 11674 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 5505092:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 22465 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 7188463:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 32095119:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 76906726:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; Ok Witnesses Positive: 400000000, 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 51.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P3_2_: xchgl %ebp,(%r13) _litmus_P3_3_: cmpl $0,%ebp _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r13),%ebp _litmus_P3_7_: cmpl $0,%ebp _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rax) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: movl $1,(%r14) _litmus_P3_14_: movl (%r14),%ecx _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebp _litmus_P3_17_: xchgl %ebp,(%r12) _litmus_P3_18_: cmpl $0,%ebp _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r12),%ebp _litmus_P3_22_: cmpl $0,%ebp _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r15),%ebx _litmus_P3_27_: movl $0,(%r12) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rax) _litmus_P2_3_: cmpl $0,%r13d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rax),%r13d _litmus_P2_7_: cmpl $0,%r13d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r13d _litmus_P2_15_: xchgl %r13d,(%r9) _litmus_P2_16_: cmpl $0,%r13d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r9),%r13d _litmus_P2_20_: cmpl $0,%r13d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%r9) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r12) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r11) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r11),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r13),%eax _litmus_P1_25_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X044-L Required Histogram (15 states) 34171003:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 68582933:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 74291262:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 20530783:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 11307 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 10104803:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 4514104:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 68541140:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 11615 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 5365116:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 9534063:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 71567232:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=2; 13352 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 26234 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 32735053:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 400000000, 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 55.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%edi _litmus_P2_2_: xchgl %edi,(%r13) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r13),%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,(%r15) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: movl $1,(%rax) _litmus_P2_14_: movl (%rax),%edx _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%edi _litmus_P2_17_: xchgl %edi,(%r12) _litmus_P2_18_: cmpl $0,%edi _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r12),%edi _litmus_P2_22_: cmpl $0,%edi _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r14),%ecx _litmus_P2_27_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rax) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r12) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%rdx) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdx),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rdx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%rax) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%rdx) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r13) _litmus_P0_25_: movl $0,(%rdx) Test X045-L Required Histogram (7 states) 145380752:>2:EAX=1; 2:EBX=0; x=1; y=1; 20205694:>2:EAX=1; 2:EBX=1; x=1; y=1; 11979213:>2:EAX=1; 2:EBX=0; x=2; y=1; 148063923:>2:EAX=1; 2:EBX=1; x=2; y=1; 10536709:>2:EAX=1; 2:EBX=0; x=1; y=2; 154994842:>2:EAX=1; 2:EBX=1; x=1; y=2; 8838867:>2:EAX=1; 2:EBX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 92.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P3_2_: xchgl %ebp,(%r13) _litmus_P3_3_: cmpl $0,%ebp _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r13),%ebp _litmus_P3_7_: cmpl $0,%ebp _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rax) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: movl $1,(%r14) _litmus_P3_14_: movl (%r14),%ecx _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebp _litmus_P3_17_: xchgl %ebp,(%r12) _litmus_P3_18_: cmpl $0,%ebp _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r12),%ebp _litmus_P3_22_: cmpl $0,%ebp _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r15),%ebx _litmus_P3_27_: movl $0,(%r12) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rax) _litmus_P2_3_: cmpl $0,%r13d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rax),%r13d _litmus_P2_7_: cmpl $0,%r13d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r10) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r13d _litmus_P2_15_: xchgl %r13d,(%r9) _litmus_P2_16_: cmpl $0,%r13d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r9),%r13d _litmus_P2_20_: cmpl $0,%r13d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%r9) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r13d _litmus_P1_2_: xchgl %r13d,(%rax) _litmus_P1_3_: cmpl $0,%r13d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r13d _litmus_P1_7_: cmpl $0,%r13d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r13d _litmus_P1_15_: xchgl %r13d,(%r9) _litmus_P1_16_: cmpl $0,%r13d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r9),%r13d _litmus_P1_20_: cmpl $0,%r13d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r10) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r11) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r13),%eax _litmus_P0_25_: movl $0,(%r11) Test X046-L Required Histogram (15 states) 9298440:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 63487545:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 63584928:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 22184552:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 12760 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 31672283:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 6877924:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 77085899:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 11211 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 8225046:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 34060019:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 78141442:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=2; 9757 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 23754 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 5324440:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 400000000, 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 55.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P3_2_: xchgl %ebp,(%r13) _litmus_P3_3_: cmpl $0,%ebp _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r13),%ebp _litmus_P3_7_: cmpl $0,%ebp _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rax) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: movl $1,(%r14) _litmus_P3_14_: movl (%r14),%ecx _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebp _litmus_P3_17_: xchgl %ebp,(%r12) _litmus_P3_18_: cmpl $0,%ebp _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r12),%ebp _litmus_P3_22_: cmpl $0,%ebp _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r15),%ebx _litmus_P3_27_: movl $0,(%r12) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rax) _litmus_P2_3_: cmpl $0,%r13d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rax),%r13d _litmus_P2_7_: cmpl $0,%r13d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r10) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r13d _litmus_P2_15_: xchgl %r13d,(%r9) _litmus_P2_16_: cmpl $0,%r13d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r9),%r13d _litmus_P2_20_: cmpl $0,%r13d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%r9) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r13d _litmus_P1_2_: xchgl %r13d,(%rax) _litmus_P1_3_: cmpl $0,%r13d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r13d _litmus_P1_7_: cmpl $0,%r13d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r10) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r13d _litmus_P1_15_: xchgl %r13d,(%r9) _litmus_P1_16_: cmpl $0,%r13d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r9),%r13d _litmus_P1_20_: cmpl $0,%r13d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X047-L Required Histogram (15 states) 62163122:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 19090654:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 9802330:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 66762290:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 35132969:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 78071314:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 12456 :>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 4808928:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 7819802:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 71993347:>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 12531 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 36319034:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 10276 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 7983528:>3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 17419 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 400000000, 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 57.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P1_2_: xchgl %r14d,(%r9) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r9),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r11) _litmus_P1_12_: movl $0,(%r9) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%r10) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r10),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r12),%eax _litmus_P1_25_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r10) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r9) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r11),%eax _litmus_P0_25_: movl $0,(%r9) Test X048-L Required Histogram (3 states) 239758774:>0:EAX=1; 1:EAX=0; 240937426:>0:EAX=0; 1:EAX=1; 319303800:>0:EAX=1; 1:EAX=1; Ok Witnesses Positive: 800000000, 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 18.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%rdx) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rdx),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r13) _litmus_P2_12_: movl $0,(%rdx) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r12) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r12),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r14),%eax _litmus_P2_25_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%rdx) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rdx),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%rdx) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r12) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r12),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r14),%eax _litmus_P1_25_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r12) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%rdx) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r13),%eax _litmus_P0_25_: movl $0,(%rdx) Test X049-L Required Histogram (7 states) 9990290:>0:EAX=1; 1:EAX=0; 2:EAX=0; 9654142:>0:EAX=0; 1:EAX=1; 2:EAX=0; 149905289:>0:EAX=1; 1:EAX=1; 2:EAX=0; 9936596:>0:EAX=0; 1:EAX=0; 2:EAX=1; 151530993:>0:EAX=1; 1:EAX=0; 2:EAX=1; 151010316:>0:EAX=0; 1:EAX=1; 2:EAX=1; 17972374:>0:EAX=1; 1:EAX=1; 2:EAX=1; Ok Witnesses Positive: 500000000, 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 74.89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P3_2_: xchgl %r14d,(%r10) _litmus_P3_3_: cmpl $0,%r14d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%r14d _litmus_P3_7_: cmpl $0,%r14d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%r12) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r14d _litmus_P3_15_: xchgl %r14d,(%r9) _litmus_P3_16_: cmpl $0,%r14d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r9),%r14d _litmus_P3_20_: cmpl $0,%r14d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%r11),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r9) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r9),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r10) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r10),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r12),%eax _litmus_P2_25_: movl $0,(%r10) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%r9) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r9),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r11) _litmus_P1_12_: movl $0,(%r9) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%r10) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r10),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r12),%eax _litmus_P1_25_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r9) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r9),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r11) _litmus_P0_12_: movl $0,(%r9) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r10) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r10),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r12),%eax _litmus_P0_25_: movl $0,(%r10) Test X050-L Required Histogram (15 states) 14969 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 15172 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 6481479:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 15506 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 32731343:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 6730236:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 70906861:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 15088 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 6615878:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 32634824:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 71104994:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 6805520:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 70322563:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 71587501:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 24018066:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; Ok Witnesses Positive: 400000000, 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 46.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r11) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r11),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%r13) _litmus_P3_12_: movl $0,(%r11) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r10) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r10),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%r12),%eax _litmus_P3_25_: movl $0,(%r10) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r10) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r12) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r11) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r11),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r13),%eax _litmus_P2_25_: movl $0,(%r11) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r12) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r11) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r11),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r13),%eax _litmus_P1_25_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X051-L Required Histogram (15 states) 12955 :>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 5879194:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 33452038:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 70557560:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 8333682:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 66218527:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 74051953:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 24138223:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=1; 15495 :>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 14669 :>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 6791019:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 11327 :>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 30472921:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 4440960:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 75609477:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=2; Ok Witnesses Positive: 400000000, 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 49.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%rdx) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rdx),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r13) _litmus_P2_12_: movl $0,(%rdx) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r12) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r12),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r14),%eax _litmus_P2_25_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%rdx) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rdx),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r13) _litmus_P1_12_: movl $0,(%rdx) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r12) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r12),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r14),%eax _litmus_P1_25_: movl $0,(%r12) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%rdx) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r13) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%rax) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rax),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r12) _litmus_P0_25_: movl $0,(%rax) Test X052-L Required Histogram (7 states) 13066060:>1:EAX=0; 2:EAX=0; x=1; 145525948:>1:EAX=1; 2:EAX=0; x=1; 153371628:>1:EAX=0; 2:EAX=1; x=1; 17894098:>1:EAX=1; 2:EAX=1; x=1; 12690195:>1:EAX=1; 2:EAX=0; x=2; 7633723:>1:EAX=0; 2:EAX=1; x=2; 149818348:>1:EAX=1; 2:EAX=1; x=2; Ok Witnesses Positive: 500000000, 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 75.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r11) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r11),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%r13) _litmus_P3_12_: movl $0,(%r11) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r10) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r10),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%r12),%eax _litmus_P3_25_: movl $0,(%r10) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r10) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r12) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r11) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r11),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r13),%eax _litmus_P2_25_: movl $0,(%r11) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r13d _litmus_P1_2_: xchgl %r13d,(%rax) _litmus_P1_3_: cmpl $0,%r13d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r13d _litmus_P1_7_: cmpl $0,%r13d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r10) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r13d _litmus_P1_15_: xchgl %r13d,(%r9) _litmus_P1_16_: cmpl $0,%r13d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r9),%r13d _litmus_P1_20_: cmpl $0,%r13d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X053-L Required Histogram (15 states) 8602290:>2:EAX=0; 3:EAX=0; x=1; y=1; 65436941:>2:EAX=1; 3:EAX=0; x=1; y=1; 68712620:>2:EAX=0; 3:EAX=1; x=1; y=1; 20587165:>2:EAX=1; 3:EAX=1; x=1; y=1; 14421 :>2:EAX=0; 3:EAX=0; x=2; y=1; 7126233:>2:EAX=1; 3:EAX=0; x=2; y=1; 32957218:>2:EAX=0; 3:EAX=1; x=2; y=1; 74006577:>2:EAX=1; 3:EAX=1; x=2; y=1; 11971 :>2:EAX=0; 3:EAX=0; x=1; y=2; 32818224:>2:EAX=1; 3:EAX=0; x=1; y=2; 7157714:>2:EAX=0; 3:EAX=1; x=1; y=2; 77453578:>2:EAX=1; 3:EAX=1; x=1; y=2; 15188 :>2:EAX=1; 3:EAX=0; x=2; y=2; 11335 :>2:EAX=0; 3:EAX=1; x=2; y=2; 5088525:>2:EAX=1; 3:EAX=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 52.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r12) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r11) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r11),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r13),%eax _litmus_P1_25_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%r9) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r9),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r11) _litmus_P0_12_: movl $0,(%r9) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%rax) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rax),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r10) _litmus_P0_25_: movl $0,(%rax) Test X054-L Required Histogram (3 states) 288676963:>1:EAX=0; x=1; 251496487:>1:EAX=1; x=1; 259826550:>1:EAX=1; x=2; Ok Witnesses Positive: 800000000, Negative: 0 Condition forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) is validated Hash=98231cefc19f79f58d18ef9e912f76fc Time X054-L 19.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r11) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r11),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%r13) _litmus_P3_12_: movl $0,(%r11) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r10) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r10),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%r12),%eax _litmus_P3_25_: movl $0,(%r10) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rax) _litmus_P2_3_: cmpl $0,%r13d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rax),%r13d _litmus_P2_7_: cmpl $0,%r13d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r13d _litmus_P2_15_: xchgl %r13d,(%r9) _litmus_P2_16_: cmpl $0,%r13d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r9),%r13d _litmus_P2_20_: cmpl $0,%r13d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%r9) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r12) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r11) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r11),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r13),%eax _litmus_P1_25_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X055-L Required Histogram (15 states) 35033030:>1:EAX=0; 3:EAX=0; x=1; z=1; 73155909:>1:EAX=1; 3:EAX=0; x=1; z=1; 72916813:>1:EAX=0; 3:EAX=1; x=1; z=1; 17612057:>1:EAX=1; 3:EAX=1; x=1; z=1; 13032 :>1:EAX=0; 3:EAX=0; x=2; z=1; 9627343:>1:EAX=1; 3:EAX=0; x=2; z=1; 4418672:>1:EAX=0; 3:EAX=1; x=2; z=1; 69887440:>1:EAX=1; 3:EAX=1; x=2; z=1; 12894 :>1:EAX=0; 3:EAX=0; x=1; z=2; 4458440:>1:EAX=1; 3:EAX=0; x=1; z=2; 9600159:>1:EAX=0; 3:EAX=1; x=1; z=2; 70269716:>1:EAX=1; 3:EAX=1; x=1; z=2; 13599 :>1:EAX=1; 3:EAX=0; x=2; z=2; 13130 :>1:EAX=0; 3:EAX=1; x=2; z=2; 32967766:>1:EAX=1; 3:EAX=1; x=2; z=2; Ok Witnesses Positive: 400000000, 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 52.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%rdx) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rdx),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r13) _litmus_P2_12_: movl $0,(%rdx) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r12) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r12),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r14),%eax _litmus_P2_25_: movl $0,(%r12) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rax) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r12) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%rdx) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdx),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rdx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%rdx) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r13) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%rax) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rax),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r12) _litmus_P0_25_: movl $0,(%rax) Test X056-L Required Histogram (7 states) 149806164:>2:EAX=0; x=1; y=1; 15323366:>2:EAX=1; x=1; y=1; 14115006:>2:EAX=0; x=2; y=1; 147876992:>2:EAX=1; x=2; y=1; 10055724:>2:EAX=0; x=1; y=2; 154208699:>2:EAX=1; x=1; y=2; 8614049:>2:EAX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 81.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r11) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r11),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%r13) _litmus_P3_12_: movl $0,(%r11) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r10) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r10),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%r12),%eax _litmus_P3_25_: movl $0,(%r10) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rax) _litmus_P2_3_: cmpl $0,%r13d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rax),%r13d _litmus_P2_7_: cmpl $0,%r13d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r10) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r13d _litmus_P2_15_: xchgl %r13d,(%r9) _litmus_P2_16_: cmpl $0,%r13d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r9),%r13d _litmus_P2_20_: cmpl $0,%r13d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%r9) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r13d _litmus_P1_2_: xchgl %r13d,(%rax) _litmus_P1_3_: cmpl $0,%r13d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rax),%r13d _litmus_P1_7_: cmpl $0,%r13d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r10) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r13d _litmus_P1_15_: xchgl %r13d,(%r9) _litmus_P1_16_: cmpl $0,%r13d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r9),%r13d _litmus_P1_20_: cmpl $0,%r13d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%rax) _litmus_P0_3_: cmpl $0,%r13d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%r13d _litmus_P0_7_: cmpl $0,%r13d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r13d _litmus_P0_15_: xchgl %r13d,(%r9) _litmus_P0_16_: cmpl $0,%r13d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r13d _litmus_P0_20_: cmpl $0,%r13d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r9) Test X057-L Required Histogram (15 states) 67056506:>3:EAX=0; x=1; y=1; z=1; 17361128:>3:EAX=1; x=1; y=1; z=1; 9063040:>3:EAX=0; x=2; y=1; z=1; 68312809:>3:EAX=1; x=2; y=1; z=1; 35480468:>3:EAX=0; x=1; y=2; z=1; 76409380:>3:EAX=1; x=1; y=2; z=1; 14264 :>3:EAX=0; x=2; y=2; z=1; 5021446:>3:EAX=1; x=2; y=2; z=1; 6838924:>3:EAX=0; x=1; y=1; z=2; 70586753:>3:EAX=1; x=1; y=1; z=2; 12598 :>3:EAX=0; x=2; y=1; z=2; 36078114:>3:EAX=1; x=2; y=1; z=2; 11639 :>3:EAX=0; x=1; y=2; z=2; 7740794:>3:EAX=1; x=1; y=2; z=2; 12137 :>3:EAX=1; x=2; y=2; z=2; Ok Witnesses Positive: 400000000, 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 53.20 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 0 #endif /* gcc options: -D_GNU_SOURCE -Wall -std=gnu99 -fomit-frame-pointer -O2 -m64 -pthread */ /* barrier: user */ /* launch: changing */ /* cache: false */ /* call: false */ /* affinity: incr8 */ /* randomise_affinity: false */ /* prealloc: false */ /* memory: indirect */ /* safer: true */ /* preload: true */ /* para: self */ /* speedcheck: true */ /* proc used: 0 */ GCCOPTS="-D_GNU_SOURCE -Wall -std=gnu99 -fomit-frame-pointer -O2 -m64 -pthread" LITMUSOPTS=-r 20000 Tue Dec 28 18:00:38 CET 2010