Implementation notes: x86, rumba7, crypto_aead/twine80n6t4clocv2

Computer: rumba7
Architecture: x86
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20171218
Operation: crypto_aead
Primitive: twine80n6t4clocv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
90180vpermgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018052920171218
90300vpermgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018052920171218
90330vpermgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018052920171218
90360vpermgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018052920171218
90390vpermgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018052920171218
90480vpermgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018052920171218
90510vpermgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018052920171218
90510vpermgcc -m32 -march=corei7 -O -fomit-frame-pointer2018052920171218
90540vpermgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2018052920171218
90570vpermgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2018052920171218
90810vpermgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018052920171218
90840vpermgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018052920171218
90960vpermgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018052920171218
91050vpermgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018052920171218
91110vpermgcc -m32 -march=core2 -O -fomit-frame-pointer2018052920171218
91110vpermgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018052920171218
91200vpermgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018052920171218
91410vpermgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018052920171218
91500vpermgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018052920171218
91590vpermgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018052920171218
91710vpermgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018052920171218
91770vpermgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018052920171218
91800vpermgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018052920171218
146430vpermgcc -m32 -march=core2 -Os -fomit-frame-pointer2018052920171218
146430vpermgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018052920171218
146430vpermgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2018052920171218
146430vpermgcc -m32 -march=corei7 -Os -fomit-frame-pointer2018052920171218
147090vpermgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018052920171218
147180vpermgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018052920171218
147210vpermgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018052920171218
147300vpermgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018052920171218
147840vpermgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018052920171218
1770210refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018052920171218
1775550refgcc -m32 -O3 -fomit-frame-pointer2018052920171218
1818660refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018052920171218
1854150refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018052920171218
1855830refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018052920171218
1861230refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018052920171218
1861440refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018052920171218
1867200refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018052920171218
1877430refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018052920171218
1892040refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018052920171218
1897620refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018052920171218
1918230refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018052920171218
1974600refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018052920171218
1982460refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018052920171218
1983330refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018052920171218
1984500refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018052920171218
2032050refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018052920171218
2038320refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018052920171218
2053950refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018052920171218
2074500refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018052920171218
2090670refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018052920171218
2119980refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018052920171218
2123490refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018052920171218
2124270refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018052920171218
2129730refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018052920171218
2134470refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018052920171218
2135220refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018052920171218
2142210refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018052920171218
2145210refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018052920171218
2148120refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018052920171218
2150100refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018052920171218
2150610refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018052920171218
2151330refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018052920171218
2154360refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018052920171218
2168190refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018052920171218
2172240refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018052920171218
2192820refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018052920171218
2204550refgcc -m32 -O2 -fomit-frame-pointer2018052920171218
2208000refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018052920171218
2212620refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018052920171218
2214270refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018052920171218
2216460refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018052920171218
2225280refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018052920171218
2229360refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018052920171218
2229510refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018052920171218
2230290refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018052920171218
2230710refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018052920171218
2231640refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018052920171218
2233230refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018052920171218
2235090refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018052920171218
2236440refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018052920171218
2237070refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018052920171218
2238930refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018052920171218
2241480refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018052920171218
2244900refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018052920171218
2247300refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018052920171218
2248230refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018052920171218
2248560refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018052920171218
2249520refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018052920171218
2250720refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018052920171218
2253090refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018052920171218
2256660refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018052920171218
2257890refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018052920171218
2260410refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018052920171218
2262720refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018052920171218
2267970refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018052920171218
2269860refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018052920171218
2300010refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018052920171218
2313330refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018052920171218
2321580refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018052920171218
2336490refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018052920171218
2337390refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018052920171218
2338290refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018052920171218
2338620refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018052920171218
2341140refgcc -m32 -march=nocona -O -fomit-frame-pointer2018052920171218
2343270refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018052920171218
2343570refgcc -m32 -march=core2 -O -fomit-frame-pointer2018052920171218
2343930refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2018052920171218
2347860refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018052920171218
2349480refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018052920171218
2351670refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018052920171218
2356260refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018052920171218
2359860refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018052920171218
2359920refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018052920171218
2362440refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018052920171218
2363490refgcc -m32 -march=k8 -O -fomit-frame-pointer2018052920171218
2364450refgcc -m32 -march=prescott -O -fomit-frame-pointer2018052920171218
2369820refgcc -m32 -O -fomit-frame-pointer2018052920171218
2374500refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018052920171218
2374710refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2018052920171218
2380590refgcc -m32 -march=athlon -O -fomit-frame-pointer2018052920171218
2383770refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018052920171218
2388540refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018052920171218
2391180refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018052920171218
2397630refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018052920171218
2403390refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2018052920171218
2404560refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2018052920171218
2410890refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018052920171218
2417010refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018052920171218
2439750refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018052920171218
2448090refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018052920171218
2452500refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018052920171218
2459940refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018052920171218
2461260refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018052920171218
2468520refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018052920171218
2468940refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018052920171218
2469780refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018052920171218
2474190refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018052920171218
2483520refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018052920171218
2492460refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018052920171218
2555670refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018052920171218
2562780refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018052920171218
2612760refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018052920171218
2626980refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018052920171218
2632920refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018052920171218
2643660refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018052920171218
2651610refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018052920171218
2663820refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018052920171218
2670120refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018052920171218
2674290refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2018052920171218
2675460refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018052920171218
2678190refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2018052920171218
2684250refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018052920171218
2684670refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2018052920171218
2694150refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2018052920171218
2700300refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2018052920171218
2722560refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018052920171218
2744400refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018052920171218
2762250refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018052920171218
2831340refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018052920171218
2832000refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2018052920171218
2832330refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018052920171218
2833740refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018052920171218
2839230refgcc -m32 -march=k6 -O -fomit-frame-pointer2018052920171218
2845050refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2018052920171218
2847480refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2018052920171218
2866500refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2018052920171218
2877090refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2018052920171218
2880570refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2018052920171218
2889300refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2018052920171218
2891400refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018052920171218
2918820refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2018052920171218
2925060refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2018052920171218
2942100refgcc -m32 -march=i386 -O -fomit-frame-pointer2018052920171218
2968260refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2018052920171218
2994120refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2018052920171218
3005760refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018052920171218
3014250refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018052920171218
3014850refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2018052920171218
3056250refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018052920171218
3127860refgcc -m32 -march=pentium -O -fomit-frame-pointer2018052920171218
3128100refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018052920171218
3138330refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018052920171218
3209970refgcc -m32 -march=i486 -O -fomit-frame-pointer2018052920171218
3438900refgcc -m32 -march=nocona -Os -fomit-frame-pointer2018052920171218
3440820refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2018052920171218
3442140refgcc -m32 -march=prescott -Os -fomit-frame-pointer2018052920171218
3443010refgcc -m32 -march=i386 -Os -fomit-frame-pointer2018052920171218
3443940refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018052920171218
3449520refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2018052920171218
3452610refgcc -m32 -march=core2 -Os -fomit-frame-pointer2018052920171218
3452610refgcc -m32 -march=i486 -Os -fomit-frame-pointer2018052920171218
3456180refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2018052920171218
3456180refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2018052920171218
3458940refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2018052920171218
3497340refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018052920171218
3497850refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018052920171218
3500370refgcc -m32 -Os -fomit-frame-pointer2018052920171218
3504210refgcc -m32 -march=athlon -Os -fomit-frame-pointer2018052920171218
3505650refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2018052920171218
3506460refgcc -m32 -march=k6 -Os -fomit-frame-pointer2018052920171218
3507120refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2018052920171218
3509490refgcc -m32 -march=k8 -Os -fomit-frame-pointer2018052920171218
3555510refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018052920171218
3560400refgcc -m32 -march=pentium -Os -fomit-frame-pointer2018052920171218
3567090refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2018052920171218

