Implementation notes: x86, floodyberry, crypto_stream/rabbit

Computer: floodyberry
Architecture: x86
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20140505
Operation: crypto_stream
Primitive: rabbit
TimeImplementationCompilerBenchmark dateSUPERCOP version
4150e/opt/2/5gcc -m32 -O3 -fomit-frame-pointer2014050820140505
4150e/opt/2/5gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
4187e/opt/2/5gcc -m32 -O2 -fomit-frame-pointer2014050820140505
4187e/opt/2/5gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
4200e/opt/2/5icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
7425e/opt/2/4icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
7438e/opt/1/3icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
7638e/opt/2/3icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
7675e/opt/2/4gcc -m32 -O3 -fomit-frame-pointer2014050820140505
7725e/opt/1/4icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
7750e/opt/2/4gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
7763e/opt/2/4gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
7775e/opt/2/4gcc -m32 -O2 -fomit-frame-pointer2014050820140505
8062e/opt/2/3gcc -m32 -O3 -fomit-frame-pointer2014050820140505
8063e/opt/2/4icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
8075e/opt/1/3gcc -m32 -O3 -fomit-frame-pointer2014050820140505
8075e/opt/1/4gcc -m32 -O3 -fomit-frame-pointer2014050820140505
8075e/opt/1/3gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
8087e/opt/2/3gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
8100e/opt/1/3gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
8125e/opt/2/3gcc -m32 -O2 -fomit-frame-pointer2014050820140505
8125e/opt/1/4gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
8137e/opt/1/4gcc -m32 -O2 -fomit-frame-pointer2014050820140505
8150e/opt/2/3gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
8150e/opt/1/4gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
8212e/opt/1/3gcc -m32 -O2 -fomit-frame-pointer2014050820140505
8237e/opt/1/3clang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
8363e/opt/1/3icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
8375e/opt/2/3icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
8437e/opt/1/4icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
8925e/opt/2/4clang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
9000e/opt/1/2clang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
9050e/opt/2/2clang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
9137e/opt/1/4clang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
9150e/opt/2/2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
9187e/opt/2/3clang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
9200e/opt/2/2gcc -m32 -O3 -fomit-frame-pointer2014050820140505
9225e/opt/1/2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
9262e/opt/1/2gcc -m32 -O3 -fomit-frame-pointer2014050820140505
9262e/opt/1/2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
9275e/opt/1/2gcc -m32 -O2 -fomit-frame-pointer2014050820140505
9275e/opt/2/2gcc -m32 -O2 -fomit-frame-pointer2014050820140505
9275e/opt/2/2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
9663e/opt/2/2icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
9775e/opt/1/2icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
9838e/opt/1/2icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
9962e/opt/2/2icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
12038e/opt/2/1icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
12100e/opt/1/1icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
12263e/opt/2/1icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
12325e/opt/1/1icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
12450e/opt/1/1gcc -m32 -O3 -fomit-frame-pointer2014050820140505
12450e/opt/2/1gcc -m32 -O3 -fomit-frame-pointer2014050820140505
12462e/opt/2/1gcc -m32 -O2 -fomit-frame-pointer2014050820140505
12487e/opt/1/1gcc -m32 -O2 -fomit-frame-pointer2014050820140505
12538e/opt/2/1gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
12550e/opt/2/1gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
12588e/opt/1/1gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
12625e/opt/1/1gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
12812e/opt/2/1clang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
12962e/opt/1/1clang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
13962e/refgcc -m32 -O3 -fomit-frame-pointer2014050820140505
14700e/reficc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
15100e/refgcc -m32 -O2 -fomit-frame-pointer2014050820140505
15100e/refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
15475e/reficc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
16288e/refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
19375e/refclang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505

Test failure

Implementation: crypto_stream/rabbit/e/opt/1/1
Compiler: clang -O3 -march=native -m32 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -O3 -march=native -m32 -fomit-frame-pointer e/opt/1/1 e/opt/1/2 e/opt/1/3 e/opt/1/4 e/opt/2/1 e/opt/2/2 e/opt/2/3 e/opt/2/4 e/ref

Compiler output

