Implementation notes: x86, kizomba, crypto_aead/morus640128v1

Computer: kizomba
Architecture: x86
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20181216
Operation: crypto_aead
Primitive: morus640128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
9616sse2gcc -m32 -march=nocona -O3 -fomit-frame-pointer2018082420180818
9651sse2gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082420180818
9656sse2gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018082420180818
9665sse2gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018082420180818
9790sse2gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082420180818
9825sse2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018082420180818
9861sse2gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082420180818
9900sse2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018082420180818
9909sse2gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018082420180818
9914sse2gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018082420180818
9917sse2gcc -m32 -march=nocona -O2 -fomit-frame-pointer2018082420180818
9928sse2gcc -m32 -march=prescott -O3 -fomit-frame-pointer2018082420180818
9929sse2gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082420180818
9931sse2gcc -m32 -march=prescott -O2 -fomit-frame-pointer2018082420180818
9934sse2gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082420180818
9941sse2gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018082420180818
9942sse2gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082420180818
9968sse2gcc -m32 -march=prescott -O -fomit-frame-pointer2018082420180818
9972sse2gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018082420180818
9973sse2gcc -m32 -march=pentium4 -O -fomit-frame-pointer2018082420180818
9980sse2gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018082420180818
9982sse2gcc -m32 -march=nocona -O -fomit-frame-pointer2018082420180818
9986sse2gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018082420180818
10018sse2gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018082420180818
10022sse2gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082420180818
10060sse2gcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018082420180818
10066sse2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018082420180818
10068sse2gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018082420180818
10079sse2gcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018082420180818
10107sse2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018082420180818
10121sse2gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018082420180818
10123sse2gcc -m32 -march=pentium-m -O -fomit-frame-pointer2018082420180818
10147sse2gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018082420180818
10153sse2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018082420180818
10196sse2gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082420180818
10206sse2gcc -m32 -march=k8 -O -fomit-frame-pointer2018082420180818
10211sse2gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082420180818
10222sse2gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018082420180818
10230sse2gcc -m32 -march=corei7 -O -fomit-frame-pointer2018082420180818
10232sse2gcc -m32 -march=core2 -O -fomit-frame-pointer2018082420180818
10238sse2gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018082420180818
10238sse2gcc -m32 -march=core2 -O3 -fomit-frame-pointer2018082420180818
10255sse2gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082420180818
10277sse2gcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018082420180818
10304sse2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018082420180818
10309sse2gcc -m32 -march=k8 -O3 -fomit-frame-pointer2018082420180818
10322sse2gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082420180818
10325sse2gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018082420180818
10335sse2gcc -m32 -march=barcelona -O -fomit-frame-pointer2018082420180818
10353sse2gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018082420180818
10359sse2gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018082420180818
10375sse2gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018082420180818
10379sse2gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018082420180818
10465sse2gcc -m32 -march=core2 -O2 -fomit-frame-pointer2018082420180818
10474sse2gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082420180818
10484sse2gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082420180818
10518sse2gcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018082420180818
10538sse2gcc -m32 -march=k8 -O2 -fomit-frame-pointer2018082420180818
10567sse2gcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018082420180818
10748sse2gcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018082420180818
24331refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018082420180818
24429refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082420180818
24441refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018082420180818
24456refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018082420180818
24478refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018082420180818
24494refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018082420180818
24504refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018082420180818
24528refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082420180818
24563refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082420180818
24570refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018082420180818
24605refgcc -m32 -O3 -fomit-frame-pointer2018082420180818
24605refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018082420180818
24622refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018082420180818
24629refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018082420180818
24663refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018082420180818
24674refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018082420180818
24684refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018082420180818
24693refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018082420180818
24700refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018082420180818
24716refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018082420180818
24717refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018082420180818
24724refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018082420180818
24742refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018082420180818
24777refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018082420180818
24781refgcc -m32 -O2 -fomit-frame-pointer2018082420180818
24792refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082420180818
24796refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018082420180818
24798refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018082420180818
24820refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018082420180818
24821refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018082420180818
24835refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018082420180818
24851refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018082420180818
24857refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018082420180818
24871refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018082420180818
24873refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018082420180818
24879refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082420180818
24879refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018082420180818
24885refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082420180818
24915refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018082420180818
24919refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018082420180818
24927refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018082420180818
24936refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018082420180818
24947refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018082420180818
24954refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018082420180818
24998refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018082420180818
25020refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018082420180818
25045refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018082420180818
25051refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018082420180818
25060refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018082420180818
25063refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018082420180818
25070refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018082420180818
25085refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018082420180818
25086refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018082420180818
25121refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018082420180818
25125refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018082420180818
25125refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018082420180818
25129refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018082420180818
25133refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018082420180818
25145refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018082420180818
25145refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018082420180818
25187refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018082420180818
25187refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018082420180818
25190refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018082420180818
25192refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018082420180818
25219refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018082420180818
25220refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018082420180818
25268refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018082420180818
25283refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018082420180818
25285refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018082420180818
25300refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018082420180818
25304refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082420180818
25311refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018082420180818
25329refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018082420180818
25351refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018082420180818
25370refgcc -m32 -march=i386 -O -fomit-frame-pointer2018082420180818
25416refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018082420180818
25460refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018082420180818
25460refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018082420180818
25464refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018082420180818
25470refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018082420180818
25482refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082420180818
25486refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018082420180818
25492refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018082420180818
25517refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018082420180818
25552refgcc -m32 -march=nocona -O -fomit-frame-pointer2018082420180818
25585refgcc -m32 -march=athlon -O -fomit-frame-pointer2018082420180818
25607refgcc -m32 -march=i486 -O -fomit-frame-pointer2018082420180818
25615refgcc -m32 -march=k8 -O -fomit-frame-pointer2018082420180818
25625refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018082420180818
25625refgcc -m32 -march=pentium -O -fomit-frame-pointer2018082420180818
25629refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018082420180818
25629refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018082420180818
25633refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018082420180818
25637refgcc -m32 -march=core2 -O -fomit-frame-pointer2018082420180818
25663refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018082420180818
25673refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018082420180818
25683refgcc -m32 -march=prescott -O -fomit-frame-pointer2018082420180818
25696refgcc -m32 -O -fomit-frame-pointer2018082420180818
25703refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082420180818
25728refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018082420180818
25750refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018082420180818
25787refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018082420180818
25833refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018082420180818
25950refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018082420180818
25978refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018082420180818
26021refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018082420180818
26022refgcc -m32 -march=k6 -O -fomit-frame-pointer2018082420180818
26267refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018082420180818
27685refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018082420180818
27762refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018082420180818
27871refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018082420180818
27875refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018082420180818
27881refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018082420180818
27885refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018082420180818
27905refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018082420180818
27964refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018082420180818
27970refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082420180818
27972refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018082420180818
27980refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018082420180818
27982refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082420180818
28645refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018082420180818
28788refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018082420180818
28864refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018082420180818
28899refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082420180818
28925refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018082420180818
28933refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018082420180818
28979refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082420180818
28996refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018082420180818
28998refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018082420180818
29030refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018082420180818
29113refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018082420180818
33647refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018082420180818

