Implementation notes: x86, latour, crypto_aead/tiaoxinv2

Computer: latour
Architecture: x86
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_aead
Primitive: tiaoxinv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
70092refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2017072520170718
70227refgcc -m32 -march=pentium -O -fomit-frame-pointer2017072520170718
70407refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2017072520170718
70695refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2017072520170718
71424refgcc -m32 -march=prescott -O -fomit-frame-pointer2017072520170718
71451refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2017072520170718
71487refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2017072520170718
71532refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2017072520170718
71541refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2017072520170718
71604refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2017072520170718
71622refgcc -m32 -march=nocona -O -fomit-frame-pointer2017072520170718
71640refgcc -m32 -march=k8 -O -fomit-frame-pointer2017072520170718
71649refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2017072520170718
71658refgcc -funroll-loops -m32 -O -fomit-frame-pointer2017072520170718
71676refgcc -m32 -march=athlon -O -fomit-frame-pointer2017072520170718
71676refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2017072520170718
71712refgcc -m32 -O -fomit-frame-pointer2017072520170718
71712refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2017072520170718
71721refgcc -m32 -march=barcelona -O -fomit-frame-pointer2017072520170718
71739refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2017072520170718
71748refgcc -m32 -march=core2 -O -fomit-frame-pointer2017072520170718
72279refgcc -m32 -march=corei7 -O -fomit-frame-pointer2017072520170718
72432refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2017072520170718
76068refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2017072520170718
76203refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2017072520170718
83142refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2017072520170718
83340refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2017072520170718
83358refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2017072520170718
83466refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2017072520170718
83655refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2017072520170718
83700refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2017072520170718
83925refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2017072520170718
84402refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2017072520170718
96093refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2017072520170718
96237refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2017072520170718
96318refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2017072520170718
96327refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2017072520170718
96363refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2017072520170718
96444refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2017072520170718
96444refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2017072520170718
96516refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2017072520170718
96678refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2017072520170718
96723refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2017072520170718
96786refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2017072520170718
96813refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2017072520170718
96894refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2017072520170718
96903refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017072520170718
97011refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2017072520170718
97011refgcc -m32 -O3 -fomit-frame-pointer2017072520170718
97038refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017072520170718
97056refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2017072520170718
97065refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2017072520170718
97128refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2017072520170718
97146refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2017072520170718
97173refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2017072520170718
97218refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2017072520170718
97290refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2017072520170718
97353refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017072520170718
97380refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2017072520170718
97533refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2017072520170718
97569refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017072520170718
97695refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2017072520170718
97785refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2017072520170718
97803refgcc -m32 -O2 -fomit-frame-pointer2017072520170718
98082refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017072520170718
98109refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2017072520170718
99054refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2017072520170718
99180refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2017072520170718
99540refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2017072520170718
99540refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2017072520170718
99621refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2017072520170718
99837refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2017072520170718
99900refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2017072520170718
99918refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2017072520170718
100017refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2017072520170718
100116refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2017072520170718
100926refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2017072520170718
100953refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2017072520170718
108477refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2017072520170718
108666refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017072520170718
108855refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2017072520170718
108882refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2017072520170718
109080refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2017072520170718
109269refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2017072520170718
109575refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017072520170718
109602refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2017072520170718
109638refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2017072520170718
109809refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2017072520170718
109827refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2017072520170718
109989refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017072520170718
110115refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2017072520170718
110169refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2017072520170718
110250refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2017072520170718
110286refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017072520170718
115677refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2017072520170718
115686refgcc -m32 -march=k6 -O -fomit-frame-pointer2017072520170718
115767refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2017072520170718
116244refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2017072520170718
116253refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2017072520170718
116424refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2017072520170718
116469refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2017072520170718
116505refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2017072520170718
116622refgcc -m32 -march=i386 -O -fomit-frame-pointer2017072520170718
118818refgcc -m32 -march=i486 -O -fomit-frame-pointer2017072520170718
124920refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2017072520170718
124938refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2017072520170718
124947refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2017072520170718
125019refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2017072520170718
125109refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2017072520170718
125181refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2017072520170718
125199refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2017072520170718
125307refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2017072520170718
125361refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2017072520170718
125397refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2017072520170718
125406refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2017072520170718
125469refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2017072520170718
125577refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2017072520170718
125613refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2017072520170718
125649refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2017072520170718
125721refgcc -m32 -march=core2 -Os -fomit-frame-pointer2017072520170718
125739refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017072520170718
125793refgcc -m32 -Os -fomit-frame-pointer2017072520170718
125865refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017072520170718
125874refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2017072520170718
125910refgcc -m32 -march=pentium -Os -fomit-frame-pointer2017072520170718
125919refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2017072520170718
125946refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2017072520170718
125946refgcc -m32 -march=k8 -Os -fomit-frame-pointer2017072520170718
125964refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2017072520170718
126009refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2017072520170718
126027refgcc -m32 -march=athlon -Os -fomit-frame-pointer2017072520170718
126126refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2017072520170718
126153refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017072520170718
126162refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2017072520170718
126171refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2017072520170718
126252refgcc -m32 -march=k6 -Os -fomit-frame-pointer2017072520170718
126324refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2017072520170718
127620refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2017072520170718
127656refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2017072520170718
127737refgcc -m32 -march=nocona -Os -fomit-frame-pointer2017072520170718
127737refgcc -m32 -march=prescott -Os -fomit-frame-pointer2017072520170718
127746refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2017072520170718
127872refgcc -m32 -march=i486 -Os -fomit-frame-pointer2017072520170718
127989refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2017072520170718
128034refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2017072520170718
128052refgcc -m32 -march=i386 -Os -fomit-frame-pointer2017072520170718
128493refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2017072520170718
130626refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2017072520170718
130653refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2017072520170718
130752refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2017072520170718
130914refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2017072520170718
130977refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2017072520170718
131166refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2017072520170718
131715refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2017072520170718
131742refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2017072520170718
131769refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2017072520170718
131805refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2017072520170718
131967refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2017072520170718
132084refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2017072520170718
135990refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2017072520170718
135999refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2017072520170718
136026refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2017072520170718
136089refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2017072520170718
136224refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2017072520170718
137196refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2017072520170718
137457refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2017072520170718
138717refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2017072520170718

