Implementation notes: x86, margaux, crypto_aead/tiaoxinv2

Computer: margaux
Architecture: x86
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_aead
Primitive: tiaoxinv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
69741refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2017080220170725
70119refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2017080220170725
70191refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2017080220170725
70272refgcc -m32 -march=pentium -O -fomit-frame-pointer2017080220170725
71451refgcc -funroll-loops -m32 -O -fomit-frame-pointer2017080220170725
71469refgcc -m32 -march=nocona -O -fomit-frame-pointer2017080220170725
71568refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2017080220170725
71586refgcc -m32 -march=prescott -O -fomit-frame-pointer2017080220170725
71631refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2017080220170725
71649refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2017080220170725
71658refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2017080220170725
71775refgcc -m32 -march=k8 -O -fomit-frame-pointer2017080220170725
71784refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2017080220170725
71784refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2017080220170725
71793refgcc -m32 -O -fomit-frame-pointer2017080220170725
71856refgcc -m32 -march=corei7 -O -fomit-frame-pointer2017080220170725
71856refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2017080220170725
71892refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2017080220170725
71937refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2017080220170725
72162refgcc -m32 -march=core2 -O -fomit-frame-pointer2017080220170725
72360refgcc -m32 -march=athlon -O -fomit-frame-pointer2017080220170725
72414refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2017080220170725
72585refgcc -m32 -march=barcelona -O -fomit-frame-pointer2017080220170725
75870refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2017080220170725
76005refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2017080220170725
83187refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2017080220170725
83205refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2017080220170725
83232refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2017080220170725
83295refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2017080220170725
83988refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2017080220170725
84033refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2017080220170725
84231refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2017080220170725
84357refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2017080220170725
95832refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2017080220170725
95967refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2017080220170725
96417refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2017080220170725
96543refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2017080220170725
96552refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2017080220170725
96678refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2017080220170725
96732refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2017080220170725
96786refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2017080220170725
96795refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2017080220170725
96804refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2017080220170725
96822refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017080220170725
96831refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2017080220170725
96885refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2017080220170725
96912refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2017080220170725
96975refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2017080220170725
97002refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2017080220170725
97083refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2017080220170725
97092refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2017080220170725
97101refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2017080220170725
97155refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2017080220170725
97164refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2017080220170725
97173refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017080220170725
97182refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017080220170725
97290refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2017080220170725
97416refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2017080220170725
97452refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017080220170725
97488refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2017080220170725
97632refgcc -m32 -O3 -fomit-frame-pointer2017080220170725
97740refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2017080220170725
97740refgcc -m32 -O2 -fomit-frame-pointer2017080220170725
97767refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2017080220170725
97920refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017080220170725
98001refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2017080220170725
99018refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2017080220170725
99189refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2017080220170725
99774refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2017080220170725
99792refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2017080220170725
100017refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2017080220170725
100071refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2017080220170725
100116refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2017080220170725
100620refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2017080220170725
100674refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2017080220170725
100692refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2017080220170725
100908refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2017080220170725
100944refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2017080220170725
108513refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2017080220170725
108720refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2017080220170725
108927refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2017080220170725
109152refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2017080220170725
109179refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2017080220170725
109269refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017080220170725
109359refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2017080220170725
109386refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2017080220170725
109467refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017080220170725
109503refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2017080220170725
109701refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2017080220170725
110043refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017080220170725
110268refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2017080220170725
110322refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017080220170725
110430refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2017080220170725
110475refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2017080220170725
115884refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2017080220170725
116001refgcc -m32 -march=k6 -O -fomit-frame-pointer2017080220170725
116082refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2017080220170725
116100refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2017080220170725
116199refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2017080220170725
116217refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2017080220170725
116352refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2017080220170725
116568refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2017080220170725
116604refgcc -m32 -march=i386 -O -fomit-frame-pointer2017080220170725
118863refgcc -m32 -march=i486 -O -fomit-frame-pointer2017080220170725
124911refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2017080220170725
124992refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2017080220170725
125046refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2017080220170725
125055refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2017080220170725
125298refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2017080220170725
125298refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2017080220170725
125352refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2017080220170725
125361refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2017080220170725
125487refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017080220170725
125505refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2017080220170725
125514refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2017080220170725
125577refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2017080220170725
125676refgcc -m32 -Os -fomit-frame-pointer2017080220170725
125676refgcc -m32 -march=k6 -Os -fomit-frame-pointer2017080220170725
125703refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2017080220170725
125703refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2017080220170725
125748refgcc -m32 -march=core2 -Os -fomit-frame-pointer2017080220170725
125802refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2017080220170725
125811refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2017080220170725
125874refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2017080220170725
125883refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2017080220170725
125901refgcc -m32 -march=k8 -Os -fomit-frame-pointer2017080220170725
125955refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2017080220170725
126018refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017080220170725
126036refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2017080220170725
126081refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2017080220170725
126117refgcc -m32 -march=athlon -Os -fomit-frame-pointer2017080220170725
126171refgcc -m32 -march=pentium -Os -fomit-frame-pointer2017080220170725
126216refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2017080220170725
126243refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2017080220170725
126351refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2017080220170725
126405refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2017080220170725
126468refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017080220170725
127539refgcc -m32 -march=nocona -Os -fomit-frame-pointer2017080220170725
127566refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2017080220170725
127755refgcc -m32 -march=i386 -Os -fomit-frame-pointer2017080220170725
127782refgcc -m32 -march=prescott -Os -fomit-frame-pointer2017080220170725
127917refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2017080220170725
127935refgcc -m32 -march=i486 -Os -fomit-frame-pointer2017080220170725
127953refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2017080220170725
127953refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2017080220170725
128070refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2017080220170725
128142refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2017080220170725
130797refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2017080220170725
130842refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2017080220170725
130860refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2017080220170725
131148refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2017080220170725
131463refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2017080220170725
131499refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2017080220170725
131697refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2017080220170725
131895refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2017080220170725
131913refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2017080220170725
132057refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2017080220170725
132237refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2017080220170725
132309refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2017080220170725
136188refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2017080220170725
136296refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2017080220170725
136359refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2017080220170725
136404refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2017080220170725
136566refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2017080220170725
137322refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2017080220170725
137439refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2017080220170725
138573refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2017080220170725

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