Implementation notes: x86, kizomba, crypto_aead/morus640128v2

Computer: kizomba
Architecture: x86
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20181216
Operation: crypto_aead
Primitive: morus640128v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
9707sse2gcc -m32 -march=nocona -O3 -fomit-frame-pointer2018082420180818
9708sse2gcc -m32 -march=prescott -O3 -fomit-frame-pointer2018082420180818
9714sse2gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018082420180818
9742sse2gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018082420180818
9752sse2gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082420180818
9764sse2gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082420180818
9905sse2gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082420180818
9959sse2gcc -m32 -march=prescott -O2 -fomit-frame-pointer2018082420180818
9960sse2gcc -m32 -march=nocona -O2 -fomit-frame-pointer2018082420180818
9967sse2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018082420180818
9986sse2gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018082420180818
9988sse2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018082420180818
10004sse2gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082420180818
10012sse2gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082420180818
10014sse2gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018082420180818
10032sse2gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018082420180818
10032sse2gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018082420180818
10032sse2gcc -m32 -march=pentium4 -O -fomit-frame-pointer2018082420180818
10041sse2gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018082420180818
10049sse2gcc -m32 -march=nocona -O -fomit-frame-pointer2018082420180818
10053sse2gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018082420180818
10058sse2gcc -m32 -march=prescott -O -fomit-frame-pointer2018082420180818
10062sse2gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018082420180818
10085sse2gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082420180818
10103sse2gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082420180818
10121sse2gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018082420180818
10127sse2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018082420180818
10139sse2gcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018082420180818
10141sse2gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018082420180818
10153sse2gcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018082420180818
10185sse2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018082420180818
10191sse2gcc -m32 -march=pentium-m -O -fomit-frame-pointer2018082420180818
10205sse2gcc -m32 -march=k8 -O -fomit-frame-pointer2018082420180818
10269sse2gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018082420180818
10274sse2gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082420180818
10295sse2gcc -m32 -march=corei7 -O -fomit-frame-pointer2018082420180818
10299sse2gcc -m32 -march=core2 -O -fomit-frame-pointer2018082420180818
10304sse2gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082420180818
10311sse2gcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018082420180818
10313sse2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018082420180818
10314sse2gcc -m32 -march=core2 -O3 -fomit-frame-pointer2018082420180818
10316sse2gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018082420180818
10317sse2gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018082420180818
10331sse2gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082420180818
10333sse2gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018082420180818
10336sse2gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082420180818
10345sse2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018082420180818
10353sse2gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018082420180818
10355sse2gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018082420180818
10361sse2gcc -m32 -march=k8 -O3 -fomit-frame-pointer2018082420180818
10399sse2gcc -m32 -march=barcelona -O -fomit-frame-pointer2018082420180818
10442sse2gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018082420180818
10550sse2gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082420180818
10559sse2gcc -m32 -march=k8 -O2 -fomit-frame-pointer2018082420180818
10563sse2gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082420180818
10572sse2gcc -m32 -march=core2 -O2 -fomit-frame-pointer2018082420180818
10607sse2gcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018082420180818
10631sse2gcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018082420180818
10704sse2gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018082420180818
10833sse2gcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018082420180818
24088refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018082420180818
24159refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018082420180818
24171refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018082420180818
24202refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018082420180818
24208refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018082420180818
24329refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018082420180818
24341refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082420180818
24355refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082420180818
24436refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018082420180818
24492refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018082420180818
24510refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018082420180818
24524refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018082420180818
24550refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082420180818
24589refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018082420180818
24663refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082420180818
24708refgcc -m32 -O3 -fomit-frame-pointer2018082420180818
24726refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018082420180818
24736refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018082420180818
24740refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018082420180818
24740refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018082420180818
24752refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018082420180818
24782refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018082420180818
24786refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018082420180818
24792refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018082420180818
24842refgcc -m32 -O2 -fomit-frame-pointer2018082420180818
24869refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018082420180818
24889refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018082420180818
24897refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082420180818
24907refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018082420180818
24927refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018082420180818
24936refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082420180818
24944refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018082420180818
24951refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018082420180818
24955refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018082420180818
24972refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018082420180818
24987refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018082420180818
24998refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018082420180818
24998refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018082420180818
25000refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018082420180818
25000refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018082420180818
25034refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018082420180818
25047refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018082420180818
25125refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018082420180818
25132refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018082420180818
25137refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018082420180818
25153refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018082420180818
25185refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018082420180818
25212refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018082420180818
25216refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018082420180818
25216refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018082420180818
25248refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018082420180818
25250refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018082420180818
25254refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018082420180818
25258refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018082420180818
25276refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018082420180818
25282refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018082420180818
25288refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018082420180818
25288refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018082420180818
25289refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018082420180818
25289refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018082420180818
25308refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018082420180818
25315refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082420180818
25326refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018082420180818
25340refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018082420180818
25359refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018082420180818
25363refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018082420180818
25375refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018082420180818
25404refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018082420180818
25418refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018082420180818
25450refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018082420180818
25464refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018082420180818
25492refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018082420180818
25518refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082420180818
25523refgcc -m32 -march=i386 -O -fomit-frame-pointer2018082420180818
25526refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018082420180818
25528refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018082420180818
25563refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018082420180818
25589refgcc -m32 -march=pentium -O -fomit-frame-pointer2018082420180818
25674refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018082420180818
25684refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018082420180818
25692refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018082420180818
25694refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018082420180818
25697refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018082420180818
25700refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018082420180818
25751refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018082420180818
25760refgcc -m32 -march=nocona -O -fomit-frame-pointer2018082420180818
25776refgcc -m32 -march=i486 -O -fomit-frame-pointer2018082420180818
25780refgcc -m32 -O -fomit-frame-pointer2018082420180818
25784refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018082420180818
25790refgcc -m32 -march=k8 -O -fomit-frame-pointer2018082420180818
25797refgcc -m32 -march=prescott -O -fomit-frame-pointer2018082420180818
25802refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018082420180818
25818refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018082420180818
25818refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018082420180818
25833refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018082420180818
25855refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018082420180818
25877refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018082420180818
25883refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018082420180818
25905refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018082420180818
25961refgcc -m32 -march=athlon -O -fomit-frame-pointer2018082420180818
26004refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018082420180818
26021refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018082420180818
26105refgcc -m32 -march=core2 -O -fomit-frame-pointer2018082420180818
26119refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018082420180818
26149refgcc -m32 -march=k6 -O -fomit-frame-pointer2018082420180818
26153refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018082420180818
26215refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018082420180818
26270refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082420180818
27214refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018082420180818
27239refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018082420180818
27833refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018082420180818
27925refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018082420180818
27976refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018082420180818
27980refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018082420180818
28033refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082420180818
28059refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018082420180818
28072refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018082420180818
28082refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018082420180818
28099refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018082420180818
28189refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082420180818
28292refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018082420180818
28397refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018082420180818
28574refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082420180818
28591refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018082420180818
28784refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018082420180818
28873refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018082420180818
28903refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018082420180818
28933refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018082420180818
29018refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082420180818
29218refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018082420180818
29263refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018082420180818
29292refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018082420180818