Test failure

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer nim
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer nim
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer nim
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer nim ref
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer nim ref
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer nim ref
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer nim
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer nim
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer nim

Compiler output

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:20:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/xmmintrin.h:31:3: error: #error "SSE instruction set not enabled"
tiaoxin-optimized.c: # error "SSE instruction set not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:21:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/emmintrin.h:31:3: error: #error "SSE2 instruction set not enabled"
tiaoxin-optimized.c: # error "SSE2 instruction set not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: # error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:23:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
tiaoxin-optimized.c: # error "SSSE3 instruction set not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: tiaoxin-optimized.c:104:2: error: unknown type name '__m128i'
tiaoxin-optimized.c: __m128i T3[3];
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:105:2: error: unknown type name '__m128i'
tiaoxin-optimized.c: __m128i T4[4];
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:106:2: error: unknown type name '__m128i'
tiaoxin-optimized.c: __m128i T6[6];
tiaoxin-optimized.c: ...

Number of similar (compiler,implementation) pairs: 88, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer nim
gcc -m32 -O2 -fomit-frame-pointer nim
gcc -m32 -O3 -fomit-frame-pointer nim
gcc -m32 -O -fomit-frame-pointer nim
gcc -m32 -Os -fomit-frame-pointer nim
gcc -m32 -march=athlon -O2 -fomit-frame-pointer nim
gcc -m32 -march=athlon -O3 -fomit-frame-pointer nim
gcc -m32 -march=athlon -O -fomit-frame-pointer nim
gcc -m32 -march=athlon -Os -fomit-frame-pointer nim
gcc -m32 -march=i386 -O2 -fomit-frame-pointer nim
gcc -m32 -march=i386 -O3 -fomit-frame-pointer nim
gcc -m32 -march=i386 -O -fomit-frame-pointer nim
gcc -m32 -march=i386 -Os -fomit-frame-pointer nim
gcc -m32 -march=i486 -O2 -fomit-frame-pointer nim
gcc -m32 -march=i486 -O3 -fomit-frame-pointer nim
gcc -m32 -march=i486 -O -fomit-frame-pointer nim
gcc -m32 -march=i486 -Os -fomit-frame-pointer nim
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer nim
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer nim
gcc -m32 -march=k6-2 -O -fomit-frame-pointer nim
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer nim
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer nim
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer nim
gcc -m32 -march=k6-3 -O -fomit-frame-pointer nim
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer nim
gcc -m32 -march=k6 -O2 -fomit-frame-pointer nim
gcc -m32 -march=k6 -O3 -fomit-frame-pointer nim
gcc -m32 -march=k6 -O -fomit-frame-pointer nim
gcc -m32 -march=k6 -Os -fomit-frame-pointer nim
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer nim
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer nim
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer nim
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer nim
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer nim
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer nim
gcc -m32 -march=pentium2 -O -fomit-frame-pointer nim
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer nim
gcc -m32 -march=pentium -O2 -fomit-frame-pointer nim
gcc -m32 -march=pentium -O3 -fomit-frame-pointer nim
gcc -m32 -march=pentium -O -fomit-frame-pointer nim
gcc -m32 -march=pentium -Os -fomit-frame-pointer nim
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer nim
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer nim
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer nim
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer nim

Compiler output

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: # error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:23:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
tiaoxin-optimized.c: # error "SSSE3 instruction set not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: tiaoxin-optimized.c:126:5: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: W0 = _mm_shuffle_epi8( W0 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:127:5: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: W1 = _mm_shuffle_epi8( W1 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:39: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],M);T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:48:1: note: in expansion of macro 'RT3'
tiaoxin-optimized.c: RT3( T3, M0 );\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:70: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: ...