Test failure

Implementation: crypto_aead/morus640128v1/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/morus640128v1/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/morus640128v1/sse2
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
morus640128v1sse2.c: morus640128v1sse2.c: In function 'morus_stateupdate':
morus640128v1sse2.c: morus640128v1sse2.c:39:18: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
morus640128v1sse2.c: state[0] = XOR(state[0], state[3]);
morus640128v1sse2.c: ^
morus640128v1sse2.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
morus640128v1sse2.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
morus640128v1sse2.c: from morus640128v1sse2.c:2:
morus640128v1sse2.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
morus640128v1sse2.c: _mm_shuffle_epi32 (__m128i __A, const int __mask)
morus640128v1sse2.c: ^~~~~~~~~~~~~~~~~
morus640128v1sse2.c: morus640128v1sse2.c:28:24: note: called from here
morus640128v1sse2.c: #define ROTL32(x) _mm_shuffle_epi32((x),_MM_SHUFFLE(2,1,0,3)) /*Rotate x by 32-bit positions to the left*/
morus640128v1sse2.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
morus640128v1sse2.c: morus640128v1sse2.c:66:20: note: in expansion of macro 'ROTL32'
morus640128v1sse2.c: state[2] = ROTL32(state[2]);
morus640128v1sse2.c: ^~~~~~
morus640128v1sse2.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
morus640128v1sse2.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
morus640128v1sse2.c: from morus640128v1sse2.c:2:
morus640128v1sse2.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
morus640128v1sse2.c: _mm_xor_si128 (__m128i __A, __m128i __B)
morus640128v1sse2.c: ^~~~~~~~~~~~~
morus640128v1sse2.c: morus640128v1sse2.c:18:24: note: called from here
morus640128v1sse2.c: #define XOR(x,y) _mm_xor_si128((x),(y)) /*XOR(x,y) = x ^ y, where x and y are two 128-bit word*/
morus640128v1sse2.c: ^~~~~~~~~~~~~~~~~~~~~~
morus640128v1sse2.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/morus640128v1/ref
Compiler: gcc -funroll-loops -m32 -Os -fomit-frame-pointer
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `morus_initialization':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `morus_tag_generation':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `morus_tag_verification':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `morus_enc_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `morus_dec_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `crypto_aead_morus640128v1_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_morus640128v1.a(encrypt.o): In function `crypto_aead_morus640128v1_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/morus640128v1/sse2
Compiler: gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer
morus640128v1sse2.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
morus640128v1sse2.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
morus640128v1sse2.c: from morus640128v1sse2.c:2:
morus640128v1sse2.c: morus640128v1sse2.c: In function 'morus_stateupdate':
morus640128v1sse2.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
morus640128v1sse2.c: _mm_shuffle_epi32 (__m128i __A, const int __mask)
morus640128v1sse2.c: ^~~~~~~~~~~~~~~~~
morus640128v1sse2.c: morus640128v1sse2.c:28:24: note: called from here
morus640128v1sse2.c: #define ROTL32(x) _mm_shuffle_epi32((x),_MM_SHUFFLE(2,1,0,3)) /*Rotate x by 32-bit positions to the left*/
morus640128v1sse2.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
morus640128v1sse2.c: morus640128v1sse2.c:66:20: note: in expansion of macro 'ROTL32'
morus640128v1sse2.c: state[2] = ROTL32(state[2]);
morus640128v1sse2.c: ^~~~~~
morus640128v1sse2.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
morus640128v1sse2.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
morus640128v1sse2.c: from morus640128v1sse2.c:2:
morus640128v1sse2.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
morus640128v1sse2.c: _mm_xor_si128 (__m128i __A, __m128i __B)
morus640128v1sse2.c: ^~~~~~~~~~~~~
morus640128v1sse2.c: morus640128v1sse2.c:18:24: note: called from here
morus640128v1sse2.c: #define XOR(x,y) _mm_xor_si128((x),(y)) /*XOR(x,y) = x ^ y, where x and y are two 128-bit word*/
morus640128v1sse2.c: ^~~~~~~~~~~~~~~~~~~~~~
morus640128v1sse2.c: morus640128v1sse2.c:25:24: note: in expansion of macro 'XOR'
morus640128v1sse2.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*/
morus640128v1sse2.c: ^~~
morus640128v1sse2.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/morus640128v1/ref
Compiler: gcc -m32 -march=barcelona -Os -fomit-frame-pointer
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `morus_initialization':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `morus_tag_generation':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `morus_tag_verification':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `morus_enc_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `morus_dec_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `crypto_aead_morus640128v1_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_morus640128v1.a(encrypt.o): In function `crypto_aead_morus640128v1_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_morus640128v1.a(encrypt.o): In function `morus_initialization':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `morus_tag_generation':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `morus_tag_verification':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `morus_enc_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `morus_dec_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v1.a(encrypt.o): In function `crypto_aead_morus640128v1_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_morus640128v1.a(encrypt.o): In function `crypto_aead_morus640128v1_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