Implementation: crypto_stream/rabbit/e/opt/2/5
Compiler: clang -O1 -march=native -m32 -fomit-frame-pointer
rabbit.c: In file included from rabbit.c:1:
rabbit.c: ./e/rabbit.c:712:7: error: invalid instruction mnemonic 'prefix'
rabbit.c: ".intel_syntax noprefix;"
rabbit.c: ^
rabbit.c: gt;:1:2471: note: instantiated into assembly here
rabbit.c: .intel_syntax noprefix;sub esp, 8;mov dword ptr [esp+ 4], ebp;mov dword ptr [esp+ 0], esi;movq mm0, qword ptr [eax+ 0];movq mm1, qword ptr [eax+ 8];movq mm3, qword ptr [eax+24];movq mm4, qword ptr [eax+32];movq mm5, qword ptr [eax+40];mov esi, dword ptr [eax+64];.align 16;process_opt_loop:paddd mm0, mm4;movq mm6, qword ptr [eax+48];add dword ptr [eax+32], esi;pshufw mm7, mm0, 0x4E;paddd mm1, mm5;movq mm2, qword ptr [eax+16];pmuludq mm0, mm0;paddd mm2, mm6;movq mm6, qword ptr [eax+56];pmuludq mm7, mm7;movq mm4, mm0;adc dword ptr [eax+40], 0xD34D34D3;paddd mm3, mm6;pshufw mm6, mm1, 0x4E;punpckhdq mm0, mm7;pmuludq mm1, mm1;punpckldq mm4, mm7;pshufw mm7, mm2, 0x4E;pmuludq mm6, mm6;pxor mm4, mm0;pmuludq mm2, mm2;adc dword ptr [eax+48], 0x34d34d34;movq mm5, mm1;pmuludq mm7, mm7;punpckldq mm5, mm6;punpckhdq mm1, mm6;pxor mm5, mm1;movq mm6, mm2;pshufw mm1, mm3, 0x4E;pmuludq mm3, mm3;punpckldq mm6, mm7;adc dword ptr [eax+56], 0x4D34D34D;punpckhdq mm2, mm7;pmuludq mm1, mm1;pshufw mm0, mm4, 0xB1;movq mm7, mm3;pxor mm6, mm2;pshufw mm2, mm5, 0xB1;paddd mm2, mm0;pshufw mm0, mm6, 0x1B;punpckldq mm7, mm1;adc dword ptr [eax+36], 0xD34D34D3;punpckhdq mm3, mm1;movq mm1, mm4;paddd mm0, mm4;pslld mm4, 8;pxor mm7, mm3;pshufw mm3, mm7, 0x1B;paddd mm0, mm3;movq mm3, mm6;paddd mm2, mm6;adc dword ptr [eax+44], 0x34D34D34;psrld mm1, 24;por mm1, mm4;psrld mm3, 24;pslld mm6, 8;paddd mm1, mm5;pshufw mm4, mm7, 0x4E;por mm3, mm6;paddd mm7, mm5;adc dword ptr [eax+52], 0x4D34D34D;paddd mm1, mm4;paddd mm3, mm7;pshufw mm7, mm1, 0x27;pshufw mm5, mm3, 0x78;movq qword ptr [eax+16], mm2;movq mm4, mm5;punpckhwd mm5, mm7;adc dword ptr [eax+60], 0xD34D34D3;punpcklwd mm7, mm4;movq mm4, qword ptr [ebx];pxor mm7, mm0;pxor mm5, mm2;pshufw mm6, mm7, 0xE4;movq mm2, qword ptr [ebx+ 8];punpckldq mm7, mm5;mov esi, 0;adc esi, 0x4D34D34D;add ebx, 16;pxor mm7, mm4;movq mm4, qword ptr [eax+32];movq qword ptr [ebx+ecx-16], mm7;punpckhdq mm6, mm5;cmp ebx, edx;movq mm5, qword ptr [eax+40];pxor mm6, mm2;movq qword ptr [ebx+ecx- 8], mm6;jb process_opt_loop;movq qword ptr [eax+ 0], mm0;movq qword ptr [eax+ 8], mm1;movq qword ptr [eax+24], mm3;mov dword ptr [eax+64], esi;mov ebp, dword ptr [esp+ 4];mov esi, dword ptr [esp+ 0];add esp, 8;emms;.att_syntax prefix;
rabbit.c: ^~~~~~~
rabbit.c: In file included from rabbit.c:1:
rabbit.c: ./e/rabbit.c:842:7: error: invalid instruction mnemonic 'prefix'
rabbit.c: ".intel_syntax noprefix;"
rabbit.c: ^
rabbit.c: gt;:1:2372: note: instantiated into assembly here
rabbit.c: .intel_syntax noprefix;sub esp, 8;mov dword ptr [esp+ 4], ebp;mov dword ptr [esp+ 0], esi;movq mm0, qword ptr [eax+ 0];movq mm1, qword ptr [eax+ 8];movq mm3, qword ptr [eax+24];movq mm4, qword ptr [eax+32];movq mm5, qword ptr [eax+40];mov esi, dword ptr [eax+64];.align 16;keystream_opt_loop:paddd mm0, mm4;movq mm6, qword ptr [eax+48];add dword ptr [eax+32], esi;pshufw mm7, mm0, 0x4E;paddd mm1, mm5;movq mm2, qword ptr [eax+16];pmuludq mm0, mm0;paddd mm2, mm6;movq mm6, qword ptr [eax+56];pmuludq mm7, mm7;movq mm4, mm0;adc dword ptr [eax+40], 0xD34D34D3;paddd mm3, mm6;pshufw mm6, mm1, 0x4E;punpckhdq mm0, mm7;pmuludq mm1, mm1;punpckldq mm4, mm7;pshufw mm7, mm2, 0x4E;pmuludq mm6, mm6;pxor mm4, mm0;pmuludq mm2, mm2;adc dword ptr [eax+48], 0x34d34d34;movq mm5, mm1;pmuludq mm7, mm7;punpckldq mm5, mm6;punpckhdq mm1, mm6;pxor mm5, mm1;movq mm6, mm2;pshufw mm1, mm3, 0x4E;pmuludq mm3, mm3;punpckldq mm6, mm7;adc dword ptr [eax+56], 0x4D34D34D;punpckhdq mm2, mm7;pmuludq mm1, mm1;pshufw mm0, mm4, 0xB1;movq mm7, mm3;pxor mm6, mm2;pshufw mm2, mm5, 0xB1;paddd mm2, mm0;pshufw mm0, mm6, 0x1B;punpckldq mm7, mm1;adc dword ptr [eax+36], 0xD34D34D3;punpckhdq mm3, mm1;movq mm1, mm4;paddd mm0, mm4;pslld mm4, 8;pxor mm7, mm3;pshufw mm3, mm7, 0x1B;paddd mm0, mm3;movq mm3, mm6;paddd mm2, mm6;adc dword ptr [eax+44], 0x34D34D34;psrld mm1, 24;por mm1, mm4;psrld mm3, 24;pslld mm6, 8;paddd mm1, mm5;pshufw mm4, mm7, 0x4E;por mm3, mm6;paddd mm7, mm5;adc dword ptr [eax+52], 0x4D34D34D;paddd mm1, mm4;paddd mm3, mm7;pshufw mm7, mm1, 0x27;pshufw mm5, mm3, 0x78;movq qword ptr [eax+16], mm2;movq mm4, mm5;punpckhwd mm5, mm7;adc dword ptr [eax+60], 0xD34D34D3;punpcklwd mm7, mm4;pxor mm7, mm0;pxor mm5, mm2;pshufw mm6, mm7, 0xE4;punpckldq mm7, mm5;mov esi, 0;adc esi, 0x4D34D34D;add ebx, 16;movq mm4, qword ptr [eax+32];movq qword ptr [ebx-16], mm7;punpckhdq mm6, mm5;cmp ebx, edx;movq mm5, qword ptr [eax+40];movq qword ptr [ebx- 8], mm6;jb keystream_opt_loop;movq qword ptr [eax+ 0], mm0;movq qword ptr [eax+ 8], mm1;movq qword ptr [eax+24], mm3;mov dword ptr [eax+64], esi;mov ebp, dword ptr [esp+ 4];mov esi, dword ptr [esp+ 0];add esp, 8;emms;.att_syntax prefix;
rabbit.c: ^~~~~~~
rabbit.c: In file included from rabbit.c:1:
rabbit.c: ./e/rabbit.c:958:7: error: invalid instruction mnemonic 'prefix'
rabbit.c: ".intel_syntax noprefix;"
rabbit.c: ^
rabbit.c: gt;:1:2126: note: instantiated into assembly here
rabbit.c: .intel_syntax noprefix;sub esp, 8;mov dword ptr [esp+ 4], ebp;mov dword ptr [esp+ 0], esi;movq mm0, qword ptr [eax+ 0];movq mm1, qword ptr [eax+ 8];movq mm3, qword ptr [eax+24];movq mm4, qword ptr [eax+32];movq mm5, qword ptr [eax+40];mov esi, dword ptr [eax+64];mov ebx, 0;.align 16;nextstate_opt_loop:paddd mm0, mm4;movq mm6, qword ptr [eax+48];add dword ptr [eax+32], esi;pshufw mm7, mm0, 0x4E;paddd mm1, mm5;movq mm2, qword ptr [eax+16];pmuludq mm0, mm0;paddd mm2, mm6;movq mm6, qword ptr [eax+56];pmuludq mm7, mm7;movq mm4, mm0;adc dword ptr [eax+40], 0xD34D34D3;paddd mm3, mm6;pshufw mm6, mm1, 0x4E;punpckhdq mm0, mm7;pmuludq mm1, mm1;punpckldq mm4, mm7;pshufw mm7, mm2, 0x4E;pmuludq mm6, mm6;pxor mm4, mm0;pmuludq mm2, mm2;adc dword ptr [eax+48], 0x34d34d34;movq mm5, mm1;pmuludq mm7, mm7;punpckldq mm5, mm6;punpckhdq mm1, mm6;pxor mm5, mm1;movq mm6, mm2;pshufw mm1, mm3, 0x4E;pmuludq mm3, mm3;punpckldq mm6, mm7;adc dword ptr [eax+56], 0x4D34D34D;punpckhdq mm2, mm7;pmuludq mm1, mm1;pshufw mm0, mm4, 0xB1;movq mm7, mm3;pxor mm6, mm2;pshufw mm2, mm5, 0xB1;paddd mm2, mm0;pshufw mm0, mm6, 0x1B;punpckldq mm7, mm1;adc dword ptr [eax+36], 0xD34D34D3;punpckhdq mm3, mm1;movq mm1, mm4;paddd mm0, mm4;pslld mm4, 8;pxor mm7, mm3;pshufw mm3, mm7, 0x1B;paddd mm0, mm3;movq mm3, mm6;paddd mm2, mm6;adc dword ptr [eax+44], 0x34D34D34;psrld mm1, 24;por mm1, mm4;psrld mm3, 24;pslld mm6, 8;paddd mm1, mm5;pshufw mm4, mm7, 0x4E;por mm3, mm6;paddd mm7, mm5;adc dword ptr [eax+52], 0x4D34D34D;paddd mm1, mm4;paddd mm3, mm7;movq qword ptr [eax+16], mm2;adc dword ptr [eax+60], 0xD34D34D3;mov esi, 0;adc esi, 0x4D34D34D;add ebx, 1;movq mm4, qword ptr [eax+32];cmp ebx, edx;movq mm5, qword ptr [eax+40];jb nextstate_opt_loop;movq qword ptr [eax+ 0], mm0;movq qword ptr [eax+ 8], mm1;movq qword ptr [eax+24], mm3;mov dword ptr [eax+64], esi;mov ebp, dword ptr [esp+ 4];mov esi, dword ptr [esp+ 0];add esp, 8;emms;.att_syntax prefix;
rabbit.c: ^~~~~~~
rabbit.c: 3 errors generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O1 -march=native -m32 -fomit-frame-pointer e/opt/2/5

