Implementation notes: amd64, skylake, crypto_aead/morus640128v1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: morus640128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
6918sse2clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
6924sse2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
6936sse2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
6936sse2clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
6946sse2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
6962sse2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
7186sse2clang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
7192sse2clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
7210sse2clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
7252sse2clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
9296sse2gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
9302sse2gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
9324sse2gcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
9350sse2gcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
9480sse2gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
9486sse2gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
9504sse2gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
9504sse2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
9516sse2gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
9518sse2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
9604sse2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
9614sse2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
9634sse2gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
9640sse2gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
9642sse2gcc -funroll-loops -O -fomit-frame-pointer2016121620161026
9642sse2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
9644sse2gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
9644sse2gcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
9648sse2gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
9656sse2gcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
9662sse2gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
9662sse2gcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
9672sse2gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
9676sse2gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
9702sse2gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
9702sse2gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
9704sse2gcc -m64 -O3 -fomit-frame-pointer2016121620161026
9704sse2gcc -march=nocona -O -fomit-frame-pointer2016121620161026
9712sse2gcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
9714sse2gcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
9716sse2gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
9720sse2gcc -O -fomit-frame-pointer2016121620161026
9726sse2gcc -O3 -fomit-frame-pointer2016121620161026
9730sse2gcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
9730sse2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
9732sse2gcc -march=k8 -O -fomit-frame-pointer2016121620161026
9736sse2gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
9742sse2gcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
9742sse2gcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
9760sse2gcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
9760sse2gcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
9768sse2gcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
9772sse2gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
9778sse2gcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
9778sse2gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
9778sse2gcc -march=barcelona -O -fomit-frame-pointer2016121620161026
9782sse2gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
9806sse2gcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
9822sse2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
9832sse2gcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
9848sse2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
9850sse2gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
9862sse2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
9866sse2gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
9876sse2gcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
9882sse2gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
9888sse2gcc -m64 -O -fomit-frame-pointer2016121620161026
9892sse2gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
9892sse2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
9896sse2gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
9906sse2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
9920sse2gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
9924sse2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
9974sse2gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
9978sse2gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
9992sse2gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
10000sse2gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
10004sse2gcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
10016sse2gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
10024sse2gcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
10038sse2gcc -O2 -fomit-frame-pointer2016121620161026
10052sse2gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
10054sse2gcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
10056sse2gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
10060sse2gcc -m64 -O2 -fomit-frame-pointer2016121620161026
10064sse2gcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
10070sse2gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
10080sse2gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
10082sse2gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
10088sse2gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
10104sse2gcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
10106sse2gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
10138sse2gcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
10210sse2gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
10286sse2gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
10596sse2gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
13314sse2gcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
13708sse2gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
13710sse2gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
13928sse2gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
13930sse2gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
13942sse2gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
13952sse2gcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
13956sse2gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
13958sse2gcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
14066sse2gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
14496sse2gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
14504sse2gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
14506sse2gcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
14516sse2gcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
14522sse2gcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
14526sse2gcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
14712sse2gcc -march=nocona -Os -fomit-frame-pointer2016121620161026
14756sse2gcc -march=k8 -Os -fomit-frame-pointer2016121620161026
14760sse2gcc -Os -fomit-frame-pointer2016121620161026
14766sse2gcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
14768sse2gcc -m64 -Os -fomit-frame-pointer2016121620161026
14772sse2gcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
18974refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
19048refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
19136refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
19882refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
19964refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
19984refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
20058refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
20072refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
20076refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
20106refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
20114refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
20114refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
20116refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
20122refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
20126refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
20128refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
20154refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
20158refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
20174refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
20178refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
20180refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
20182refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
20230refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
20240refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
20260refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
20270refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
20280refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
20286refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
20294refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
20300refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
20312refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
20318refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
20322refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
20328refgcc -O3 -fomit-frame-pointer2016121620161026
20328refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
20356refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
20358refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
20358refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
20362refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
20380refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
20382refgcc -Os -fomit-frame-pointer2016121620161026
20386refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
20388refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
20388refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
20390refgcc -m64 -Os -fomit-frame-pointer2016121620161026
20396refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
20398refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
20404refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
20406refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
20412refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
20412refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
20414refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
20424refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
20428refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
20430refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
20472refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
20474refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
20474refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
20480refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
20502refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
20512refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
20512refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
20546refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
20556refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
20580refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
20616refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
20626refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
20630refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
20632refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
20632refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
20670refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
20686refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
20702refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
20734refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
20734refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
20880refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
20886refgcc -O -fomit-frame-pointer2016121620161026
20892refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
20892refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
20956refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
20980refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
20994refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
21036refgcc -m64 -O -fomit-frame-pointer2016121620161026
21060refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
21066refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
21076refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
21080refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
21086refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
21088refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
21108refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
21114refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
21116refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
21144refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
21158refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
21166refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
21182refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
21184refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
21194refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
21196refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
21206refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
21210refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
21262refgcc -O2 -fomit-frame-pointer2016121620161026
21278refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
21322refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
21404refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
21436refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
21604refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
22326refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
97594sse2cc2016121620161026
98188sse2gcc2016121620161026
98468sse2gcc -funroll-loops2016121620161026

Compiler output

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

Compiler output

Implementation: crypto_aead/morus640128v1/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
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: 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_morus640128v1.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