Test failure

Implementation: crypto_aead/morus640128v2/sse2
Compiler: gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 19, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer sse2
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer sse2
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer sse2
gcc -m32 -march=core2 -Os -fomit-frame-pointer sse2
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer sse2
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer sse2
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer sse2
gcc -m32 -march=corei7 -Os -fomit-frame-pointer sse2
gcc -m32 -march=k8 -Os -fomit-frame-pointer sse2
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer sse2
gcc -m32 -march=nocona -Os -fomit-frame-pointer sse2
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer sse2
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer sse2
gcc -m32 -march=prescott -Os -fomit-frame-pointer sse2

Test failure

Implementation: crypto_aead/morus640128v2/sse2
Compiler: gcc -m32 -march=barcelona -Os -fomit-frame-pointer
error 111
error 111

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m32 -march=barcelona -Os -fomit-frame-pointer sse2

Compiler output

Implementation: crypto_aead/morus640128v2/sse2
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
encrypt.c: encrypt.c: In function 'morus_stateupdate':
encrypt.c: encrypt.c:39:11: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
encrypt.c: state[0] = XOR(state[0], state[3]);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
encrypt.c: from encrypt.c:2:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:1419:1: error: inlining failed in call to always_inline '_mm_shuffle_epi32': target specific option mismatch
encrypt.c: _mm_shuffle_epi32 (__m128i __A, const int __mask)
encrypt.c: ^~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:28:24: note: called from here
encrypt.c: #define ROTL32(x) _mm_shuffle_epi32((x),_MM_SHUFFLE(2,1,0,3)) /*Rotate x by 32-bit positions to the left*/
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:66:13: note: in expansion of macro 'ROTL32'
encrypt.c: state[2] = ROTL32(state[2]);
encrypt.c: ^~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
encrypt.c: from encrypt.c:2:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:1290: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: encrypt.c:18:24: note: called from here
encrypt.c: #define XOR(x,y) _mm_xor_si128((x),(y)) /*XOR(x,y) = x ^ y, where x and y are two 128-bit word*/
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/morus640128v2/ref
Compiler: gcc -funroll-loops -m32 -Os -fomit-frame-pointer
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_initialization':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_tag_generation':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_tag_verification':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_enc_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_dec_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `crypto_aead_morus640128v2_ref_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `crypto_aead_morus640128v2_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_dec_aut_step'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 43, namely:
CompilerImplementations
gcc -funroll-loops -m32 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer ref
gcc -m32 -Os -fomit-frame-pointer ref
gcc -m32 -march=athlon -Os -fomit-frame-pointer ref
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer ref
gcc -m32 -march=core2 -Os -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m32 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m32 -march=i386 -Os -fomit-frame-pointer ref
gcc -m32 -march=i486 -Os -fomit-frame-pointer ref
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer ref
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer ref
gcc -m32 -march=k6 -Os -fomit-frame-pointer ref
gcc -m32 -march=k8 -Os -fomit-frame-pointer ref
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m32 -march=nocona -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium -Os -fomit-frame-pointer ref
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer ref
gcc -m32 -march=prescott -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/morus640128v2/sse2
Compiler: gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
encrypt.c: from encrypt.c:2:
encrypt.c: encrypt.c: In function 'morus_stateupdate':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:1419:1: error: inlining failed in call to always_inline '_mm_shuffle_epi32': target specific option mismatch
encrypt.c: _mm_shuffle_epi32 (__m128i __A, const int __mask)
encrypt.c: ^~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:28:24: note: called from here
encrypt.c: #define ROTL32(x) _mm_shuffle_epi32((x),_MM_SHUFFLE(2,1,0,3)) /*Rotate x by 32-bit positions to the left*/
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:66:13: note: in expansion of macro 'ROTL32'
encrypt.c: state[2] = ROTL32(state[2]);
encrypt.c: ^~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
encrypt.c: from encrypt.c:2:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:1290: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: encrypt.c:18:24: note: called from here
encrypt.c: #define XOR(x,y) _mm_xor_si128((x),(y)) /*XOR(x,y) = x ^ y, where x and y are two 128-bit word*/
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:25:24: note: in expansion of macro 'XOR'
encrypt.c: #define ROTL(x,n) XOR(_mm_slli_epi32((x), (n)), _mm_srli_epi32((x),(32-n))) /*Rotate 4 32-bit unsigned integers in x to the left by n-bit positions*/
encrypt.c: ^~~
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/morus640128v2/ref
Compiler: gcc -m32 -march=barcelona -Os -fomit-frame-pointer
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_initialization':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_tag_generation':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_tag_verification':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_enc_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_dec_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `crypto_aead_morus640128v2_ref_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `crypto_aead_morus640128v2_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_dec_aut_step'
try.c: collect2: error: ld returned 1 exit status
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_initialization':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_tag_generation':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_tag_verification':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_enc_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `morus_dec_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `crypto_aead_morus640128v2_ref_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: crypto_aead_morus640128v2.a(encrypt.o): In function `crypto_aead_morus640128v2_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_dec_aut_step'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m32 -march=barcelona -Os -fomit-frame-pointer ref