-
Notifications
You must be signed in to change notification settings - Fork 1
Compare
Matt Windsor edited this page Nov 6, 2018
·
2 revisions
The compare
command takes a C file, runs every compiler against it, and prints each generated litmus test, in Markdown, on standard output.
$ act compare -no-warnings ../memalloy/results/_latest/C/test_5.c
(Output slightly adjusted for the wiki, but is otherwise correct at time of writing.)
P0 | P1 ;
movl [t0sZM4], 2 | movl [t1sZM4], 2 ;
movl EAX, [t0sZM4] | movl EAX, [t1sZM4] ;
xchg [ZUx], EAX | xchg [ZUy], EAX ;
movl [t0sZM8], 1 | movl [t1sZM8], 1 ;
movl ECX, [t0sZM8] | movl ECX, [t1sZM8] ;
xchg [ZUy], ECX | xchg [ZUx], ECX ;
movl [t0sZM12], EAX | movl [t1sZM12], EAX ;
movl [t0sZM16], ECX | movl [t1sZM16], ECX ;
P0 | P1 ;
movl [ZUx], 2 | movl [ZUy], 2 ;
mfence | mfence ;
movl [ZUy], 1 | movl [ZUx], 1 ;
mfence | mfence ;
P0 | P1 ;
movl [t0sZM4], ZUx | movl [t1sZM4], ZUy ;
movl [t0sZM12], 2 | movl [t1sZM12], 2 ;
movl EAX, [t0sZM12] | movl EAX, [t1sZM12] ;
movl EDX, EAX | movl EDX, EAX ;
movl EAX, [t0sZM4] | movl EAX, [t1sZM4] ;
movl [EAX], EDX | movl [EAX], EDX ;
mfence | mfence ;
movl [t0sZM8], ZUy | movl [t1sZM8], ZUx ;
movl [t0sZM16], 1 | movl [t1sZM16], 1 ;
movl EAX, [t0sZM16] | movl EAX, [t1sZM16] ;
movl EDX, EAX | movl EDX, EAX ;
movl EAX, [t0sZM8] | movl EAX, [t1sZM8] ;
movl [EAX], EDX | movl [EAX], EDX ;
mfence | mfence ;