Wed Dec 29 17:22:49 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 (3 states) 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 19999 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 19999 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 39998, Negative: 2 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 (7 states) 22 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 6792 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 5376 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2990 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 5289 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 1523 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3008 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 24978, Negative: 22 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 (8 states) 19 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3375 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 6441 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 1912 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 4943 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 4962 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3347 :>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: 24981, Negative: 19 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) is NOT validated Hash=35008cacf92fceea74a530f0facd2e5c Time X002 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X003.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003 "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV EAX,[x] | MOV EAX,[x] | MOV EAX,[y] ; | MOV EBX,[y] | MOV EBX,[z] ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%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) 9 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2984 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 6230 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2100 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 7028 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 5321 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 1328 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 24991, Negative: 9 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) is NOT validated Hash=71763f06cea77da0cec7d25d956a5c28 Time X003 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X004.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004 "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%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) 1 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 2081 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 2075 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 2597 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 3170 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 6773 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 2728 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 423 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 5095 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 3924 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 7876 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 795 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 1236 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 911 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 315 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 39999, Negative: 1 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) is NOT validated Hash=d8cc1edcbc8a79c3c3d3383961d0bbe7 Time X004 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X005.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005 "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%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 (15 states) 1067 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 2397 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 4330 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 438 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 1254 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 273 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 721 :>1:EAX=0; 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; 316 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 1352 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 850 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 2526 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 3604 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 768 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 101 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 19997, Negative: 3 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is NOT validated Hash=5a7cdcb4720fe95bb93a26d055a607e7 Time X005 0.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 (11 states) 8957 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 22 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 10959 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 54 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 8277 :>1:EAX=2; 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; 15 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 4 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=2; 5675 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 10896 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 5140 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 49996, Negative: 4 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 (19 states) 4 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 3485 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 4792 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 3 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 5331 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 3265 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 12904 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 1690 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 955 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 2 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 5146 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 1830 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 7050 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 4023 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 5941 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 2232 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 1344 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; No Witnesses Positive: 59998, Negative: 2 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) is NOT validated Hash=491e46b8c3d1b0e53244abfcb6fee024 Time X007 0.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X008.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008 "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (3:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%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 (16 states) 1114 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 1265 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 836 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 3 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 1273 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 265 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 4324 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 261 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 364 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 5900 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 784 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 1369 :>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; 14 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 1704 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 523 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; No Witnesses Positive: 19999, 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 (3 states) 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 19996 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 19999 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 39995, Negative: 5 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) is NOT validated Hash=952cda8d883d48fdd2e1f54e9e826465 Time X009 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X010.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010 "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[z] ; | MOV EAX,[y] | MOV EBX,[a] ; | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%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) 10 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3877 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 5340 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2990 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 5294 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 4445 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3044 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 24990, Negative: 10 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) 4717 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 4562 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 3769 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 23 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 44 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=2; 3686 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 3628 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 4571 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 24956, Negative: 44 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 (3 states) 4 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 19996 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 20000 :>0:EAX=0; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 39996, Negative: 4 Condition forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) is NOT validated Hash=139c57a8038a1b1c23afefe27074fd66 Time X012 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X013.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013 "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[x] | MOV EAX,[z] | MOV EAX,[z] ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (1:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%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) 1 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 2133 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 671 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 764 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 957 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 4738 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 1394 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 78 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 1146 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 571 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 6039 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 284 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 871 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 135 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 218 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 19999, Negative: 1 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 (21 states) 9040 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 3 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 16017 :>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 22 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 26715 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 45 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 9352 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 43 :>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 13472 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 25 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 7066 :>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 5 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 4441 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 3271 :>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 2661 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 4672 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 16117 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 19206 :>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 6424 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 1402 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 139999, Negative: 1 Condition forall (3:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) is NOT validated Hash=f3b918ee7f21600d42d951587188960d Time X014 0.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X015.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015 "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV EAX,[x] | | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%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) 14 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2406 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 6198 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2131 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 6413 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 5919 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 1919 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 24986, Negative: 14 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) 3 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 5538 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 4755 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3586 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 6229 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2792 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2097 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 24997, Negative: 3 Condition forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) is NOT validated Hash=825ed9ade93262f61092b14ec112d617 Time X016 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X017.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017 "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%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) 5 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 4200 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1288 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 2189 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 3524 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 5387 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 2611 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 405 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 2000 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 3065 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 11283 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 663 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 1482 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 802 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 1096 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 39995, Negative: 5 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) 2306 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 4296 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 8125 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 1915 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 2842 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 1184 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 1596 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 1248 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 1810 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 1418 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 4206 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 6066 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 2639 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 348 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 39999, Negative: 1 Condition forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is NOT validated Hash=51f7bd8e922ea9364b96a7219fd8a1c2 Time X018 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3093 :>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 5401 :>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 5635 :>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 9 :>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 4 :>1:EAX=0; 2:EAX=1; 2:EBX=0; x=2; 2933 :>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 6190 :>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 1735 :>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 24996, Negative: 4 Condition forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is NOT validated Hash=d76e29f2dbd66f100e7205e8f3dc0cb7 Time X019 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X020.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020 "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: movl $1,(%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 (16 states) 8071 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 13469 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 13175 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 7101 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 19009 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 3228 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 3860 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 9 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 1 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 9387 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 3352 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 11960 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 7777 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 9941 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 5336 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 4324 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; No Witnesses Positive: 119999, Negative: 1 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) is NOT validated Hash=f1aee060ce888b50adb4157fd8cb6638 Time X020 0.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (16 states) 22126 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 13541 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 6557 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 9 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 6603 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 17916 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 39281 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 7580 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 13667 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 27778 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 17802 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 6000 :>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; 3359 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 9267 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 8513 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; No Witnesses Positive: 199999, 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.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (4 states) 20011 :>1:EAX=2; 1:EBX=0; x=1; 119 :>1:EAX=2; 1:EBX=1; x=1; 2 :>1:EAX=2; 1:EBX=0; x=2; 19868 :>1:EAX=2; 1:EBX=1; x=2; No Witnesses Positive: 39998, Negative: 2 Condition forall (1:EAX=2 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1) is NOT validated Hash=7662c2cd9083b397fb8c41e7f153ffe4 Time X022 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X023.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023 "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV EAX,[x] | MOV [z],$1 | MOV EAX,[z] ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (1:EAX=2 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: movl $2,(%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 (17 states) 6288 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 1002 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 1695 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 1 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 124 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 258 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 1737 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 163 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 182 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 1266 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 477 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 1 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 1151 :>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; 766 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 1209 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 3679 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; No Witnesses Positive: 19999, 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 (8 states) 6295 :>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 2207 :>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 4307 :>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 4 :>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=1; 3 :>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=2; 2321 :>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 4030 :>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 5833 :>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=2; No Witnesses Positive: 24997, Negative: 3 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 (10 states) 1 :>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 3737 :>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 4805 :>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 18 :>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 3690 :>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 14 :>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; y=2; 4002 :>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 4631 :>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 4101 :>0:EAX=1; 2:EAX=2; 2:EBX=1; y=2; No Witnesses Positive: 24999, Negative: 1 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 (15 states) 520 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 6101 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 590 :>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 570 :>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 2048 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 1407 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 402 :>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 1 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 241 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 1380 :>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 984 :>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 1034 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 546 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 3828 :>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 348 :>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; No Witnesses Positive: 19999, Negative: 1 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) 3 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 49 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 163660:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 51575 :>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 74 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 45641 :>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 64 :>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 69 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 30047 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 46321 :>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 35 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 48 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 88509 :>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 30488 :>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 35044 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 86467 :>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 50150 :>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 34810 :>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 1 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=2; 22232 :>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 24447 :>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 130266:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; No Witnesses Positive: 839999, Negative: 1 Condition forall (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) is NOT validated Hash=5f4dca0d54edbfa9c62a00ef21f7933f Time X027 0.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (9 states) 36608 :>2:EAX=2; 2:EBX=0; x=1; y=1; 78 :>2:EAX=2; 2:EBX=1; x=1; y=1; 22278 :>2:EAX=2; 2:EBX=0; x=2; y=1; 1 :>2:EAX=1; 2:EBX=1; x=2; y=1; 31674 :>2:EAX=2; 2:EBX=1; x=2; y=1; 29944 :>2:EAX=2; 2:EBX=0; x=1; y=2; 27817 :>2:EAX=2; 2:EBX=1; x=1; y=2; 1 :>2:EAX=2; 2:EBX=0; x=2; y=2; 26599 :>2:EAX=2; 2:EBX=1; x=2; y=2; No Witnesses Positive: 174999, 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.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (22 states) 4 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 3 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 25216 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 10893 :>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 21 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 15198 :>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 5 :>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=1; 15 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 4004 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 29229 :>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 17 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 35 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 14576 :>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 10076 :>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 12127 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 18544 :>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 32295 :>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 5247 :>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; 8766 :>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 1894 :>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 11834 :>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=2; No Witnesses Positive: 199999, 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.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 94 :>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 412564:>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; 289 :>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 166 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 447803:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 1406 :>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 399375:>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 603 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 1050555:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 2480 :>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 344640:>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 72579 :>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 560 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 421321:>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 596190:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 242805:>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 152783:>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 927955:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 192153:>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 314800:>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; 78877 :>3:EAX=2; 3:EBX=1; x=2; y=2; z=2; No Witnesses Positive: 5659999, Negative: 1 Condition forall (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) is NOT validated Hash=02de9262b4e392ed751770e9e51f9ab2 Time X030 1.42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (3 states) 32 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 19997 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 19971 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 39968, Negative: 32 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) is NOT validated Hash=df727976765f43787e2e42991a8c820b Time X031 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X032.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032 "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [x],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV [a],$1 ; | MOV EAX,[y] | MOV EAX,[a] ; | MOV EBX,[z] | MOV EBX,[b] ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%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) 4 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 5035 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 5621 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2719 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3724 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3298 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 4597 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 24996, Negative: 4 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) 41564 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 43884 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 33638 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 15 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 5 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=2; 31087 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 41372 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 33435 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 224995, Negative: 5 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.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 35 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 19971 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 19990 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 4 :>0:EAX=1; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 39965, Negative: 35 Condition forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) is NOT validated Hash=c2a315993d745028faaba3592e84f988 Time X034 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X035.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035 "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%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) 3 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2206 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 6492 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 1843 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 5667 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 6107 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2682 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 24997, Negative: 3 Condition forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) is NOT validated Hash=e8699cae9e63a08b644b4104537ab25d Time X035 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X036.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036 "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%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) 1 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 18457 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 20540 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 24696 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 22743 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 50748 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 28747 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 7417 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 21993 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 31768 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 54514 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 10759 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 29098 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 10094 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 8425 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 339999, Negative: 1 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.08 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (15 states) 6765 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 9498 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 16058 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 3251 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 5429 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 5182 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 1342 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 1633 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 4082 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 3119 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 4570 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 9289 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 7491 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 2290 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 79999, Negative: 1 Condition forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) is NOT validated Hash=aa68e60e1b3a410bdb503735e9b7baab Time X037 0.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X038.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038 "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%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) 3417 :>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 5032 :>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 5126 :>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 8 :>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=0; x=2; 3304 :>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 4883 :>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 3229 :>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 24999, Negative: 1 Condition forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) is NOT validated Hash=42da377c51b01f1c3b53a50ee55abbcd Time X038 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X039.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039 "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: movl $1,(%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 (16 states) 14849 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 21889 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 30764 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 12484 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 60397 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 8513 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 12550 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 1 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 1 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 17907 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 8895 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 38088 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 9645 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 24606 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 12708 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 6703 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; No Witnesses Positive: 279999, 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.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 302695:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 186513:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 120746:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 59 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 74524 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 202567:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 438669:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 139174:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 162312:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 442815:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 231458:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 68718 :>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; 37774 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 117027:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 134948:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; No Witnesses Positive: 2659999, Negative: 1 Condition forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) is NOT validated Hash=5475ac4386ba019ad865441a62da7cd8 Time X040 0.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 20016 :>1:EAX=1; 1:EBX=0; x=1; 16 :>1:EAX=1; 1:EBX=1; x=1; 1 :>1:EAX=1; 1:EBX=0; x=2; 19967 :>1:EAX=1; 1:EBX=1; x=2; No Witnesses Positive: 39999, Negative: 1 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 5410 :>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 2924 :>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 5096 :>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 3 :>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 5 :>0:EAX=0; 2:EAX=1; 2:EBX=0; y=2; 3806 :>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 3237 :>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 4519 :>0:EAX=1; 2:EAX=1; 2:EBX=1; y=2; No Witnesses Positive: 24995, Negative: 5 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 (16 states) 72226 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 214916:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 102166:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 27117 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 130773:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 64665 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 44583 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 7 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 1 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 44829 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 76598 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 86697 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 31815 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 64662 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 191227:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 27718 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; No Witnesses Positive: 1179999, Negative: 1 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.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 100995:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 26013 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 27252 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 13 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 20095 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 24637 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 58806 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 15627 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 20385 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 59264 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 31755 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 22247 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=2; 2 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=2; 10474 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 17031 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 65404 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=2; No Witnesses Positive: 499998, Negative: 2 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.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 5206 :>2:EAX=1; 2:EBX=0; x=1; y=1; 20 :>2:EAX=1; 2:EBX=1; x=1; y=1; 3283 :>2:EAX=1; 2:EBX=0; x=2; y=1; 4928 :>2:EAX=1; 2:EBX=1; x=2; y=1; 3774 :>2:EAX=1; 2:EBX=0; x=1; y=2; 4452 :>2:EAX=1; 2:EBX=1; x=1; y=2; 1 :>2:EAX=1; 2:EBX=0; x=2; y=2; 3336 :>2:EAX=1; 2:EBX=1; x=2; y=2; No Witnesses Positive: 24999, 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) 16961 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 6481 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 12306 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 6 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 4437 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 29019 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 12257 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 8871 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 9144 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 13391 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 27842 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 4000 :>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; 7197 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 1137 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 6950 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=2; No Witnesses Positive: 159999, Negative: 1 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) is NOT validated Hash=c9c76d2d9f6a5c85dfc99f3a92524206 Time X046 0.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X047.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047 "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%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) 339100:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 193 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 394110:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 345731:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 959836:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 268331:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 71360 :>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 377476:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 559528:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 202047:>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 127458:>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 803578:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 190727:>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 271049:>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; 69475 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=2; No Witnesses Positive: 4979999, 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 1.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (3 states) 1 :>0:EAX=0; 1:EAX=0; 19999 :>0:EAX=1; 1:EAX=0; 20000 :>0:EAX=0; 1:EAX=1; No Witnesses Positive: 39999, Negative: 1 Condition forall (0:EAX=1 /\ (1:EAX=1 \/ 1:EAX=0) \/ 0:EAX=0 /\ 1:EAX=1) is NOT validated Hash=eb447b2ffe44de821f49c40caa8e9757 Time X048 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X049.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049 "Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ 2:EAX=1)) Generated assembler _litmus_P2_0_: movl $1,(%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 (7 states) 6 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3007 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 4238 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 4096 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 6972 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 5310 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 1371 :>0:EAX=0; 1:EAX=1; 2:EAX=1; No Witnesses Positive: 24994, Negative: 6 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ 2:EAX=1)) is NOT validated Hash=7015574e5960da9548f7fd04ec792cdb Time X049 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X050.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050 "Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ 3:EAX=1))) Generated assembler _litmus_P3_0_: movl $1,(%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) 1 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=0; 2136 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 2214 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 2279 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 2323 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 8551 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 2776 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 645 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 1558 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3062 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 10230 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 473 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 2061 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 504 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 1187 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; No Witnesses Positive: 39999, Negative: 1 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ 3:EAX=1))) is NOT validated Hash=4dbc449f6040a97331307a6f2e1561cc Time X050 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X051.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051 "Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ x=1))) Generated assembler _litmus_P3_0_: movl $1,(%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 (15 states) 1905 :>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 4158 :>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 9170 :>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 1905 :>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 2743 :>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 2010 :>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 1709 :>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 1 :>1:EAX=0; 2:EAX=0; 3:EAX=0; x=2; 1161 :>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 1760 :>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 879 :>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 3452 :>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 5191 :>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 3425 :>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 531 :>1:EAX=1; 2:EAX=1; 3:EAX=1; x=2; No Witnesses Positive: 39999, 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.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 2687 :>1:EAX=0; 2:EAX=0; x=1; 5218 :>1:EAX=1; 2:EAX=0; x=1; 6035 :>1:EAX=0; 2:EAX=1; x=1; 3 :>1:EAX=1; 2:EAX=1; x=1; 3 :>1:EAX=0; 2:EAX=0; x=2; 3118 :>1:EAX=1; 2:EAX=0; x=2; 5754 :>1:EAX=0; 2:EAX=1; x=2; 2182 :>1:EAX=1; 2:EAX=1; x=2; No Witnesses Positive: 24997, Negative: 3 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 (16 states) 184772:>2:EAX=0; 3:EAX=0; x=1; y=1; 120377:>2:EAX=1; 3:EAX=0; x=1; y=1; 69890 :>2:EAX=0; 3:EAX=1; x=1; y=1; 59 :>2:EAX=1; 3:EAX=1; x=1; y=1; 49999 :>2:EAX=0; 3:EAX=0; x=2; y=1; 137217:>2:EAX=1; 3:EAX=0; x=2; y=1; 309147:>2:EAX=0; 3:EAX=1; x=2; y=1; 87932 :>2:EAX=1; 3:EAX=1; x=2; y=1; 107108:>2:EAX=0; 3:EAX=0; x=1; y=2; 273874:>2:EAX=1; 3:EAX=0; x=1; y=2; 145867:>2:EAX=0; 3:EAX=1; x=1; y=2; 47406 :>2:EAX=1; 3:EAX=1; x=1; y=2; 1 :>2:EAX=0; 3:EAX=0; x=2; y=2; 20165 :>2:EAX=1; 3:EAX=0; x=2; y=2; 65036 :>2:EAX=0; 3:EAX=1; x=2; y=2; 81150 :>2:EAX=1; 3:EAX=1; x=2; y=2; No Witnesses Positive: 1699999, 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.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 40013 :>1:EAX=0; x=1; 40 :>1:EAX=1; x=1; 1 :>1:EAX=0; x=2; 39946 :>1:EAX=1; x=2; No Witnesses Positive: 79999, Negative: 1 Condition forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) is NOT validated Hash=62acb715d47784e9a92843581eaa8492 Time X054 0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X055.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055 "Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | MOV EAX,[a] ; forall (1:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: movl $2,(%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) 190394:>1:EAX=0; 3:EAX=0; x=1; z=1; 48119 :>1:EAX=1; 3:EAX=0; x=1; z=1; 48037 :>1:EAX=0; 3:EAX=1; x=1; z=1; 16 :>1:EAX=1; 3:EAX=1; x=1; z=1; 34626 :>1:EAX=0; 3:EAX=0; x=2; z=1; 46543 :>1:EAX=1; 3:EAX=0; x=2; z=1; 101314:>1:EAX=0; 3:EAX=1; x=2; z=1; 33627 :>1:EAX=1; 3:EAX=1; x=2; z=1; 36982 :>1:EAX=0; 3:EAX=0; x=1; z=2; 100631:>1:EAX=1; 3:EAX=0; x=1; z=2; 47047 :>1:EAX=0; 3:EAX=1; x=1; z=2; 33286 :>1:EAX=1; 3:EAX=1; x=1; z=2; 1 :>1:EAX=0; 3:EAX=0; x=2; z=2; 27234 :>1:EAX=1; 3:EAX=0; x=2; z=2; 26148 :>1:EAX=0; 3:EAX=1; x=2; z=2; 125995:>1:EAX=1; 3:EAX=1; x=2; z=2; No Witnesses Positive: 899999, 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.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 291674:>2:EAX=0; x=1; y=1; 481 :>2:EAX=1; x=1; y=1; 193019:>2:EAX=0; x=2; y=1; 299719:>2:EAX=1; x=2; y=1; 268215:>2:EAX=0; x=1; y=2; 215055:>2:EAX=1; x=1; y=2; 1 :>2:EAX=0; x=2; y=2; 181836:>2:EAX=1; x=2; y=2; No Witnesses Positive: 1449999, 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.24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 798727:>3:EAX=0; x=1; y=1; z=1; 529 :>3:EAX=1; x=1; y=1; z=1; 891749:>3:EAX=0; x=2; y=1; z=1; 798534:>3:EAX=1; x=2; y=1; z=1; 2111349:>3:EAX=0; x=1; y=2; z=1; 620827:>3:EAX=1; x=1; y=2; z=1; 144453:>3:EAX=0; x=2; y=2; z=1; 843491:>3:EAX=1; x=2; y=2; z=1; 1275248:>3:EAX=0; x=1; y=1; z=2; 417664:>3:EAX=1; x=1; y=1; z=2; 321098:>3:EAX=0; x=2; y=1; z=2; 1752446:>3:EAX=1; x=2; y=1; z=2; 438422:>3:EAX=0; x=1; y=2; z=2; 568234:>3:EAX=1; x=1; y=2; z=2; 1 :>3:EAX=0; x=2; y=2; z=2; 137228:>3:EAX=1; x=2; y=2; z=2; No Witnesses Positive: 11119999, 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.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 394140989:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 393394924:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 12464087:>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 97.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 30418132:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 28178721:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 137847344:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 28182876:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 135895462:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 136797342:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2680123:>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 90.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 14212214:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 38872374:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 125565245:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 31208013:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 150663999:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 136903520:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2574635:>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 91.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 13821953:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 43059858:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 122440600:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 31591003:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 149693623:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 137451552:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 1941411:>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 86.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 572830:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 821073:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 7903196:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 3223825:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 61519472:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 16513670:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 43650265:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 2895525:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 20935044:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 63929547:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 58069156:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 28617745:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 53512578:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 37483751:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 352323:>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 91.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 308640:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 6050625:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 54177769:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 33606345:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 20638176:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 49469768:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 54170494:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 227213:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 1706965:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 5724900:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 30288075:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 3322528:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 72193816:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 30370082:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 37744604:>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 100.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 10824890:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 42187 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 102973898:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 12639 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 149140379:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 2722 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 883471:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 63702198:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 48639537:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 123778079:>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 88.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 502 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 543136:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 8334876:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 1552 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 20921 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 15291812:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 41310947:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 8666 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 6167 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 59578769:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 59720433:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 14585 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 674 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 31127752:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 199875:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 1035579:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 2800011:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 62290221:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 5072294:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 30468383:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 35508515:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 46664330:>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 96.35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 152 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 6633640:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 15107 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 30126023:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 6144 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 50026902:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 554 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 98863 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 1292331:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 4131 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 29904921:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 15018 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 69141114:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 19958 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 29247762:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 600234:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 54589890:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 30966683:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 48595847:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 4850364:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 6328747:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 37535615:>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 98.98 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 392876566:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 384365821:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 22757613:>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 95.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 13899110:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 33011059:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 131066128:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 45261439:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 150259748:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 125029369:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 1473147:>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 86.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 11126716:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 104046964:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 148548897:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 975878:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 61505274:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 50636859:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 123159412:>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 96.28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 390872539:>0:EAX=1; 1:EAX=1; 1:EBX=0; 395582771:>0:EAX=0; 1:EAX=1; 1:EBX=1; 13544690:>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 90.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 725682:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 2176824:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 9111843:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 707918:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 51377557:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 27485208:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 43273288:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 2400029:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 28707094:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 76590750:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 53240549:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 9469065:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 42804603:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 51565342:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 364248:>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 90.85 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 541541:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 1790 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 7367347:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 5893 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 50377225:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 27608 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 35251120:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 2842 :>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 28524550:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 33846 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 49883699:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 6172 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 44202054:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 558 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 180288:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 2530403:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 1668480:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 34707375:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 3608652:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 78131913:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 16948928:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 45997716:>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 97.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 16480932:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 26954257:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 135837738:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 47412466:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 150585994:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 120748652:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 1979961:>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 87.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 15991630:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 31095576:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 132586842:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 46902425:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 150292832:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 121930050:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 1200645:>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 83.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 935355:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1176939:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 9996323:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1289563:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 56073987:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 17821928:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 47906500:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 3943532:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 30057937:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 67654141:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 58194497:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 18153130:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 43614669:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 42930020:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 251479:>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 93.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 590738:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 7305349:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 50499802:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 36033135:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 29642742:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 49125422:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 44274297:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 125163:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 2516212:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 2538351:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 32717494:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 4163745:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 77741714:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 18865729:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 43860107:>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 93.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 12305487:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 105903559:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 148750128:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 552468:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 59891065:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 53384647:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 119212646:>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 89.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 793131:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 9931898:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 15251582:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 40453620:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 59417675:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 59536037:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 32475790:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 127375:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 1042506:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 2459441:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 62992385:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 6692439:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 32280447:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 32288674:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 44257000:>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 95.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 7264778:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 29074845:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 50167636:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 57458 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 1853403:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 29449520:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 68104154:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 30682491:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 532237:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 54642643:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 32763381:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 47017217:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 4739117:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 8204589:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 35446531:>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 96.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 392899105:>1:EAX=2; 1:EBX=0; x=1; 121184:>1:EAX=1; 1:EBX=1; x=1; 7904286:>1:EAX=2; 1:EBX=1; x=1; 399075425:>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 81.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 13610 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 5 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 3663 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 4525 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 49226730:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 23474 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 36273432:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 15 :>1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 103674:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 5 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 402 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 2709 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 37027244:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 322 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 81706 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 9461 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 1267821:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 34777471:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 11168 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 85100 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 13504389:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 41846471:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 1237134:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 3815 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 12990684:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 3415 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 35469165:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 36974 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 42674495:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 3592479:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 3785426:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 85943016:>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 101.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 15589 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=0; z=1; 24126987:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 135743598:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 195066:>0:EAX=1; 0:EBX=0; 2:EAX=1; 2:EBX=1; z=1; 3979 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=1; z=1; 103739151:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 1120736:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=1; 32640742:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 65158922:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 137255230:>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 93.24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 12516 :>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 27851700:>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 132089314:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 46012 :>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 4309 :>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 103157834:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 531837:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 30722090:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 67495825:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 138088563:>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 86.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 15866 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 3724 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 11947 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 953318:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 54440611:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 17877434:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 49101605:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 6139 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 79962 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 45313 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 545 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 16520651:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 35290194:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 40981744:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 103430:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 1960608:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 1664781:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 18704678:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 3597313:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 37514568:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 68925095:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 52200474:>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 93.42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 13487 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 3227 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 50083197:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 36796842:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 99620 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 315 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 36156488:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 42453 :>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 10318 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 2163532:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 33044833:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 10753 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 78822 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 15054559:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 40077212:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 1425272:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 13586363:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 36732568:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 39936326:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 3570638:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 4181926:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 86931249:>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 97.35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 15372 :>2:EAX=1; 2:EBX=0; x=1; y=1; 105159576:>2:EAX=2; 2:EBX=0; x=1; y=1; 8163 :>2:EAX=1; 2:EBX=1; x=1; y=1; 209511:>2:EAX=2; 2:EBX=1; x=1; y=1; 57589386:>2:EAX=2; 2:EBX=0; x=2; y=1; 65753 :>2:EAX=1; 2:EBX=1; x=2; y=1; 99893600:>2:EAX=2; 2:EBX=1; x=2; y=1; 24702803:>2:EAX=2; 2:EBX=0; x=1; y=2; 141884772:>2:EAX=2; 2:EBX=1; x=1; y=2; 70471064:>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 85.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 746 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 11837 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 15431224:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 40633329:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 48741 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 466 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 30070361:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 50095 :>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=1; 35089 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 1989073:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 63082951:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 21706 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 88259 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 31617420:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 33761398:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 1163270:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 19685660:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 59052443:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 55067122:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=2; 2432068:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 5629303:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 40127439:>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 96.55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 5161 :>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 29436713:>3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 286 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 26319 :>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 6209 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 29342348:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 66296 :>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 28231972:>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 18166 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 56149864:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 121305:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 37142188:>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 4410870:>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 32301 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 31261362:>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 14648061:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 43629616:>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 2627749:>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 75144641:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 1508606:>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 39340254:>3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 6849713:>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 103.37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 381271709:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 382190340:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 36537951:>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 95.93 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 31705750:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 36522931:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 129001377:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 34894620:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 133536045:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 132984213:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 1355064:>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 88.48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 25317245:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 104977646:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 135159154:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 989141:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 62875147:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 34409056:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 136272611:>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 94.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 384116033:>0:EAX=1; 1:EAX=1; 1:EBX=0; 388084188:>0:EAX=0; 1:EAX=1; 1:EBX=1; 27799779:>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 88.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 29466642:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 32646529:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 132131718:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 35351167:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 137445714:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 131931746:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 1026484:>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 83.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1666400:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1620041:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 18553064:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 1634174:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 59997663:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 20041514:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 46395161:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 1974231:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 21648431:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 63258660:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 48515699:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 20836127:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 47642647:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 46052457:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 163731:>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 87.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1170176:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 14983832:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 53302568:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 35434256:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 21795995:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 41241969:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 49119734:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 96617 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 2973610:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 2825203:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 34428510:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 2206043:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 72063098:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 21038783:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 47319606:>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 93.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 25913485:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 104954585:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 135926106:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 529454:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 62537908:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 38136374:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 132002088:>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 87.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1217396:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 18299515:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 17180435:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 38816981:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 57634970:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 49651829:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 33918009:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 119076:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 1901732:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 3232379:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 66234026:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 3701555:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 24050808:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 35264093:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 48777196:>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 93.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 15000613:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 28714225:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 42096864:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 50870 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 2455547:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 30734343:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 64113465:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 32685484:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 1094748:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 56712581:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 23089169:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 54172988:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 5449117:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 4185215:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 39444771:>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 98.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 384942989:>1:EAX=1; 1:EBX=0; x=1; 15865096:>1:EAX=1; 1:EBX=1; x=1; 399191915:>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 80.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 29124155:>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 130971486:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 104159225:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 528999:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 30592072:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 66060390:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 138563673:>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 87.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1154127:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 53337427:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 19382242:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 48189815:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 16781520:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 35880713:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 38217191:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 112587:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 2784842:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 1550277:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 18467247:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 3828906:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 37440151:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 71197911:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 51675044:>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 94.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 49405863:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 35626413:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 36381912:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 47626 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 2526847:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 34252359:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 15428111:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 36125151:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 2281559:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 13481608:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 36962268:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 39403966:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=2; 3426354:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 4480504:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 90169459:>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 98.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 103894306:>2:EAX=1; 2:EBX=0; x=1; y=1; 210130:>2:EAX=1; 2:EBX=1; x=1; y=1; 58858491:>2:EAX=1; 2:EBX=0; x=2; y=1; 97780498:>2:EAX=1; 2:EBX=1; x=2; y=1; 25150742:>2:EAX=1; 2:EBX=0; x=1; y=2; 141699626:>2:EAX=1; 2:EBX=1; x=1; y=2; 72406207:>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 87.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 17056766:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 39801624:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 27684965:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 58877 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 2563952:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 59800844:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 30587615:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 34342250:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 1100478:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 18579978:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 61303821:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 55321993:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=2; 3287729:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 6505451:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 42003657:>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 98.44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 29050873:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 25552 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 30623578:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 24901870:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 52434229:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 37491527:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 4880306:>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 30147015:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 13285591:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 44431382:>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 2434196:>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 78519601:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 2007198:>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 42009983:>3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 7757099:>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 105.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X048-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048-F "Fre PodWR Fre PodWR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MFENCE | MFENCE ; MOV EAX,[x] | MOV EAX,[y] ; forall (0:EAX=1 /\ (1:EAX=1 \/ 1:EAX=0) \/ 0:EAX=0 /\ 1:EAX=1) Generated assembler _litmus_P1_0_: movl $1,(%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) 395642777:>0:EAX=1; 1:EAX=0; 392617001:>0:EAX=0; 1:EAX=1; 11740222:>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 84.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 33332527:>0:EAX=1; 1:EAX=0; 2:EAX=0; 32664839:>0:EAX=0; 1:EAX=1; 2:EAX=0; 133697322:>0:EAX=1; 1:EAX=1; 2:EAX=0; 32625043:>0:EAX=0; 1:EAX=0; 2:EAX=1; 133272521:>0:EAX=1; 1:EAX=0; 2:EAX=1; 133811079:>0:EAX=0; 1:EAX=1; 2:EAX=1; 596669:>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 78.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1782019:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 1774484:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 20012046:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 1739102:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 61745481:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 19988318:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 47253596:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 1790464:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 20216761:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 61899133:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 47214314:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 20173570:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 47131492:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 47158881:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 120339:>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 82.53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1187353:>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 16260181:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 54974226:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 35724651:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 19681979:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 40052733:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 49139925:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 64644 :>1:EAX=1; 2:EAX=1; 3:EAX=1; x=1; 3251241:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 2931797:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 35311052:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 1918202:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 69462414:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 20661228:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 49378374:>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 90.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 29926065:>1:EAX=0; 2:EAX=0; x=1; 106274519:>1:EAX=1; 2:EAX=0; x=1; 131126006:>1:EAX=0; 2:EAX=1; x=1; 240139:>1:EAX=1; 2:EAX=1; x=1; 64184099:>1:EAX=1; 2:EAX=0; x=2; 35032670:>1:EAX=0; 2:EAX=1; x=2; 133216502:>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 82.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 16232220:>2:EAX=0; 3:EAX=0; x=1; y=1; 29253004:>2:EAX=1; 3:EAX=0; x=1; y=1; 40578969:>2:EAX=0; 3:EAX=1; x=1; y=1; 29168 :>2:EAX=1; 3:EAX=1; x=1; y=1; 2561598:>2:EAX=0; 3:EAX=0; x=2; y=1; 31114467:>2:EAX=1; 3:EAX=0; x=2; y=1; 62629152:>2:EAX=0; 3:EAX=1; x=2; y=1; 34313399:>2:EAX=1; 3:EAX=1; x=2; y=1; 1181730:>2:EAX=0; 3:EAX=0; x=1; y=2; 59110680:>2:EAX=1; 3:EAX=0; x=1; y=2; 20738720:>2:EAX=0; 3:EAX=1; x=1; y=2; 54108420:>2:EAX=1; 3:EAX=1; x=1; y=2; 5472127:>2:EAX=1; 3:EAX=0; x=2; y=2; 3487162:>2:EAX=0; 3:EAX=1; x=2; y=2; 39189184:>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 94.78 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 394069720:>1:EAX=0; x=1; 6546593:>1:EAX=1; x=1; 399383687:>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 75.92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 50786201:>1:EAX=0; 3:EAX=0; x=1; z=1; 36878988:>1:EAX=1; 3:EAX=0; x=1; z=1; 36518309:>1:EAX=0; 3:EAX=1; x=1; z=1; 27973 :>1:EAX=1; 3:EAX=1; x=1; z=1; 2286058:>1:EAX=0; 3:EAX=0; x=2; z=1; 34275585:>1:EAX=1; 3:EAX=0; x=2; z=1; 14901756:>1:EAX=0; 3:EAX=1; x=2; z=1; 37942070:>1:EAX=1; 3:EAX=1; x=2; z=1; 2252779:>1:EAX=0; 3:EAX=0; x=1; z=2; 14694318:>1:EAX=1; 3:EAX=0; x=1; z=2; 34872220:>1:EAX=0; 3:EAX=1; x=1; z=2; 38710499:>1:EAX=1; 3:EAX=1; x=1; z=2; 3750187:>1:EAX=1; 3:EAX=0; x=2; z=2; 3897296:>1:EAX=0; 3:EAX=1; x=2; z=2; 88205761:>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 94.60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 104386346:>2:EAX=0; x=1; y=1; 70646 :>2:EAX=1; x=1; y=1; 59703312:>2:EAX=0; x=2; y=1; 98740742:>2:EAX=1; x=2; y=1; 29840131:>2:EAX=0; x=1; y=2; 136910515:>2:EAX=1; x=1; y=2; 70348308:>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 83.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 29288151:>3:EAX=0; x=1; y=1; z=1; 9852 :>3:EAX=1; x=1; y=1; z=1; 30808836:>3:EAX=0; x=2; y=1; z=1; 25978091:>3:EAX=1; x=2; y=1; z=1; 54693574:>3:EAX=0; x=1; y=2; z=1; 37416476:>3:EAX=1; x=1; y=2; z=1; 4893132:>3:EAX=0; x=2; y=2; z=1; 30453682:>3:EAX=1; x=2; y=2; z=1; 14962281:>3:EAX=0; x=1; y=1; z=2; 42849523:>3:EAX=1; x=1; y=1; z=2; 2784936:>3:EAX=0; x=2; y=1; z=2; 77118147:>3:EAX=1; x=2; y=1; z=2; 2316130:>3:EAX=0; x=1; y=2; z=2; 39536670:>3:EAX=1; x=1; y=2; z=2; 6890519:>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 97.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 382988823:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 383353272:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 33657905:>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 79.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 50367776:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 50601294:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 114993786:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 50645098:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 114832823:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 114594799:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3964424:>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 83.51 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 51291825:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 57712783:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 107983030:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 52102787:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 114259051:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 114304613:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2345911:>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 85.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 49544220:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 56673408:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 109214861:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 51881578:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 115384630:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 114491982:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2809321:>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 80.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3572671:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 3840824:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 27112593:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 4054945:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 68880213:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 28836923:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 31434331:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 3886997:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 27670358:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 68980540:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 33353638:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 29006260:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 35254577:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 33503482:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 611648:>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 85.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 2846202:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 25208772:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 67084125:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 28246887:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 27410198:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 34737289:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 38741793:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 343114:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 3891735:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 4119729:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 31495598:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 4082896:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 66828177:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 31022942:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 33940543:>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 92.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 49063261:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 6660161:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 96244456:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 245009:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 116593781:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 250305:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 1180902:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 62441203:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 52618853:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 114702069:>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 84.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 41956 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 3330092:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 27045743:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 958929:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 2539281:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 26705461:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 29376429:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 161446:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 90382 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 67406274:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 35686783:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 3320851:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 78843 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 26212157:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 258805:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 3737160:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 4391390:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 66993918:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 4065753:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 28809509:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 32593005:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 36195833:>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 93.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 26081 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 24979960:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 2737219:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 25520012:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 77597 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 35471057:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 39988 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 115489:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 4127859:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 1088832:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 30832738:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 152162:>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 66926835:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 3921702:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 27394616:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 2810524:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 64259922:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 28343306:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 39221508:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 4700693:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 3878129:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 33373771:>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 96.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 384200054:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 389721413:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 26078533:>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 81.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 52037101:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 55677393:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 109655009:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 58361804:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 114316224:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 108244542:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 1707927:>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 82.44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 50804341:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 102212346:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 115677693:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 697951:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 63126115:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 57729028:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 109752526:>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 86.92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 384528199:>0:EAX=1; 1:EAX=1; 1:EBX=0; 386259184:>0:EAX=0; 1:EAX=1; 1:EBX=1; 29212617:>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 75.60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3651394:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 4032454:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 27432223:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 3629228:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 67103212:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 29096869:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 33279249:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 3861644:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 28880256:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 71071910:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 33220924:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 26908542:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 33577474:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 33722548:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 532073:>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 84.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 2982554:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 1016077:>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 24069481:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 159181:>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 63686525:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 3830446:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 26717969:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 42446 :>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 29595083:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 2918032:>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 31585367:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 86786 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 36246842:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 76411 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 208840:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 4092747:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 3470214:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 32556974:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 3993580:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 70678904:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 27276180:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 34709361:>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 93.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 51446655:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 57927391:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 107591741:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 57712593:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 114930705:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 108713706:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 1677209:>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 82.95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 50376516:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 56537300:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 109169551:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 57863790:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 115750743:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 108376883:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 1925217:>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 78.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3911855:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 3989859:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 27319851:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 4155129:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 68430292:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 28952760:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 31315201:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 4224381:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 29529639:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 70844447:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 33080034:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 28995926:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 33245302:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 31549723:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 455601:>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 83.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3105347:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 25415325:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 66666242:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 28457509:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 29838398:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 34501765:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 36248475:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 208614:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 3965208:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 3994365:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 31352678:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 4532087:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 69816347:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 29942149:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 31955491:>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 89.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 49507761:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 103273042:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 116974397:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 764646:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 61944644:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 59712877:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 107822633:>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 81.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3091551:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 26906843:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 26940487:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 33154692:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 69578644:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 36416295:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 28559919:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 229583:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 3837408:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 4080958:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 65946498:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 4235323:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 31106242:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 31460359:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 34455198:>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 90.43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 25264199:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 28054003:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 35320169:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 113740:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 4200497:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 31864648:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 69684326:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 28765569:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 3172127:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 64003012:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 31294363:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 36198933:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 4844401:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 4608860:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 32611153:>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 96.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 397981438:>1:EAX=2; 1:EBX=0; x=1; 1703039:>1:EAX=1; 1:EBX=1; x=1; 2235542:>1:EAX=2; 1:EBX=1; x=1; 398079981:>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 72.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 140880:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 10453 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 67305 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 143453:>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 62353611:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 4094928:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 28724737:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 10341 :>1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 4105480:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 5723 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 37394 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 67170 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 29090269:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 44054 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 53705 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 49428 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 3051127:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 32484186:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 1078162:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 3020484:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 23875872:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 31513883:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 3015126:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 1049411:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 23731764:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 48985 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 32668613:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 3083074:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 31863831:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 4118480:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 4213991:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 72184080:>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 98.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 251848:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=0; z=1; 55250094:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 110673303:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 6520883:>0:EAX=1; 0:EBX=0; 2:EAX=1; 2:EBX=1; z=1; 204327:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=1; z=1; 96432169:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 620328:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=1; 51091889:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 63089642:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 115865517:>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 88.48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 251921:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 54824755:>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 111201542:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 6317423:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 222821:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 95618953:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 660536:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 50920059:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 63823437:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 116158553:>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 82.17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 164496:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 46786 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 93787 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 3351408:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 66426765:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 28623696:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 34087013:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 1083960:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 3850224:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 2799008:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 61827 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 26364287:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 27090383:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 29631912:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 153261:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 3561567:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 3873752:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 27463581:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 4345362:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 32408643:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 69618404:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 34899878:>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 91.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 128517:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 81018 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 65025867:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 30502329:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 3864257:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 39978 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 29010050:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 62094 :>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 52516 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 3621870:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 31801002:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 1152400:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 2710555:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 26897962:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 29022297:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 3098603:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 25440242:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 33027077:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 34946060:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 4017619:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 4674129:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 70823558:>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 95.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 328568:>2:EAX=1; 2:EBX=0; x=1; y=1; 103143645:>2:EAX=2; 2:EBX=0; x=1; y=1; 141298:>2:EAX=1; 2:EBX=1; x=1; y=1; 146206:>2:EAX=2; 2:EBX=1; x=1; y=1; 62520030:>2:EAX=2; 2:EBX=0; x=2; y=1; 5756061:>2:EAX=1; 2:EBX=1; x=2; y=1; 96446508:>2:EAX=2; 2:EBX=1; x=2; y=1; 50046857:>2:EAX=2; 2:EBX=0; x=1; y=2; 116517391:>2:EAX=2; 2:EBX=1; x=1; y=2; 64953436:>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 82.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 29715 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 71162 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 27414178:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 33022921:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 2557374:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 28069 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 25366992:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 62851 :>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=1; 130613:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 4520150:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 66094372:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 1062032:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 3628555:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 30955430:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 27775970:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 3210696:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 27719705:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 66992540:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 36800097:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=2; 3848898:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 5106755:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 33600925:>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 97.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 57591 :>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 28328062:>3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 19609 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 35907 :>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 36826 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 31462109:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 2541552:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 24977259:>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 109643:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 63892692:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 3492141:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 29273028:>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 5767055:>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 1031466:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 30481733:>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 25043562:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 35403767:>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 4344969:>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 70363265:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 3280130:>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 34370744:>3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 5686890:>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 102.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 390876103:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 390363354:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 18760543:>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 84.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 58538267:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 57313844:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 108840618:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 58202224:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 107882816:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 108106947:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 1115284:>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 86.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 56239164:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 102092013:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 110353219:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 408491:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 63991033:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 58274274:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 108641806:>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 90.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 390869738:>0:EAX=1; 1:EAX=1; 1:EBX=0; 386989077:>0:EAX=0; 1:EAX=1; 1:EBX=1; 22141185:>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 79.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 57727987:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 57038727:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 109115146:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 56309749:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 108609215:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 109757760:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 1441416:>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 81.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 4352699:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 4407855:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 29831140:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 4312124:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 70028572:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 29446951:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 30927211:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 4394384:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 29454290:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 70663487:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 30410722:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 29390449:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 31333002:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 30760789:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 286325:>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 85.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3556093:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 28276013:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 68363028:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 27852764:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 29707063:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 31292714:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 34114038:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 142555:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 4383479:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 4452222:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 31923673:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 4509058:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 69614521:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 30376363:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 31436416:>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 92.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 55167375:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 102917628:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 111533781:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 509988:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 63035626:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 58006216:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 108829386:>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 85.57 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3614616:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 29803882:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 27840528:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 31848136:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 68976615:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 33366651:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 27819362:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 147012:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 4464804:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 4480870:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 68617557:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 4427972:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 30474592:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 31939527:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 32177876:>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 94.17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 28004812:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 27861802:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 32461552:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 76160 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 4663607:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 32166646:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 69299315:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 28603550:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 3730980:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 66122924:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 30799120:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 33881665:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 5102234:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 4660664:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 32564969:>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 98.53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 397545375:>1:EAX=1; 1:EBX=0; x=1; 3327946:>1:EAX=1; 1:EBX=1; x=1; 399126679:>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 80.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 54986779:>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 111442392:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 102500172:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 493579:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 57117018:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 63135083:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 110324977:>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 84.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3653485:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 67910047:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 29457205:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 33604125:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 27530930:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 27670363:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 31151816:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 177665:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 4646758:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 4468005:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 30329622:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 4849156:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 32792816:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 70221737:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 31536270:>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 94.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 67033553:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 30535290:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 30674461:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 74623 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 3637805:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 32042592:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 27850937:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 31356636:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 3704437:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 27860030:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 32753469:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 32101929:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=2; 4528516:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 4771803:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 71073919:>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 99.24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 103059290:>2:EAX=1; 2:EBX=0; x=1; y=1; 144505:>2:EAX=1; 2:EBX=1; x=1; y=1; 63437839:>2:EAX=1; 2:EBX=0; x=2; y=1; 102880824:>2:EAX=1; 2:EBX=1; x=2; y=1; 55223155:>2:EAX=1; 2:EBX=0; x=1; y=2; 111503927:>2:EAX=1; 2:EBX=1; x=1; y=2; 63750460:>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 85.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 27390930:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 32992269:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 27626921:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 64773 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 4579842:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 68377225:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 31888646:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 29356594:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 3554124:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 30417374:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 66892296:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 33961779:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=2; 4483412:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 5336311:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 33077504:>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 97.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 28835749:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 21542 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 31690811:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 28308306:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 66029605:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 31582312:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 5437868:>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 31573899:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 27497513:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 33142412:>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 4440358:>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 69629400:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 3456281:>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 33077738:>3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 5276206:>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 104.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 388519995:>0:EAX=1; 1:EAX=0; 387874743:>0:EAX=0; 1:EAX=1; 23605262:>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 74.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 56159237:>0:EAX=1; 1:EAX=0; 2:EAX=0; 57940936:>0:EAX=0; 1:EAX=1; 2:EAX=0; 108410653:>0:EAX=1; 1:EAX=1; 2:EAX=0; 57066106:>0:EAX=0; 1:EAX=0; 2:EAX=1; 109903210:>0:EAX=1; 1:EAX=0; 2:EAX=1; 109010680:>0:EAX=0; 1:EAX=1; 2:EAX=1; 1509178:>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 76.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 4283460:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 4207872:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 29277583:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 4269333:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 70120763:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 28979806:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 31280281:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 4196233:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 28981131:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 70957073:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 31108454:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 29101599:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 31896006:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 31048421:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 291985:>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 80.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3477643:>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 28104511:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 68745252:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 28519740:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 28700607:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 32320318:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 34853127:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 156021:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=1; 4416383:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 4097062:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 31458189:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 4292544:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 68610015:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 30452126:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 31796462:>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 89.29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 53808339:>1:EAX=0; 2:EAX=0; x=1; 102560404:>1:EAX=1; 2:EAX=0; x=1; 112748457:>1:EAX=0; 2:EAX=1; x=1; 581068:>1:EAX=1; 2:EAX=1; x=1; 63066214:>1:EAX=1; 2:EAX=0; x=2; 58049049:>1:EAX=0; 2:EAX=1; x=2; 109186469:>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 79.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 27887789:>2:EAX=0; 3:EAX=0; x=1; y=1; 28191294:>2:EAX=1; 3:EAX=0; x=1; y=1; 32814527:>2:EAX=0; 3:EAX=1; x=1; y=1; 60124 :>2:EAX=1; 3:EAX=1; x=1; y=1; 4512142:>2:EAX=0; 3:EAX=0; x=2; y=1; 31876276:>2:EAX=1; 3:EAX=0; x=2; y=1; 69069057:>2:EAX=0; 3:EAX=1; x=2; y=1; 29125635:>2:EAX=1; 3:EAX=1; x=2; y=1; 3606387:>2:EAX=0; 3:EAX=0; x=1; y=2; 66692697:>2:EAX=1; 3:EAX=0; x=1; y=2; 30046481:>2:EAX=0; 3:EAX=1; x=1; y=2; 34382015:>2:EAX=1; 3:EAX=1; x=1; y=2; 4822723:>2:EAX=1; 3:EAX=0; x=2; y=2; 4358800:>2:EAX=0; 3:EAX=1; x=2; y=2; 32554053:>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 91.85 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 397941477:>1:EAX=0; x=1; 3723776:>1:EAX=1; x=1; 398334747:>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 72.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 66994086:>1:EAX=0; 3:EAX=0; x=1; z=1; 30793495:>1:EAX=1; 3:EAX=0; x=1; z=1; 30917455:>1:EAX=0; 3:EAX=1; x=1; z=1; 70644 :>1:EAX=1; 3:EAX=1; x=1; z=1; 3659393:>1:EAX=0; 3:EAX=0; x=2; z=1; 32015371:>1:EAX=1; 3:EAX=0; x=2; z=1; 27952972:>1:EAX=0; 3:EAX=1; x=2; z=1; 32047070:>1:EAX=1; 3:EAX=1; x=2; z=1; 3640991:>1:EAX=0; 3:EAX=0; x=1; z=2; 27861068:>1:EAX=1; 3:EAX=0; x=1; z=2; 32255370:>1:EAX=0; 3:EAX=1; x=1; z=2; 32331336:>1:EAX=1; 3:EAX=1; x=1; z=2; 4432601:>1:EAX=1; 3:EAX=0; x=2; z=2; 4548721:>1:EAX=0; 3:EAX=1; x=2; z=2; 70479427:>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 92.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 103828288:>2:EAX=0; x=1; y=1; 170321:>2:EAX=1; x=1; y=1; 62402700:>2:EAX=0; x=2; y=1; 103246629:>2:EAX=1; x=2; y=1; 56456199:>2:EAX=0; x=1; y=2; 110146870:>2:EAX=1; x=1; y=2; 63748993:>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 80.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 29356611:>3:EAX=0; x=1; y=1; z=1; 21458 :>3:EAX=1; x=1; y=1; z=1; 31355591:>3:EAX=0; x=2; y=1; z=1; 28678189:>3:EAX=1; x=2; y=1; z=1; 66385569:>3:EAX=0; x=1; y=2; z=1; 31807947:>3:EAX=1; x=1; y=2; z=1; 5198826:>3:EAX=0; x=2; y=2; z=1; 31698816:>3:EAX=1; x=2; y=2; z=1; 27577131:>3:EAX=0; x=1; y=1; z=2; 33394063:>3:EAX=1; x=1; y=1; z=2; 4498930:>3:EAX=0; x=2; y=1; z=2; 69098177:>3:EAX=1; x=2; y=1; z=2; 3355716:>3:EAX=0; x=1; y=2; z=2; 32609135:>3:EAX=1; x=1; y=2; z=2; 4963841:>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 98.14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 363973959:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 363553983:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 72472058:>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 100.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 9055939:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 9237944:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 145171895:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 9124064:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 145500071:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 145530024:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 36380063:>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 111.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 9394858:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 11502171:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 140459224:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 7374664:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 143200830:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 146763016:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 41305237:>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 114.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 9197180:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 12070426:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 140346072:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 8105242:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 144937853:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 150442216:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 34901011:>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 108.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 193028:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 349212:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 7247405:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 447476:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 33754170:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 10635998:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 61859302:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 261990:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 8645752:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 34911025:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 66780812:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 12760577:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 73890165:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 67752814:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 20510274:>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 127.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 178786:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 6854922:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 34083501:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 61329289:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 8522914:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 67509940:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 74798860:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 19620423:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 358406:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 276697:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 11127641:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 194023:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 33885733:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 9380486:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 71878379:>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 129.24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 13836624:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 5869975:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 124635882:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 532449:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 150211117:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 3311911:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 30018615:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 14315543:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 14394801:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 142873083:>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 109.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 11393 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 425783:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 10728379:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 162241:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 2996973:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 7857987:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 59246344:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 12357 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 317888:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 38143002:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 70546075:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 3778545:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 1597683:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 58583471:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 15977453:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 193953:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 549324:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 35434813:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 297946:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 11828889:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 12104896:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 69204605:>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 128.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 12934 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 10276016:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 3098126:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 55871571:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 397844:>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 69364634:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 1545749:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 14818921:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 530847:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 139993:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 9014879:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 10507 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 39371084:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 3342676:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 61486526:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 199676:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 36961612:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 12530565:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 70553690:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 399211:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 269899:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 9803040:>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 133.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 364548309:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 356195879:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 79255812:>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 102.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 7682445:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 12507293:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 139608829:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 10561838:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 145088129:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 148225973:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 36325493:>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 111.55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 7770930:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 135854666:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 148559270:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 35143040:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 13768709:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 8176058:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 150727327:>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 114.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 365772290:>0:EAX=1; 1:EAX=1; 1:EBX=0; 369183203:>0:EAX=0; 1:EAX=1; 1:EBX=1; 65044507:>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 98.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 279715:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 315422:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 8443456:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 276272:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 30219422:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 10349296:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 67230722:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 337336:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 10481841:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 37792417:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 68199192:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 8640884:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 67859674:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 68519925:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 21054426:>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 129.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 353836:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 130041:>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 6083795:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 8545 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 34365587:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 3713265:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 58861219:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 21005 :>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 13872017:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 3191143:>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 63782767:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 336833:>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 70893557:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 1548733:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 15535844:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 445803:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 284328:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 10485513:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 290611:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 39147384:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 11786518:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 64861656:>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 128.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 8675985:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 11812835:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 142791919:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 10644814:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 149073176:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 143105914:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 33895357:>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 111.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 8107586:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 12220615:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 140555401:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 11090885:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 150261084:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 147006763:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 30757666:>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 104.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 218181:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 302177:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 7748560:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 406308:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 33306597:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 9782479:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 64470975:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 369215:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 10994508:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 38357284:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 69686942:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 11425127:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 69619145:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 64633002:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 18679500:>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 124.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 188525:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 6657022:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 34676620:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 63144704:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 10769883:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 69614008:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 71829452:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 17341328:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 321278:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 237997:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 10224203:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 293326:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 37420333:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 8562215:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 68719106:>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 128.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 8858924:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 136303493:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 152848024:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 31133461:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 13473563:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 9317826:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 148064709:>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 109.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 290209:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 7933481:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 8960127:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 63877358:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 38128800:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 71283142:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 62924120:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 17493336:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 193095:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 419588:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 34327414:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 273943:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 8817892:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 12209563:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 72867932:>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 126.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 7942411:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 58677077:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 68914642:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 17230335:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 430263:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 10891077:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 40615519:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 63087837:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 238496:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 37212887:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 10588517:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 72111137:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 412566:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 337752:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 11309484:>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 134.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 350180710:>1:EAX=2; 1:EBX=0; x=1; 10901586:>1:EAX=1; 1:EBX=1; x=1; 67382690:>1:EAX=2; 1:EBX=1; x=1; 371535014:>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 106.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 8127 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 10121 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 251174:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 8742 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 37985868:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 3999916:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 60654627:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 10425 :>1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 4009979:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 138484:>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 1248328:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 257668:>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 61038502:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 1287827:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 12453358:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 28405 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 375157:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 14369060:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 153528:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 3221773:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 9245992:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 60057096:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 344872:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 150357:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 8898032:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 30492 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 14372100:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 3278063:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 60124970:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 377852:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 383895:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 41225210:>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 130.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 488116:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=0; z=1; 16031536:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 148480261:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 5988782:>0:EAX=1; 0:EBX=0; 2:EAX=1; 2:EBX=1; z=1; 3170967:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=1; z=1; 128028664:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 28924976:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=1; 13683634:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 11931039:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 143272025:>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 112.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) 476639:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 16421360:>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 146672487:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 6299813:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 3224009:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 130901058:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 25670296:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 13175552:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 13022012:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 144136774:>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 105.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 9286 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 18776 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 303727:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 525520:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 38047973:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 13434678:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 67007263:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 159153:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 3829332:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 3122902:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 1506397:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 8457905:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 59875733:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 60717810:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 14515330:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 246094:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 282726:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 10664834:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 541885:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 11389921:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 39544383:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 65798372:>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 125.92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 6983 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 276568:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 38314322:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 65490104:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 3987367:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 1462719:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 61678406:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 13486614:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 19487 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 320590:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 14416900:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 122385:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 3304416:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 6265477:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 63484585:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 232926:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 9775117:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 11226907:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 66083411:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 293180:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 405646:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 39345890:>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 127.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 545670:>2:EAX=1; 2:EBX=0; x=1; y=1; 144302883:>2:EAX=2; 2:EBX=0; x=1; y=1; 2918930:>2:EAX=1; 2:EBX=1; x=1; y=1; 22144011:>2:EAX=2; 2:EBX=1; x=1; y=1; 18320120:>2:EAX=2; 2:EBX=0; x=2; y=1; 5173025:>2:EAX=1; 2:EBX=1; x=2; y=1; 136680809:>2:EAX=2; 2:EBX=1; x=2; y=1; 13049147:>2:EAX=2; 2:EBX=0; x=1; y=2; 147371461:>2:EAX=2; 2:EBX=1; x=1; y=2; 9493944:>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 109.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 18726 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 363738:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 12296113:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 67079183:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 3291209:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 1423421:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 58676241:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 12424907:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=1; 5310 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 614858:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 39021971:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 133976:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 3532871:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 9247346:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 63498934:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 259665:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 11175744:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 39763188:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 68040918:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=2; 212129:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 356507:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 8563045:>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 128.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 357039:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 64526578:>3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 1292265:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 11093881:>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 24922 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 14054307:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 3380665:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 61090178:>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 6705 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 39581106:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 3566514:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 64354158:>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 422205:>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 110705:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 7505529:>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 10712620:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 66802125:>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 326909:>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 40852040:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 238655:>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 9377350:>3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 323544:>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 134.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 361028281:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 364710536:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 74261183:>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 103.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 10949036:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 11300975:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 141187905:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 11562198:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 142999073:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 146909631:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 35091182:>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 126.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 10753524:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 137113287:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 144778997:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 35921179:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 12906967:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 8977462:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 149548584:>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 117.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 357549840:>0:EAX=1; 1:EAX=1; 1:EBX=0; 370024475:>0:EAX=0; 1:EAX=1; 1:EBX=1; 72425685:>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 97.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 10680790:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 10399349:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 142281588:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 11430613:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 146981721:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 145001903:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 33224036:>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 107.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 310539:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 294960:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 9453646:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 302426:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 35385909:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 9151349:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 65599177:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 345309:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 10251117:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 36761418:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 68838264:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 9726231:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 68195397:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 67065743:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 18318515:>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 127.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 278176:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 8371765:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 36329616:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 62929424:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 10436324:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 68258898:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 69463529:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 17656767:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 336460:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 202247:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 10132764:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 277907:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 37881323:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 7564103:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 69880697:>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 131.37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 11062090:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 138562142:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 150065531:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 31218518:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 11704956:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 8626735:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 148760028:>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 115.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 281262:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 9729784:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 8577673:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 65078135:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 38495156:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 69576185:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 64744736:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 17669413:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 244813:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 328227:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 35922446:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 220286:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 8016341:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 10535043:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 70580500:>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 130.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 9365586:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 61861880:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 68620143:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 16038676:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 368224:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 9800763:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 38799006:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 66753595:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 284083:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 38036489:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 8832975:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 71930857:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 255929:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 234383:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 8817411:>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 135.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 366077787:>1:EAX=1; 1:EBX=0; x=1; 55855033:>1:EAX=1; 1:EBX=1; x=1; 378067180:>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 105.35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 10207584:>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 145541106:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 140970669:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 31103966:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 8067190:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 12696660:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 151412825:>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 115.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 283440:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 36311065:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 9538459:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 66480985:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 8873291:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 65773989:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 66854900:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 17790374:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 192824:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 249599:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 7276213:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 391872:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 11276197:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 37644775:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 71062017:>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 132.35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 37168056:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 63979315:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 66668090:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 16061657:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 217944:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 10732546:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 7468582:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 68581425:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 225479:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 7162024:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 12302834:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 70151537:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=2; 311785:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 357534:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 38611192:>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 134.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 142425576:>2:EAX=1; 2:EBX=0; x=1; y=1; 27872789:>2:EAX=1; 2:EBX=1; x=1; y=1; 11200674:>2:EAX=1; 2:EBX=0; x=2; y=1; 147354004:>2:EAX=1; 2:EBX=1; x=2; y=1; 7956510:>2:EAX=1; 2:EBX=0; x=1; y=2; 153970012:>2:EAX=1; 2:EBX=1; x=1; y=2; 9220435:>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 119.24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 8664290:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 66095097:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 63774581:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 16519150:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 336139:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 36758503:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 10268536:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 69303686:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 248966:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 7729797:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 38618797:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 72337559:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=2; 178238:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 270316:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 8896345:>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 135.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 63875429:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 14902234:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 9830423:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 67074947:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 37511725:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 71000174:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 226040:>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 7831937:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 7071599:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 72110095:>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 292488:>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 38699718:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 175921:>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 9176326:>3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 220944:>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 141.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 366809402:>0:EAX=1; 1:EAX=0; 367193224:>0:EAX=0; 1:EAX=1; 65997374:>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 90.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 11007602:>0:EAX=1; 1:EAX=0; 2:EAX=0; 11125913:>0:EAX=0; 1:EAX=1; 2:EAX=0; 145728423:>0:EAX=1; 1:EAX=1; 2:EAX=0; 11184248:>0:EAX=0; 1:EAX=0; 2:EAX=1; 146551728:>0:EAX=1; 1:EAX=0; 2:EAX=1; 145915938:>0:EAX=0; 1:EAX=1; 2:EAX=1; 28486148:>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 101.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 364507:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 366408:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 10230403:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 360063:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 38202921:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 10245875:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 66399979:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 364300:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 10401549:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 37841102:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 66867511:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 10225234:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 66333465:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 66575616:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 15221067:>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 121.29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 289636:>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 8748833:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 38110208:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 64622814:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 10084901:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 66587529:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 68668232:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 15800738:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=1; 365103:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 214074:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 10964727:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 262688:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 37381207:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 7719069:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 70180241:>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 125.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 11057077:>1:EAX=0; 2:EAX=0; x=1; 143079544:>1:EAX=1; 2:EAX=0; x=1; 148375568:>1:EAX=0; 2:EAX=1; x=1; 26946104:>1:EAX=1; 2:EAX=1; x=1; 12410056:>1:EAX=1; 2:EAX=0; x=2; 8283533:>1:EAX=0; 2:EAX=1; x=2; 149848118:>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 105.43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 9450753:>2:EAX=0; 3:EAX=0; x=1; y=1; 63642622:>2:EAX=1; 3:EAX=0; x=1; y=1; 67648852:>2:EAX=0; 3:EAX=1; x=1; y=1; 14280129:>2:EAX=1; 3:EAX=1; x=1; y=1; 375645:>2:EAX=0; 3:EAX=0; x=2; y=1; 10292252:>2:EAX=1; 3:EAX=0; x=2; y=1; 38652037:>2:EAX=0; 3:EAX=1; x=2; y=1; 67866739:>2:EAX=1; 3:EAX=1; x=2; y=1; 267741:>2:EAX=0; 3:EAX=0; x=1; y=2; 38807534:>2:EAX=1; 3:EAX=0; x=1; y=2; 8206568:>2:EAX=0; 3:EAX=1; x=1; y=2; 71296598:>2:EAX=1; 3:EAX=1; x=1; y=2; 263199:>2:EAX=1; 3:EAX=0; x=2; y=2; 191307:>2:EAX=0; 3:EAX=1; x=2; y=2; 8758024:>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 128.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 375782541:>1:EAX=0; x=1; 49669636:>1:EAX=1; x=1; 374547823:>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 100.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 38955632:>1:EAX=0; 3:EAX=0; x=1; z=1; 65822174:>1:EAX=1; 3:EAX=0; x=1; z=1; 65493518:>1:EAX=0; 3:EAX=1; x=1; z=1; 13362263:>1:EAX=1; 3:EAX=1; x=1; z=1; 244772:>1:EAX=0; 3:EAX=0; x=2; z=1; 11549844:>1:EAX=1; 3:EAX=0; x=2; z=1; 7578262:>1:EAX=0; 3:EAX=1; x=2; z=1; 68897384:>1:EAX=1; 3:EAX=1; x=2; z=1; 247543:>1:EAX=0; 3:EAX=0; x=1; z=2; 7617488:>1:EAX=1; 3:EAX=0; x=1; z=2; 11659514:>1:EAX=0; 3:EAX=1; x=1; z=2; 69087585:>1:EAX=1; 3:EAX=1; x=1; z=2; 348374:>1:EAX=1; 3:EAX=0; x=2; z=2; 343120:>1:EAX=0; 3:EAX=1; x=2; z=2; 38792527:>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 127.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 145265098:>2:EAX=0; x=1; y=1; 24066137:>2:EAX=1; x=1; y=1; 12975443:>2:EAX=0; x=2; y=1; 147236607:>2:EAX=1; x=2; y=1; 8712938:>2:EAX=0; x=1; y=2; 152208592:>2:EAX=1; x=1; y=2; 9535185:>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 108.71 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 65980471:>3:EAX=0; x=1; y=1; z=1; 13113044:>3:EAX=1; x=1; y=1; z=1; 10502075:>3:EAX=0; x=2; y=1; z=1; 67706190:>3:EAX=1; x=2; y=1; z=1; 38325939:>3:EAX=0; x=1; y=2; z=1; 70009757:>3:EAX=1; x=1; y=2; z=1; 239841:>3:EAX=0; x=2; y=2; z=1; 7720760:>3:EAX=1; x=2; y=2; z=1; 7070146:>3:EAX=0; x=1; y=1; z=2; 71263150:>3:EAX=1; x=1; y=1; z=2; 317437:>3:EAX=0; x=2; y=1; z=2; 38692661:>3:EAX=1; x=2; y=1; z=2; 172158:>3:EAX=0; x=1; y=2; z=2; 8684066:>3:EAX=1; x=1; y=2; z=2; 202305:>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 130.42 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=+ra -r 20000 Wed Dec 29 22:10:33 CET 2010