Number of similar (compiler,implementation) pairs: 44, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer nim
gcc -m32 -march=k8 -O2 -fomit-frame-pointer nim
gcc -m32 -march=k8 -O3 -fomit-frame-pointer nim
gcc -m32 -march=k8 -O -fomit-frame-pointer nim
gcc -m32 -march=k8 -Os -fomit-frame-pointer nim
gcc -m32 -march=nocona -O2 -fomit-frame-pointer nim
gcc -m32 -march=nocona -O3 -fomit-frame-pointer nim
gcc -m32 -march=nocona -O -fomit-frame-pointer nim
gcc -m32 -march=nocona -Os -fomit-frame-pointer nim
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer nim
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer nim
gcc -m32 -march=pentium-m -O -fomit-frame-pointer nim
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer nim
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer nim
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer nim
gcc -m32 -march=pentium4 -O -fomit-frame-pointer nim
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer nim
gcc -m32 -march=prescott -O2 -fomit-frame-pointer nim
gcc -m32 -march=prescott -O3 -fomit-frame-pointer nim
gcc -m32 -march=prescott -O -fomit-frame-pointer nim
gcc -m32 -march=prescott -Os -fomit-frame-pointer nim

Compiler output

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:21:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/emmintrin.h:31:3: error: #error "SSE2 instruction set not enabled"
tiaoxin-optimized.c: # error "SSE2 instruction set not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: # error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:23:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
tiaoxin-optimized.c: # error "SSSE3 instruction set not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: tiaoxin-optimized.c:104:2: error: unknown type name '__m128i'
tiaoxin-optimized.c: __m128i T3[3];
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:105:2: error: unknown type name '__m128i'
tiaoxin-optimized.c: __m128i T4[4];
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:106:2: error: unknown type name '__m128i'
tiaoxin-optimized.c: __m128i T6[6];
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:107:2: error: unknown type name '__m128i'
tiaoxin-optimized.c: __m128i tmp;
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer nim
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer nim
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer nim
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer nim
gcc -m32 -march=pentium3 -O -fomit-frame-pointer nim
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer nim

Compiler output

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: # error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:23:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
tiaoxin-optimized.c: # error "SSSE3 instruction set not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: tiaoxin-optimized.c:126:5: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: W0 = _mm_shuffle_epi8( W0 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:127:5: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: W1 = _mm_shuffle_epi8( W1 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:39: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],M);T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:48:1: note: in expansion of macro 'RT3'
tiaoxin-optimized.c: RT3( T3, M0 );\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:70: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: ...
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: # error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:23:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
tiaoxin-optimized.c: # error "SSSE3 instruction set not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: tiaoxin-optimized.c:126:5: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: W0 = _mm_shuffle_epi8( W0 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:127:5: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: W1 = _mm_shuffle_epi8( W1 , perm );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:39: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],M);T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:48:1: note: in expansion of macro 'RT3'
tiaoxin-optimized.c: RT3( T3, M0 );\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:70: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m32 -march=barcelona -O2 -fomit-frame-pointer nim
gcc -m32 -march=barcelona -O3 -fomit-frame-pointer nim
gcc -m32 -march=barcelona -O -fomit-frame-pointer nim
gcc -m32 -march=barcelona -Os -fomit-frame-pointer nim

Compiler output

Implementation: crypto_aead/tiaoxinv2/nim
Compiler: gcc -m32 -march=core2 -O2 -fomit-frame-pointer
tiaoxin-optimized.c: In file included from tiaoxin-optimized.c:22:0:
tiaoxin-optimized.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: # error "AES/PCLMUL instructions not enabled"
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c: In function 'tiaoxin_optimized_encrypt':
tiaoxin-optimized.c: tiaoxin-optimized.c:40:39: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],M);T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:48:1: note: in expansion of macro 'RT3'
tiaoxin-optimized.c: RT3( T3, M0 );\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:40:70: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: #define RT3( T , M ) tmp = T[0];T[0] = enc(T[2],M);T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:48:1: note: in expansion of macro 'RT3'
tiaoxin-optimized.c: RT3( T3, M0 );\
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:137:2: note: in expansion of macro 'UPDATE'
tiaoxin-optimized.c: UPDATE( T3 , T4 , T6, Z0 , Z1 , Z0 );
tiaoxin-optimized.c: ^
tiaoxin-optimized.c: tiaoxin-optimized.c:41:39: error: incompatible types when assigning to type '__m128i' from type 'int'
tiaoxin-optimized.c: #define RT4( T , M ) tmp = T[0];T[0] = enc(T[3],M);T[3] = T[2];T[2] = T[1];T[1] = enc(tmp,Z0);T[0] = xor(T[0], tmp);
tiaoxin-optimized.c: ...

Number of similar (compiler,implementation) pairs: 17, namely:
CompilerImplementations
gcc -m32 -march=core2 -O2 -fomit-frame-pointer nim
gcc -m32 -march=core2 -O3 -fomit-frame-pointer nim
gcc -m32 -march=core2 -O -fomit-frame-pointer nim
gcc -m32 -march=core2 -Os -fomit-frame-pointer nim
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer nim
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer nim
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer nim
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer nim
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer nim
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer nim
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer nim
gcc -m32 -march=corei7 -O -fomit-frame-pointer nim
gcc -m32 -march=corei7 -Os -fomit-frame-pointer nim
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer nim
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer nim
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer nim
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer nim