Implementation notes: amd64, skylake, crypto_aead/morus640128v2

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: morus640128v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
6998sse2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
7008sse2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
7014sse2clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
7016sse2clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
7030sse2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
7172sse2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
7280sse2clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
7284sse2clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
7298sse2clang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
7302sse2clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
9348sse2gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
9354sse2gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
9416sse2gcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
9426sse2gcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
9450sse2gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
9472sse2gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
9538sse2gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
9576sse2gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
9586sse2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
9588sse2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
9594sse2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
9602sse2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
9658sse2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
9678sse2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
9690sse2gcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
9692sse2gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
9716sse2gcc -funroll-loops -O -fomit-frame-pointer2016121620161026
9716sse2gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
9722sse2gcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
9724sse2gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
9726sse2gcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
9726sse2gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
9726sse2gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
9732sse2gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
9752sse2gcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
9768sse2gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
9770sse2gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
9782sse2gcc -O -fomit-frame-pointer2016121620161026
9784sse2gcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
9788sse2gcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
9788sse2gcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
9788sse2gcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
9790sse2gcc -m64 -O -fomit-frame-pointer2016121620161026
9792sse2gcc -m64 -O3 -fomit-frame-pointer2016121620161026
9792sse2gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
9798sse2gcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
9800sse2gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
9802sse2gcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
9806sse2gcc -march=nocona -O -fomit-frame-pointer2016121620161026
9814sse2gcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
9818sse2gcc -O3 -fomit-frame-pointer2016121620161026
9820sse2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
9830sse2gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
9830sse2gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
9836sse2gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
9852sse2gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
9856sse2gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
9856sse2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
9860sse2gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
9862sse2gcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
9866sse2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
9866sse2gcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
9868sse2gcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
9874sse2gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
9882sse2gcc -march=barcelona -O -fomit-frame-pointer2016121620161026
9892sse2gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
9908sse2gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
9916sse2gcc -march=k8 -O -fomit-frame-pointer2016121620161026
9954sse2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
9960sse2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
9966sse2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
9972sse2gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
9994sse2gcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
10000sse2gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
10000sse2gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
10068sse2gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
10096sse2gcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
10102sse2gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
10106sse2gcc -m64 -O2 -fomit-frame-pointer2016121620161026
10112sse2gcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
10132sse2gcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
10146sse2gcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
10152sse2gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
10154sse2gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
10174sse2gcc -O2 -fomit-frame-pointer2016121620161026
10178sse2gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
10180sse2gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
10186sse2gcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
10188sse2gcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
10198sse2gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
10206sse2gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
10220sse2gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
10336sse2gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
10350sse2gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
10384sse2gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
10524sse2gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
13416sse2gcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
13780sse2gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
13794sse2gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
14010sse2gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
14022sse2gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
14044sse2gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
14046sse2gcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
14052sse2gcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
14060sse2gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
14308sse2gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
14522sse2gcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
14590sse2gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
14594sse2gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
14596sse2gcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
14608sse2gcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
14614sse2gcc -march=nocona -Os -fomit-frame-pointer2016121620161026
14648sse2gcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
14840sse2gcc -march=k8 -Os -fomit-frame-pointer2016121620161026
14842sse2gcc -m64 -Os -fomit-frame-pointer2016121620161026
14842sse2gcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
14850sse2gcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
14906sse2gcc -Os -fomit-frame-pointer2016121620161026
19112refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
19128refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
19488refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
19904refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
19922refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
20008refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
20010refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
20078refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
20130refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
20180refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
20204refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
20228refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
20236refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
20258refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
20268refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
20280refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
20286refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
20298refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
20298refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
20308refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
20312refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
20318refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
20332refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
20336refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
20350refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
20356refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
20372refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
20392refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
20428refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
20438refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
20440refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
20444refgcc -O3 -fomit-frame-pointer2016121620161026
20464refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
20472refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
20478refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
20484refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
20484refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
20496refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
20496refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
20498refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
20504refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
20508refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
20512refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
20514refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
20514refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
20516refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
20518refgcc -Os -fomit-frame-pointer2016121620161026
20520refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
20528refgcc -m64 -Os -fomit-frame-pointer2016121620161026
20530refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
20544refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
20564refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
20574refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
20582refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
20586refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
20586refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
20600refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
20602refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
20646refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
20664refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
20698refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
20698refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
20700refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
20708refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
20718refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
20720refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
20732refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
20742refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
20774refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
20784refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
20790refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
20818refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
20846refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
20902refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
20916refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
21038refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
21038refgcc -m64 -O -fomit-frame-pointer2016121620161026
21056refgcc -O -fomit-frame-pointer2016121620161026
21064refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
21068refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
21096refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
21098refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
21146refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
21158refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
21170refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
21174refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
21178refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
21180refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
21186refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
21200refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
21202refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
21222refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
21234refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
21264refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
21274refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
21300refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
21304refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
21318refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
21402refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
21472refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
21496refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
21500refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
21564refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
21584refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
21586refgcc -O2 -fomit-frame-pointer2016121620161026
21588refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
21612refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
21766refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
98314sse2gcc2016121620161026
98368sse2cc2016121620161026
98752sse2gcc -funroll-loops2016121620161026

Compiler output

Implementation: crypto_aead/morus640128v2/ref
Compiler: cc
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: 3, namely:
CompilerImplementations
cc ref
gcc ref
gcc -funroll-loops ref

Compiler output

Implementation: crypto_aead/morus640128v2/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
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: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus640128v2.a(encrypt.o):encrypt.c:(.text+0x...): more undefined references to `morus_stateupdate' follow
try.c: clang-3.9: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref