Implementation notes: amd64, hydra1, crypto_aead/morus640128v2

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_aead
Primitive: morus640128v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
10843sse2clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
10843sse2clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
10843sse2clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
10844sse2clang -O3 -fomit-frame-pointer -Qunused-arguments2016122720161220
11776sse2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
11778sse2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016122720161220
13027sse2gcc -march=nocona -O3 -fomit-frame-pointer2016122720161220
13040sse2gcc -m64 -march=nocona -O3 -fomit-frame-pointer2016122720161220
13091sse2gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016122720161220
13094sse2gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016122720161220
15041sse2gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016122720161220
15059sse2gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016122720161220
15192sse2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016122720161220
15194sse2gcc -m64 -march=barcelona -O -fomit-frame-pointer2016122720161220
15197sse2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016122720161220
15229sse2gcc -march=barcelona -O -fomit-frame-pointer2016122720161220
15517sse2gcc -m64 -march=corei7 -O -fomit-frame-pointer2016122720161220
15528sse2gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016122720161220
15553sse2gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016122720161220
15638sse2gcc -funroll-loops -O3 -fomit-frame-pointer2016122720161220
15653sse2gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016122720161220
15653sse2gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016122720161220
15690sse2gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016122720161220
15698sse2gcc -funroll-loops -O -fomit-frame-pointer2016122720161220
15718sse2gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016122720161220
15747sse2gcc -funroll-loops -m64 -O -fomit-frame-pointer2016122720161220
15757sse2gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016122720161220
15784sse2gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016122720161220
15790sse2gcc -march=nocona -O2 -fomit-frame-pointer2016122720161220
15800sse2gcc -m64 -march=nocona -O2 -fomit-frame-pointer2016122720161220
15803sse2gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016122720161220
15822sse2gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016122720161220
15829sse2gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016122720161220
15835sse2gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016122720161220
15853sse2gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016122720161220
15886sse2gcc -march=k8 -O -fomit-frame-pointer2016122720161220
15890sse2gcc -m64 -march=k8 -O -fomit-frame-pointer2016122720161220
15904sse2gcc -m64 -march=core2 -O -fomit-frame-pointer2016122720161220
15924sse2gcc -O -fomit-frame-pointer2016122720161220
15925sse2gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016122720161220
15925sse2gcc -march=nocona -O -fomit-frame-pointer2016122720161220
15928sse2gcc -m64 -O -fomit-frame-pointer2016122720161220
15952sse2gcc -m64 -march=nocona -O -fomit-frame-pointer2016122720161220
15958sse2gcc -fno-schedule-insns -O -fomit-frame-pointer2016122720161220
15981sse2gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016122720161220
16091sse2gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016122720161220
16091sse2gcc -march=barcelona -O3 -fomit-frame-pointer2016122720161220
16092sse2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016122720161220
16109sse2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016122720161220
16130sse2gcc -march=k8 -O3 -fomit-frame-pointer2016122720161220
16138sse2gcc -m64 -march=k8 -O3 -fomit-frame-pointer2016122720161220
16184sse2gcc -O3 -fomit-frame-pointer2016122720161220
16184sse2gcc -m64 -O3 -fomit-frame-pointer2016122720161220
16186sse2gcc -fno-schedule-insns -O3 -fomit-frame-pointer2016122720161220
17240sse2gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016122720161220
17488sse2gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016122720161220
17525sse2gcc -m64 -march=core2 -O2 -fomit-frame-pointer2016122720161220
17533sse2gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016122720161220
17829sse2gcc -march=k8 -O2 -fomit-frame-pointer2016122720161220
17830sse2gcc -funroll-loops -O2 -fomit-frame-pointer2016122720161220
17831sse2gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016122720161220
17831sse2gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016122720161220
17837sse2gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016122720161220
17846sse2gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016122720161220
17864sse2gcc -m64 -march=k8 -O2 -fomit-frame-pointer2016122720161220
17979sse2gcc -m64 -O2 -fomit-frame-pointer2016122720161220
18008sse2gcc -O2 -fomit-frame-pointer2016122720161220
18062sse2gcc -fno-schedule-insns -O2 -fomit-frame-pointer2016122720161220
18128sse2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016122720161220
18128sse2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016122720161220
18144sse2gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016122720161220
18155sse2gcc -march=barcelona -O2 -fomit-frame-pointer2016122720161220
18411sse2gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016122720161220
18416sse2gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016122720161220
26960refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016122720161220
26965refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016122720161220
26987refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016122720161220
26992refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016122720161220
27094refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016122720161220
27096refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016122720161220
27096refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016122720161220
27099refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016122720161220
27110refgcc -funroll-loops -Os -fomit-frame-pointer2016122720161220
27125refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016122720161220
27142refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016122720161220
27152refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016122720161220
27154refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016122720161220
27162refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016122720161220
27165refgcc -Os -fomit-frame-pointer2016122720161220
27170refgcc -m64 -Os -fomit-frame-pointer2016122720161220
27171refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016122720161220
27174refgcc -march=barcelona -Os -fomit-frame-pointer2016122720161220
27181refgcc -march=k8 -Os -fomit-frame-pointer2016122720161220
27192refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016122720161220
27198refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016122720161220
27205refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016122720161220
27206refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016122720161220
27237refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016122720161220
27382refgcc -march=k8 -O2 -fomit-frame-pointer2016122720161220
27384refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016122720161220
27411refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016122720161220
27427refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016122720161220
27437refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016122720161220
27451refgcc -march=nocona -Os -fomit-frame-pointer2016122720161220
27491refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016122720161220
27502refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016122720161220
27502refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016122720161220
27530refgcc -march=barcelona -O2 -fomit-frame-pointer2016122720161220
28192refgcc -funroll-loops -O2 -fomit-frame-pointer2016122720161220
28208refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016122720161220
28216refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016122720161220
28416refgcc -O2 -fomit-frame-pointer2016122720161220
28418refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016122720161220
28435refgcc -m64 -O2 -fomit-frame-pointer2016122720161220
28488refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016122720161220
28493refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016122720161220
28525refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016122720161220
28637refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016122720161220
28693refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016122720161220
28717refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016122720161220
28830refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016122720161220
28859refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016122720161220
28976refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016122720161220
29004refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016122720161220
29128refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016122720161220
29184refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016122720161220
29240refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016122720161220
29261refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016122720161220
29277refgcc -funroll-loops -O -fomit-frame-pointer2016122720161220
29341refgcc -march=nocona -O2 -fomit-frame-pointer2016122720161220
29389refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016122720161220
29389refgcc -march=barcelona -O -fomit-frame-pointer2016122720161220
29402refgcc -march=k8 -O -fomit-frame-pointer2016122720161220
29405refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016122720161220
29406refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016122720161220
29408refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016122720161220
29413refgcc -m64 -march=k8 -O -fomit-frame-pointer2016122720161220
29472refgcc -m64 -O -fomit-frame-pointer2016122720161220
29509refgcc -fno-schedule-insns -O -fomit-frame-pointer2016122720161220
29512refgcc -O -fomit-frame-pointer2016122720161220
29523refgcc -m64 -march=nocona -O -fomit-frame-pointer2016122720161220
29533refgcc -march=nocona -O -fomit-frame-pointer2016122720161220
29629refgcc -m64 -march=core2 -O -fomit-frame-pointer2016122720161220
29662refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016122720161220
29666refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016122720161220
29768refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016122720161220
32182refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016122720161220
32221refgcc -funroll-loops -O3 -fomit-frame-pointer2016122720161220
32227refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016122720161220
32699refgcc -m64 -O3 -fomit-frame-pointer2016122720161220
32733refgcc -O3 -fomit-frame-pointer2016122720161220
32744refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016122720161220
32790refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016122720161220
32811refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016122720161220
32973refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016122720161220
32997refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016122720161220
33072refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016122720161220
33114refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016122720161220
33483refgcc -march=k8 -O3 -fomit-frame-pointer2016122720161220
33485refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016122720161220
33496refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016122720161220
33531refgcc -march=barcelona -O3 -fomit-frame-pointer2016122720161220
33544refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016122720161220
33552refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016122720161220
33856refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016122720161220
33864refgcc -march=nocona -O3 -fomit-frame-pointer2016122720161220
201576sse2gcc2016122720161220
201831sse2cc2016122720161220
201858sse2gcc -funroll-loops2016122720161220

Test failure

Implementation: crypto_aead/morus640128v2/sse2
Compiler: gcc -Os -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 25, namely:
CompilerImplementations
gcc -Os -fomit-frame-pointer sse2
gcc -fno-schedule-insns -Os -fomit-frame-pointer sse2
gcc -funroll-loops -Os -fomit-frame-pointer sse2
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer sse2
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer sse2
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer sse2
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer sse2
gcc -m64 -Os -fomit-frame-pointer sse2
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref sse2
gcc -m64 -march=core2 -Os -fomit-frame-pointer sse2
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer sse2
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer sse2
gcc -m64 -march=corei7 -Os -fomit-frame-pointer sse2
gcc -m64 -march=k8 -Os -fomit-frame-pointer sse2
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer sse2
gcc -m64 -march=nocona -Os -fomit-frame-pointer sse2
gcc -march=barcelona -Os -fomit-frame-pointer sse2
gcc -march=k8 -Os -fomit-frame-pointer sse2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv sse2
gcc -march=nocona -Os -fomit-frame-pointer sse2

Test failure

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

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

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: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -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