Compiler output

Implementation: crypto_aead/twine80n6t4clocv2/vperm
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h: In function 'Encode':
encrypt.c: twine.h:57:25: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
encrypt.c: #define XOR(x,y) _mm_xor_si128((x),(y)) /* exclusive-OR of 128-bit words x and y */
encrypt.c: ^
encrypt.c: twine.h:80:24: note: in expansion of macro 'XOR'
encrypt.c: #define SHUFFLE4(x) XOR( \
encrypt.c: ^
encrypt.c: twine.h:76:26: note: in expansion of macro 'SHUFFLE4'
encrypt.c: #define LOADS(p) SHUFFLE4(LOAD64(p)) /* load 64-bit word from memory address p, and shuffle it */
encrypt.c: ^
encrypt.c: twine.h:227:15: note: in expansion of macro 'LOADS'
encrypt.c: word state = LOADS(text);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h:1249:0,
encrypt.c: from twine.h:4,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h:1286:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
encrypt.c: _mm_xor_si128 (__m128i __A, __m128i __B)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:177:8: error: called from here
encrypt.c: right = XOR(right, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/twine80n6t4clocv2/vperm
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: twine.h: In function 'Encode':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:174:7: error: called from here
encrypt.c: _tmp = PSHUFB(state, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:171:8: error: called from here
encrypt.c: right = PSHUFB(state, right); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/twine80n6t4clocv2/vperm
Compiler: gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h:1249:0,
encrypt.c: from twine.h:4,
encrypt.c: from encrypt.c:3:
encrypt.c: twine.h: In function 'Encode':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h:1286:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
encrypt.c: _mm_xor_si128 (__m128i __A, __m128i __B)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:177:8: error: called from here
encrypt.c: right = XOR(right, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h:1249:0,
encrypt.c: from twine.h:4,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h:1268:1: error: inlining failed in call to always_inline '_mm_and_si128': target specific option mismatch
encrypt.c: _mm_and_si128 (__m128i __A, __m128i __B)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:176:7: error: called from here
encrypt.c: _tmp = MASK4L(_tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/twine80n6t4clocv2/vperm
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: twine.h: In function 'Encode':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:174:7: error: called from here
encrypt.c: _tmp = PSHUFB(state, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:171:8: error: called from here
encrypt.c: right = PSHUFB(state, right); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: ...
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: twine.h: In function 'Encode':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:174:7: error: called from here
encrypt.c: _tmp = PSHUFB(state, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:171:8: error: called from here
encrypt.c: right = PSHUFB(state, right); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: ...

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