Compiler output

Implementation: crypto_stream/rabbit/e/opt/2/5
Compiler: clang -O3 -march=native -m32 -fomit-frame-pointer
rabbit.c: In file included from rabbit.c:1:
rabbit.c: ./e/rabbit.c:712:7: error: invalid instruction mnemonic 'prefix'
rabbit.c: ".intel_syntax noprefix;"
rabbit.c: ^
rabbit.c: gt;:1:2471: note: instantiated into assembly here
rabbit.c: .intel_syntax noprefix;sub esp, 8;mov dword ptr [esp+ 4], ebp;mov dword ptr [esp+ 0], esi;movq mm0, qword ptr [eax+ 0];movq mm1, qword ptr [eax+ 8];movq mm3, qword ptr [eax+24];movq mm4, qword ptr [eax+32];movq mm5, qword ptr [eax+40];mov esi, dword ptr [eax+64];.align 16;process_opt_loop:paddd mm0, mm4;movq mm6, qword ptr [eax+48];add dword ptr [eax+32], esi;pshufw mm7, mm0, 0x4E;paddd mm1, mm5;movq mm2, qword ptr [eax+16];pmuludq mm0, mm0;paddd mm2, mm6;movq mm6, qword ptr [eax+56];pmuludq mm7, mm7;movq mm4, mm0;adc dword ptr [eax+40], 0xD34D34D3;paddd mm3, mm6;pshufw mm6, mm1, 0x4E;punpckhdq mm0, mm7;pmuludq mm1, mm1;punpckldq mm4, mm7;pshufw mm7, mm2, 0x4E;pmuludq mm6, mm6;pxor mm4, mm0;pmuludq mm2, mm2;adc dword ptr [eax+48], 0x34d34d34;movq mm5, mm1;pmuludq mm7, mm7;punpckldq mm5, mm6;punpckhdq mm1, mm6;pxor mm5, mm1;movq mm6, mm2;pshufw mm1, mm3, 0x4E;pmuludq mm3, mm3;punpckldq mm6, mm7;adc dword ptr [eax+56], 0x4D34D34D;punpckhdq mm2, mm7;pmuludq mm1, mm1;pshufw mm0, mm4, 0xB1;movq mm7, mm3;pxor mm6, mm2;pshufw mm2, mm5, 0xB1;paddd mm2, mm0;pshufw mm0, mm6, 0x1B;punpckldq mm7, mm1;adc dword ptr [eax+36], 0xD34D34D3;punpckhdq mm3, mm1;movq mm1, mm4;paddd mm0, mm4;pslld mm4, 8;pxor mm7, mm3;pshufw mm3, mm7, 0x1B;paddd mm0, mm3;movq mm3, mm6;paddd mm2, mm6;adc dword ptr [eax+44], 0x34D34D34;psrld mm1, 24;por mm1, mm4;psrld mm3, 24;pslld mm6, 8;paddd mm1, mm5;pshufw mm4, mm7, 0x4E;por mm3, mm6;paddd mm7, mm5;adc dword ptr [eax+52], 0x4D34D34D;paddd mm1, mm4;paddd mm3, mm7;pshufw mm7, mm1, 0x27;pshufw mm5, mm3, 0x78;movq qword ptr [eax+16], mm2;movq mm4, mm5;punpckhwd mm5, mm7;adc dword ptr [eax+60], 0xD34D34D3;punpcklwd mm7, mm4;movq mm4, qword ptr [ebx];pxor mm7, mm0;pxor mm5, mm2;pshufw mm6, mm7, 0xE4;movq mm2, qword ptr [ebx+ 8];punpckldq mm7, mm5;mov esi, 0;adc esi, 0x4D34D34D;add ebx, 16;pxor mm7, mm4;movq mm4, qword ptr [eax+32];movq qword ptr [ebx+ecx-16], mm7;punpckhdq mm6, mm5;cmp ebx, edx;movq mm5, qword ptr [eax+40];pxor mm6, mm2;movq qword ptr [ebx+ecx- 8], mm6;jb process_opt_loop;movq qword ptr [eax+ 0], mm0;movq qword ptr [eax+ 8], mm1;movq qword ptr [eax+24], mm3;mov dword ptr [eax+64], esi;mov ebp, dword ptr [esp+ 4];mov esi, dword ptr [esp+ 0];add esp, 8;emms;.att_syntax prefix;
rabbit.c: ^~~~~~~
rabbit.c: In file included from rabbit.c:1:
rabbit.c: ./e/rabbit.c:842:7: error: invalid instruction mnemonic 'prefix'
rabbit.c: ".intel_syntax noprefix;"
rabbit.c: ^
rabbit.c: gt;:1:2372: note: instantiated into assembly here
rabbit.c: .intel_syntax noprefix;sub esp, 8;mov dword ptr [esp+ 4], ebp;mov dword ptr [esp+ 0], esi;movq mm0, qword ptr [eax+ 0];movq mm1, qword ptr [eax+ 8];movq mm3, qword ptr [eax+24];movq mm4, qword ptr [eax+32];movq mm5, qword ptr [eax+40];mov esi, dword ptr [eax+64];.align 16;keystream_opt_loop:paddd mm0, mm4;movq mm6, qword ptr [eax+48];add dword ptr [eax+32], esi;pshufw mm7, mm0, 0x4E;paddd mm1, mm5;movq mm2, qword ptr [eax+16];pmuludq mm0, mm0;paddd mm2, mm6;movq mm6, qword ptr [eax+56];pmuludq mm7, mm7;movq mm4, mm0;adc dword ptr [eax+40], 0xD34D34D3;paddd mm3, mm6;pshufw mm6, mm1, 0x4E;punpckhdq mm0, mm7;pmuludq mm1, mm1;punpckldq mm4, mm7;pshufw mm7, mm2, 0x4E;pmuludq mm6, mm6;pxor mm4, mm0;pmuludq mm2, mm2;adc dword ptr [eax+48], 0x34d34d34;movq mm5, mm1;pmuludq mm7, mm7;punpckldq mm5, mm6;punpckhdq mm1, mm6;pxor mm5, mm1;movq mm6, mm2;pshufw mm1, mm3, 0x4E;pmuludq mm3, mm3;punpckldq mm6, mm7;adc dword ptr [eax+56], 0x4D34D34D;punpckhdq mm2, mm7;pmuludq mm1, mm1;pshufw mm0, mm4, 0xB1;movq mm7, mm3;pxor mm6, mm2;pshufw mm2, mm5, 0xB1;paddd mm2, mm0;pshufw mm0, mm6, 0x1B;punpckldq mm7, mm1;adc dword ptr [eax+36], 0xD34D34D3;punpckhdq mm3, mm1;movq mm1, mm4;paddd mm0, mm4;pslld mm4, 8;pxor mm7, mm3;pshufw mm3, mm7, 0x1B;paddd mm0, mm3;movq mm3, mm6;paddd mm2, mm6;adc dword ptr [eax+44], 0x34D34D34;psrld mm1, 24;por mm1, mm4;psrld mm3, 24;pslld mm6, 8;paddd mm1, mm5;pshufw mm4, mm7, 0x4E;por mm3, mm6;paddd mm7, mm5;adc dword ptr [eax+52], 0x4D34D34D;paddd mm1, mm4;paddd mm3, mm7;pshufw mm7, mm1, 0x27;pshufw mm5, mm3, 0x78;movq qword ptr [eax+16], mm2;movq mm4, mm5;punpckhwd mm5, mm7;adc dword ptr [eax+60], 0xD34D34D3;punpcklwd mm7, mm4;pxor mm7, mm0;pxor mm5, mm2;pshufw mm6, mm7, 0xE4;punpckldq mm7, mm5;mov esi, 0;adc esi, 0x4D34D34D;add ebx, 16;movq mm4, qword ptr [eax+32];movq qword ptr [ebx-16], mm7;punpckhdq mm6, mm5;cmp ebx, edx;movq mm5, qword ptr [eax+40];movq qword ptr [ebx- 8], mm6;jb keystream_opt_loop;movq qword ptr [eax+ 0], mm0;movq qword ptr [eax+ 8], mm1;movq qword ptr [eax+24], mm3;mov dword ptr [eax+64], esi;mov ebp, dword ptr [esp+ 4];mov esi, dword ptr [esp+ 0];add esp, 8;emms;.att_syntax prefix;
rabbit.c: ^~~~~~~
rabbit.c: In file included from rabbit.c:1:
rabbit.c: ./e/rabbit.c:958:7: error: invalid instruction mnemonic 'prefix'
rabbit.c: ".intel_syntax noprefix;"
rabbit.c: ^
rabbit.c: gt;:1:2126: note: instantiated into assembly here
rabbit.c: .intel_syntax noprefix;sub esp, 8;mov dword ptr [esp+ 4], ebp;mov dword ptr [esp+ 0], esi;movq mm0, qword ptr [eax+ 0];movq mm1, qword ptr [eax+ 8];movq mm3, qword ptr [eax+24];movq mm4, qword ptr [eax+32];movq mm5, qword ptr [eax+40];mov esi, dword ptr [eax+64];mov ebx, 0;.align 16;nextstate_opt_loop:paddd mm0, mm4;movq mm6, qword ptr [eax+48];add dword ptr [eax+32], esi;pshufw mm7, mm0, 0x4E;paddd mm1, mm5;movq mm2, qword ptr [eax+16];pmuludq mm0, mm0;paddd mm2, mm6;movq mm6, qword ptr [eax+56];pmuludq mm7, mm7;movq mm4, mm0;adc dword ptr [eax+40], 0xD34D34D3;paddd mm3, mm6;pshufw mm6, mm1, 0x4E;punpckhdq mm0, mm7;pmuludq mm1, mm1;punpckldq mm4, mm7;pshufw mm7, mm2, 0x4E;pmuludq mm6, mm6;pxor mm4, mm0;pmuludq mm2, mm2;adc dword ptr [eax+48], 0x34d34d34;movq mm5, mm1;pmuludq mm7, mm7;punpckldq mm5, mm6;punpckhdq mm1, mm6;pxor mm5, mm1;movq mm6, mm2;pshufw mm1, mm3, 0x4E;pmuludq mm3, mm3;punpckldq mm6, mm7;adc dword ptr [eax+56], 0x4D34D34D;punpckhdq mm2, mm7;pmuludq mm1, mm1;pshufw mm0, mm4, 0xB1;movq mm7, mm3;pxor mm6, mm2;pshufw mm2, mm5, 0xB1;paddd mm2, mm0;pshufw mm0, mm6, 0x1B;punpckldq mm7, mm1;adc dword ptr [eax+36], 0xD34D34D3;punpckhdq mm3, mm1;movq mm1, mm4;paddd mm0, mm4;pslld mm4, 8;pxor mm7, mm3;pshufw mm3, mm7, 0x1B;paddd mm0, mm3;movq mm3, mm6;paddd mm2, mm6;adc dword ptr [eax+44], 0x34D34D34;psrld mm1, 24;por mm1, mm4;psrld mm3, 24;pslld mm6, 8;paddd mm1, mm5;pshufw mm4, mm7, 0x4E;por mm3, mm6;paddd mm7, mm5;adc dword ptr [eax+52], 0x4D34D34D;paddd mm1, mm4;paddd mm3, mm7;movq qword ptr [eax+16], mm2;adc dword ptr [eax+60], 0xD34D34D3;mov esi, 0;adc esi, 0x4D34D34D;add ebx, 1;movq mm4, qword ptr [eax+32];cmp ebx, edx;movq mm5, qword ptr [eax+40];jb nextstate_opt_loop;movq qword ptr [eax+ 0], mm0;movq qword ptr [eax+ 8], mm1;movq qword ptr [eax+24], mm3;mov dword ptr [eax+64], esi;mov ebp, dword ptr [esp+ 4];mov esi, dword ptr [esp+ 0];add esp, 8;emms;.att_syntax prefix;
rabbit.c: ^~~~~~~
rabbit.c: In file included from rabbit.c:1:
rabbit.c: ./e/rabbit.c:958:7: error: invalid symbol redefinition
rabbit.c: ".intel_syntax noprefix;"
rabbit.c: ^
rabbit.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -march=native -m32 -fomit-frame-pointer e/opt/2/5

