Sat Jan 8 09:30:05 CET 2011 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X000.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000 "Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MOV EAX,[y] | MOV EAX,[x] ; MOV EBX,[x] | MOV EBX,[y] ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl (%rdi),%eax _litmus_P0_2_: movl (%r8),%edx Test X000 Required Histogram (4 states) 523559:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 499659944:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 499724007:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 92490 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 999476441, Negative: 523559 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 87.89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X001.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001 "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV EAX,[z] | MOV EAX,[x] | MOV EAX,[y] ; MOV EBX,[x] | MOV EBX,[y] | MOV EBX,[z] ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl (%rdi),%eax _litmus_P0_2_: movl (%r8),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx Test X001 Required Histogram (8 states) 425651:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 100758860:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 95166208:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 71508018:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 87726961:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 65733998:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 78641395:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 38909 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 499574349, Negative: 425651 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 275.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X002.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002 "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV EAX,[x] | MOV EBX,[z] | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx Test X002 Required Histogram (8 states) 384739:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 101455441:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 85773229:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 80648742:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 82464430:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 65503261:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 83733746:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 36412 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 499615261, Negative: 384739 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 338.90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X003.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003 "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV EAX,[x] | MOV EAX,[x] | MOV EAX,[y] ; | MOV EBX,[y] | MOV EBX,[z] ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx Test X003 Required Histogram (8 states) 410175:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 93684871:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 94266921:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 72329201:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 95237850:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 72720195:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 71317777:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 33010 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 499589825, Negative: 410175 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 269.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X004.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004 "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx Test X004 Required Histogram (16 states) 58067 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 38006739:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 32254249:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 47134184:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 30580852:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 76939871:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 39249776:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 16367670:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 31476610:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 37973734:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 77275830:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 9268591:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 35887183:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 10659415:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 16865173:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 2056 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 499941933, Negative: 58067 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 332.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X005.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005 "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx Test X005 Required Histogram (16 states) 32135739:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 52547702:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 82264949:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 27660089:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 48591408:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 24144844:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 8921700:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 30049 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 16609 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 17791742:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 24588758:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 26030227:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 36070917:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 71506850:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 35271428:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 12426989:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 499983391, Negative: 16609 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 348.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X006.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006 "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[y] ; | MOV EBX,[y] | MOV EBX,[z] ; forall (2:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx Test X006 Required Histogram (12 states) 4 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 88296585:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 54979 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 103578945:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 845 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 79416357:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 8177 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 371922:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 162933:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=2; 62895663:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 94803842:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 70409748:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 499837063, Negative: 162937 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 283.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X007.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007 "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx Test X007 Required Histogram (24 states) 3 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 1563 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 32213311:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 39944718:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 37253 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 15410 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 51824811:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 19951839:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 1763 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 1293 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 83756757:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 14025382:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 84402 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 525 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 22614858:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 27994 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 17139 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 30684844:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 21819543:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 72485475:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 24743179:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 39147994:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 33069387:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 13530557:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; No Witnesses Positive: 499982858, Negative: 17142 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 351.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X008.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008 "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (3:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx Test X008 Required Histogram (23 states) 1381 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 57074614:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 39177 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 37959358:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 1269 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 20652163:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 2500 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 44440 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 17273549:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 5916 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 31699731:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 702 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 73299768:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 62623 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 18809265:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 31145467:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 76930240:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 39411463:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 13819740:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 3975 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; 18554696:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 27374246:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 35833717:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; No Witnesses Positive: 499996025, Negative: 3975 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 360.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X009.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009 "Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV [z],$1 | MOV [y],$1 ; MOV [x],$1 | MOV EAX,[y] ; MOV EAX,[x] | MOV EBX,[z] ; MOV EBX,[y] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r9) _litmus_P0_2_: movl (%r9),%eax _litmus_P0_3_: movl (%r8),%edx Test X009 Required Histogram (4 states) 1410098:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 499574460:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 498904998:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 110444:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 998589902, Negative: 1410098 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 106.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X010.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010 "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[z] ; | MOV EAX,[y] | MOV EBX,[a] ; | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X010 Required Histogram (8 states) 376225:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 98916166:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 88826476:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 77653201:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 84127890:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 67423645:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 82649990:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 26407 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 499623775, Negative: 376225 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 297.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X011.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011 "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] ; | MOV EAX,[y] | MOV EBX,[a] ; | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X011 Required Histogram (8 states) 95009708:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 105126859:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 71655927:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 82681 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 99812 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=2; 61597766:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 106169236:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 60258011:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 499900188, Negative: 99812 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 312.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X012.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012 "Fre PodWR Fre Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MOV EAX,[x] | MOV EAX,[x] ; | MOV EBX,[y] ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: movl (%rsi),%eax Test X012 Required Histogram (4 states) 724566:>0:EAX=0; 1:EAX=1; 1:EBX=0; 499692559:>0:EAX=1; 1:EAX=1; 1:EBX=0; 499503548:>0:EAX=0; 1:EAX=1; 1:EBX=1; 79327 :>0:EAX=1; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 999275434, Negative: 724566 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 86.60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X013.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013 "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[x] | MOV EAX,[z] | MOV EAX,[z] ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (1:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X013 Required Histogram (16 states) 52801 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 37710023:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 32197456:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 47713469:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 31136838:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 77625452:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 37558615:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 16848551:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 32763419:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 38134622:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 76342813:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 9144039:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 37562969:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 10644091:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 14563164:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 1678 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 499947199, Negative: 52801 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 332.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X014.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014 "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[z] | MOV EAX,[z] ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (3:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X014 Required Histogram (24 states) 3 :>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 30017422:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 23956 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 47737389:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 864 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 82252493:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 90033 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 24008491:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 1745 :>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 45458563:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 16507 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 25591072:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 1198 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 13114431:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 631 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 19905 :>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 16617 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 19944625:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 27322136:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 27810920:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 31640759:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 73465110:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 41240224:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 10224906:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 499983380, Negative: 16620 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 350.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X015.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015 "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV EAX,[x] | | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax Test X015 Required Histogram (8 states) 389799:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 97542637:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 84324406:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 82045426:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 83569923:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 69460245:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 82642271:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 25293 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 499610201, Negative: 389799 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 297.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X016.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016 "Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax Test X016 Required Histogram (8 states) 465920:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 95153821:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 88661596:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 77732620:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 88657565:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 71460804:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 77841848:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 25826 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 499534080, Negative: 465920 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 262.28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X017.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017 "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X017 Required Histogram (16 states) 79170 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 33286749:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 32517174:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 42882483:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 31103011:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 76529824:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 40827925:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 14797208:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 30495923:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 37241784:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 76113383:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 12369790:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 39963492:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 15879807:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 15910500:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 1777 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 499920830, Negative: 79170 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 332.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X018.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018 "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X018 Required Histogram (16 states) 36587274:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 62932208:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 84472361:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 29444375:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 37626202:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 17497689:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 13698390:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 12088 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 15476 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 16420368:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 28493858:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 19741350:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 31437100:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 68306206:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 45811135:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 7503920:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 499984524, Negative: 15476 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 341.28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X019.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019 "Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax Test X019 Required Histogram (8 states) 88560182:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 102052495:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 79377314:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 368824:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 211718:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=2; 64319449:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 92953885:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 72156133:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 499788282, Negative: 211718 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 278.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X020.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020 "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X020 Required Histogram (16 states) 32675515:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 46151539:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 50554902:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 22523560:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 81023321:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 9477996:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 22883809:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 22808 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 15302 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 34900544:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 20824339:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 71253334:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 26655637:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 36166804:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 31692634:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 13177956:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; No Witnesses Positive: 499984698, Negative: 15302 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 341.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X021.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021 "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X021 Required Histogram (16 states) 49743583:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 38871048:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 25190273:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 47582 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 18432721:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 37705887:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 77126217:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 23343295:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 27997776:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 74001697:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 47978376:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 9623703:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 5758 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; 13481799:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 30874597:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 25575688:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; No Witnesses Positive: 499994242, Negative: 5758 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 347.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X022.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022 "Fre PodWW Wse Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$2 ; MOV [x],$1 | MOV EAX,[x] ; | MOV EBX,[y] ; forall (1:EAX=2 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1) Generated assembler _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X022 Required Histogram (5 states) 500000109:>1:EAX=2; 1:EBX=0; x=1; 12074 :>1:EAX=1; 1:EBX=1; x=1; 40935 :>1:EAX=2; 1:EBX=1; x=1; 113004:>1:EAX=2; 1:EBX=0; x=2; 499833878:>1:EAX=2; 1:EBX=1; x=2; No Witnesses Positive: 999886996, Negative: 113004 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 87.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X023.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023 "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV EAX,[x] | MOV [z],$1 | MOV EAX,[z] ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (1:EAX=2 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X023 Required Histogram (30 states) 72 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 681 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 1401 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 91107849:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 146935:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 27478822:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 26356 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 667 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 2033 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 26875402:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 1056 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 314008:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 385 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 27913200:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 22587352:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 10999 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 4252 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 58560835:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 12682155:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 24788386:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 36738 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 54768692:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 1154 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 29187610:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 17281 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 18138909:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 6639 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=2; 17351413:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 19331338:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 68657380:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; No Witnesses Positive: 499993361, Negative: 6639 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 360.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X024.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024 "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV EAX,[x] | | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ (z=2 \/ z=1)) \/ 2:EAX=1 /\ z=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ z=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ z=1))) Generated assembler _litmus_P2_0_: movl $2,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X024 Required Histogram (11 states) 335 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=0; z=1; 91683061:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 75418619:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 54024 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 2:EBX=1; z=1; 2154 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=1; z=1; 100780568:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 147458:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=1; 117060:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=2; 103217490:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 65617486:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 62961745:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=2; No Witnesses Positive: 499882940, Negative: 117060 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 313.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X025.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025 "Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$2 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1)) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X025 Required Histogram (12 states) 1 :>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 922 :>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 89255450:>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 78615533:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 30100 :>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 8689 :>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 100082717:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 371607:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 169907:>0:EAX=0; 2:EAX=2; 2:EBX=0; y=2; 93891956:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 66429281:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 71143837:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=2; No Witnesses Positive: 499830092, Negative: 169908 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 278.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X026.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026 "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MOV EAX,[x] | MOV EAX,[y] | MOV [z],$1 | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X026 Required Histogram (23 states) 296 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 613 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 290 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 34072747:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 83239341:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 42142078:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 11628294:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 11438 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 26962 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 5327 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 307 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 57001200:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 27903680:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 20261132:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 17052 :>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 14708 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 26955594:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 33612499:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 40459209:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 18002188:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 24038144:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 70865629:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 9741272:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; No Witnesses Positive: 499985292, Negative: 14708 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 342.27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X027.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027 "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X027 Required Histogram (23 states) 42 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 499 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 88081071:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 24379381:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 20076 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 670 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 22705919:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 345357:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 346 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 27478483:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 27929995:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 9554 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 4185 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 49561061:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 15624301:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 22324167:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 47351961:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 37384943:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 22384205:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 7559 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=2; 19411361:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 23562957:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 71431907:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; No Witnesses Positive: 499992441, Negative: 7559 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 347.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X028.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028 "Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (2:EAX=2 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X028 Required Histogram (11 states) 1254 :>2:EAX=1; 2:EBX=0; x=1; y=1; 101457892:>2:EAX=2; 2:EBX=0; x=1; y=1; 11917 :>2:EAX=1; 2:EBX=1; x=1; y=1; 704075:>2:EAX=2; 2:EBX=1; x=1; y=1; 66075461:>2:EAX=2; 2:EBX=0; x=2; y=1; 12732 :>2:EAX=1; 2:EBX=1; x=2; y=1; 89269001:>2:EAX=2; 2:EBX=1; x=2; y=1; 95022113:>2:EAX=2; 2:EBX=0; x=1; y=2; 71579997:>2:EAX=2; 2:EBX=1; x=1; y=2; 6757 :>2:EAX=2; 2:EBX=0; x=2; y=2; 75858801:>2:EAX=2; 2:EBX=1; x=2; y=2; No Witnesses Positive: 499993243, Negative: 6757 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 292.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,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X029 Required Histogram (23 states) 772 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 612 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 52015076:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 20095632:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 8331 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 1196 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 32696152:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 46202 :>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=1; 316 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 21573484:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 73886601:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 3253 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 14181 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 38212068:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 19738414:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 30597052:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 38578206:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 77765022:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 14181034:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=2; 5484 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=2; 27056784:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 18093237:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 35430891:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=2; No Witnesses Positive: 499994516, Negative: 5484 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 348.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X030.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030 "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X030 Required Histogram (23 states) 815 :>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 38292430:>3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 2343 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 428733:>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 476 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 35643716:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 9218 :>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 27934148:>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 124 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 80311626:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 12481 :>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 20982827:>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 14840564:>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 3727 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 39801305:>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 49714464:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 21219202:>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 18534605:>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 72950098:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 24089203:>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 35884301:>3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 291 :>3:EAX=2; 3:EBX=0; x=2; y=2; z=2; 19343303:>3:EAX=2; 3:EBX=1; x=2; y=2; z=2; No Witnesses Positive: 499999709, Negative: 291 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 360.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X031.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031 "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 ; MOV [a],$1 | MOV [y],$1 ; MOV [x],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[z] ; MOV EBX,[y] | MOV EBX,[a] ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl (%rdi),%eax _litmus_P1_3_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: movl (%rdi),%edx Test X031 Required Histogram (4 states) 1997113:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 498832355:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 498963005:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 207527:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 998002887, Negative: 1997113 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 137.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X032.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032 "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [x],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV [a],$1 ; | MOV EAX,[y] | MOV EAX,[a] ; | MOV EBX,[z] | MOV EBX,[b] ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X032 Required Histogram (8 states) 351320:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 94820077:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 87218122:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 79107466:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 84481306:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 71592039:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 82404067:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 25603 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 499648680, Negative: 351320 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 323.35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X033.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033 "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV [a],$1 ; | MOV EAX,[y] | MOV EAX,[a] ; | MOV EBX,[z] | MOV EBX,[b] ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X033 Required Histogram (8 states) 86460514:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 98183048:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 81195007:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 334148:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 92149 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=2; 68288915:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 93361368:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 72084851:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 499907851, Negative: 92149 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 340.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X034.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034 "Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 ; MOV [z],$1 | MOV [x],$1 ; MOV EAX,[x] | MOV [y],$1 ; | MOV EAX,[y] ; | MOV EBX,[z] ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: movl (%rsi),%eax Test X034 Required Histogram (4 states) 1863679:>0:EAX=0; 1:EAX=1; 1:EBX=0; 498581642:>0:EAX=1; 1:EAX=1; 1:EBX=0; 499442397:>0:EAX=0; 1:EAX=1; 1:EBX=1; 112282:>0:EAX=1; 1:EAX=1; 1:EBX=1; No Witnesses Positive: 998136321, Negative: 1863679 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 102.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X035.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035 "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax Test X035 Required Histogram (8 states) 373292:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 92806310:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 95844246:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 70278990:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 91174476:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 73819559:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 75689338:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 13789 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 499626708, Negative: 373292 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 292.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X036.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036 "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X036 Required Histogram (16 states) 58314 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 35155998:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 31784431:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 43878862:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 33041504:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 77454871:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 34895518:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 15944052:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 36096611:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 41839815:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 74878809:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 12346427:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 41520620:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 11204655:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 9898494:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 1019 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 499941686, Negative: 58314 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 356.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X037.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037 "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X037 Required Histogram (16 states) 35923621:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 59434313:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 84259923:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 26976541:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 40026432:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 18869539:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 12212288:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 11916 :>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 15248 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 17213803:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 29710461:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 20884276:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 32990046:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 69766284:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 44180953:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 7524356:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 499984752, Negative: 15248 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 369.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X038.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038 "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax Test X038 Required Histogram (8 states) 97197503:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 99603400:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 70271186:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 202223:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 154015:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=2; 66513909:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 97451772:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 68605992:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 499845985, Negative: 154015 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 304.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X039.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039 "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X039 Required Histogram (16 states) 32947761:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 45445783:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 51357106:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 21556906:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 81260202:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 9700615:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 22679177:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 22069 :>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 15753 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 34406656:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 21304864:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 70548170:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 28154501:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 38199397:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 30457634:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 11943406:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; No Witnesses Positive: 499984247, Negative: 15753 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 369.32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X040.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040 "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X040 Required Histogram (16 states) 50104240:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 38624862:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 24409426:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 54409 :>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 19217346:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 39903274:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 76938840:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 24961714:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 28945282:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 73607439:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 47360490:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 9242200:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 5717 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; 12091073:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 31101725:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 23431963:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; No Witnesses Positive: 499994283, Negative: 5717 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 384.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X041.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041 "Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 ; MOV [z],$1 | MOV [x],$2 ; MOV [x],$1 | MOV [y],$1 ; | MOV EAX,[y] ; | MOV EBX,[z] ; forall (1:EAX=1 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1)) Generated assembler _litmus_P1_0_: movl $2,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X041 Required Histogram (4 states) 499497325:>1:EAX=1; 1:EBX=0; x=1; 118752:>1:EAX=1; 1:EBX=1; x=1; 606263:>1:EAX=1; 1:EBX=0; x=2; 499777660:>1:EAX=1; 1:EBX=1; x=2; No Witnesses Positive: 999393737, Negative: 606263 Condition forall (1:EAX=1 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1)) is NOT validated Hash=3ad76800dd197d5e94fede2c9fc81f40 Time X041 105.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X042.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042 "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 ; MOV EAX,[x] | MOV [y],$1 | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 0:EAX=0 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1))) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X042 Required Histogram (8 states) 89646642:>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 77235222:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 103131895:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 162563:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 126640:>0:EAX=0; 2:EAX=1; 2:EBX=0; y=2; 102481586:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 63779211:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 63436241:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=2; No Witnesses Positive: 499873360, Negative: 126640 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 303.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X043.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X043 "Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MOV EAX,[x] | MOV EAX,[y] | MOV [z],$1 | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X043 Required Histogram (16 states) 31100536:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 83449135:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 46101505:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 11709123:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 49724101:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 27600408:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 24495466:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 16027 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 18995 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 25573437:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 34399779:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 40103763:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 19399970:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 24450926:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 72624870:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 9231959:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; No Witnesses Positive: 499981005, Negative: 18995 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 371.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X044.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044 "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X044 Required Histogram (16 states) 92752590:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 28099225:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 22361232:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 320151:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 26348458:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 21089761:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 51986184:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 12476806:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 22788400:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 52394011:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 36881310:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 21304835:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=2; 10444 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=2; 15816411:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 24731904:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 70638278:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=2; No Witnesses Positive: 499989556, Negative: 10444 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 383.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X045.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045 "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X045 Required Histogram (8 states) 103495843:>2:EAX=1; 2:EBX=0; x=1; y=1; 377540:>2:EAX=1; 2:EBX=1; x=1; y=1; 63577784:>2:EAX=1; 2:EBX=0; x=2; y=1; 87407814:>2:EAX=1; 2:EBX=1; x=2; y=1; 101182114:>2:EAX=1; 2:EBX=0; x=1; y=2; 65231128:>2:EAX=1; 2:EBX=1; x=1; y=2; 4090 :>2:EAX=1; 2:EBX=0; x=2; y=2; 78723687:>2:EAX=1; 2:EBX=1; x=2; y=2; No Witnesses Positive: 499995910, Negative: 4090 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 317.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X046.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046 "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MOV EAX,[x] | MOV [y],$1 | MOV [z],$1 | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X046 Required Histogram (16 states) 49126218:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 20197687:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 29546464:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 44920 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 24131646:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 74339076:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 40138701:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 19345946:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 30137329:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 38787624:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 77953053:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 14624928:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=2; 5764 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=2; 26729446:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 18875228:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 36015970:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=2; No Witnesses Positive: 499994236, Negative: 5764 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 383.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X047.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047 "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X047 Required Histogram (16 states) 37097217:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 314786:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 37418108:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 28895584:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 79959678:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 22471606:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 14591407:>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 40214148:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 57555863:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 12698035:>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 19481585:>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 72568935:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 32406645:>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 25911471:>3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 330 :>3:EAX=1; 3:EBX=0; x=2; y=2; z=2; 18414602:>3:EAX=1; 3:EBX=1; x=2; y=2; z=2; No Witnesses Positive: 499999670, Negative: 330 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 387.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X048.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048 "Fre PodWR Fre PodWR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MOV EAX,[x] | MOV EAX,[y] ; forall (0:EAX=1 /\ (1:EAX=1 \/ 1:EAX=0) \/ 0:EAX=0 /\ 1:EAX=1) Generated assembler _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: movl (%rsi),%eax Test X048 Required Histogram (4 states) 723782:>0:EAX=0; 1:EAX=0; 499647586:>0:EAX=1; 1:EAX=0; 499591599:>0:EAX=0; 1:EAX=1; 37033 :>0:EAX=1; 1:EAX=1; No Witnesses Positive: 999276218, Negative: 723782 Condition forall (0:EAX=1 /\ (1:EAX=1 \/ 1:EAX=0) \/ 0:EAX=0 /\ 1:EAX=1) is NOT validated Hash=eb447b2ffe44de821f49c40caa8e9757 Time X048 83.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X049.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049 "Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ 2:EAX=1)) Generated assembler _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax Test X049 Required Histogram (8 states) 466588:>0:EAX=0; 1:EAX=0; 2:EAX=0; 87507457:>0:EAX=1; 1:EAX=0; 2:EAX=0; 94339136:>0:EAX=0; 1:EAX=1; 2:EAX=0; 72250555:>0:EAX=1; 1:EAX=1; 2:EAX=0; 88018689:>0:EAX=0; 1:EAX=0; 2:EAX=1; 79059112:>0:EAX=1; 1:EAX=0; 2:EAX=1; 78352199:>0:EAX=0; 1:EAX=1; 2:EAX=1; 6264 :>0:EAX=1; 1:EAX=1; 2:EAX=1; No Witnesses Positive: 499533412, Negative: 466588 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 259.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X050.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050 "Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ 3:EAX=1))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X050 Required Histogram (16 states) 61995 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=0; 33509566:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 32591579:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 41929293:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 33483614:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 77903716:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 36705745:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 14881349:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 33681206:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 39705150:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 75368556:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 13011666:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 42557539:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 13587279:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 11021050:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 697 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; No Witnesses Positive: 499938005, Negative: 61995 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 324.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X051.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051 "Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ x=1))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X051 Required Histogram (16 states) 37265653:>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 56166369:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 82813792:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 22946926:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 40880002:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 17324026:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 8981458:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 13453 :>1:EAX=1; 2:EAX=1; 3:EAX=1; x=1; 14341 :>1:EAX=0; 2:EAX=0; 3:EAX=0; x=2; 21516017:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 27481456:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 29785098:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 34355748:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 71445973:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 37239870:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 11769818:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=2; No Witnesses Positive: 499985659, Negative: 14341 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 328.95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X052.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052 "Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] ; forall (1:EAX=1 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ x=1)) Generated assembler _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax Test X052 Required Histogram (8 states) 101657738:>1:EAX=0; 2:EAX=0; x=1; 100257124:>1:EAX=1; 2:EAX=0; x=1; 65476240:>1:EAX=0; 2:EAX=1; x=1; 104127:>1:EAX=1; 2:EAX=1; x=1; 143300:>1:EAX=0; 2:EAX=0; x=2; 66298543:>1:EAX=1; 2:EAX=0; x=2; 101494939:>1:EAX=0; 2:EAX=1; x=2; 64567989:>1:EAX=1; 2:EAX=1; x=2; No Witnesses Positive: 499856700, Negative: 143300 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 275.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X053.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053 "Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[a] ; forall (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X053 Required Histogram (16 states) 53807261:>2:EAX=0; 3:EAX=0; x=1; y=1; 39696099:>2:EAX=1; 3:EAX=0; x=1; y=1; 22545084:>2:EAX=0; 3:EAX=1; x=1; y=1; 44532 :>2:EAX=1; 3:EAX=1; x=1; y=1; 18261599:>2:EAX=0; 3:EAX=0; x=2; y=1; 37029361:>2:EAX=1; 3:EAX=0; x=2; y=1; 76280728:>2:EAX=0; 3:EAX=1; x=2; y=1; 23877854:>2:EAX=1; 3:EAX=1; x=2; y=1; 30121050:>2:EAX=0; 3:EAX=0; x=1; y=2; 75411885:>2:EAX=1; 3:EAX=0; x=1; y=2; 44958615:>2:EAX=0; 3:EAX=1; x=1; y=2; 9673169:>2:EAX=1; 3:EAX=1; x=1; y=2; 6429 :>2:EAX=0; 3:EAX=0; x=2; y=2; 12809860:>2:EAX=1; 3:EAX=0; x=2; y=2; 30968347:>2:EAX=0; 3:EAX=1; x=2; y=2; 24508127:>2:EAX=1; 3:EAX=1; x=2; y=2; No Witnesses Positive: 499993571, Negative: 6429 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 342.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X054.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054 "Fre PodWW Wse PodWR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$2 ; MOV [x],$1 | MOV EAX,[y] ; forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) Generated assembler _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X054 Required Histogram (4 states) 500095373:>1:EAX=0; x=1; 37702 :>1:EAX=1; x=1; 119643:>1:EAX=0; x=2; 499747282:>1:EAX=1; x=2; No Witnesses Positive: 999880357, Negative: 119643 Condition forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) is NOT validated Hash=62acb715d47784e9a92843581eaa8492 Time X054 86.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X055.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055 "Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | MOV EAX,[a] ; forall (1:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X055 Required Histogram (16 states) 92284865:>1:EAX=0; 3:EAX=0; x=1; z=1; 25629829:>1:EAX=1; 3:EAX=0; x=1; z=1; 20667242:>1:EAX=0; 3:EAX=1; x=1; z=1; 445461:>1:EAX=1; 3:EAX=1; x=1; z=1; 20030240:>1:EAX=0; 3:EAX=0; x=2; z=1; 33034708:>1:EAX=1; 3:EAX=0; x=2; z=1; 42225441:>1:EAX=0; 3:EAX=1; x=2; z=1; 22960845:>1:EAX=1; 3:EAX=1; x=2; z=1; 24094715:>1:EAX=0; 3:EAX=0; x=1; z=2; 49526283:>1:EAX=1; 3:EAX=0; x=1; z=2; 35057491:>1:EAX=0; 3:EAX=1; x=1; z=2; 19595211:>1:EAX=1; 3:EAX=1; x=1; z=2; 12305 :>1:EAX=0; 3:EAX=0; x=2; z=2; 19983355:>1:EAX=1; 3:EAX=0; x=2; z=2; 23576388:>1:EAX=0; 3:EAX=1; x=2; z=2; 70875621:>1:EAX=1; 3:EAX=1; x=2; z=2; No Witnesses Positive: 499987695, Negative: 12305 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 343.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X056.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056 "Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] ; forall (2:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) Generated assembler _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X056 Required Histogram (8 states) 99638935:>2:EAX=0; x=1; y=1; 473893:>2:EAX=1; x=1; y=1; 67829710:>2:EAX=0; x=2; y=1; 90731790:>2:EAX=1; x=2; y=1; 100880875:>2:EAX=0; x=1; y=2; 65693528:>2:EAX=1; x=1; y=2; 7853 :>2:EAX=0; x=2; y=2; 74743416:>2:EAX=1; x=2; y=2; No Witnesses Positive: 499992147, Negative: 7853 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 289.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X057.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X057 "Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | MOV EAX,[a] ; forall (3:EAX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X057 Required Histogram (16 states) 31737138:>3:EAX=0; x=1; y=1; z=1; 394510:>3:EAX=1; x=1; y=1; z=1; 42847980:>3:EAX=0; x=2; y=1; z=1; 29538497:>3:EAX=1; x=2; y=1; z=1; 77543215:>3:EAX=0; x=1; y=2; z=1; 20480773:>3:EAX=1; x=1; y=2; z=1; 15387687:>3:EAX=0; x=2; y=2; z=1; 37442956:>3:EAX=1; x=2; y=2; z=1; 45328280:>3:EAX=0; x=1; y=1; z=2; 21605780:>3:EAX=1; x=1; y=1; z=2; 22376443:>3:EAX=0; x=2; y=1; z=2; 72505540:>3:EAX=1; x=2; y=1; z=2; 24834114:>3:EAX=0; x=1; y=2; z=2; 37516095:>3:EAX=1; x=1; y=2; z=2; 275 :>3:EAX=0; x=2; y=2; z=2; 20460717:>3:EAX=1; x=2; y=2; z=2; No Witnesses Positive: 499999725, Negative: 275 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 356.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X000-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000-F "Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MOV EAX,[y] | MOV EAX,[x] ; MFENCE | MFENCE ; MOV EBX,[x] | MOV EBX,[y] ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl (%rdi),%eax _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r8),%edx Test X000-F Required Histogram (3 states) 469095620:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 471525687:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 59378693:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 1000000000, 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 107.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X001-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001-F "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV EAX,[z] | MOV EAX,[x] | MOV EAX,[y] ; MFENCE | MFENCE | MFENCE ; MOV EBX,[x] | MOV EBX,[y] | MOV EBX,[z] ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl (%rdi),%eax _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r8),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx Test X001-F Required Histogram (7 states) 12261888:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 13681046:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 150946624:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 14239541:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 145395357:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 153249608:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 10225936:>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 305.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X002-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002-F "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV EAX,[x] | MFENCE | MFENCE ; MFENCE | MOV EBX,[z] | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx Test X002-F Required Histogram (7 states) 13627421:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 15035850:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 150557130:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 12948797:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 148608266:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 145514809:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 13707727:>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 328.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X003-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003-F "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MFENCE | MOV EAX,[x] | MOV EAX,[y] ; MOV EAX,[x] | MFENCE | MFENCE ; | MOV EBX,[y] | MOV EBX,[z] ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx Test X003-F Required Histogram (7 states) 13770824:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 15927045:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 148675092:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 15757984:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 145828741:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 147326228:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 12714086:>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 299.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X004-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004-F "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MFENCE | MFENCE | MOV EAX,[y] | MOV EAX,[z] ; MOV EAX,[x] | MOV EAX,[y] | MFENCE | MFENCE ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx Test X004-F Required Histogram (15 states) 58144 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 53695 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 13839602:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 63283 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 38833749:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 15383959:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 91677087:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 38401 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 15233744:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 36787289:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 87295110:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 16271879:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 87636822:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 90370955:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 6456281:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 500000000, 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 352.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X005-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005-F "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MFENCE | MOV EAX,[y] | MOV EAX,[z] ; | MOV EAX,[y] | MFENCE | MFENCE ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx Test X005-F Required Histogram (15 states) 36454 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 8707059:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 43740787:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 57385609:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 16637951:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 73664464:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 74175157:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 3750774:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 5708280:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 384494:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 48923389:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 315758:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 63485177:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 34684105:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 68400542:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 363.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X006-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006-F "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[y] ; | MFENCE | MFENCE ; | MOV EBX,[y] | MOV EBX,[z] ; forall (2:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx Test X006-F Required Histogram (10 states) 16105927:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 21427 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 115257128:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 261 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 129564678:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 5660 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 9904405:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 46464257:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 41670908:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 141005349:>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 298.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X007-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007-F "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MFENCE | MOV [y],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV EAX,[x] | | MFENCE | MFENCE ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx Test X007-F Required Histogram (22 states) 31 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 30989 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 14562249:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 92 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 10464 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 10081960:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 78583918:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 47 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 3046 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 45989316:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 70767045:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 2058 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 1870 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 59412103:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 3304760:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 261272:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 6106609:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 62002043:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 339946:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 34271264:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 47982741:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 66286177:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 500000000, 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 364.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X008-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008-F "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[y] | MOV EAX,[z] ; | | MFENCE | MFENCE ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (3:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx Test X008-F Required Histogram (22 states) 59 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 9598904:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 5685 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 45740974:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 2775 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 60807680:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 1839 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 1482737:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 4718377:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 1050 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 30748683:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 165 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 68429313:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 6520 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 29879515:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 119683:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 68931171:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 32847118:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 62084437:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 12050515:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 958194:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 71584606:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 369.58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X009-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009-F "Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV [z],$1 | MOV [y],$1 ; MOV [x],$1 | MOV EAX,[y] ; MOV EAX,[x] | MFENCE ; MFENCE | MOV EBX,[z] ; MOV EBX,[y] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r9) _litmus_P0_2_: movl (%r9),%eax _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r8),%edx Test X009-F Required Histogram (3 states) 450962501:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 441456365:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 107581134:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 1000000000, 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 126.48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X010-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010-F "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [z],$1 ; MFENCE | MOV [y],$1 | MOV EAX,[z] ; MOV EAX,[x] | MOV EAX,[y] | MFENCE ; | MFENCE | MOV EBX,[a] ; | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rdi),%edx Test X010-F Required Histogram (7 states) 13226165:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 16393217:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 150584383:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 14890006:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 139979727:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 148868436:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 16058066:>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 322.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X011-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011-F "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] ; | MOV EAX,[y] | MFENCE ; | MFENCE | MOV EBX,[a] ; | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rdi),%edx Test X011-F Required Histogram (7 states) 14828942:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 121578299:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 128389102:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 6854709:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 47206680:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 41486384:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 139655884:>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 329.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X012-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012-F "Fre PodWR Fre Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MFENCE | MOV EAX,[x] ; MOV EAX,[x] | MFENCE ; | MOV EBX,[y] ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rsi),%eax Test X012-F Required Histogram (3 states) 453563630:>0:EAX=1; 1:EAX=1; 1:EBX=0; 395116049:>0:EAX=0; 1:EAX=1; 1:EBX=1; 151320321:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 1000000000, 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 103.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X013-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013-F "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MFENCE | MOV EAX,[x] | MFENCE | MOV EAX,[z] ; MOV EAX,[x] | MFENCE | MOV EAX,[z] | MFENCE ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (1:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X013-F Required Histogram (15 states) 62646 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 56063 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 14343455:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 39338 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 42854991:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 16301209:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 91536057:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 33481 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 14591634:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 39719355:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 89010228:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 14964803:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 83428219:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 88142532:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 4915989:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 500000000, 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 352.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X014-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014-F "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MOV EAX,[x] | MFENCE | MOV EAX,[z] ; | MFENCE | MOV EAX,[z] | MFENCE ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (3:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X014-F Required Histogram (22 states) 24556 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 91 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 7819315:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 33 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 44934238:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 1404 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 51806149:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 52 :>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 16749415:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 16826 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 73023534:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 2286 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 72032049:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 2516 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 3039196:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 7440464:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 334538:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 53525664:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 520047:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 67190125:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 32441914:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 69095588:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 365.48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X015-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015-F "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MFENCE | MOV EAX,[z] ; MOV EAX,[x] | MOV EAX,[z] | MFENCE ; MFENCE | | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax Test X015-F Required Histogram (7 states) 16126670:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 14818664:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 146222916:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 13886348:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 148702220:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 143591201:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 16651981:>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 324.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X016-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016-F "Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MFENCE | MFENCE | MOV EAX,[y] ; MOV EAX,[x] | MOV EAX,[y] | MFENCE ; | | MOV EBX,[z] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax Test X016-F Required Histogram (7 states) 15300159:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 17004158:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 146391135:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 17352887:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 142938378:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 145676997:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 15336286:>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 290.98 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X017-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017-F "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MFENCE | MFENCE | MFENCE | MOV EAX,[z] ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MFENCE ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X017-F Required Histogram (15 states) 63001 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 48272 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 14994191:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 59000 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 38039542:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 15434042:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 89520519:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 42242 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 15383191:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 35436445:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 89562335:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 15658559:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 89739064:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 89264147:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 6755450:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 500000000, 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 349.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X018-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018-F "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MFENCE | MFENCE | MOV EAX,[z] ; | MOV EAX,[y] | MOV EAX,[z] | MFENCE ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X018-F Required Histogram (15 states) 33129 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 10296357:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 44998964:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 59817815:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 14761423:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 82847283:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 69771979:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 3555666:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 5796962:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 328117:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 44959383:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 145906:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 59231285:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 35987841:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 67467890:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 357.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X019-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019-F "Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MFENCE | MOV EAX,[y] ; | MOV EAX,[y] | MFENCE ; | | MOV EBX,[z] ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax Test X019-F Required Histogram (7 states) 17610662:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 110606113:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 131967378:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 9130113:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 45257756:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 42703722:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 142724256:>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 295.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X020-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020-F "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MFENCE | MOV [y],$1 | MFENCE | MOV EAX,[z] ; MOV EAX,[x] | | MOV EAX,[z] | MFENCE ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X020-F Required Histogram (15 states) 22238 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 16229682:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 7616081:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 70231518:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 46108817:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 72534368:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 52137591:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 2481362:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 437898:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 7034638:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 69251303:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 252268:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 33282436:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 54624350:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 67755450:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 500000000, 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 356.55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X021-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021-F "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MFENCE | MOV EAX,[z] ; | | MOV EAX,[z] | MFENCE ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X021-F Required Histogram (15 states) 9497606:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 45950401:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 60024125:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 1897816:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 5464418:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 34795211:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 70948690:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 35715584:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 138543:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 66628496:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 34092002:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 59318688:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 9878072:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 1104273:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 64546075:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 358.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X022-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022-F "Fre PodWW Wse Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$2 ; MOV [x],$1 | MOV EAX,[x] ; | MFENCE ; | MOV EBX,[y] ; forall (1:EAX=2 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1) Generated assembler _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X022-F Required Histogram (4 states) 483482222:>1:EAX=2; 1:EBX=0; x=1; 9696 :>1:EAX=1; 1:EBX=1; x=1; 17076089:>1:EAX=2; 1:EBX=1; x=1; 499431993:>1:EAX=2; 1:EBX=1; x=2; Ok Witnesses Positive: 1000000000, 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 93.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X023-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023-F "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV EAX,[x] | MOV [z],$1 | MOV EAX,[z] ; | MFENCE | | MFENCE ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (1:EAX=2 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X023-F Required Histogram (29 states) 28 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 335 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 19 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 43900425:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 3516 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 46577327:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 3309 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 4617 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 2386 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 45408624:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 4925 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 2557710:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 246 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 412236:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 46451685:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 203 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 17246 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 15141230:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 60919098:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 473125:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 327 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 14956785:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 1444 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 46209591:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 73630 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 59978330:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 16867263:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 17158090:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 82876250:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 500000000, 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 372.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X024-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024-F "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV EAX,[x] | | MFENCE ; MFENCE | | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ (z=2 \/ z=1)) \/ 2:EAX=1 /\ z=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ z=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ z=1))) Generated assembler _litmus_P2_0_: movl $2,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X024-F Required Histogram (10 states) 205 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=0; z=1; 13827309:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 132183370:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 20663 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 2:EBX=1; z=1; 4472 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=1; z=1; 118059143:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 6245778:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=1; 44112528:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 49674024:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 135872508:>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 332.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X025-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025-F "Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$2 ; MFENCE | MOV [y],$1 | MOV EAX,[y] ; MOV EAX,[x] | | MFENCE ; | | MOV EBX,[z] ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1)) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X025-F Required Histogram (10 states) 374 :>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 15683833:>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 127867197:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 24484 :>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 5602 :>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 120026370:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 7786088:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 41534484:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 52182154:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 134889414:>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 296.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X026-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026-F "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MFENCE | MFENCE | MOV [z],$1 | MOV EAX,[z] ; MOV EAX,[x] | MOV EAX,[y] | | MFENCE ; | | | MOV EBX,[a] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X026-F Required Histogram (22 states) 41 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 4 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 597 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 20211 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 47697097:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 15990105:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 72897195:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 39 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 770 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 7037 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 1642 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 7499998:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 53216634:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 72035641:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 2305983:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 424730:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 327457:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 33390182:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 6611428:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 53161933:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 66857561:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 67553715:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; Ok Witnesses Positive: 500000000, 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 358.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X027-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027-F "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MFENCE | MOV [z],$1 | MOV EAX,[z] ; | MOV EAX,[y] | | MFENCE ; | | | MOV EBX,[a] ; forall (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X027-F Required Histogram (22 states) 16 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 475 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 44943233:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 46186813:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 3341 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 4343 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 46394652:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 1901263:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 223 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 363163:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 44063592:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 113 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 15131 :>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 14813067:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 58630532:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 423641:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 16970837:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 49702799:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 59053529:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 15718781:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 18284783:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 82525673:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 500000000, 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 360.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X028-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028-F "Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[y] ; | | MFENCE ; | | MOV EBX,[z] ; forall (2:EAX=2 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X028-F Required Histogram (10 states) 775 :>2:EAX=1; 2:EBX=0; x=1; y=1; 93812477:>2:EAX=2; 2:EBX=0; x=1; y=1; 7083 :>2:EAX=1; 2:EBX=1; x=1; y=1; 3324217:>2:EAX=2; 2:EBX=1; x=1; y=1; 46059400:>2:EAX=2; 2:EBX=0; x=2; y=1; 15355 :>2:EAX=1; 2:EBX=1; x=2; y=1; 113770401:>2:EAX=2; 2:EBX=1; x=2; y=1; 44590184:>2:EAX=2; 2:EBX=0; x=1; y=2; 122140582:>2:EAX=2; 2:EBX=1; x=1; y=2; 76279526:>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 301.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X029-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X029-F "Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MFENCE | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV EAX,[x] | | | MFENCE ; | | | MOV EBX,[a] ; forall (0:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X029-F Required Histogram (22 states) 2 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 774 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 7535563:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 56403070:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 3034 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 1351 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 40379337:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 1239977:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=1; 183 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 7171033:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 74322779:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 1274 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 6267 :>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 38327496:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 30533534:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 70141 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 32555825:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 67774263:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 61330450:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=2; 928873:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 11874115:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 69540659:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 500000000, 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 359.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X030-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030-F "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; | | | MFENCE ; | | | MOV EBX,[a] ; forall (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X030-F Required Histogram (22 states) 518 :>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 37347020:>3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 1300 :>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 1495965:>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 418 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 30437169:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 6786 :>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 30881480:>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 144 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 65348275:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 8000 :>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 30534576:>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 9783248:>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 4723 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 41662445:>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 17935543:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 52288913:>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 13212216:>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 81151439:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 772794:>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 65127769:>3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 21999259:>3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 500000000, 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 364.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X031-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031-F "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 ; MOV [a],$1 | MOV [y],$1 ; MOV [x],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[z] ; MFENCE | MFENCE ; MOV EBX,[y] | MOV EBX,[a] ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl (%rdi),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rdi),%edx Test X031-F Required Histogram (3 states) 429647499:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 440930302:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 129422199:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 1000000000, 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 153.43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X032-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032-F "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [x],$1 | MOV [z],$1 ; MFENCE | MOV [y],$1 | MOV [a],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[a] ; | MFENCE | MFENCE ; | MOV EBX,[z] | MOV EBX,[b] ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rdi),%edx Test X032-F Required Histogram (7 states) 12107518:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 14647669:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 155425092:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 13321146:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 144238983:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 148770321:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 11489271:>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 349.27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X033-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033-F "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MOV [a],$1 ; | MOV EAX,[y] | MOV EAX,[a] ; | MFENCE | MFENCE ; | MOV EBX,[z] | MOV EBX,[b] ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rdi),%edx Test X033-F Required Histogram (7 states) 13746578:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 116293764:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 130052104:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 7539047:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 54965854:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 41260820:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 136141833:>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 356.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X034-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034-F "Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 ; MOV [z],$1 | MOV [x],$1 ; MFENCE | MOV [y],$1 ; MOV EAX,[x] | MOV EAX,[y] ; | MFENCE ; | MOV EBX,[z] ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rsi),%eax Test X034-F Required Histogram (3 states) 410425386:>0:EAX=1; 1:EAX=1; 1:EBX=0; 441702543:>0:EAX=0; 1:EAX=1; 1:EBX=1; 147872071:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 1000000000, 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 121.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X035-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035-F "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 ; MFENCE | MFENCE | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] ; | | MFENCE ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax Test X035-F Required Histogram (7 states) 14153193:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 14083350:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 142438333:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 17006148:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 148890922:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 151219079:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 12208975:>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 319.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X036-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036-F "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MFENCE | MFENCE | MFENCE | MOV [a],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; | | | MFENCE ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X036-F Required Histogram (15 states) 51385 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 28870 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 14454939:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 33617 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 39775148:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 14485468:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 88380117:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 53101 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 15385756:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 38554953:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 91874595:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 14667146:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 89988592:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 86936909:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 5329404:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 500000000, 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 375.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X037-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037-F "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MFENCE | MFENCE | MOV [a],$1 ; | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; | | | MFENCE ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X037-F Required Histogram (15 states) 20567 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 8981071:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 45691380:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 56407685:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 15566381:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 80333368:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 70286299:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 3100750:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 5654114:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 284424:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 45474288:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 232271:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 62817621:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 35592080:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 69557701:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 386.44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X038-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038-F "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MFENCE | MOV [z],$1 ; | MOV EAX,[y] | MOV EAX,[z] ; | | MFENCE ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax Test X038-F Required Histogram (7 states) 14867655:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 117260532:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 132318616:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 6910111:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 45861111:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 43737770:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 139044205:>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 321.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,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X039-F Required Histogram (15 states) 19358 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 14928760:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 7087562:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 72272230:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 46456979:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 73155304:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 54061196:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 2983945:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 385032:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 6489234:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 62359235:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 275329:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 34016795:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 56377708:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 69131333:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 500000000, 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 385.51 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X040-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040-F "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MFENCE | MOV [a],$1 ; | | MOV EAX,[z] | MOV EAX,[a] ; | | | MFENCE ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X040-F Required Histogram (15 states) 8487134:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 44833176:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 60248196:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 2491746:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 4913348:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 36063908:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 71211662:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 39744087:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 146235:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 65607998:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 34906800:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 58585694:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 8073211:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 1330463:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 63356342:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 395.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X041-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041-F "Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 ; MOV [z],$1 | MOV [x],$2 ; MOV [x],$1 | MOV [y],$1 ; | MOV EAX,[y] ; | MFENCE ; | MOV EBX,[z] ; forall (1:EAX=1 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1)) Generated assembler _litmus_P1_0_: movl $2,(%r9) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X041-F Required Histogram (3 states) 437122149:>1:EAX=1; 1:EBX=0; x=1; 62167343:>1:EAX=1; 1:EBX=1; x=1; 500710508:>1:EAX=1; 1:EBX=1; x=2; Ok Witnesses Positive: 1000000000, 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 109.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X042-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042-F "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 ; MFENCE | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | | MOV EAX,[z] ; | | MFENCE ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 0:EAX=0 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1))) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X042-F Required Histogram (7 states) 15650617:>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 128091768:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 120241031:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 8455812:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 41249868:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 51362140:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 134948764:>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 321.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X043-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X043-F "Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MFENCE | MFENCE | MOV [z],$1 | MOV [a],$1 ; MOV EAX,[x] | MOV EAX,[y] | | MOV EAX,[a] ; | | | MFENCE ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X043-F Required Histogram (15 states) 24331 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 45103080:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 14473559:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 68712854:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 9992033:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 60419695:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 79807214:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 3505846:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 265363:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 386395:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 32718266:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 5776625:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 50047665:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 63170535:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 65596539:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; Ok Witnesses Positive: 500000000, 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 386.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X044-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044-F "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MFENCE | MOV [z],$1 | MOV [a],$1 ; | MOV EAX,[y] | | MOV EAX,[a] ; | | | MFENCE ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X044-F Required Histogram (15 states) 45388090:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 48219276:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 41553969:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 1629877:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 181425:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 40599528:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 13837420:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 57818747:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 418341:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 17326348:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 52235733:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 60212891:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=2; 15355374:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 20652321:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 84570660:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 500000000, 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 393.30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X045-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045-F "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; | | MOV EAX,[z] ; | | MFENCE ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X045-F Required Histogram (7 states) 101176386:>2:EAX=1; 2:EBX=0; x=1; y=1; 2452058:>2:EAX=1; 2:EBX=1; x=1; y=1; 49822738:>2:EAX=1; 2:EBX=0; x=2; y=1; 100323567:>2:EAX=1; 2:EBX=1; x=2; y=1; 42663894:>2:EAX=1; 2:EBX=0; x=1; y=2; 123401560:>2:EAX=1; 2:EBX=1; x=1; y=2; 80159797:>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 327.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X046-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046-F "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MFENCE | MOV [y],$1 | MOV [z],$1 | MOV [a],$1 ; MOV EAX,[x] | | | MOV EAX,[a] ; | | | MFENCE ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X046-F Required Histogram (15 states) 6566206:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 56304331:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 41934730:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 1695277:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 7099009:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 68354000:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 43753614:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 33540915:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 79600 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 32211138:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 67036625:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 60874260:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=2; 850145:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 10904398:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 68795752:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 500000000, 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 392.60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X047-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047-F "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MFENCE ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X047-F Required Histogram (15 states) 37121570:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 1558484:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 29726650:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 33424599:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 63628978:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 32961192:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 8295007:>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 43871931:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 18393030:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 52020586:>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 12641539:>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 81366730:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 681958:>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 63284579:>3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 21023167:>3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 500000000, 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 393.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X048-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048-F "Fre PodWR Fre PodWR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MFENCE | MFENCE ; MOV EAX,[x] | MOV EAX,[y] ; forall (0:EAX=1 /\ (1:EAX=1 \/ 1:EAX=0) \/ 0:EAX=0 /\ 1:EAX=1) Generated assembler _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rsi),%eax Test X048-F Required Histogram (3 states) 371786317:>0:EAX=1; 1:EAX=0; 419486518:>0:EAX=0; 1:EAX=1; 208727165:>0:EAX=1; 1:EAX=1; Ok Witnesses Positive: 1000000000, 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 96.57 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X049-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049-F "Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MFENCE | MFENCE | MFENCE ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ 2:EAX=1)) Generated assembler _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rcx) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax Test X049-F Required Histogram (7 states) 17199915:>0:EAX=1; 1:EAX=0; 2:EAX=0; 16886971:>0:EAX=0; 1:EAX=1; 2:EAX=0; 142918396:>0:EAX=1; 1:EAX=1; 2:EAX=0; 18035289:>0:EAX=0; 1:EAX=0; 2:EAX=1; 144870012:>0:EAX=1; 1:EAX=0; 2:EAX=1; 145044768:>0:EAX=0; 1:EAX=1; 2:EAX=1; 15044649:>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 286.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X050-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050-F "Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MFENCE | MFENCE | MFENCE | MFENCE ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ 3:EAX=1))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X050-F Required Histogram (15 states) 51010 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 51549 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 14688653:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 63818 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 37701407:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 15640868:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 91268025:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 45492 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 15655237:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 36887014:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 87303605:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 14987151:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 90375542:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 88944296:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 6336333:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; Ok Witnesses Positive: 500000000, 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 344.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X051-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051-F "Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [x],$1 | MFENCE | MFENCE | MFENCE ; | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ x=1))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X051-F Required Histogram (15 states) 29975 :>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 8195847:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 46973317:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 59904184:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 15075590:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 76185968:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 68978463:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 2882411:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=1; 4990471:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 376599:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 53283768:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 127057:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 62730426:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 32997696:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 67268228:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=2; Ok Witnesses Positive: 500000000, 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 347.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X052-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052-F "Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [x],$1 | MFENCE | MFENCE ; | MOV EAX,[y] | MOV EAX,[z] ; forall (1:EAX=1 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ x=1)) Generated assembler _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax Test X052-F Required Histogram (7 states) 17051054:>1:EAX=0; 2:EAX=0; x=1; 119863852:>1:EAX=1; 2:EAX=0; x=1; 129200350:>1:EAX=0; 2:EAX=1; x=1; 5081093:>1:EAX=1; 2:EAX=1; x=1; 48796992:>1:EAX=1; 2:EAX=0; x=2; 43719635:>1:EAX=0; 2:EAX=1; x=2; 136287024:>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 293.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X053-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053-F "Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [y],$1 | MFENCE | MFENCE ; | | MOV EAX,[z] | MOV EAX,[a] ; forall (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X053-F Required Histogram (15 states) 8281926:>2:EAX=0; 3:EAX=0; x=1; y=1; 49768372:>2:EAX=1; 3:EAX=0; x=1; y=1; 58609183:>2:EAX=0; 3:EAX=1; x=1; y=1; 2230610:>2:EAX=1; 3:EAX=1; x=1; y=1; 4393049:>2:EAX=0; 3:EAX=0; x=2; y=1; 38342591:>2:EAX=1; 3:EAX=0; x=2; y=1; 69932166:>2:EAX=0; 3:EAX=1; x=2; y=1; 38095232:>2:EAX=1; 3:EAX=1; x=2; y=1; 152544:>2:EAX=0; 3:EAX=0; x=1; y=2; 67575642:>2:EAX=1; 3:EAX=0; x=1; y=2; 33846212:>2:EAX=0; 3:EAX=1; x=1; y=2; 57694725:>2:EAX=1; 3:EAX=1; x=1; y=2; 9884630:>2:EAX=1; 3:EAX=0; x=2; y=2; 1054377:>2:EAX=0; 3:EAX=1; x=2; y=2; 60138741:>2:EAX=1; 3:EAX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 354.35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X054-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054-F "Fre PodWW Wse PodWR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$2 ; MOV [x],$1 | MFENCE ; | MOV EAX,[y] ; forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) Generated assembler _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X054-F Required Histogram (3 states) 473981708:>1:EAX=0; x=1; 26359584:>1:EAX=1; x=1; 499658708:>1:EAX=1; x=2; Ok Witnesses Positive: 1000000000, Negative: 0 Condition forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) is validated Hash=fd11041c5d72fd760bc633e832dfee90 Time X054-F 92.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X055-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055-F "Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [x],$1 | MFENCE | MOV [z],$1 | MFENCE ; | MOV EAX,[y] | | MOV EAX,[a] ; forall (1:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X055-F Required Histogram (15 states) 48774514:>1:EAX=0; 3:EAX=0; x=1; z=1; 48755492:>1:EAX=1; 3:EAX=0; x=1; z=1; 42433081:>1:EAX=0; 3:EAX=1; x=1; z=1; 1687130:>1:EAX=1; 3:EAX=1; x=1; z=1; 295520:>1:EAX=0; 3:EAX=0; x=2; z=1; 43975390:>1:EAX=1; 3:EAX=0; x=2; z=1; 13621674:>1:EAX=0; 3:EAX=1; x=2; z=1; 54290129:>1:EAX=1; 3:EAX=1; x=2; z=1; 431565:>1:EAX=0; 3:EAX=0; x=1; z=2; 17816120:>1:EAX=1; 3:EAX=0; x=1; z=2; 49942282:>1:EAX=0; 3:EAX=1; x=1; z=2; 58458349:>1:EAX=1; 3:EAX=1; x=1; z=2; 16073087:>1:EAX=1; 3:EAX=0; x=2; z=2; 20121271:>1:EAX=0; 3:EAX=1; x=2; z=2; 83324396:>1:EAX=1; 3:EAX=1; x=2; z=2; Ok Witnesses Positive: 500000000, 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 354.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X056-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056-F "Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [x],$1 | MOV [y],$1 | MFENCE ; | | MOV EAX,[z] ; forall (2:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) Generated assembler _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X056-F Required Histogram (7 states) 101151346:>2:EAX=0; x=1; y=1; 3722236:>2:EAX=1; x=1; y=1; 51214885:>2:EAX=0; x=2; y=1; 103835399:>2:EAX=1; x=2; y=1; 44699018:>2:EAX=0; x=1; y=2; 121498373:>2:EAX=1; x=1; y=2; 73878743:>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 297.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X057-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X057-F "Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | MFENCE ; | | | MOV EAX,[a] ; forall (3:EAX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X057-F Required Histogram (15 states) 42887475:>3:EAX=0; x=1; y=1; z=1; 781723:>3:EAX=1; x=1; y=1; z=1; 29266278:>3:EAX=0; x=2; y=1; z=1; 31888853:>3:EAX=1; x=2; y=1; z=1; 66462758:>3:EAX=0; x=1; y=2; z=1; 26302124:>3:EAX=1; x=1; y=2; z=1; 9829236:>3:EAX=0; x=2; y=2; z=1; 34856933:>3:EAX=1; x=2; y=2; z=1; 21007622:>3:EAX=0; x=1; y=1; z=2; 52302770:>3:EAX=1; x=1; y=1; z=2; 11040271:>3:EAX=0; x=2; y=1; z=2; 80503674:>3:EAX=1; x=2; y=1; z=2; 724592:>3:EAX=0; x=1; y=2; z=2; 67429614:>3:EAX=1; x=1; y=2; z=2; 24716077:>3:EAX=1; x=2; y=2; z=2; Ok Witnesses Positive: 500000000, 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 361.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X000-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000-A "Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [y],ECX | XCHG [x],ECX ; MOV EAX,[y] | MOV EAX,[x] ; MOV EBX,[x] | MOV EBX,[y] ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%r9d _litmus_P0_1_: xchgl %r9d,(%rdi) _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl (%r8),%edx Test X000-A Required Histogram (3 states) 499834768:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 499886622:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 278610:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 1000000000, 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 104.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X001-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001-A "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [z],ECX | XCHG [x],ECX | XCHG [y],ECX ; MOV EAX,[z] | MOV EAX,[x] | MOV EAX,[y] ; MOV EBX,[x] | MOV EBX,[y] | MOV EBX,[z] ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%r9d _litmus_P0_1_: xchgl %r9d,(%rdi) _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl (%r8),%edx _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X001-A Required Histogram (7 states) 53068911:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 48396696:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 99385606:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 47513586:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 92831053:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 108437335:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 50366813:>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 309.29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X002-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002-A "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [a],ECX | XCHG [y],ECX | XCHG [z],ECX ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV EAX,[x] | MOV EBX,[z] | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%r9) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl (%rdi),%edx _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X002-A Required Histogram (7 states) 59522171:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 45450259:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 107278931:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 52040982:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 86311803:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 115430708:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 33965146:>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 333.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X003-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003-A "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [z],EBX | XCHG [x],ECX | XCHG [y],ECX ; MOV EAX,[x] | MOV EAX,[x] | MOV EAX,[y] ; | MOV EBX,[y] | MOV EBX,[z] ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rcx) _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X003-A Required Histogram (7 states) 47106366:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 51495907:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 98455613:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 53413756:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 97095693:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 111659477:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 40773188:>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 300.64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X004-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004-A "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [a],EBX | XCHG [x],EBX | XCHG [y],ECX | XCHG [z],ECX ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx Test X004-A Required Histogram (15 states) 10541989:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 11198004:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 29613560:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 10049549:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 58411165:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 34469686:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 45370611:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 9251944:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 30022860:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 59159267:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 39138829:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 38028443:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 54707673:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 55687157:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 14349263:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 500000000, 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 365.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X005-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005-A "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV EBX,$2 | MOV ECX,$1 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],EBX | XCHG [y],ECX | XCHG [z],ECX ; | MOV EAX,[y] | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx Test X005-A Required Histogram (15 states) 331727:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 4867296:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 40208163:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 21012296:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 41212511:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 53155055:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 58327045:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 15579430:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 16485204:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 9901750:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 54891956:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 14197774:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 76946333:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 45841465:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 47041995:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 365.71 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X006-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006-A "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV ECX,$2 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],ECX | XCHG [y],ECX ; | MOV EAX,[x] | MOV EAX,[y] ; | MOV EBX,[y] | MOV EBX,[z] ; forall (2:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx Test X006-A Required Histogram (10 states) 30141086:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 1206871:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 75427139:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 808537:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 118354209:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 3524013:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 25200278:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 61504311:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 77798578:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 106034978:>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 298.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X007-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007-A "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV [x],$1 | MOV ECX,$2 | MOV ECX,$1 ; XCHG [a],EBX | MOV [y],$1 | XCHG [y],ECX | XCHG [z],ECX ; MOV EAX,[x] | | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx Test X007-A Required Histogram (22 states) 24801 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 329906:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 42496375:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 64774 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 2490236:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 6121544:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 52582594:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 33503 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 397505:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 46243024:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 49608962:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 6900966:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 2323937:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 23428270:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 8932639:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 12913070:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 15356339:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 82628592:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 11111558:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 36702514:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 52592948:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 46715943:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 500000000, 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 367.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X008-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008-A "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV ECX,$2 | MOV ECX,$1 ; MOV [x],$1 | MOV [y],$1 | XCHG [y],ECX | XCHG [z],ECX ; | | MOV EAX,[y] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (3:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx Test X008-A Required Histogram (22 states) 4225 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 15845664:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 1406887:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 34285239:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 262225:>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 60580444:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 922031:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 3111756:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 9386591:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 94555 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 21196255:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 39262 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 60079504:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 1465722:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 16109045:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 401801:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 60456395:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 52887038:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 55092689:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 19242626:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 16128572:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 71001474:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 365.55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X009-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009-A "Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [z],ECX | XCHG [y],ECX ; MOV [x],$1 | MOV EAX,[y] ; MOV EAX,[x] | MOV EBX,[z] ; MOV EBX,[y] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%rdi) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl (%r8),%edx Test X009-A Required Histogram (3 states) 499871600:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 499763702:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 364698:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 1000000000, 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 118.71 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X010-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010-A "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [a],EBX | XCHG [x],ECX | XCHG [z],ECX ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[z] ; | MOV EAX,[y] | MOV EBX,[a] ; | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%r10d _litmus_P1_1_: xchgl %r10d,(%r9) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl (%r8),%eax _litmus_P1_4_: movl (%rdi),%edx Test X010-A Required Histogram (7 states) 58597225:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 49947892:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 99143382:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 48706269:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 99581844:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 117827207:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 26196181:>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 326.71 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X011-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011-A "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV ECX,$2 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],ECX | XCHG [z],ECX ; | MOV [y],$1 | MOV EAX,[z] ; | MOV EAX,[y] | MOV EBX,[a] ; | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%r10d _litmus_P1_1_: xchgl %r10d,(%r9) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl (%r8),%eax _litmus_P1_4_: movl (%rdi),%edx Test X011-A Required Histogram (7 states) 27329334:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 76666202:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 124292942:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 22136230:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 67151589:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 80059206:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 102364497:>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 330.27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X012-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012-A "Fre PodWR Fre Rfi PodRR" {} P0 | P1 ; MOV EBX,$1 | MOV ECX,$1 ; XCHG [y],EBX | XCHG [x],ECX ; MOV EAX,[x] | MOV EAX,[x] ; | MOV EBX,[y] ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rcx) _litmus_P0_2_: movl (%rsi),%eax Test X012-A Required Histogram (3 states) 499794432:>0:EAX=1; 1:EAX=1; 1:EBX=0; 499968032:>0:EAX=0; 1:EAX=1; 1:EBX=1; 237536:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 1000000000, 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 95.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X013-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013-A "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [a],EBX | XCHG [x],ECX | XCHG [y],EBX | XCHG [z],ECX ; MOV EAX,[x] | MOV EAX,[x] | MOV EAX,[z] | MOV EAX,[z] ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (1:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X013-A Required Histogram (15 states) 10815067:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 10779183:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 34384939:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 10113947:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 53031785:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 32796520:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 46404916:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 9290712:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 28639719:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 65361110:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 47190727:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 37217158:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 49178367:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 52547053:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 12248797:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 500000000, 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 365.44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X014-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014-A "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV ECX,$2 | MOV EBX,$1 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],ECX | XCHG [y],EBX | XCHG [z],ECX ; | MOV EAX,[x] | MOV EAX,[z] | MOV EAX,[z] ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (3:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X014-A Required Histogram (22 states) 228857:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 69257 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 4226023:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 17511 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 40277558:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 4686643:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 13370312:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 41894 :>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 44223644:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 2576055:>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 47228093:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 449842:>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 56039950:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 2828282:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 9459499:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 19044993:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 8543699:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 55880552:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 12336199:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 87413888:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 44161873:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 46895376:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 367.48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X015-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015-A "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [a],ECX | XCHG [y],EBX | XCHG [z],ECX ; MOV [x],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV EAX,[x] | | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%r9) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl (%rdi),%edx _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax Test X015-A Required Histogram (7 states) 63050642:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 46645913:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 101639104:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 53827733:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 94269676:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 114572676:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 25994256:>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 327.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X016-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016-A "Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [z],EBX | XCHG [x],EBX | XCHG [y],ECX ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rcx) _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax Test X016-A Required Histogram (7 states) 49163306:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 54483589:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 89112237:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 52602091:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 114301013:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 109922006:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 30415758:>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 291.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X017-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017-A "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [a],EBX | XCHG [x],EBX | XCHG [y],EBX | XCHG [z],ECX ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X017-A Required Histogram (15 states) 11074060:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 11602611:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 33933517:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 12114175:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 58049414:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 31371376:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 42114912:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 10238633:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 33741597:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 64057195:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 44638806:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 38940318:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 52552192:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 47459088:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 8112106:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 500000000, 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 360.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X018-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018-A "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV EBX,$2 | MOV EBX,$1 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],EBX | XCHG [y],EBX | XCHG [z],ECX ; | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X018-A Required Histogram (15 states) 224369:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 5525116:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 37299214:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 21239236:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 43250213:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 57028164:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 58489752:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 12453251:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 18331498:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 12806869:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 51451957:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 12239954:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 79432532:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 51623407:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 38604468:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 360.85 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X019-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019-A "Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV EBX,$2 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],EBX | XCHG [y],ECX ; | MOV EAX,[y] | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax Test X019-A Required Histogram (7 states) 28991999:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 74831847:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 124338921:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 24803454:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 62279710:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 81265005:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 103489064:>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 294.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X020-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020-A "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV [x],$1 | MOV EBX,$2 | MOV ECX,$1 ; XCHG [a],EBX | MOV [y],$1 | XCHG [y],EBX | XCHG [z],ECX ; MOV EAX,[x] | | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X020-A Required Histogram (15 states) 429952:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 43837218:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 3171748:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 51777132:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 42815038:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 51563266:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 19454010:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 9332002:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 14982913:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 19938239:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 81581233:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 11565614:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 42128910:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 60166057:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 47256668:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 500000000, 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 358.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X021-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021-A "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV EBX,$2 | MOV ECX,$1 ; MOV [x],$1 | MOV [y],$1 | XCHG [y],EBX | XCHG [z],ECX ; | | MOV EAX,[z] | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X021-A Required Histogram (15 states) 15665228:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 32564874:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 61944430:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 4923659:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 9748629:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 23744582:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 65524650:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 21626442:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 718406:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 61391670:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 55207200:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 49437095:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 17822342:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 16693425:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 62987368:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 354.46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X022-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022-A "Fre PodWW Wse Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV ECX,$2 ; MOV [x],$1 | XCHG [x],ECX ; | MOV EAX,[x] ; | MOV EBX,[y] ; forall (1:EAX=2 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1) Generated assembler _litmus_P1_0_: movl $2,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X022-A Required Histogram (4 states) 497336597:>1:EAX=2; 1:EBX=0; x=1; 1255846:>1:EAX=1; 1:EBX=1; x=1; 778311:>1:EAX=2; 1:EBX=1; x=1; 500629246:>1:EAX=2; 1:EBX=1; x=2; Ok Witnesses Positive: 1000000000, 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 95.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X023-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023-A "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV ECX,$2 | MOV [y],$1 | MOV ECX,$2 ; MOV [x],$1 | XCHG [x],ECX | MOV [z],$1 | XCHG [z],ECX ; | MOV EAX,[x] | | MOV EAX,[z] ; | MOV EBX,[y] | | MOV EBX,[a] ; forall (1:EAX=2 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X023-A Required Histogram (32 states) 9620 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 3507 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 156871:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 8471 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 38994699:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 7359667:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 22827179:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 2719 :>1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 7251483:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 643022:>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 1606490:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 166208:>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 21752970:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 1959980:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 5497798:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 58055 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 726733:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 63443872:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 86246 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 2017790:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 7899282:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 47026999:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 790382:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 90507 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 8726570:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 29294 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 62604021:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 2313529:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 48279045:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 25532300:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 25910207:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 96224484:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 500000000, 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 369.43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X024-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024-A "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV ECX,$1 | MOV [y],$1 | MOV ECX,$2 ; XCHG [a],ECX | MOV [z],$1 | XCHG [z],ECX ; MOV [x],$1 | | MOV EAX,[z] ; MOV EAX,[x] | | MOV EBX,[a] ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ (z=2 \/ z=1)) \/ 2:EAX=1 /\ z=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ z=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ z=1))) Generated assembler _litmus_P2_0_: movl $2,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%r9) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X024-A Required Histogram (10 states) 962274:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=0; z=1; 27278952:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 123547149:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 1075117:>0:EAX=1; 0:EBX=0; 2:EAX=1; 2:EBX=1; z=1; 1740809:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=1; z=1; 82010172:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 8214367:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=1; 82957397:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 72164407:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 100049356:>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 332.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X025-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025-A "Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV EBX,$1 | MOV [x],$1 | MOV ECX,$2 ; XCHG [z],EBX | MOV [y],$1 | XCHG [y],ECX ; MOV EAX,[x] | | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1)) Generated assembler _litmus_P2_0_: movl $2,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rcx) _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X025-A Required Histogram (10 states) 834742:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 32719436:>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 116154731:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 1436067:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 3334369:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 83102530:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 14412304:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 75690029:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 67904413:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 104411379:>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 293.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X026-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026-A "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV EBX,$1 | MOV [y],$1 | MOV ECX,$2 ; XCHG [a],EBX | XCHG [x],EBX | MOV [z],$1 | XCHG [z],ECX ; MOV EAX,[x] | MOV EAX,[y] | | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X026-A Required Histogram (22 states) 22110 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 68393 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 438331:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 202329:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 44348334:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 47613129:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 50736248:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 35719 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 4695270:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 2131598:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 1911720:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 3695836:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 14414438:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 47529293:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 7751188:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 12612834:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 14729483:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 45588925:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 20394964:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 56977167:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 85072951:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 39029740:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; Ok Witnesses Positive: 500000000, 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 359.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X027-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027-A "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV EBX,$2 | MOV [y],$1 | MOV ECX,$2 ; MOV [x],$1 | XCHG [x],EBX | MOV [z],$1 | XCHG [z],ECX ; | MOV EAX,[y] | | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X027-A Required Histogram (22 states) 11226 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 112725:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 40304627:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 25543697:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 8165470:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 1233759:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 24832964:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 4967431:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 35614 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 716350:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 65491114:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 103760:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 1906711:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 10089858:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 47280918:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 998110:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 6831936:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 62155927:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 50242101:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 26307149:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 26041070:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 96627483:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 500000000, 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 356.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X028-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028-A "Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV ECX,$2 ; MOV [x],$1 | MOV [y],$1 | XCHG [y],ECX ; | | MOV EAX,[y] ; | | MOV EBX,[z] ; forall (2:EAX=2 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) Generated assembler _litmus_P2_0_: movl $2,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X028-A Required Histogram (10 states) 192603:>2:EAX=1; 2:EBX=0; x=1; y=1; 96321606:>2:EAX=2; 2:EBX=0; x=1; y=1; 3968010:>2:EAX=1; 2:EBX=1; x=1; y=1; 2743991:>2:EAX=2; 2:EBX=1; x=1; y=1; 48982239:>2:EAX=2; 2:EBX=0; x=2; y=1; 1716879:>2:EAX=1; 2:EBX=1; x=2; y=1; 89218216:>2:EAX=2; 2:EBX=1; x=2; y=1; 46555401:>2:EAX=2; 2:EBX=0; x=1; y=2; 121285602:>2:EAX=2; 2:EBX=1; x=1; y=2; 89015453:>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 298.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X029-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X029-A "Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV [x],$1 | MOV [y],$2 | MOV ECX,$2 ; XCHG [a],EBX | MOV [y],$1 | MOV [z],$1 | XCHG [z],ECX ; MOV EAX,[x] | | | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (0:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X029-A Required Histogram (22 states) 3725 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 258898:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 13207358:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 57822280:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 1819816:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 472475:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 29445587:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 1156286:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=1; 48780 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 13634056:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 63192455:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 191819:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 1503190:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 29809952:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 21566727:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 461015:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 51573769:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 66945102:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 47390287:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=2; 16121397:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 17838723:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 65536303:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 500000000, 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 354.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X030-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030-A "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV ECX,$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | XCHG [z],ECX ; | | | MOV EAX,[z] ; | | | MOV EBX,[a] ; forall (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X030-A Required Histogram (22 states) 150861:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 36915454:>3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 1601891:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 1237832:>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 28781 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 31615722:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 2495259:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 25936395:>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 28853 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 62955834:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 2206471:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 23219469:>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 11271884:>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 229713:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 33090560:>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 19240807:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 51732441:>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 14127015:>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 81344560:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 1213912:>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 71234520:>3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 28121766:>3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 500000000, 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 360.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X031-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031-A "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [a],ECX | XCHG [y],ECX ; MOV [x],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[z] ; MOV EBX,[y] | MOV EBX,[a] ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,%r10d _litmus_P1_1_: xchgl %r10d,(%r8) _litmus_P1_2_: movl $1,(%rdi) _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,%r10d _litmus_P0_1_: xchgl %r10d,(%r9) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl (%rdi),%edx Test X031-A Required Histogram (3 states) 499906348:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 499767456:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 326196:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 1000000000, 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 146.17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X032-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032-A "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [b],EBX | XCHG [x],ECX | XCHG [z],ECX ; MOV EAX,[x] | MOV [y],$1 | MOV [a],$1 ; | MOV EAX,[y] | MOV EAX,[a] ; | MOV EBX,[z] | MOV EBX,[b] ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%rdi) _litmus_P2_2_: movl $1,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%r10d _litmus_P1_1_: xchgl %r10d,(%r9) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl (%r8),%eax _litmus_P1_4_: movl (%rdi),%edx Test X032-A Required Histogram (7 states) 57138808:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 58249978:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 107962674:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 59758188:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 105001211:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 99246826:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 12642315:>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 353.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X033-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033-A "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV ECX,$2 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],ECX | XCHG [z],ECX ; | MOV [y],$1 | MOV [a],$1 ; | MOV EAX,[y] | MOV EAX,[a] ; | MOV EBX,[z] | MOV EBX,[b] ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%rdi) _litmus_P2_2_: movl $1,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%r10d _litmus_P1_1_: xchgl %r10d,(%r9) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl (%r8),%eax _litmus_P1_4_: movl (%rdi),%edx Test X033-A Required Histogram (7 states) 28797552:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 84699009:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 122080888:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 10216660:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 72143652:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 77019061:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 105043178:>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 356.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X034-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034-A "Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 ; MOV EBX,$1 | MOV ECX,$1 ; XCHG [z],EBX | XCHG [x],ECX ; MOV EAX,[x] | MOV [y],$1 ; | MOV EAX,[y] ; | MOV EBX,[z] ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: movl $1,%r10d _litmus_P1_1_: xchgl %r10d,(%r9) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl (%r8),%eax _litmus_P1_4_: movl (%rdi),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rcx) _litmus_P0_2_: movl (%rsi),%eax Test X034-A Required Histogram (3 states) 499715851:>0:EAX=1; 1:EAX=1; 1:EBX=0; 500066941:>0:EAX=0; 1:EAX=1; 1:EBX=1; 217208:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 1000000000, 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 110.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X035-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035-A "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [a],EBX | XCHG [x],EBX | XCHG [y],ECX ; MOV EAX,[x] | MOV EAX,[y] | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%r8) _litmus_P2_2_: movl $1,(%rdi) _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax Test X035-A Required Histogram (7 states) 61892466:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 51266961:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 109903021:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 55129424:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 96286801:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 108748263:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 16773064:>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 320.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X036-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036-A "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [b],EBX | XCHG [x],EBX | XCHG [y],EBX | XCHG [z],ECX ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: movl $1,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X036-A Required Histogram (15 states) 12976277:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 11889826:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 40342066:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 12061346:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 62607863:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 34645937:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 49899727:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 9489256:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 33190985:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 61223698:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 41590080:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 37274384:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 46637739:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 42357009:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 3813807:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 500000000, 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 387.44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X037-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037-A "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV EBX,$2 | MOV EBX,$1 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],EBX | XCHG [y],EBX | XCHG [z],ECX ; | MOV EAX,[y] | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $1,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X037-A Required Histogram (15 states) 326058:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 5731029:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 45680161:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 23658610:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 42977760:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 53943988:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 51904422:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 5960715:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 19067353:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 10976571:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 54854374:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 13576629:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 87139596:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 43218828:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 40983906:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 389.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X038-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038-A "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV EBX,$2 | MOV ECX,$1 ; MOV [x],$1 | XCHG [x],EBX | XCHG [y],ECX ; | MOV EAX,[y] | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%r8) _litmus_P2_2_: movl $1,(%rdi) _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax Test X038-A Required Histogram (7 states) 29565320:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 87262642:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 121680319:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 14429422:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 65308686:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 75872964:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 105880647:>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 319.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X039-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039-A "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV [x],$1 | MOV EBX,$2 | MOV ECX,$1 ; XCHG [b],EBX | MOV [y],$1 | XCHG [y],EBX | XCHG [z],ECX ; MOV EAX,[x] | | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: movl $1,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X039-A Required Histogram (15 states) 377920:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 46068822:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 6767503:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 56463100:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 44303495:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 51035738:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 27923786:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 7649351:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 16595355:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 15329992:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 85745104:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 11492463:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 39425719:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 51237150:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 39584502:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 500000000, 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 388.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X040-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040-A "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV EBX,$2 | MOV ECX,$1 ; MOV [x],$1 | MOV [y],$1 | XCHG [y],EBX | XCHG [z],ECX ; | | MOV EAX,[z] | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X040-A Required Histogram (15 states) 17174950:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 38330382:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 62463428:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 1349098:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 8904374:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 21087179:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 60483608:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 17451965:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 506849:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 68014058:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 53519697:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 48884332:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 18446000:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 13956125:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 69427955:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 386.95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X041-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041-A "Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 ; MOV [z],$1 | MOV ECX,$2 ; MOV [x],$1 | XCHG [x],ECX ; | MOV [y],$1 ; | MOV EAX,[y] ; | MOV EBX,[z] ; forall (1:EAX=1 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1)) Generated assembler _litmus_P1_0_: movl $2,%r10d _litmus_P1_1_: xchgl %r10d,(%r9) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl (%r8),%eax _litmus_P1_4_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X041-A Required Histogram (3 states) 498219249:>1:EAX=1; 1:EBX=0; x=1; 1351267:>1:EAX=1; 1:EBX=1; x=1; 500429484:>1:EAX=1; 1:EBX=1; x=2; Ok Witnesses Positive: 1000000000, 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 109.28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X042-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042-A "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV EBX,$1 | MOV [x],$1 | MOV ECX,$2 ; XCHG [a],EBX | MOV [y],$1 | XCHG [y],ECX ; MOV EAX,[x] | | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 0:EAX=0 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1))) Generated assembler _litmus_P2_0_: movl $2,%r10d _litmus_P2_1_: xchgl %r10d,(%r8) _litmus_P2_2_: movl $1,(%rdi) _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X042-A Required Histogram (7 states) 27048197:>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 124467188:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 81700094:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 14926222:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 84533372:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 73658552:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 93666375:>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 318.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X043-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X043-A "Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV EBX,$1 | MOV [y],$1 | MOV ECX,$2 ; XCHG [b],EBX | XCHG [x],EBX | MOV [z],$1 | XCHG [z],ECX ; MOV EAX,[x] | MOV EAX,[y] | | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1)))) Generated assembler _litmus_P3_0_: movl $2,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X043-A Required Histogram (15 states) 474459:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 44515376:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 49961743:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 49720148:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 3090851:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 17210966:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 51182865:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 4433491:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 13518276:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 16560393:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 42716440:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 22424349:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 57778861:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 86511725:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 39900057:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; Ok Witnesses Positive: 500000000, 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 388.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X044-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044-A "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV EBX,$2 | MOV [y],$1 | MOV ECX,$2 ; MOV [x],$1 | XCHG [x],EBX | MOV [z],$1 | XCHG [z],ECX ; | MOV EAX,[y] | | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X044-A Required Histogram (15 states) 40699845:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 30983261:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 22791633:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 6586359:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 992400:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 61380950:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 5262165:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 51488411:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 862245:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 8446764:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 64906390:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 52227210:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=2; 24356849:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 29474725:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 99540793:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 500000000, 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 389.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X045-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045-A "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$2 | MOV ECX,$2 ; MOV [x],$1 | MOV [y],$1 | XCHG [y],ECX ; | | MOV [z],$1 ; | | MOV EAX,[z] ; | | MOV EBX,[a] ; forall (2:EAX=1 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P2_0_: movl $2,%r10d _litmus_P2_1_: xchgl %r10d,(%r8) _litmus_P2_2_: movl $1,(%rdi) _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X045-A Required Histogram (7 states) 103045920:>2:EAX=1; 2:EBX=0; x=1; y=1; 2451665:>2:EAX=1; 2:EBX=1; x=1; y=1; 50038138:>2:EAX=1; 2:EBX=0; x=2; y=1; 72870579:>2:EAX=1; 2:EBX=1; x=2; y=1; 49548096:>2:EAX=1; 2:EBX=0; x=1; y=2; 117251036:>2:EAX=1; 2:EBX=1; x=1; y=2; 104794566:>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 323.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X046-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046-A "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV [x],$1 | MOV [y],$2 | MOV ECX,$2 ; XCHG [b],EBX | MOV [y],$1 | MOV [z],$1 | XCHG [z],ECX ; MOV EAX,[x] | | | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X046-A Required Histogram (15 states) 17762011:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 64992575:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 37350076:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 1336864:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 7387468:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 62494501:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 17759866:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 15190990:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 728372:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 56967822:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 70866703:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 43875494:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=2; 19611753:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 22455700:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 61219805:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 500000000, 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 387.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X047-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047-A "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV ECX,$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | XCHG [z],ECX ; | | | MOV [a],$1 ; | | | MOV EAX,[a] ; | | | MOV EBX,[b] ; forall (3:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: movl $2,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X047-A Required Histogram (15 states) 32897408:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 750364:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 35510556:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 29696748:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 64790634:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 23294155:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 8619052:>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 34018908:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 15365295:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 49105995:>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 19072056:>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 83614123:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 897929:>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 71969065:>3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 30397712:>3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 500000000, 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 386.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X048-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048-A "Fre PodWR Fre PodWR" {} P0 | P1 ; MOV EBX,$1 | MOV EBX,$1 ; XCHG [y],EBX | XCHG [x],EBX ; MOV EAX,[x] | MOV EAX,[y] ; forall (0:EAX=1 /\ (1:EAX=1 \/ 1:EAX=0) \/ 0:EAX=0 /\ 1:EAX=1) Generated assembler _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rcx) _litmus_P0_2_: movl (%rsi),%eax Test X048-A Required Histogram (3 states) 499954796:>0:EAX=1; 1:EAX=0; 499966075:>0:EAX=0; 1:EAX=1; 79129 :>0:EAX=1; 1:EAX=1; Ok Witnesses Positive: 1000000000, 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 91.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,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rcx) _litmus_P0_2_: movl (%rsi),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax Test X049-A Required Histogram (7 states) 54702989:>0:EAX=1; 1:EAX=0; 2:EAX=0; 56449637:>0:EAX=0; 1:EAX=1; 2:EAX=0; 101999316:>0:EAX=1; 1:EAX=1; 2:EAX=0; 55577271:>0:EAX=0; 1:EAX=0; 2:EAX=1; 102096221:>0:EAX=1; 1:EAX=0; 2:EAX=1; 108428396:>0:EAX=0; 1:EAX=1; 2:EAX=1; 20746170:>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 288.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X050-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050-A "Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [a],EBX | XCHG [x],EBX | XCHG [y],EBX | XCHG [z],EBX ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ 3:EAX=1))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,%edi _litmus_P0_1_: xchgl %edi,(%rsi) _litmus_P0_2_: movl (%rcx),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X050-A Required Histogram (15 states) 12426552:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 12645896:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 33734113:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 11796034:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 65810463:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 37523619:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 41794502:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 10302358:>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 34318670:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 60571676:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 42155750:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 37998200:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 48021230:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 47442117:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3458820:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; Ok Witnesses Positive: 500000000, 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 355.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X051-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051-A "Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV EBX,$2 | MOV EBX,$1 | MOV EBX,$1 ; MOV [x],$1 | XCHG [x],EBX | XCHG [y],EBX | XCHG [z],EBX ; | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ x=1))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X051-A Required Histogram (15 states) 294912:>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 7602494:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 46573714:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 28006678:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 41432298:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 55447949:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 52757900:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 8511323:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=1; 14592854:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 13114663:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 50846220:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 11763871:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 84394844:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 44345178:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 40315102:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=2; Ok Witnesses Positive: 500000000, 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 348.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X052-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052-A "Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV EBX,$2 | MOV EBX,$1 ; MOV [x],$1 | XCHG [x],EBX | XCHG [y],EBX ; | MOV EAX,[y] | MOV EAX,[z] ; forall (1:EAX=1 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ x=1)) Generated assembler _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax Test X052-A Required Histogram (7 states) 31093203:>1:EAX=0; 2:EAX=0; x=1; 85215623:>1:EAX=1; 2:EAX=0; x=1; 118274749:>1:EAX=0; 2:EAX=1; x=1; 12628794:>1:EAX=1; 2:EAX=1; x=1; 70340568:>1:EAX=1; 2:EAX=0; x=2; 77794997:>1:EAX=0; 2:EAX=1; x=2; 104652066:>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 291.92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X053-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053-A "Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV EBX,$2 | MOV EBX,$1 ; MOV [x],$1 | MOV [y],$1 | XCHG [y],EBX | XCHG [z],EBX ; | | MOV EAX,[z] | MOV EAX,[a] ; forall (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X053-A Required Histogram (15 states) 15954850:>2:EAX=0; 3:EAX=0; x=1; y=1; 35615062:>2:EAX=1; 3:EAX=0; x=1; y=1; 62000617:>2:EAX=0; 3:EAX=1; x=1; y=1; 1737656:>2:EAX=1; 3:EAX=1; x=1; y=1; 9450684:>2:EAX=0; 3:EAX=0; x=2; y=1; 26338792:>2:EAX=1; 3:EAX=0; x=2; y=1; 64874082:>2:EAX=0; 3:EAX=1; x=2; y=1; 22592226:>2:EAX=1; 3:EAX=1; x=2; y=1; 1020573:>2:EAX=0; 3:EAX=0; x=1; y=2; 71145068:>2:EAX=1; 3:EAX=0; x=1; y=2; 53502963:>2:EAX=0; 3:EAX=1; x=1; y=2; 41975391:>2:EAX=1; 3:EAX=1; x=1; y=2; 20416701:>2:EAX=1; 3:EAX=0; x=2; y=2; 15824376:>2:EAX=0; 3:EAX=1; x=2; y=2; 57550959:>2:EAX=1; 3:EAX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 348.93 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X054-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054-A "Fre PodWW Wse PodWR" {} P0 | P1 ; MOV [y],$1 | MOV EBX,$2 ; MOV [x],$1 | XCHG [x],EBX ; | MOV EAX,[y] ; forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) Generated assembler _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) Test X054-A Required Histogram (3 states) 499652268:>1:EAX=0; x=1; 203254:>1:EAX=1; x=1; 500144478:>1:EAX=1; x=2; Ok Witnesses Positive: 1000000000, Negative: 0 Condition forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) is validated Hash=8305a3015f900654003ada1eeb4d967b Time X054-A 88.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X055-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055-A "Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV EBX,$2 | MOV [y],$1 | MOV EBX,$2 ; MOV [x],$1 | XCHG [x],EBX | MOV [z],$1 | XCHG [z],EBX ; | MOV EAX,[y] | | MOV EAX,[a] ; forall (1:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: movl $2,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%rsi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X055-A Required Histogram (15 states) 42508871:>1:EAX=0; 3:EAX=0; x=1; z=1; 29000241:>1:EAX=1; 3:EAX=0; x=1; z=1; 26307791:>1:EAX=0; 3:EAX=1; x=1; z=1; 6675199:>1:EAX=1; 3:EAX=1; x=1; z=1; 819746:>1:EAX=0; 3:EAX=0; x=2; z=1; 64733500:>1:EAX=1; 3:EAX=0; x=2; z=1; 6387307:>1:EAX=0; 3:EAX=1; x=2; z=1; 46277500:>1:EAX=1; 3:EAX=1; x=2; z=1; 1014531:>1:EAX=0; 3:EAX=0; x=1; z=2; 9106231:>1:EAX=1; 3:EAX=0; x=1; z=2; 63431318:>1:EAX=0; 3:EAX=1; x=1; z=2; 50059965:>1:EAX=1; 3:EAX=1; x=1; z=2; 27383259:>1:EAX=1; 3:EAX=0; x=2; z=2; 29617811:>1:EAX=0; 3:EAX=1; x=2; z=2; 96676730:>1:EAX=1; 3:EAX=1; x=2; z=2; Ok Witnesses Positive: 500000000, 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 350.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X056-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056-A "Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV EBX,$2 ; MOV [x],$1 | MOV [y],$1 | XCHG [y],EBX ; | | MOV EAX,[z] ; forall (2:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) Generated assembler _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) Test X056-A Required Histogram (7 states) 103360314:>2:EAX=0; x=1; y=1; 4266118:>2:EAX=1; x=1; y=1; 48636723:>2:EAX=0; x=2; y=1; 85126718:>2:EAX=1; x=2; y=1; 50025510:>2:EAX=0; x=1; y=2; 117368669:>2:EAX=1; x=1; y=2; 91215948:>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 293.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X057-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X057-A "Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV EBX,$2 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | XCHG [z],EBX ; | | | MOV EAX,[a] ; forall (3:EAX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: movl $2,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rdx) _litmus_P0_1_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X057-A Required Histogram (15 states) 42071093:>3:EAX=0; x=1; y=1; z=1; 863075:>3:EAX=1; x=1; y=1; z=1; 30357123:>3:EAX=0; x=2; y=1; z=1; 29371876:>3:EAX=1; x=2; y=1; z=1; 64895484:>3:EAX=0; x=1; y=2; z=1; 17154091:>3:EAX=1; x=1; y=2; z=1; 10950331:>3:EAX=0; x=2; y=2; z=1; 23936068:>3:EAX=1; x=2; y=2; z=1; 23980412:>3:EAX=0; x=1; y=1; z=2; 50382893:>3:EAX=1; x=1; y=1; z=2; 12701023:>3:EAX=0; x=2; y=1; z=2; 79354036:>3:EAX=1; x=2; y=1; z=2; 1283409:>3:EAX=0; x=1; y=2; z=2; 77915345:>3:EAX=1; x=1; y=2; z=2; 34783741:>3:EAX=1; x=2; y=2; z=2; Ok Witnesses Positive: 500000000, 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 355.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X000-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000-L "Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; Lock00: | Lock06: ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_y],ECX | XCHG [L_x],ECX ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV ECX,[L_y] | MOV ECX,[L_x] ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [y],$1 | MOV [x],$1 ; MOV [L_y],$0 | MOV [L_x],$0 ; MOV EAX,[y] | MOV EAX,[x] ; Lock03: | Lock09: ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_x],ECX | XCHG [L_y],ECX ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 ; Lock04: | Lock10: ; MOV ECX,[L_x] | MOV ECX,[L_y] ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 ; JMP Lock04 | JMP Lock10 ; Lock05: | Lock11: ; MOV EBX,[x] | MOV EBX,[y] ; MOV [L_x],$0 | MOV [L_y],$0 ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r11d _litmus_P1_16_: xchgl %r11d,(%r9) _litmus_P1_17_: cmpl $0,%r11d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r9),%r11d _litmus_P1_21_: cmpl $0,%r11d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%rdi),%edx _litmus_P1_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r9) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r9),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdi) _litmus_P0_12_: movl $0,(%r9) _litmus_P0_13_: movl (%rdi),%eax _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%r11d _litmus_P0_16_: xchgl %r11d,(%r10) _litmus_P0_17_: cmpl $0,%r11d _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%r10),%r11d _litmus_P0_21_: cmpl $0,%r11d _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl (%r8),%edx _litmus_P0_26_: movl $0,(%r10) Test X000-L Required Histogram (3 states) 169941180:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 138947293:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 691111527:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 1000000000, 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 176.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X001-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001-L "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_z],ECX | XCHG [L_x],ECX | XCHG [L_y],ECX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV ECX,[L_z] | MOV ECX,[L_x] | MOV ECX,[L_y] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; MOV EAX,[z] | MOV EAX,[x] | MOV EAX,[y] ; Lock03: | Lock09: | Lock15: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_x],ECX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 ; Lock04: | Lock10: | Lock16: ; MOV ECX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 ; JMP Lock04 | JMP Lock10 | JMP Lock16 ; Lock05: | Lock11: | Lock17: ; MOV EBX,[x] | MOV EBX,[y] | MOV EBX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r9) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r9),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdi) _litmus_P0_12_: movl $0,(%r9) _litmus_P0_13_: movl (%rdi),%eax _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%r11d _litmus_P0_16_: xchgl %r11d,(%r10) _litmus_P0_17_: cmpl $0,%r11d _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%r10),%r11d _litmus_P0_21_: cmpl $0,%r11d _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl (%r8),%edx _litmus_P0_26_: movl $0,(%r10) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r11d _litmus_P1_16_: xchgl %r11d,(%r9) _litmus_P1_17_: cmpl $0,%r11d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r9),%r11d _litmus_P1_21_: cmpl $0,%r11d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%rdi),%edx _litmus_P1_26_: movl $0,(%r9) Test X001-L Required Histogram (7 states) 4386516:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3933042:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 123834817:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 4042797:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 124556301:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 126395483:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 112851044:>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 499.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X002-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002-L "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV ECX,[L_a] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV EAX,[x] | Lock09: | Lock15: ; Lock03: | MOV ECX,$1 | MOV ECX,$1 ; MOV ECX,$1 | XCHG [L_z],ECX | XCHG [L_a],ECX ; XCHG [L_y],ECX | CMP ECX,$0 | CMP ECX,$0 ; CMP ECX,$0 | JE Lock11 | JE Lock17 ; JE Lock05 | Lock10: | Lock16: ; Lock04: | MOV ECX,[L_z] | MOV ECX,[L_a] ; MOV ECX,[L_y] | CMP ECX,$0 | CMP ECX,$0 ; CMP ECX,$0 | JE Lock09 | JE Lock15 ; JE Lock03 | JMP Lock10 | JMP Lock16 ; JMP Lock04 | Lock11: | Lock17: ; Lock05: | MOV EBX,[z] | MOV EBX,[a] ; MOV EBX,[y] | MOV [L_z],$0 | MOV [L_a],$0 ; MOV [L_y],$0 | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: movl (%rdi),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r10) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r10),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r8),%edx _litmus_P2_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r11) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%ebx _litmus_P0_7_: cmpl $0,%ebx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: movl $1,(%r8) _litmus_P0_14_: movl (%r8),%eax _litmus_P0_15_: LitLock03: _litmus_P0_16_: movl $1,%ebx _litmus_P0_17_: xchgl %ebx,(%r10) _litmus_P0_18_: cmpl $0,%ebx _litmus_P0_19_: je LitLock05 _litmus_P0_20_: LitLock04: _litmus_P0_21_: movl (%r10),%ebx _litmus_P0_22_: cmpl $0,%ebx _litmus_P0_23_: je LitLock03 _litmus_P0_24_: jmp LitLock04 _litmus_P0_25_: LitLock05: _litmus_P0_26_: movl (%rdi),%edx _litmus_P0_27_: movl $0,(%r10) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r11d _litmus_P1_16_: xchgl %r11d,(%r9) _litmus_P1_17_: cmpl $0,%r11d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r9),%r11d _litmus_P1_21_: cmpl $0,%r11d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%rdi),%edx _litmus_P1_26_: movl $0,(%r9) Test X002-L Required Histogram (7 states) 4343386:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 4309108:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 127891298:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 4036263:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 124400827:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 119902633:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 115116485:>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 524.37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X003-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003-L "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_z],EBX | XCHG [L_x],ECX | XCHG [L_y],ECX ; CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_z] | MOV ECX,[L_x] | MOV ECX,[L_y] ; CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | MOV EAX,[x] | MOV EAX,[y] ; MOV EBX,$1 | Lock09: | Lock15: ; XCHG [L_x],EBX | MOV ECX,$1 | MOV ECX,$1 ; CMP EBX,$0 | XCHG [L_y],ECX | XCHG [L_z],ECX ; JE Lock05 | CMP ECX,$0 | CMP ECX,$0 ; Lock04: | JE Lock11 | JE Lock17 ; MOV EBX,[L_x] | Lock10: | Lock16: ; CMP EBX,$0 | MOV ECX,[L_y] | MOV ECX,[L_z] ; JE Lock03 | CMP ECX,$0 | CMP ECX,$0 ; JMP Lock04 | JE Lock09 | JE Lock15 ; Lock05: | JMP Lock10 | JMP Lock16 ; MOV EAX,[x] | Lock11: | Lock17: ; MOV [L_x],$0 | MOV EBX,[y] | MOV EBX,[z] ; | MOV [L_y],$0 | MOV [L_z],$0 ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%r8) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rsi),%eax _litmus_P0_25_: movl $0,(%r8) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r11d _litmus_P1_16_: xchgl %r11d,(%r9) _litmus_P1_17_: cmpl $0,%r11d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r9),%r11d _litmus_P1_21_: cmpl $0,%r11d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%rdi),%edx _litmus_P1_26_: movl $0,(%r9) Test X003-L Required Histogram (7 states) 4496853:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3348779:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 118654215:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 6272364:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 115703353:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 129598003:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 121926433:>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 499.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X004-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004-L "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EBX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_a] | MOV EBX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | MOV EAX,[y] | MOV EAX,[z] ; MOV EBX,$1 | MOV EBX,$1 | Lock15: | Lock21: ; XCHG [L_x],EBX | XCHG [L_y],EBX | MOV ECX,$1 | MOV ECX,$1 ; CMP EBX,$0 | CMP EBX,$0 | XCHG [L_z],ECX | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | CMP ECX,$0 | CMP ECX,$0 ; Lock04: | Lock10: | JE Lock17 | JE Lock23 ; MOV EBX,[L_x] | MOV EBX,[L_y] | Lock16: | Lock22: ; CMP EBX,$0 | CMP EBX,$0 | MOV ECX,[L_z] | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | CMP ECX,$0 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JE Lock15 | JE Lock21 ; Lock05: | Lock11: | JMP Lock16 | JMP Lock22 ; MOV EAX,[x] | MOV EAX,[y] | Lock17: | Lock23: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV EBX,[z] | MOV EBX,[a] ; | | MOV [L_z],$0 | MOV [L_a],$0 ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) Test X004-L Required Histogram (15 states) 9328 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 8614 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 4573662:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 8974 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 24943557:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 4118934:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 72890666:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; 16014 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 5952334:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 23420625:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 78722299:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; 7738435:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 85771829:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 85747307:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; 106077422:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 500000000, 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 612.14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X005-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005-L "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EBX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EBX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | MOV EAX,[y] | MOV EAX,[z] ; MOV EAX,$1 | MOV EBX,$1 | Lock15: | Lock21: ; XCHG [L_x],EAX | XCHG [L_y],EBX | MOV ECX,$1 | MOV ECX,$1 ; CMP EAX,$0 | CMP EBX,$0 | XCHG [L_z],ECX | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | CMP ECX,$0 | CMP ECX,$0 ; Lock04: | Lock10: | JE Lock17 | JE Lock23 ; MOV EAX,[L_x] | MOV EBX,[L_y] | Lock16: | Lock22: ; CMP EAX,$0 | CMP EBX,$0 | MOV ECX,[L_z] | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | CMP ECX,$0 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JE Lock15 | JE Lock21 ; Lock05: | Lock11: | JMP Lock16 | JMP Lock22 ; MOV [x],$1 | MOV EAX,[y] | Lock17: | Lock23: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV EBX,[z] | MOV EBX,[a] ; | | MOV [L_z],$0 | MOV [L_a],$0 ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) Test X005-L Required Histogram (15 states) 9212 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 4012582:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; 22938746:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 73726759:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; 5944332:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 75658459:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; 87258336:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 105115654:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; 8303 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; 10509 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 4536855:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; 17949 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 22541970:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; 8065992:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; 90154342:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 617.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X006-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006-L "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock15: ; MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_z],EAX | XCHG [L_x],ECX | XCHG [L_y],ECX ; CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock17 ; Lock01: | Lock07: | Lock16: ; MOV EAX,[L_z] | MOV ECX,[L_x] | MOV ECX,[L_y] ; CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock15 ; JMP Lock01 | JMP Lock07 | JMP Lock16 ; Lock02: | Lock08: | Lock17: ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | MOV EAX,[y] ; MOV EAX,$1 | MOV ECX,$1 | Lock18: ; XCHG [L_x],EAX | XCHG [L_x],ECX | MOV ECX,$1 ; CMP EAX,$0 | CMP ECX,$0 | XCHG [L_z],ECX ; JE Lock05 | JE Lock11 | CMP ECX,$0 ; Lock04: | Lock10: | JE Lock20 ; MOV EAX,[L_x] | MOV ECX,[L_x] | Lock19: ; CMP EAX,$0 | CMP ECX,$0 | MOV ECX,[L_z] ; JE Lock03 | JE Lock09 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JE Lock18 ; Lock05: | Lock11: | JMP Lock19 ; MOV [x],$1 | MOV EAX,[x] | Lock20: ; MOV [L_x],$0 | MOV [L_x],$0 | MOV EBX,[z] ; | Lock12: | MOV [L_z],$0 ; | MOV ECX,$1 | ; | XCHG [L_y],ECX | ; | CMP ECX,$0 | ; | JE Lock14 | ; | Lock13: | ; | MOV ECX,[L_y] | ; | CMP ECX,$0 | ; | JE Lock12 | ; | JMP Lock13 | ; | Lock14: | ; | MOV EBX,[y] | ; | MOV [L_y],$0 | ; forall (2:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: LitLock15: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock17 _litmus_P2_5_: LitLock16: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock15 _litmus_P2_9_: jmp LitLock16 _litmus_P2_10_: LitLock17: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock18: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock20 _litmus_P2_19_: LitLock19: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock18 _litmus_P2_23_: jmp LitLock19 _litmus_P2_24_: LitLock20: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r8),%eax _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock12: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%r9) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock14 _litmus_P1_31_: LitLock13: _litmus_P1_32_: movl (%r9),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock12 _litmus_P1_35_: jmp LitLock13 _litmus_P1_36_: LitLock14: _litmus_P1_37_: movl (%rdi),%edx _litmus_P1_38_: movl $0,(%r9) Test X006-L Required Histogram (10 states) 2307196:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 1368382:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 122783408:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 3018507:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 85718641:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 18353486:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 119670945:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 3718482:>1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 5999894:>1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 137061059:>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 520.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X007-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007-L "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock21: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EAX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock23 ; Lock01: | Lock07: | Lock13: | Lock22: ; MOV EBX,[L_a] | MOV EAX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock21 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock22 ; Lock02: | Lock08: | Lock14: | Lock23: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV EAX,[z] ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 | Lock24: ; XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_y],ECX | MOV ECX,$1 ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock10: | Lock16: | JE Lock26 ; MOV EBX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_y] | Lock25: ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JE Lock24 ; Lock05: | Lock11: | Lock17: | JMP Lock25 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[y] | Lock26: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_y],$0 | MOV EBX,[a] ; | | Lock18: | MOV [L_a],$0 ; | | MOV ECX,$1 | ; | | XCHG [L_z],ECX | ; | | CMP ECX,$0 | ; | | JE Lock20 | ; | | Lock19: | ; | | MOV ECX,[L_z] | ; | | CMP ECX,$0 | ; | | JE Lock18 | ; | | JMP Lock19 | ; | | Lock20: | ; | | MOV EBX,[z] | ; | | MOV [L_z],$0 | ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: LitLock21: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock23 _litmus_P3_5_: LitLock22: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock21 _litmus_P3_9_: jmp LitLock22 _litmus_P3_10_: LitLock23: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock24: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock26 _litmus_P3_19_: LitLock25: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock24 _litmus_P3_23_: jmp LitLock25 _litmus_P3_24_: LitLock26: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r11d _litmus_P2_15_: xchgl %r11d,(%r10) _litmus_P2_16_: cmpl $0,%r11d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r10),%r11d _litmus_P2_20_: cmpl $0,%r11d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r8),%eax _litmus_P2_25_: movl $0,(%r10) _litmus_P2_26_: LitLock18: _litmus_P2_27_: movl $1,%r11d _litmus_P2_28_: xchgl %r11d,(%r9) _litmus_P2_29_: cmpl $0,%r11d _litmus_P2_30_: je LitLock20 _litmus_P2_31_: LitLock19: _litmus_P2_32_: movl (%r9),%r11d _litmus_P2_33_: cmpl $0,%r11d _litmus_P2_34_: je LitLock18 _litmus_P2_35_: jmp LitLock19 _litmus_P2_36_: LitLock20: _litmus_P2_37_: movl (%rdi),%edx _litmus_P2_38_: movl $0,(%r9) Test X007-L Required Histogram (22 states) 2630 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 6166 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 1910495:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=1; 28890 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 5106219:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 3817823:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 73212839:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=1; 2497 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 1665262:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 16020558:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 56351104:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=1; 1973641:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 26780251:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 87003690:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 92942747:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=1; 12482 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; y=2; 22735 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 22196646:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; y=2; 7241 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 7364790:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; y=2; 7847989:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; 95723305:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 500000000, 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 651.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X008-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008-L "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock21: ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EAX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock23 ; Lock01: | Lock07: | Lock13: | Lock22: ; MOV EAX,[L_a] | MOV EAX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock21 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock22 ; Lock02: | Lock08: | Lock14: | Lock23: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV EAX,[z] ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 | Lock24: ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_y],ECX | MOV ECX,$1 ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock10: | Lock16: | JE Lock26 ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_y] | Lock25: ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JE Lock24 ; Lock05: | Lock11: | Lock17: | JMP Lock25 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[y] | Lock26: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_y],$0 | MOV EBX,[a] ; | | Lock18: | MOV [L_a],$0 ; | | MOV ECX,$1 | ; | | XCHG [L_z],ECX | ; | | CMP ECX,$0 | ; | | JE Lock20 | ; | | Lock19: | ; | | MOV ECX,[L_z] | ; | | CMP ECX,$0 | ; | | JE Lock18 | ; | | JMP Lock19 | ; | | Lock20: | ; | | MOV EBX,[z] | ; | | MOV [L_z],$0 | ; forall (3:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: LitLock21: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock23 _litmus_P3_5_: LitLock22: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock21 _litmus_P3_9_: jmp LitLock22 _litmus_P3_10_: LitLock23: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock24: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock26 _litmus_P3_19_: LitLock25: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock24 _litmus_P3_23_: jmp LitLock25 _litmus_P3_24_: LitLock26: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r11d _litmus_P2_15_: xchgl %r11d,(%r10) _litmus_P2_16_: cmpl $0,%r11d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r10),%r11d _litmus_P2_20_: cmpl $0,%r11d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r8),%eax _litmus_P2_25_: movl $0,(%r10) _litmus_P2_26_: LitLock18: _litmus_P2_27_: movl $1,%r11d _litmus_P2_28_: xchgl %r11d,(%r9) _litmus_P2_29_: cmpl $0,%r11d _litmus_P2_30_: je LitLock20 _litmus_P2_31_: LitLock19: _litmus_P2_32_: movl (%r9),%r11d _litmus_P2_33_: cmpl $0,%r11d _litmus_P2_34_: je LitLock18 _litmus_P2_35_: jmp LitLock19 _litmus_P2_36_: LitLock20: _litmus_P2_37_: movl (%rdi),%edx _litmus_P2_38_: movl $0,(%r9) Test X008-L Required Histogram (22 states) 2122 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 1934725:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 4940501:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 70987223:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 1698874:>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 54060168:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 28488856:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 85008432:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 5637 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 31076 :>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 4050362:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 1853 :>2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 16794264:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 1876152:>2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 91429572:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 11133 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 23326137:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 7927596:>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 100053605:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 23749 :>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 7074 :>2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 7340889:>2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 643.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X009-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009-L "Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; Lock00: | Lock06: ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_z],ECX | XCHG [L_y],ECX ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV ECX,[L_z] | MOV ECX,[L_y] ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [z],$1 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_y],$0 ; MOV [x],$1 | MOV EAX,[y] ; MOV EAX,[x] | Lock09: ; Lock03: | MOV ECX,$1 ; MOV ECX,$1 | XCHG [L_z],ECX ; XCHG [L_y],ECX | CMP ECX,$0 ; CMP ECX,$0 | JE Lock11 ; JE Lock05 | Lock10: ; Lock04: | MOV ECX,[L_z] ; MOV ECX,[L_y] | CMP ECX,$0 ; CMP ECX,$0 | JE Lock09 ; JE Lock03 | JMP Lock10 ; JMP Lock04 | Lock11: ; Lock05: | MOV EBX,[z] ; MOV EBX,[y] | MOV [L_z],$0 ; MOV [L_y],$0 | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r11d _litmus_P1_16_: xchgl %r11d,(%r9) _litmus_P1_17_: cmpl $0,%r11d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r9),%r11d _litmus_P1_21_: cmpl $0,%r11d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%rdi),%edx _litmus_P1_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r10) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%ebx _litmus_P0_7_: cmpl $0,%ebx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: movl $1,(%r9) _litmus_P0_14_: movl (%r9),%eax _litmus_P0_15_: LitLock03: _litmus_P0_16_: movl $1,%ebx _litmus_P0_17_: xchgl %ebx,(%r11) _litmus_P0_18_: cmpl $0,%ebx _litmus_P0_19_: je LitLock05 _litmus_P0_20_: LitLock04: _litmus_P0_21_: movl (%r11),%ebx _litmus_P0_22_: cmpl $0,%ebx _litmus_P0_23_: je LitLock03 _litmus_P0_24_: jmp LitLock04 _litmus_P0_25_: LitLock05: _litmus_P0_26_: movl (%r8),%edx _litmus_P0_27_: movl $0,(%r11) Test X009-L Required Histogram (3 states) 152885652:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 121275482:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 725838866:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 1000000000, 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 197.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X010-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010-L "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],ECX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_a] | MOV ECX,[L_x] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [x],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_z],$0 ; Lock03: | MOV [y],$1 | MOV EAX,[z] ; MOV EBX,$1 | MOV EAX,[y] | Lock15: ; XCHG [L_x],EBX | Lock09: | MOV ECX,$1 ; CMP EBX,$0 | MOV ECX,$1 | XCHG [L_a],ECX ; JE Lock05 | XCHG [L_z],ECX | CMP ECX,$0 ; Lock04: | CMP ECX,$0 | JE Lock17 ; MOV EBX,[L_x] | JE Lock11 | Lock16: ; CMP EBX,$0 | Lock10: | MOV ECX,[L_a] ; JE Lock03 | MOV ECX,[L_z] | CMP ECX,$0 ; JMP Lock04 | CMP ECX,$0 | JE Lock15 ; Lock05: | JE Lock09 | JMP Lock16 ; MOV EAX,[x] | JMP Lock10 | Lock17: ; MOV [L_x],$0 | Lock11: | MOV EBX,[a] ; | MOV EBX,[z] | MOV [L_a],$0 ; | MOV [L_z],$0 | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: movl (%rdi),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r10) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r10),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r8),%edx _litmus_P2_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r11) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r9) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl $1,(%r8) _litmus_P1_14_: movl (%r8),%eax _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r10) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r10),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rdi),%edx _litmus_P1_27_: movl $0,(%r10) Test X010-L Required Histogram (7 states) 3862994:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3830392:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 121997707:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 6522925:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 115147631:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 133421414:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 115216937:>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 525.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X011-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011-L "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_a] | MOV ECX,[L_x] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_z],$0 ; Lock03: | MOV [y],$1 | MOV EAX,[z] ; MOV EAX,$1 | MOV EAX,[y] | Lock15: ; XCHG [L_x],EAX | Lock09: | MOV ECX,$1 ; CMP EAX,$0 | MOV ECX,$1 | XCHG [L_a],ECX ; JE Lock05 | XCHG [L_z],ECX | CMP ECX,$0 ; Lock04: | CMP ECX,$0 | JE Lock17 ; MOV EAX,[L_x] | JE Lock11 | Lock16: ; CMP EAX,$0 | Lock10: | MOV ECX,[L_a] ; JE Lock03 | MOV ECX,[L_z] | CMP ECX,$0 ; JMP Lock04 | CMP ECX,$0 | JE Lock15 ; Lock05: | JE Lock09 | JMP Lock16 ; MOV [x],$1 | JMP Lock10 | Lock17: ; MOV [L_x],$0 | Lock11: | MOV EBX,[a] ; | MOV EBX,[z] | MOV [L_a],$0 ; | MOV [L_z],$0 | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: movl (%rdi),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r10) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r10),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r8),%edx _litmus_P2_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r11) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r9) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl $1,(%r8) _litmus_P1_14_: movl (%r8),%eax _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r10) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r10),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rdi),%edx _litmus_P1_27_: movl $0,(%r10) Test X011-L Required Histogram (7 states) 4103573:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 117791896:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 111337995:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 120359587:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 4509667:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 7358757:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 134538525:>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 534.51 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X012-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012-L "Fre PodWR Fre Rfi PodRR" {} P0 | P1 ; Lock00: | Lock06: ; MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_y],EBX | XCHG [L_x],ECX ; CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV EBX,[L_y] | MOV ECX,[L_x] ; CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [y],$1 | MOV [x],$1 ; MOV [L_y],$0 | MOV [L_x],$0 ; Lock03: | MOV EAX,[x] ; MOV EBX,$1 | Lock09: ; XCHG [L_x],EBX | MOV ECX,$1 ; CMP EBX,$0 | XCHG [L_y],ECX ; JE Lock05 | CMP ECX,$0 ; Lock04: | JE Lock11 ; MOV EBX,[L_x] | Lock10: ; CMP EBX,$0 | MOV ECX,[L_y] ; JE Lock03 | CMP ECX,$0 ; JMP Lock04 | JE Lock09 ; Lock05: | JMP Lock10 ; MOV EAX,[x] | Lock11: ; MOV [L_x],$0 | MOV EBX,[y] ; | MOV [L_y],$0 ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r11d _litmus_P1_16_: xchgl %r11d,(%r9) _litmus_P1_17_: cmpl $0,%r11d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r9),%r11d _litmus_P1_21_: cmpl $0,%r11d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%rdi),%edx _litmus_P1_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%r8) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rsi),%eax _litmus_P0_25_: movl $0,(%r8) Test X012-L Required Histogram (3 states) 209901113:>0:EAX=1; 1:EAX=1; 1:EBX=0; 204701569:>0:EAX=0; 1:EAX=1; 1:EBX=1; 585397318:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 1000000000, 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 163.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X013-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013-L "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],ECX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_a] | MOV ECX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | MOV EAX,[x] | Lock15: | MOV EAX,[z] ; MOV EBX,$1 | Lock09: | MOV EBX,$1 | Lock21: ; XCHG [L_x],EBX | MOV ECX,$1 | XCHG [L_z],EBX | MOV ECX,$1 ; CMP EBX,$0 | XCHG [L_y],ECX | CMP EBX,$0 | XCHG [L_a],ECX ; JE Lock05 | CMP ECX,$0 | JE Lock17 | CMP ECX,$0 ; Lock04: | JE Lock11 | Lock16: | JE Lock23 ; MOV EBX,[L_x] | Lock10: | MOV EBX,[L_z] | Lock22: ; CMP EBX,$0 | MOV ECX,[L_y] | CMP EBX,$0 | MOV ECX,[L_a] ; JE Lock03 | CMP ECX,$0 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JE Lock09 | JMP Lock16 | JE Lock21 ; Lock05: | JMP Lock10 | Lock17: | JMP Lock22 ; MOV EAX,[x] | Lock11: | MOV EAX,[z] | Lock23: ; MOV [L_x],$0 | MOV EBX,[y] | MOV [L_z],$0 | MOV EBX,[a] ; | MOV [L_y],$0 | | MOV [L_a],$0 ; forall (1:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock09: _litmus_P1_15_: movl $1,%r11d _litmus_P1_16_: xchgl %r11d,(%r9) _litmus_P1_17_: cmpl $0,%r11d _litmus_P1_18_: je LitLock11 _litmus_P1_19_: LitLock10: _litmus_P1_20_: movl (%r9),%r11d _litmus_P1_21_: cmpl $0,%r11d _litmus_P1_22_: je LitLock09 _litmus_P1_23_: jmp LitLock10 _litmus_P1_24_: LitLock11: _litmus_P1_25_: movl (%rdi),%edx _litmus_P1_26_: movl $0,(%r9) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X013-L Required Histogram (15 states) 6867 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 11610 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 5892773:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 7161 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 22018351:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 4412919:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 75254858:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 15791 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 3577995:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 28445345:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 86502762:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 6062706:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 72693706:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 86483946:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 108613210:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 500000000, 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 612.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X014-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014-L "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock15: | Lock21: ; MOV EAX,$1 | MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],ECX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock17 | JE Lock23 ; Lock01: | Lock07: | Lock16: | Lock22: ; MOV EAX,[L_a] | MOV ECX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock15 | JE Lock21 ; JMP Lock01 | JMP Lock07 | JMP Lock16 | JMP Lock22 ; Lock02: | Lock08: | Lock17: | Lock23: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock18: | MOV EAX,[z] ; MOV EAX,$1 | MOV ECX,$1 | MOV EBX,$1 | Lock24: ; XCHG [L_x],EAX | XCHG [L_x],ECX | XCHG [L_z],EBX | MOV ECX,$1 ; CMP EAX,$0 | CMP ECX,$0 | CMP EBX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | JE Lock20 | CMP ECX,$0 ; Lock04: | Lock10: | Lock19: | JE Lock26 ; MOV EAX,[L_x] | MOV ECX,[L_x] | MOV EBX,[L_z] | Lock25: ; CMP EAX,$0 | CMP ECX,$0 | CMP EBX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | JE Lock18 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JMP Lock19 | JE Lock24 ; Lock05: | Lock11: | Lock20: | JMP Lock25 ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[z] | Lock26: ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_z],$0 | MOV EBX,[a] ; | Lock12: | | MOV [L_a],$0 ; | MOV ECX,$1 | | ; | XCHG [L_y],ECX | | ; | CMP ECX,$0 | | ; | JE Lock14 | | ; | Lock13: | | ; | MOV ECX,[L_y] | | ; | CMP ECX,$0 | | ; | JE Lock12 | | ; | JMP Lock13 | | ; | Lock14: | | ; | MOV EBX,[y] | | ; | MOV [L_y],$0 | | ; forall (3:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: LitLock21: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock23 _litmus_P3_5_: LitLock22: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock21 _litmus_P3_9_: jmp LitLock22 _litmus_P3_10_: LitLock23: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock24: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock26 _litmus_P3_19_: LitLock25: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock24 _litmus_P3_23_: jmp LitLock25 _litmus_P3_24_: LitLock26: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r8),%eax _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock12: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%r9) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock14 _litmus_P1_31_: LitLock13: _litmus_P1_32_: movl (%r9),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock12 _litmus_P1_35_: jmp LitLock13 _litmus_P1_36_: LitLock14: _litmus_P1_37_: movl (%rdi),%edx _litmus_P1_38_: movl $0,(%r9) _litmus_P2_0_: LitLock15: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock17 _litmus_P2_5_: LitLock16: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock15 _litmus_P2_9_: jmp LitLock16 _litmus_P2_10_: LitLock17: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock18: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock20 _litmus_P2_18_: LitLock19: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock18 _litmus_P2_22_: jmp LitLock19 _litmus_P2_23_: LitLock20: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X014-L Required Histogram (22 states) 4482 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 35431 :>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 4488987:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 2453 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 16857550:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 1583765:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 78231084:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 5864 :>1:EAX=1; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 1610054:>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 6584151:>1:EAX=1; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 76815439:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 2483729:>1:EAX=1; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 56429516:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 25638856:>1:EAX=1; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 96124705:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 24024 :>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 5551 :>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 4583548:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 13855 :>1:EAX=2; 1:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 29021676:>1:EAX=2; 1:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 5382280:>1:EAX=2; 1:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 94073000:>1:EAX=2; 1:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 641.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X015-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015-L "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV ECX,[L_a] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; MOV [x],$1 | Lock09: | MOV EAX,[z] ; MOV EAX,[x] | MOV EBX,$1 | Lock15: ; Lock03: | XCHG [L_z],EBX | MOV ECX,$1 ; MOV ECX,$1 | CMP EBX,$0 | XCHG [L_a],ECX ; XCHG [L_y],ECX | JE Lock11 | CMP ECX,$0 ; CMP ECX,$0 | Lock10: | JE Lock17 ; JE Lock05 | MOV EBX,[L_z] | Lock16: ; Lock04: | CMP EBX,$0 | MOV ECX,[L_a] ; MOV ECX,[L_y] | JE Lock09 | CMP ECX,$0 ; CMP ECX,$0 | JMP Lock10 | JE Lock15 ; JE Lock03 | Lock11: | JMP Lock16 ; JMP Lock04 | MOV EAX,[z] | Lock17: ; Lock05: | MOV [L_z],$0 | MOV EBX,[a] ; MOV EBX,[y] | | MOV [L_a],$0 ; MOV [L_y],$0 | | ; forall (0:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: movl (%rdi),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r10) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r10),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%r8),%edx _litmus_P2_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r11) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%ebx _litmus_P0_7_: cmpl $0,%ebx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: movl $1,(%r8) _litmus_P0_14_: movl (%r8),%eax _litmus_P0_15_: LitLock03: _litmus_P0_16_: movl $1,%ebx _litmus_P0_17_: xchgl %ebx,(%r10) _litmus_P0_18_: cmpl $0,%ebx _litmus_P0_19_: je LitLock05 _litmus_P0_20_: LitLock04: _litmus_P0_21_: movl (%r10),%ebx _litmus_P0_22_: cmpl $0,%ebx _litmus_P0_23_: je LitLock03 _litmus_P0_24_: jmp LitLock04 _litmus_P0_25_: LitLock05: _litmus_P0_26_: movl (%rdi),%edx _litmus_P0_27_: movl $0,(%r10) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) Test X015-L Required Histogram (7 states) 5925900:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 4824650:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 119618848:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3589389:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 130679774:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 119432554:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 115928885:>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 525.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X016-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016-L "Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_z],EBX | XCHG [L_x],EBX | XCHG [L_y],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_z] | MOV EBX,[L_x] | MOV ECX,[L_y] ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | MOV EAX,[y] ; MOV EBX,$1 | MOV EBX,$1 | Lock15: ; XCHG [L_x],EBX | XCHG [L_y],EBX | MOV ECX,$1 ; CMP EBX,$0 | CMP EBX,$0 | XCHG [L_z],ECX ; JE Lock05 | JE Lock11 | CMP ECX,$0 ; Lock04: | Lock10: | JE Lock17 ; MOV EBX,[L_x] | MOV EBX,[L_y] | Lock16: ; CMP EBX,$0 | CMP EBX,$0 | MOV ECX,[L_z] ; JE Lock03 | JE Lock09 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JE Lock15 ; Lock05: | Lock11: | JMP Lock16 ; MOV EAX,[x] | MOV EAX,[y] | Lock17: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV EBX,[z] ; | | MOV [L_z],$0 ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%r8) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rsi),%eax _litmus_P0_25_: movl $0,(%r8) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) Test X016-L Required Histogram (7 states) 6896222:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2942379:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 115881934:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 5701907:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 135796194:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 132027499:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 100753865:>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 500.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X017-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017-L "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_a] | MOV EBX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV EAX,[z] ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | Lock21: ; XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EBX | MOV ECX,$1 ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock10: | Lock16: | JE Lock23 ; MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] | Lock22: ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JE Lock21 ; Lock05: | Lock11: | Lock17: | JMP Lock22 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | Lock23: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X017-L Required Histogram (15 states) 10679 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 12391 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 7428608:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 8760 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 22823623:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 4185343:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 71935582:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 18195 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 7270375:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 27189753:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 84704926:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 7505825:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 82930055:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 81018681:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 102957204:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 500000000, 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 610.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X018-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018-L "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EBX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV EAX,[z] ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | Lock21: ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EBX | MOV ECX,$1 ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock10: | Lock16: | JE Lock23 ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] | Lock22: ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JE Lock21 ; Lock05: | Lock11: | Lock17: | JMP Lock22 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | Lock23: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X018-L Required Histogram (15 states) 10574 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 6691147:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 20996412:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 71046782:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 8144170:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 82230996:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 81428241:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 105034396:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 13223 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 9640 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 4403675:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 25255 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 25186580:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 8642011:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 86136898:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 613.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X019-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019-L "Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_z],EAX | XCHG [L_x],EBX | XCHG [L_y],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_z] | MOV EBX,[L_x] | MOV ECX,[L_y] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | MOV EAX,[y] ; MOV EAX,$1 | MOV EBX,$1 | Lock15: ; XCHG [L_x],EAX | XCHG [L_y],EBX | MOV ECX,$1 ; CMP EAX,$0 | CMP EBX,$0 | XCHG [L_z],ECX ; JE Lock05 | JE Lock11 | CMP ECX,$0 ; Lock04: | Lock10: | JE Lock17 ; MOV EAX,[L_x] | MOV EBX,[L_y] | Lock16: ; CMP EAX,$0 | CMP EBX,$0 | MOV ECX,[L_z] ; JE Lock03 | JE Lock09 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JE Lock15 ; Lock05: | Lock11: | JMP Lock16 ; MOV [x],$1 | MOV EAX,[y] | Lock17: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV EBX,[z] ; | | MOV [L_z],$0 ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock15: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock17 _litmus_P2_19_: LitLock16: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock15 _litmus_P2_23_: jmp LitLock16 _litmus_P2_24_: LitLock17: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) Test X019-L Required Histogram (7 states) 6946571:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 113836139:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 126638724:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 109180316:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 3881649:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 7923346:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 131593255:>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 509.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X020-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020-L "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_a] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV EAX,[z] ; MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 | Lock21: ; XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],EBX | MOV ECX,$1 ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock10: | Lock16: | JE Lock23 ; MOV EBX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] | Lock22: ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JE Lock21 ; Lock05: | Lock11: | Lock17: | JMP Lock22 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[z] | Lock23: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X020-L Required Histogram (15 states) 11276 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 7494216:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 4176927:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 73530997:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 24898598:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 82706401:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 79673738:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 103244993:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 15568 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 8777 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 21706727:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 16754 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 7795025:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 7159533:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 87560470:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 500000000, 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 615.24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X021-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021-L "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV EAX,[z] ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 | Lock21: ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EBX | MOV ECX,$1 ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock11 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock10: | Lock16: | JE Lock23 ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] | Lock22: ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock09 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JE Lock21 ; Lock05: | Lock11: | Lock17: | JMP Lock22 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] | Lock23: ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock21: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock23 _litmus_P3_19_: LitLock22: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock21 _litmus_P3_23_: jmp LitLock22 _litmus_P3_24_: LitLock23: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X021-L Required Histogram (15 states) 6449399:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 71162967:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 81796233:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 101523015:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 10577 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 4576815:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 24348857:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 84191590:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 13905 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 20964846:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 9080873:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 87600206:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 8985 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 20440 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 8251292:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 617.85 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X022-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022-L "Fre PodWW Wse Rfi PodRR" {} P0 | P1 ; Lock00: | Lock06: ; MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_y],EAX | XCHG [L_x],ECX ; CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV EAX,[L_y] | MOV ECX,[L_x] ; CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [y],$1 | MOV [x],$2 ; MOV [L_y],$0 | MOV [L_x],$0 ; Lock03: | Lock09: ; MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EAX | XCHG [L_x],ECX ; CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 ; Lock04: | Lock10: ; MOV EAX,[L_x] | MOV ECX,[L_x] ; CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 ; JMP Lock04 | JMP Lock10 ; Lock05: | Lock11: ; MOV [x],$1 | MOV EAX,[x] ; MOV [L_x],$0 | MOV [L_x],$0 ; | Lock12: ; | MOV ECX,$1 ; | XCHG [L_y],ECX ; | CMP ECX,$0 ; | JE Lock14 ; | Lock13: ; | MOV ECX,[L_y] ; | CMP ECX,$0 ; | JE Lock12 ; | JMP Lock13 ; | Lock14: ; | MOV EBX,[y] ; | MOV [L_y],$0 ; forall (1:EAX=2 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r8),%eax _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock12: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%r9) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock14 _litmus_P1_31_: LitLock13: _litmus_P1_32_: movl (%r9),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock12 _litmus_P1_35_: jmp LitLock13 _litmus_P1_36_: LitLock14: _litmus_P1_37_: movl (%rdi),%edx _litmus_P1_38_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) Test X022-L Required Histogram (4 states) 607379:>1:EAX=2; 1:EBX=0; x=1; 217103835:>1:EAX=1; 1:EBX=1; x=1; 551969118:>1:EAX=2; 1:EBX=1; x=1; 230319668:>1:EAX=2; 1:EBX=1; x=2; Ok Witnesses Positive: 1000000000, 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 190.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X023-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023-L "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock15: | Lock21: ; MOV EAX,$1 | MOV ECX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],ECX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock17 | JE Lock23 ; Lock01: | Lock07: | Lock16: | Lock22: ; MOV EAX,[L_a] | MOV ECX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock15 | JE Lock21 ; JMP Lock01 | JMP Lock07 | JMP Lock16 | JMP Lock22 ; Lock02: | Lock08: | Lock17: | Lock23: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock18: | Lock24: ; MOV EAX,$1 | MOV ECX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EAX | XCHG [L_x],ECX | XCHG [L_z],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock20 | JE Lock26 ; Lock04: | Lock10: | Lock19: | Lock25: ; MOV EAX,[L_x] | MOV ECX,[L_x] | MOV EAX,[L_z] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 | JE Lock18 | JE Lock24 ; JMP Lock04 | JMP Lock10 | JMP Lock19 | JMP Lock25 ; Lock05: | Lock11: | Lock20: | Lock26: ; MOV [x],$1 | MOV EAX,[x] | MOV [z],$1 | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; | Lock12: | | Lock27: ; | MOV ECX,$1 | | MOV ECX,$1 ; | XCHG [L_y],ECX | | XCHG [L_a],ECX ; | CMP ECX,$0 | | CMP ECX,$0 ; | JE Lock14 | | JE Lock29 ; | Lock13: | | Lock28: ; | MOV ECX,[L_y] | | MOV ECX,[L_a] ; | CMP ECX,$0 | | CMP ECX,$0 ; | JE Lock12 | | JE Lock27 ; | JMP Lock13 | | JMP Lock28 ; | Lock14: | | Lock29: ; | MOV EBX,[y] | | MOV EBX,[a] ; | MOV [L_y],$0 | | MOV [L_a],$0 ; forall (1:EAX=2 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: LitLock21: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock23 _litmus_P3_5_: LitLock22: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock21 _litmus_P3_9_: jmp LitLock22 _litmus_P3_10_: LitLock23: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock24: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock26 _litmus_P3_18_: LitLock25: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock24 _litmus_P3_22_: jmp LitLock25 _litmus_P3_23_: LitLock26: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock27: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock29 _litmus_P3_31_: LitLock28: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock27 _litmus_P3_35_: jmp LitLock28 _litmus_P3_36_: LitLock29: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%r8),%eax _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock12: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%r9) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock14 _litmus_P1_31_: LitLock13: _litmus_P1_32_: movl (%r9),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock12 _litmus_P1_35_: jmp LitLock13 _litmus_P1_36_: LitLock14: _litmus_P1_37_: movl (%rdi),%edx _litmus_P1_38_: movl $0,(%r9) _litmus_P2_0_: LitLock15: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock17 _litmus_P2_5_: LitLock16: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock15 _litmus_P2_9_: jmp LitLock16 _litmus_P2_10_: LitLock17: _litmus_P2_11_: movl $1,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock18: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock20 _litmus_P2_18_: LitLock19: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock18 _litmus_P2_22_: jmp LitLock19 _litmus_P2_23_: LitLock20: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X023-L Required Histogram (32 states) 1599 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 21731 :>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 2065867:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 1561 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 15445478:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 941967:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 58101321:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 15575 :>1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 810548:>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 5551702:>1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 15383279:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 1855219:>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 56127464:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 17341609:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 93724419:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 24772 :>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 2881 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 2043949:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 38809 :>1:EAX=2; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 8200831:>1:EAX=2; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 5504788:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 87155778:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 3165 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 34781 :>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 4728760:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 23762 :>1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 2089167:>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 7520960:>1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 85656549:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 28908 :>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 35197 :>1:EAX=2; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 29517604:>1:EAX=2; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 500000000, 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 666.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X024-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024-L "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV ECX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV ECX,[L_a] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; MOV [x],$1 | Lock09: | Lock15: ; MOV EAX,[x] | MOV EAX,$1 | MOV ECX,$1 ; Lock03: | XCHG [L_z],EAX | XCHG [L_z],ECX ; MOV ECX,$1 | CMP EAX,$0 | CMP ECX,$0 ; XCHG [L_y],ECX | JE Lock11 | JE Lock17 ; CMP ECX,$0 | Lock10: | Lock16: ; JE Lock05 | MOV EAX,[L_z] | MOV ECX,[L_z] ; Lock04: | CMP EAX,$0 | CMP ECX,$0 ; MOV ECX,[L_y] | JE Lock09 | JE Lock15 ; CMP ECX,$0 | JMP Lock10 | JMP Lock16 ; JE Lock03 | Lock11: | Lock17: ; JMP Lock04 | MOV [z],$1 | MOV EAX,[z] ; Lock05: | MOV [L_z],$0 | MOV [L_z],$0 ; MOV EBX,[y] | | Lock18: ; MOV [L_y],$0 | | MOV ECX,$1 ; | | XCHG [L_a],ECX ; | | CMP ECX,$0 ; | | JE Lock20 ; | | Lock19: ; | | MOV ECX,[L_a] ; | | CMP ECX,$0 ; | | JE Lock18 ; | | JMP Lock19 ; | | Lock20: ; | | MOV EBX,[a] ; | | MOV [L_a],$0 ; forall (0:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ (z=2 \/ z=1)) \/ 2:EAX=1 /\ z=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (z=2 \/ z=1) \/ 2:EBX=0 /\ z=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ z=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r11d _litmus_P2_15_: xchgl %r11d,(%r9) _litmus_P2_16_: cmpl $0,%r11d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r9),%r11d _litmus_P2_20_: cmpl $0,%r11d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rdi),%eax _litmus_P2_25_: movl $0,(%r9) _litmus_P2_26_: LitLock18: _litmus_P2_27_: movl $1,%r11d _litmus_P2_28_: xchgl %r11d,(%r10) _litmus_P2_29_: cmpl $0,%r11d _litmus_P2_30_: je LitLock20 _litmus_P2_31_: LitLock19: _litmus_P2_32_: movl (%r10),%r11d _litmus_P2_33_: cmpl $0,%r11d _litmus_P2_34_: je LitLock18 _litmus_P2_35_: jmp LitLock19 _litmus_P2_36_: LitLock20: _litmus_P2_37_: movl (%r8),%edx _litmus_P2_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r11) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%ebx _litmus_P0_7_: cmpl $0,%ebx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: movl $1,(%r8) _litmus_P0_14_: movl (%r8),%eax _litmus_P0_15_: LitLock03: _litmus_P0_16_: movl $1,%ebx _litmus_P0_17_: xchgl %ebx,(%r10) _litmus_P0_18_: cmpl $0,%ebx _litmus_P0_19_: je LitLock05 _litmus_P0_20_: LitLock04: _litmus_P0_21_: movl (%r10),%ebx _litmus_P0_22_: cmpl $0,%ebx _litmus_P0_23_: je LitLock03 _litmus_P0_24_: jmp LitLock04 _litmus_P0_25_: LitLock05: _litmus_P0_26_: movl (%rdi),%edx _litmus_P0_27_: movl $0,(%r10) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) Test X024-L Required Histogram (10 states) 2601677:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=0; z=1; 3872708:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=0; z=1; 90009634:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=1; 1304591:>0:EAX=1; 0:EBX=0; 2:EAX=1; 2:EBX=1; z=1; 17757199:>0:EAX=1; 0:EBX=1; 2:EAX=1; 2:EBX=1; z=1; 117046628:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=1; 125966752:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=1; z=1; 5758171:>0:EAX=1; 0:EBX=1; 2:EAX=2; 2:EBX=0; z=2; 4209900:>0:EAX=1; 0:EBX=0; 2:EAX=2; 2:EBX=1; z=2; 131472740:>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 546.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X025-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025-L "Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_z],EBX | XCHG [L_x],EAX | XCHG [L_y],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_z] | MOV EAX,[L_x] | MOV ECX,[L_y] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$1 | MOV [y],$2 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | Lock15: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_y],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 ; Lock04: | Lock10: | Lock16: ; MOV EBX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_y] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 ; JMP Lock04 | JMP Lock10 | JMP Lock16 ; Lock05: | Lock11: | Lock17: ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[y] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_y],$0 ; | | Lock18: ; | | MOV ECX,$1 ; | | XCHG [L_z],ECX ; | | CMP ECX,$0 ; | | JE Lock20 ; | | Lock19: ; | | MOV ECX,[L_z] ; | | CMP ECX,$0 ; | | JE Lock18 ; | | JMP Lock19 ; | | Lock20: ; | | MOV EBX,[z] ; | | MOV [L_z],$0 ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1)) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r11d _litmus_P2_15_: xchgl %r11d,(%r10) _litmus_P2_16_: cmpl $0,%r11d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r10),%r11d _litmus_P2_20_: cmpl $0,%r11d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r8),%eax _litmus_P2_25_: movl $0,(%r10) _litmus_P2_26_: LitLock18: _litmus_P2_27_: movl $1,%r11d _litmus_P2_28_: xchgl %r11d,(%r9) _litmus_P2_29_: cmpl $0,%r11d _litmus_P2_30_: je LitLock20 _litmus_P2_31_: LitLock19: _litmus_P2_32_: movl (%r9),%r11d _litmus_P2_33_: cmpl $0,%r11d _litmus_P2_34_: je LitLock18 _litmus_P2_35_: jmp LitLock19 _litmus_P2_36_: LitLock20: _litmus_P2_37_: movl (%rdi),%edx _litmus_P2_38_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%r8) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rsi),%eax _litmus_P0_25_: movl $0,(%r8) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) Test X025-L Required Histogram (10 states) 3086768:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 1118676:>0:EAX=0; 2:EAX=2; 2:EBX=0; y=1; 85100833:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=1; 1516397:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 19218621:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 131664975:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=1; 115731212:>0:EAX=1; 2:EAX=2; 2:EBX=1; y=1; 5617418:>0:EAX=1; 2:EAX=2; 2:EBX=0; y=2; 6468748:>0:EAX=0; 2:EAX=2; 2:EBX=1; y=2; 130476352:>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 519.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X026-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026-L "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_a] | MOV EBX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EAX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EAX,[L_z] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 | JE Lock21 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JMP Lock22 ; Lock05: | Lock11: | Lock17: | Lock23: ; MOV EAX,[x] | MOV EAX,[y] | MOV [z],$1 | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; | | | Lock24: ; | | | MOV ECX,$1 ; | | | XCHG [L_a],ECX ; | | | CMP ECX,$0 ; | | | JE Lock26 ; | | | Lock25: ; | | | MOV ECX,[L_a] ; | | | CMP ECX,$0 ; | | | JE Lock24 ; | | | JMP Lock25 ; | | | Lock26: ; | | | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (0:EAX=1 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock24: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock26 _litmus_P3_31_: LitLock25: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock24 _litmus_P3_35_: jmp LitLock25 _litmus_P3_36_: LitLock26: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X026-L Required Histogram (22 states) 2293 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 2675 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 1503862:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 5505 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 17441070:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=1; 1633435:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 53549095:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=1; 40749 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 1913839:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 5916733:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 23506420:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 6224070:>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 89034880:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=1; 80570167:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 85266157:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=1; 7138 :>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=0; z=2; 13647 :>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 7196036:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=0; z=2; 35622 :>0:EAX=0; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 8279709:>0:EAX=1; 1:EAX=0; 3:EAX=2; 3:EBX=1; z=2; 26927808:>0:EAX=0; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; 90929090:>0:EAX=1; 1:EAX=1; 3:EAX=2; 3:EBX=1; z=2; Ok Witnesses Positive: 500000000, 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 634.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X027-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027-L "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EBX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EAX,[L_z] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 | JE Lock21 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JMP Lock22 ; Lock05: | Lock11: | Lock17: | Lock23: ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; | | | Lock24: ; | | | MOV ECX,$1 ; | | | XCHG [L_a],ECX ; | | | CMP ECX,$0 ; | | | JE Lock26 ; | | | Lock25: ; | | | MOV ECX,[L_a] ; | | | CMP ECX,$0 ; | | | JE Lock24 ; | | | JMP Lock25 ; | | | Lock26: ; | | | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (1:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock24: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock26 _litmus_P3_31_: LitLock25: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock24 _litmus_P3_35_: jmp LitLock25 _litmus_P3_36_: LitLock26: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X027-L Required Histogram (22 states) 2346 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 2067500:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 15662217:>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=1; 51862379:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=1; 2118820:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 23195546:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 87897505:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=1; 89047370:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=1; 4322 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 6036 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=2; z=1; 1553307:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=1; 56855 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 6148060:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 8201465:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=1; 81169344:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=1; 9067 :>1:EAX=0; 3:EAX=2; 3:EBX=0; x=1; z=2; 6049403:>1:EAX=1; 3:EAX=2; 3:EBX=0; x=1; z=2; 10069497:>1:EAX=0; 3:EAX=2; 3:EBX=1; x=1; z=2; 89070959:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=1; z=2; 12966 :>1:EAX=1; 3:EAX=2; 3:EBX=0; x=2; z=2; 54103 :>1:EAX=0; 3:EAX=2; 3:EBX=1; x=2; z=2; 25740933:>1:EAX=1; 3:EAX=2; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 500000000, 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 640.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X028-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028-L "Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_z],EAX | XCHG [L_x],EAX | XCHG [L_y],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_z] | MOV EAX,[L_x] | MOV ECX,[L_y] ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | Lock15: ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_y],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 ; Lock04: | Lock10: | Lock16: ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_y] ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 ; JMP Lock04 | JMP Lock10 | JMP Lock16 ; Lock05: | Lock11: | Lock17: ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[y] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_y],$0 ; | | Lock18: ; | | MOV ECX,$1 ; | | XCHG [L_z],ECX ; | | CMP ECX,$0 ; | | JE Lock20 ; | | Lock19: ; | | MOV ECX,[L_z] ; | | CMP ECX,$0 ; | | JE Lock18 ; | | JMP Lock19 ; | | Lock20: ; | | MOV EBX,[z] ; | | MOV [L_z],$0 ; forall (2:EAX=2 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1)) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r11d _litmus_P2_15_: xchgl %r11d,(%r10) _litmus_P2_16_: cmpl $0,%r11d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%r10),%r11d _litmus_P2_20_: cmpl $0,%r11d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%r8),%eax _litmus_P2_25_: movl $0,(%r10) _litmus_P2_26_: LitLock18: _litmus_P2_27_: movl $1,%r11d _litmus_P2_28_: xchgl %r11d,(%r9) _litmus_P2_29_: cmpl $0,%r11d _litmus_P2_30_: je LitLock20 _litmus_P2_31_: LitLock19: _litmus_P2_32_: movl (%r9),%r11d _litmus_P2_33_: cmpl $0,%r11d _litmus_P2_34_: je LitLock18 _litmus_P2_35_: jmp LitLock19 _litmus_P2_36_: LitLock20: _litmus_P2_37_: movl (%rdi),%edx _litmus_P2_38_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) Test X028-L Required Histogram (10 states) 4461397:>2:EAX=1; 2:EBX=0; x=1; y=1; 87612515:>2:EAX=2; 2:EBX=0; x=1; y=1; 21118688:>2:EAX=1; 2:EBX=1; x=1; y=1; 97473109:>2:EAX=2; 2:EBX=1; x=1; y=1; 853632:>2:EAX=2; 2:EBX=0; x=2; y=1; 1435562:>2:EAX=1; 2:EBX=1; x=2; y=1; 137366651:>2:EAX=2; 2:EBX=1; x=2; y=1; 5483395:>2:EAX=2; 2:EBX=0; x=1; y=2; 136112182:>2:EAX=2; 2:EBX=1; x=1; y=2; 8082869:>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 525.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X029-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X029-L "Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_a] | MOV EAX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EBX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],EAX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EBX,[L_x] | MOV EAX,[L_y] | MOV EAX,[L_z] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 | JE Lock21 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JMP Lock22 ; Lock05: | Lock11: | Lock17: | Lock23: ; MOV EAX,[x] | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; | | | Lock24: ; | | | MOV ECX,$1 ; | | | XCHG [L_a],ECX ; | | | CMP ECX,$0 ; | | | JE Lock26 ; | | | Lock25: ; | | | MOV ECX,[L_a] ; | | | CMP ECX,$0 ; | | | JE Lock24 ; | | | JMP Lock25 ; | | | Lock26: ; | | | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (0:EAX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock24: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock26 _litmus_P3_31_: LitLock25: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock24 _litmus_P3_35_: jmp LitLock25 _litmus_P3_36_: LitLock26: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X029-L Required Histogram (22 states) 3533 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 2387316:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 1593681:>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=1; 54044104:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=1; 6165156:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 25104530:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 76471263:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=1; 83664377:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=1; 1803 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 4431 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=2; z=1; 16959045:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=1; 46521 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 1925079:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 6705538:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=1; 91201503:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=1; 11997 :>0:EAX=0; 3:EAX=2; 3:EBX=0; y=1; z=2; 6872263:>0:EAX=1; 3:EAX=2; 3:EBX=0; y=1; z=2; 27275138:>0:EAX=0; 3:EAX=2; 3:EBX=1; y=1; z=2; 91628043:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=1; z=2; 7206 :>0:EAX=1; 3:EAX=2; 3:EBX=0; y=2; z=2; 36914 :>0:EAX=0; 3:EAX=2; 3:EBX=1; y=2; z=2; 7890559:>0:EAX=1; 3:EAX=2; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 500000000, 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 638.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X030-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030-L "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EAX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EAX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EAX,[L_z] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 | JE Lock21 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JMP Lock22 ; Lock05: | Lock11: | Lock17: | Lock23: ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; | | | Lock24: ; | | | MOV ECX,$1 ; | | | XCHG [L_a],ECX ; | | | CMP ECX,$0 ; | | | JE Lock26 ; | | | Lock25: ; | | | MOV ECX,[L_a] ; | | | CMP ECX,$0 ; | | | JE Lock24 ; | | | JMP Lock25 ; | | | Lock26: ; | | | MOV EBX,[a] ; | | | MOV [L_a],$0 ; forall (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock24: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock26 _litmus_P3_31_: LitLock25: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock24 _litmus_P3_35_: jmp LitLock25 _litmus_P3_36_: LitLock26: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X030-L Required Histogram (22 states) 2004464:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 50855924:>3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 24242128:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 81150934:>3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 2657 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 1557646:>3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 5967093:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 78397491:>3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 1868 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 15903406:>3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 2087875:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 94827016:>3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 4708 :>3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 51482 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 7310693:>3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 7550690:>3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 91894555:>3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 11651 :>3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 25850286:>3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 8984 :>3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 10276376:>3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 42073 :>3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 500000000, 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 642.71 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X031-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031-L "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 ; Lock00: | Lock06: ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_y],ECX ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV ECX,[L_a] | MOV ECX,[L_y] ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [a],$1 | MOV [y],$1 ; MOV [L_a],$0 | MOV [L_y],$0 ; MOV [x],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[z] ; Lock03: | Lock09: ; MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_y],ECX | XCHG [L_a],ECX ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock11 ; Lock04: | Lock10: ; MOV ECX,[L_y] | MOV ECX,[L_a] ; CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock09 ; JMP Lock04 | JMP Lock10 ; Lock05: | Lock11: ; MOV EBX,[y] | MOV EBX,[a] ; MOV [L_y],$0 | MOV [L_a],$0 ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EBX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r10) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r10),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: movl $1,(%rdi) _litmus_P1_14_: movl (%rdi),%eax _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r11) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r11),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%r9),%edx _litmus_P1_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r11) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%ebx _litmus_P0_7_: cmpl $0,%ebx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: movl $1,(%r8) _litmus_P0_14_: movl (%r8),%eax _litmus_P0_15_: LitLock03: _litmus_P0_16_: movl $1,%ebx _litmus_P0_17_: xchgl %ebx,(%r10) _litmus_P0_18_: cmpl $0,%ebx _litmus_P0_19_: je LitLock05 _litmus_P0_20_: LitLock04: _litmus_P0_21_: movl (%r10),%ebx _litmus_P0_22_: cmpl $0,%ebx _litmus_P0_23_: je LitLock03 _litmus_P0_24_: jmp LitLock04 _litmus_P0_25_: LitLock05: _litmus_P0_26_: movl (%rdi),%edx _litmus_P0_27_: movl $0,(%r10) Test X031-L Required Histogram (3 states) 108577746:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 119917422:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 771504832:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 1000000000, 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 212.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X032-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032-L "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_x],ECX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_b] | MOV ECX,[L_x] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [b],$1 | MOV [x],$1 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_z],$0 ; Lock03: | MOV [y],$1 | MOV [a],$1 ; MOV EBX,$1 | MOV EAX,[y] | MOV EAX,[a] ; XCHG [L_x],EBX | Lock09: | Lock15: ; CMP EBX,$0 | MOV ECX,$1 | MOV ECX,$1 ; JE Lock05 | XCHG [L_z],ECX | XCHG [L_b],ECX ; Lock04: | CMP ECX,$0 | CMP ECX,$0 ; MOV EBX,[L_x] | JE Lock11 | JE Lock17 ; CMP EBX,$0 | Lock10: | Lock16: ; JE Lock03 | MOV ECX,[L_z] | MOV ECX,[L_b] ; JMP Lock04 | CMP ECX,$0 | CMP ECX,$0 ; Lock05: | JE Lock09 | JE Lock15 ; MOV EAX,[x] | JMP Lock10 | JMP Lock16 ; MOV [L_x],$0 | Lock11: | Lock17: ; | MOV EBX,[z] | MOV EBX,[b] ; | MOV [L_z],$0 | MOV [L_b],$0 ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%r9) _litmus_P2_14_: movl (%r9),%eax _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r8),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r11) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r9) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl $1,(%r8) _litmus_P1_14_: movl (%r8),%eax _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r10) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r10),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rdi),%edx _litmus_P1_27_: movl $0,(%r10) Test X032-L Required Histogram (7 states) 3976116:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 4206070:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 119775961:>0:EAX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 6356000:>0:EAX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 119608886:>0:EAX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 134645139:>0:EAX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 111431828:>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 550.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X033-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033-L "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_x],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_b] | MOV ECX,[L_x] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [b],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_z],$0 ; Lock03: | MOV [y],$1 | MOV [a],$1 ; MOV EAX,$1 | MOV EAX,[y] | MOV EAX,[a] ; XCHG [L_x],EAX | Lock09: | Lock15: ; CMP EAX,$0 | MOV ECX,$1 | MOV ECX,$1 ; JE Lock05 | XCHG [L_z],ECX | XCHG [L_b],ECX ; Lock04: | CMP ECX,$0 | CMP ECX,$0 ; MOV EAX,[L_x] | JE Lock11 | JE Lock17 ; CMP EAX,$0 | Lock10: | Lock16: ; JE Lock03 | MOV ECX,[L_z] | MOV ECX,[L_b] ; JMP Lock04 | CMP ECX,$0 | CMP ECX,$0 ; Lock05: | JE Lock09 | JE Lock15 ; MOV [x],$1 | JMP Lock10 | JMP Lock16 ; MOV [L_x],$0 | Lock11: | Lock17: ; | MOV EBX,[z] | MOV EBX,[b] ; | MOV [L_z],$0 | MOV [L_b],$0 ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%r9) _litmus_P2_14_: movl (%r9),%eax _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r8),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r11) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r9) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl $1,(%r8) _litmus_P1_14_: movl (%r8),%eax _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r10) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r10),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rdi),%edx _litmus_P1_27_: movl $0,(%r10) Test X033-L Required Histogram (7 states) 5542141:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; x=1; 117793034:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=1; 116506242:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=1; 111722607:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; x=1; 4062372:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; x=2; 8307909:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; x=2; 136065695:>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 559.93 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X034-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034-L "Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 ; Lock00: | Lock06: ; MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_z],EBX | XCHG [L_x],ECX ; CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV EBX,[L_z] | MOV ECX,[L_x] ; CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [z],$1 | MOV [x],$1 ; MOV [L_z],$0 | MOV [L_x],$0 ; Lock03: | MOV [y],$1 ; MOV EBX,$1 | MOV EAX,[y] ; XCHG [L_x],EBX | Lock09: ; CMP EBX,$0 | MOV ECX,$1 ; JE Lock05 | XCHG [L_z],ECX ; Lock04: | CMP ECX,$0 ; MOV EBX,[L_x] | JE Lock11 ; CMP EBX,$0 | Lock10: ; JE Lock03 | MOV ECX,[L_z] ; JMP Lock04 | CMP ECX,$0 ; Lock05: | JE Lock09 ; MOV EAX,[x] | JMP Lock10 ; MOV [L_x],$0 | Lock11: ; | MOV EBX,[z] ; | MOV [L_z],$0 ; forall (1:EAX=1 /\ (0:EAX=1 /\ (1:EBX=1 \/ 1:EBX=0) \/ 0:EAX=0 /\ 1:EBX=1)) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r11) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%r9) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl $1,(%r8) _litmus_P1_14_: movl (%r8),%eax _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r10) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r10),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rdi),%edx _litmus_P1_27_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%r8) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rsi),%eax _litmus_P0_25_: movl $0,(%r8) Test X034-L Required Histogram (3 states) 131838207:>0:EAX=1; 1:EAX=1; 1:EBX=0; 149797692:>0:EAX=0; 1:EAX=1; 1:EBX=1; 718364101:>0:EAX=1; 1:EAX=1; 1:EBX=1; Ok Witnesses Positive: 1000000000, 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 190.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X035-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035-L "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EBX | XCHG [L_y],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_a] | MOV EBX,[L_x] | MOV ECX,[L_y] ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | MOV [z],$1 ; MOV EBX,$1 | MOV EBX,$1 | MOV EAX,[z] ; XCHG [L_x],EBX | XCHG [L_y],EBX | Lock15: ; CMP EBX,$0 | CMP EBX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | XCHG [L_a],ECX ; Lock04: | Lock10: | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EBX,[L_y] | JE Lock17 ; CMP EBX,$0 | CMP EBX,$0 | Lock16: ; JE Lock03 | JE Lock09 | MOV ECX,[L_a] ; JMP Lock04 | JMP Lock10 | CMP ECX,$0 ; Lock05: | Lock11: | JE Lock15 ; MOV EAX,[x] | MOV EAX,[y] | JMP Lock16 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock17: ; | | MOV EBX,[a] ; | | MOV [L_a],$0 ; forall (2:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EAX=0 /\ 2:EBX=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%rdi) _litmus_P2_14_: movl (%rdi),%eax _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r9),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) Test X035-L Required Histogram (7 states) 6808967:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3740919:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 113465551:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 6988998:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 132559813:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 127754825:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 108680927:>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 524.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X036-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036-L "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_b] | MOV EBX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EAX,[a] ; XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EBX | Lock21: ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] | JE Lock23 ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X036-L Required Histogram (15 states) 10715 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; 11984 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 7254821:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; 8099 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 23934934:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; 4048187:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 72130889:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; 19041 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 8565638:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; 27789051:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 83861758:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; 7443180:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 82083950:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; 80708617:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; 102129136:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 500000000, 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 635.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X037-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037-L "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_b] | MOV EBX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EAX,[a] ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EBX | Lock21: ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] | JE Lock23 ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X037-L Required Histogram (15 states) 9596 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 7060140:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; 22388886:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 71175495:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; 7891890:>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 85993027:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; 83352642:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 96325855:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; 11518 :>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; 8222 :>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 4541737:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; 28062 :>1:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 28173327:>1:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; 7631137:>1:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; 85408466:>1:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 500000000, 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 639.64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X038-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038-L "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EBX | XCHG [L_y],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_a] | MOV EBX,[L_x] | MOV ECX,[L_y] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | MOV [z],$1 ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,[z] ; XCHG [L_x],EAX | XCHG [L_y],EBX | Lock15: ; CMP EAX,$0 | CMP EBX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | XCHG [L_a],ECX ; Lock04: | Lock10: | CMP ECX,$0 ; MOV EAX,[L_x] | MOV EBX,[L_y] | JE Lock17 ; CMP EAX,$0 | CMP EBX,$0 | Lock16: ; JE Lock03 | JE Lock09 | MOV ECX,[L_a] ; JMP Lock04 | JMP Lock10 | CMP ECX,$0 ; Lock05: | Lock11: | JE Lock15 ; MOV [x],$1 | MOV EAX,[y] | JMP Lock16 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock17: ; | | MOV EBX,[a] ; | | MOV [L_a],$0 ; forall (2:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%rdi) _litmus_P2_14_: movl (%rdi),%eax _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r9),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) Test X038-L Required Histogram (7 states) 7596243:>1:EAX=0; 2:EAX=1; 2:EBX=0; x=1; 112847670:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=1; 129829032:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=1; 106678195:>1:EAX=1; 2:EAX=1; 2:EBX=1; x=1; 4242755:>1:EAX=1; 2:EAX=1; 2:EBX=0; x=2; 8133019:>1:EAX=0; 2:EAX=1; 2:EBX=1; x=2; 130673086:>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 533.35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X039-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039-L "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_b] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV EAX,[a] ; XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],EBX | Lock21: ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] | JE Lock23 ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[z] | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 0:EAX=0 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ y=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X039-L Required Histogram (15 states) 11033 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 7860738:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=1; 4225123:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 72060662:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=1; 28867144:>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 87586143:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=1; 79192200:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 94563776:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=1; 13807 :>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; y=2; 7396 :>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 22962683:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; y=2; 19902 :>0:EAX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 7790540:>0:EAX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; y=2; 6773110:>0:EAX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; 88065743:>0:EAX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; y=2; Ok Witnesses Positive: 500000000, 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 640.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X040-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040-L "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_b] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV EAX,[a] ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EBX | Lock21: ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] | JE Lock23 ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X040-L Required Histogram (15 states) 7057872:>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 69813066:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 83931437:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 96568961:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 10462 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 4435472:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 25700708:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 83446259:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 12693 :>2:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 21822154:>2:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 9837999:>2:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 90101835:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 7806 :>2:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 23816 :>2:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 7229460:>2:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 643.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X041-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041-L "Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 ; Lock00: | Lock06: ; MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_z],EAX | XCHG [L_x],ECX ; CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV EAX,[L_z] | MOV ECX,[L_x] ; CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [z],$1 | MOV [x],$2 ; MOV [L_z],$0 | MOV [L_x],$0 ; Lock03: | MOV [y],$1 ; MOV EAX,$1 | MOV EAX,[y] ; XCHG [L_x],EAX | Lock09: ; CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | XCHG [L_z],ECX ; Lock04: | CMP ECX,$0 ; MOV EAX,[L_x] | JE Lock11 ; CMP EAX,$0 | Lock10: ; JE Lock03 | MOV ECX,[L_z] ; JMP Lock04 | CMP ECX,$0 ; Lock05: | JE Lock09 ; MOV [x],$1 | JMP Lock10 ; MOV [L_x],$0 | Lock11: ; | MOV EBX,[z] ; | MOV [L_z],$0 ; forall (1:EAX=1 /\ (1:EBX=1 /\ (x=2 \/ x=1) \/ 1:EBX=0 /\ x=1)) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r11) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r11),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%r9) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: movl $1,(%r8) _litmus_P1_14_: movl (%r8),%eax _litmus_P1_15_: LitLock09: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r10) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock11 _litmus_P1_20_: LitLock10: _litmus_P1_21_: movl (%r10),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock09 _litmus_P1_24_: jmp LitLock10 _litmus_P1_25_: LitLock11: _litmus_P1_26_: movl (%rdi),%edx _litmus_P1_27_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) Test X041-L Required Histogram (3 states) 146125043:>1:EAX=1; 1:EBX=0; x=1; 612395426:>1:EAX=1; 1:EBX=1; x=1; 241479531:>1:EAX=1; 1:EBX=1; x=2; Ok Witnesses Positive: 1000000000, 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 176.90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X042-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042-L "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EAX | XCHG [L_y],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_a] | MOV EAX,[L_x] | MOV ECX,[L_y] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | MOV [z],$1 ; MOV EBX,$1 | MOV EAX,$1 | MOV EAX,[z] ; XCHG [L_x],EBX | XCHG [L_y],EAX | Lock15: ; CMP EBX,$0 | CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | XCHG [L_a],ECX ; Lock04: | Lock10: | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EAX,[L_y] | JE Lock17 ; CMP EBX,$0 | CMP EAX,$0 | Lock16: ; JE Lock03 | JE Lock09 | MOV ECX,[L_a] ; JMP Lock04 | JMP Lock10 | CMP ECX,$0 ; Lock05: | Lock11: | JE Lock15 ; MOV EAX,[x] | MOV [y],$1 | JMP Lock16 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock17: ; | | MOV EBX,[a] ; | | MOV [L_a],$0 ; forall (2:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ (y=2 \/ y=1)) \/ 0:EAX=0 /\ (2:EBX=1 /\ (y=2 \/ y=1) \/ 2:EBX=0 /\ y=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%rdi) _litmus_P2_14_: movl (%rdi),%eax _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r9),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) Test X042-L Required Histogram (7 states) 3989805:>0:EAX=0; 2:EAX=1; 2:EBX=0; y=1; 111382381:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=1; 127049437:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=1; 110108307:>0:EAX=1; 2:EAX=1; 2:EBX=1; y=1; 7378326:>0:EAX=1; 2:EAX=1; 2:EBX=0; y=2; 6855037:>0:EAX=0; 2:EAX=1; 2:EBX=1; y=2; 133236707:>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 533.90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X043-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X043-L "Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_b] | MOV EBX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV EAX,[a] ; XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EAX | Lock21: ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EAX,[L_z] | JE Lock23 ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV EAX,[x] | MOV EAX,[y] | MOV [z],$1 | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 1:EAX=0 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X043-L Required Histogram (15 states) 7375 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 21948903:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=1; 4511358:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 70937124:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=1; 7372434:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 82388163:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=1; 82032343:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 101119654:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=1; 11613 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; z=2; 17552 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 7717198:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; z=2; 18531 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 8645773:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; z=2; 25381188:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; 87890791:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; z=2; Ok Witnesses Positive: 500000000, 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 641.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X044-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044-L "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_b] | MOV EBX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV EAX,[a] ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EAX | Lock21: ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EAX,[L_z] | JE Lock23 ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X044-L Required Histogram (15 states) 21193620:>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=1; 70620025:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=1; 82519153:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=1; 98058999:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=1; 7266 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; z=1; 4868011:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=1; 7822568:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=1; 86049455:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=1; 9785 :>1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; z=2; 7044495:>1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; z=2; 8754928:>1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; z=2; 87852890:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; z=2; 14763 :>1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; z=2; 29875 :>1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; z=2; 25154167:>1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; z=2; Ok Witnesses Positive: 500000000, 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 643.28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X045-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045-L "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EAX | XCHG [L_y],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_a] | MOV EAX,[L_x] | MOV ECX,[L_y] ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | MOV [z],$1 ; MOV EAX,$1 | MOV EAX,$1 | MOV EAX,[z] ; XCHG [L_x],EAX | XCHG [L_y],EAX | Lock15: ; CMP EAX,$0 | CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | XCHG [L_a],ECX ; Lock04: | Lock10: | CMP ECX,$0 ; MOV EAX,[L_x] | MOV EAX,[L_y] | JE Lock17 ; CMP EAX,$0 | CMP EAX,$0 | Lock16: ; JE Lock03 | JE Lock09 | MOV ECX,[L_a] ; JMP Lock04 | JMP Lock10 | CMP ECX,$0 ; Lock05: | Lock11: | JE Lock15 ; MOV [x],$1 | MOV [y],$1 | JMP Lock16 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock17: ; | | MOV EBX,[a] ; | | MOV [L_a],$0 ; forall (2:EAX=1 /\ (2:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%rdi) _litmus_P2_14_: movl (%rdi),%eax _litmus_P2_15_: LitLock15: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock17 _litmus_P2_20_: LitLock16: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock15 _litmus_P2_24_: jmp LitLock16 _litmus_P2_25_: LitLock17: _litmus_P2_26_: movl (%r9),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) Test X045-L Required Histogram (7 states) 110344963:>2:EAX=1; 2:EBX=0; x=1; y=1; 102382669:>2:EAX=1; 2:EBX=1; x=1; y=1; 4335922:>2:EAX=1; 2:EBX=0; x=2; y=1; 128967765:>2:EAX=1; 2:EBX=1; x=2; y=1; 8679555:>2:EAX=1; 2:EBX=0; x=1; y=2; 138022815:>2:EAX=1; 2:EBX=1; x=1; y=2; 7266311:>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 540.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X046-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046-L "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_b] | MOV EAX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EBX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV EAX,[a] ; XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],EAX | Lock21: ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EAX,[L_y] | MOV EAX,[L_z] | JE Lock23 ; CMP EBX,$0 | CMP EAX,$0 | CMP EAX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV EAX,[x] | MOV [y],$1 | MOV [z],$1 | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (0:EAX=1 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 0:EAX=0 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X046-L Required Histogram (15 states) 4739070:>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=1; 72417971:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=1; 79089870:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=1; 98591634:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=1; 6948 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=2; z=1; 20827430:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=1; 6987134:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=1; 86660698:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=1; 12872 :>0:EAX=0; 3:EAX=1; 3:EBX=0; y=1; z=2; 7706330:>0:EAX=1; 3:EAX=1; 3:EBX=0; y=1; z=2; 24796533:>0:EAX=0; 3:EAX=1; 3:EBX=1; y=1; z=2; 89502302:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=1; z=2; 13411 :>0:EAX=1; 3:EAX=1; 3:EBX=0; y=2; z=2; 19716 :>0:EAX=0; 3:EAX=1; 3:EBX=1; y=2; z=2; 8628081:>0:EAX=1; 3:EAX=1; 3:EBX=1; y=2; z=2; Ok Witnesses Positive: 500000000, 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 644.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X047-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047-L "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_b] | MOV EAX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | MOV [a],$1 ; MOV EAX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV EAX,[a] ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EAX | Lock21: ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock11 | JE Lock17 | XCHG [L_b],ECX ; Lock04: | Lock10: | Lock16: | CMP ECX,$0 ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EAX,[L_z] | JE Lock23 ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | Lock22: ; JE Lock03 | JE Lock09 | JE Lock15 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock10 | JMP Lock16 | CMP ECX,$0 ; Lock05: | Lock11: | Lock17: | JE Lock21 ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | JMP Lock22 ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | Lock23: ; | | | MOV EBX,[b] ; | | | MOV [L_b],$0 ; forall (3:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock21: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock23 _litmus_P3_20_: LitLock22: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock21 _litmus_P3_24_: jmp LitLock22 _litmus_P3_25_: LitLock23: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X047-L Required Histogram (15 states) 71346536:>3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 95004052:>3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 4867524:>3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 83586545:>3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 20780705:>3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 87780889:>3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 7190 :>3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 7602341:>3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 6770248:>3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 88366644:>3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 11008 :>3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 24873802:>3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 9764 :>3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 8968871:>3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 23881 :>3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 500000000, 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 649.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X048-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048-L "Fre PodWR Fre PodWR" {} P0 | P1 ; Lock00: | Lock06: ; MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_y],EBX | XCHG [L_x],EBX ; CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV EBX,[L_y] | MOV EBX,[L_x] ; CMP EBX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [y],$1 | MOV [x],$1 ; MOV [L_y],$0 | MOV [L_x],$0 ; Lock03: | Lock09: ; MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_x],EBX | XCHG [L_y],EBX ; CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 ; Lock04: | Lock10: ; MOV EBX,[L_x] | MOV EBX,[L_y] ; CMP EBX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 ; JMP Lock04 | JMP Lock10 ; Lock05: | Lock11: ; MOV EAX,[x] | MOV EAX,[y] ; MOV [L_x],$0 | MOV [L_y],$0 ; forall (0:EAX=1 /\ (1:EAX=1 \/ 1:EAX=0) \/ 0:EAX=0 /\ 1:EAX=1) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%r8) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rsi),%eax _litmus_P0_25_: movl $0,(%r8) Test X048-L Required Histogram (3 states) 223024274:>0:EAX=1; 1:EAX=0; 226971622:>0:EAX=0; 1:EAX=1; 550004104:>0:EAX=1; 1:EAX=1; Ok Witnesses Positive: 1000000000, 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 159.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X049-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049-L "Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_z],EBX | XCHG [L_x],EBX | XCHG [L_y],EBX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EBX,[L_z] | MOV EBX,[L_x] | MOV EBX,[L_y] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | Lock15: ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EBX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 ; Lock04: | Lock10: | Lock16: ; MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 ; JMP Lock04 | JMP Lock10 | JMP Lock16 ; Lock05: | Lock11: | Lock17: ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EAX=0 /\ 2:EAX=1)) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%r8) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rsi),%eax _litmus_P0_25_: movl $0,(%r8) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) Test X049-L Required Histogram (7 states) 5242739:>0:EAX=1; 1:EAX=0; 2:EAX=0; 7117500:>0:EAX=0; 1:EAX=1; 2:EAX=0; 135202202:>0:EAX=1; 1:EAX=1; 2:EAX=0; 5259938:>0:EAX=0; 1:EAX=0; 2:EAX=1; 134807735:>0:EAX=1; 1:EAX=0; 2:EAX=1; 130892103:>0:EAX=0; 1:EAX=1; 2:EAX=1; 81477783:>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 498.85 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X050-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050-L "Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EBX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EBX,[L_a] | MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EBX | XCHG [L_a],EBX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] | MOV EBX,[L_a] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 | JE Lock21 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JMP Lock22 ; Lock05: | Lock11: | Lock17: | Lock23: ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_a],$0 ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EAX=0 /\ 3:EAX=1))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r9d _litmus_P0_2_: xchgl %r9d,(%r8) _litmus_P0_3_: cmpl $0,%r9d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%r9d _litmus_P0_7_: cmpl $0,%r9d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r9d _litmus_P0_15_: xchgl %r9d,(%rdi) _litmus_P0_16_: cmpl $0,%r9d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r9d _litmus_P0_20_: cmpl $0,%r9d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rcx),%eax _litmus_P0_25_: movl $0,(%rdi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X050-L Required Histogram (15 states) 12259 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=0; 13174 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=0; 7607766:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=0; 11603 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=0; 28110354:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=0; 6238652:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=0; 82121492:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=0; 15569 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 3:EAX=1; 8185423:>0:EAX=1; 1:EAX=0; 2:EAX=0; 3:EAX=1; 29502970:>0:EAX=0; 1:EAX=1; 2:EAX=0; 3:EAX=1; 79609622:>0:EAX=1; 1:EAX=1; 2:EAX=0; 3:EAX=1; 9013407:>0:EAX=0; 1:EAX=0; 2:EAX=1; 3:EAX=1; 80875265:>0:EAX=1; 1:EAX=0; 2:EAX=1; 3:EAX=1; 83828217:>0:EAX=0; 1:EAX=1; 2:EAX=1; 3:EAX=1; 84854227:>0:EAX=1; 1:EAX=1; 2:EAX=1; 3:EAX=1; Ok Witnesses Positive: 500000000, 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 604.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X051-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051-L "Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EBX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EBX | XCHG [L_a],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] | MOV EBX,[L_a] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 | JE Lock21 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JMP Lock22 ; Lock05: | Lock11: | Lock17: | Lock23: ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_a],$0 ; forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ x=1))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X051-L Required Histogram (15 states) 12290 :>1:EAX=0; 2:EAX=0; 3:EAX=0; x=1; 8137804:>1:EAX=1; 2:EAX=0; 3:EAX=0; x=1; 25742155:>1:EAX=0; 2:EAX=1; 3:EAX=0; x=1; 78237827:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=1; 8894896:>1:EAX=0; 2:EAX=0; 3:EAX=1; x=1; 81698733:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=1; 81184817:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=1; 89134500:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=1; 12393 :>1:EAX=1; 2:EAX=0; 3:EAX=0; x=2; 14539 :>1:EAX=0; 2:EAX=1; 3:EAX=0; x=2; 8096254:>1:EAX=1; 2:EAX=1; 3:EAX=0; x=2; 21818 :>1:EAX=0; 2:EAX=0; 3:EAX=1; x=2; 25771784:>1:EAX=1; 2:EAX=0; 3:EAX=1; x=2; 8215451:>1:EAX=0; 2:EAX=1; 3:EAX=1; x=2; 84824739:>1:EAX=1; 2:EAX=1; 3:EAX=1; x=2; Ok Witnesses Positive: 500000000, 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 613.62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X052-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052-L "Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_z],EAX | XCHG [L_x],EBX | XCHG [L_y],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_z] | MOV EBX,[L_x] | MOV EBX,[L_y] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | Lock15: ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 ; Lock04: | Lock10: | Lock16: ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 ; JMP Lock04 | JMP Lock10 | JMP Lock16 ; Lock05: | Lock11: | Lock17: ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; forall (1:EAX=1 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EAX=1 /\ (x=2 \/ x=1) \/ 2:EAX=0 /\ x=1)) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) Test X052-L Required Histogram (7 states) 6595228:>1:EAX=0; 2:EAX=0; x=1; 131737154:>1:EAX=1; 2:EAX=0; x=1; 126045930:>1:EAX=0; 2:EAX=1; x=1; 89203541:>1:EAX=1; 2:EAX=1; x=1; 7892777:>1:EAX=1; 2:EAX=0; x=2; 8815864:>1:EAX=0; 2:EAX=1; x=2; 129709506:>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 519.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X053-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053-L "Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EBX ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EBX | XCHG [L_a],EBX ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] | MOV EBX,[L_a] ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 | JE Lock21 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JMP Lock22 ; Lock05: | Lock11: | Lock17: | Lock23: ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[a] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_a],$0 ; forall (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $1,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X053-L Required Histogram (15 states) 9753582:>2:EAX=0; 3:EAX=0; x=1; y=1; 75879294:>2:EAX=1; 3:EAX=0; x=1; y=1; 80615197:>2:EAX=0; 3:EAX=1; x=1; y=1; 90265199:>2:EAX=1; 3:EAX=1; x=1; y=1; 12504 :>2:EAX=0; 3:EAX=0; x=2; y=1; 7816565:>2:EAX=1; 3:EAX=0; x=2; y=1; 23639111:>2:EAX=0; 3:EAX=1; x=2; y=1; 82801601:>2:EAX=1; 3:EAX=1; x=2; y=1; 16598 :>2:EAX=0; 3:EAX=0; x=1; y=2; 25479943:>2:EAX=1; 3:EAX=0; x=1; y=2; 10238256:>2:EAX=0; 3:EAX=1; x=1; y=2; 86255811:>2:EAX=1; 3:EAX=1; x=1; y=2; 13409 :>2:EAX=1; 3:EAX=0; x=2; y=2; 18379 :>2:EAX=0; 3:EAX=1; x=2; y=2; 7194551:>2:EAX=1; 3:EAX=1; x=2; y=2; Ok Witnesses Positive: 500000000, 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 613.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X054-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054-L "Fre PodWW Wse PodWR" {} P0 | P1 ; Lock00: | Lock06: ; MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_y],EAX | XCHG [L_x],EBX ; CMP EAX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 ; Lock01: | Lock07: ; MOV EAX,[L_y] | MOV EBX,[L_x] ; CMP EAX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock06 ; JMP Lock01 | JMP Lock07 ; Lock02: | Lock08: ; MOV [y],$1 | MOV [x],$2 ; MOV [L_y],$0 | MOV [L_x],$0 ; Lock03: | Lock09: ; MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EBX ; CMP EAX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 ; Lock04: | Lock10: ; MOV EAX,[L_x] | MOV EBX,[L_y] ; CMP EAX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 ; JMP Lock04 | JMP Lock10 ; Lock05: | Lock11: ; MOV [x],$1 | MOV EAX,[y] ; MOV [L_x],$0 | MOV [L_y],$0 ; forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) Generated assembler _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) Test X054-L Required Histogram (3 states) 342668833:>1:EAX=0; x=1; 383725731:>1:EAX=1; x=1; 273605436:>1:EAX=1; x=2; Ok Witnesses Positive: 1000000000, Negative: 0 Condition forall (1:EAX=1 /\ (x=2 \/ x=1) \/ 1:EAX=0 /\ x=1) is validated Hash=98231cefc19f79f58d18ef9e912f76fc Time X054-L 156.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X055-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055-L "Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EBX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EAX | XCHG [L_a],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EAX,[L_z] | MOV EBX,[L_a] ; CMP EAX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 | JE Lock21 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JMP Lock22 ; Lock05: | Lock11: | Lock17: | Lock23: ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | MOV EAX,[a] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_a],$0 ; forall (1:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 1:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EAX=0 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: cmpl $0,%r9d _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%r8),%r9d _litmus_P1_7_: cmpl $0,%r9d _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%r9d _litmus_P1_15_: xchgl %r9d,(%rdi) _litmus_P1_16_: cmpl $0,%r9d _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rdi),%r9d _litmus_P1_20_: cmpl $0,%r9d _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl (%rcx),%eax _litmus_P1_25_: movl $0,(%rdi) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $1,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X055-L Required Histogram (15 states) 21905345:>1:EAX=0; 3:EAX=0; x=1; z=1; 75994341:>1:EAX=1; 3:EAX=0; x=1; z=1; 77553336:>1:EAX=0; 3:EAX=1; x=1; z=1; 95667611:>1:EAX=1; 3:EAX=1; x=1; z=1; 12547 :>1:EAX=0; 3:EAX=0; x=2; z=1; 8587581:>1:EAX=1; 3:EAX=0; x=2; z=1; 9033315:>1:EAX=0; 3:EAX=1; x=2; z=1; 85622309:>1:EAX=1; 3:EAX=1; x=2; z=1; 12608 :>1:EAX=0; 3:EAX=0; x=1; z=2; 9443975:>1:EAX=1; 3:EAX=0; x=1; z=2; 9325050:>1:EAX=0; 3:EAX=1; x=1; z=2; 84714579:>1:EAX=1; 3:EAX=1; x=1; z=2; 20843 :>1:EAX=1; 3:EAX=0; x=2; z=2; 24818 :>1:EAX=0; 3:EAX=1; x=2; z=2; 22081742:>1:EAX=1; 3:EAX=1; x=2; z=2; Ok Witnesses Positive: 500000000, 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 613.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X056-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056-L "Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 ; Lock00: | Lock06: | Lock12: ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_z],EAX | XCHG [L_x],EAX | XCHG [L_y],EBX ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 ; Lock01: | Lock07: | Lock13: ; MOV EAX,[L_z] | MOV EAX,[L_x] | MOV EBX,[L_y] ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 ; JMP Lock01 | JMP Lock07 | JMP Lock13 ; Lock02: | Lock08: | Lock14: ; MOV [z],$1 | MOV [x],$2 | MOV [y],$2 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 ; Lock03: | Lock09: | Lock15: ; MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EBX ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 ; Lock04: | Lock10: | Lock16: ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 ; JMP Lock04 | JMP Lock10 | JMP Lock16 ; Lock05: | Lock11: | Lock17: ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; forall (2:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))) Generated assembler _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rcx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rsi) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%rsi) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) Test X056-L Required Histogram (7 states) 129696495:>2:EAX=0; x=1; y=1; 86296984:>2:EAX=1; x=1; y=1; 7411913:>2:EAX=0; x=2; y=1; 130417938:>2:EAX=1; x=2; y=1; 7701351:>2:EAX=0; x=1; y=2; 129752521:>2:EAX=1; x=1; y=2; 8722798:>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 509.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X057-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X057-L "Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock06: | Lock12: | Lock18: ; MOV EAX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EBX ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock08 | JE Lock14 | JE Lock20 ; Lock01: | Lock07: | Lock13: | Lock19: ; MOV EAX,[L_a] | MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EBX,[L_z] ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock06 | JE Lock12 | JE Lock18 ; JMP Lock01 | JMP Lock07 | JMP Lock13 | JMP Lock19 ; Lock02: | Lock08: | Lock14: | Lock20: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock09: | Lock15: | Lock21: ; MOV EAX,$1 | MOV EAX,$1 | MOV EAX,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],EAX | XCHG [L_a],EBX ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock11 | JE Lock17 | JE Lock23 ; Lock04: | Lock10: | Lock16: | Lock22: ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV EAX,[L_z] | MOV EBX,[L_a] ; CMP EAX,$0 | CMP EAX,$0 | CMP EAX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock09 | JE Lock15 | JE Lock21 ; JMP Lock04 | JMP Lock10 | JMP Lock16 | JMP Lock22 ; Lock05: | Lock11: | Lock17: | Lock23: ; MOV [x],$1 | MOV [y],$1 | MOV [z],$1 | MOV EAX,[a] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_a],$0 ; forall (3:EAX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) Generated assembler _litmus_P3_0_: LitLock18: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock20 _litmus_P3_5_: LitLock19: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock18 _litmus_P3_9_: jmp LitLock19 _litmus_P3_10_: LitLock20: _litmus_P3_11_: movl $2,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock21: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock23 _litmus_P3_18_: LitLock22: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock21 _litmus_P3_22_: jmp LitLock22 _litmus_P3_23_: LitLock23: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rsi) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdx) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%rcx) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rcx),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rcx) _litmus_P1_0_: LitLock06: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rsi) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock08 _litmus_P1_5_: LitLock07: _litmus_P1_6_: movl (%rsi),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock06 _litmus_P1_9_: jmp LitLock07 _litmus_P1_10_: LitLock08: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock09: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%rcx) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock11 _litmus_P1_18_: LitLock10: _litmus_P1_19_: movl (%rcx),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock09 _litmus_P1_22_: jmp LitLock10 _litmus_P1_23_: LitLock11: _litmus_P1_24_: movl $1,(%rax) _litmus_P1_25_: movl $0,(%rcx) _litmus_P2_0_: LitLock12: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock14 _litmus_P2_5_: LitLock13: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock12 _litmus_P2_9_: jmp LitLock13 _litmus_P2_10_: LitLock14: _litmus_P2_11_: movl $2,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock15: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock17 _litmus_P2_18_: LitLock16: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock15 _litmus_P2_22_: jmp LitLock16 _litmus_P2_23_: LitLock17: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X057-L Required Histogram (15 states) 75050600:>3:EAX=0; x=1; y=1; z=1; 85783846:>3:EAX=1; x=1; y=1; z=1; 7684222:>3:EAX=0; x=2; y=1; z=1; 84067045:>3:EAX=1; x=2; y=1; z=1; 24063936:>3:EAX=0; x=1; y=2; z=1; 85015830:>3:EAX=1; x=1; y=2; z=1; 10916 :>3:EAX=0; x=2; y=2; z=1; 7466940:>3:EAX=1; x=2; y=2; z=1; 10692259:>3:EAX=0; x=1; y=1; z=2; 86905483:>3:EAX=1; x=1; y=1; z=2; 15362 :>3:EAX=0; x=2; y=1; z=2; 23283028:>3:EAX=1; x=2; y=1; z=2; 12404 :>3:EAX=0; x=1; y=2; z=2; 9931207:>3:EAX=1; x=1; y=2; z=2; 16922 :>3:EAX=1; x=2; y=2; z=2; Ok Witnesses Positive: 500000000, 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 618.55 Revision 6676, version 3.00+1 Parameters #ifndef SIZE_OF_TEST #define SIZE_OF_TEST 5000 #endif #ifndef NUMBER_OF_RUN #define NUMBER_OF_RUN 200 #endif #ifndef AVAIL #define AVAIL 8 #endif /* gcc options: -D_GNU_SOURCE -Wall -std=gnu99 -fomit-frame-pointer -O2 -m64 -pthread */ /* barrier: user */ /* launch: changing */ /* cache: false */ /* call: false */ /* affinity: incr4 */ /* randomise_affinity: false */ /* prealloc: false */ /* memory: indirect */ /* safer: true */ /* preload: true */ /* para: self */ /* speedcheck: false */ /* proc used: 8 */ GCCOPTS="-D_GNU_SOURCE -Wall -std=gnu99 -fomit-frame-pointer -O2 -m64 -pthread" LITMUSOPTS=-r 50000 Sun Jan 9 08:33:38 CET 2011