Compiler output

Implementation: crypto_stream/rabbit/e/opt/1/1
Compiler: icc -m32 -O1 -static -xHost -fomit-frame-pointer
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/ipp/../compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/ipp/../compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
measure.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
measure.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/ipp/../compiler/lib/intel64/libirc.a while searching for irc
measure.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc

Number of similar (compiler,implementation) pairs: 19, namely:
CompilerImplementations
icc -m32 -O1 -static -xHost -fomit-frame-pointer e/opt/1/1 e/opt/1/2 e/opt/1/3 e/opt/1/4 e/opt/2/1 e/opt/2/2 e/opt/2/3 e/opt/2/4 e/opt/2/5 e/ref
icc -m32 -O3 -static -xHost -fomit-frame-pointer e/opt/1/1 e/opt/1/2 e/opt/1/3 e/opt/1/4 e/opt/2/1 e/opt/2/2 e/opt/2/3 e/opt/2/4 e/ref

Compiler output

Implementation: crypto_stream/rabbit/e/opt/2/5
Compiler: icc -m32 -O3 -static -xHost -fomit-frame-pointer
rabbit.c: /tmp/icc8HQYUSas_.s: Assembler messages:
rabbit.c: /tmp/icc8HQYUSas_.s:195: Error: symbol `nextstate_opt_loop' is already defined
rabbit.c: /tmp/icc8HQYUSas_.s:408: Error: symbol `nextstate_opt_loop' is already defined
rabbit.c: /tmp/icc8HQYUSas_.s:451: Error: symbol `process_opt_loop' is already defined
rabbit.c: /tmp/icc8HQYUSas_.s:677: Error: symbol `keystream_opt_loop' is already defined
rabbit.c: /tmp/icc8HQYUSas_.s:896: Error: symbol `process_opt_loop' is already defined

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
icc -m32 -O3 -static -xHost -fomit-frame-pointer e/opt/2/5