Implementation notes: amd64, hydra1, crypto_aead/morus640128v1

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_aead
Primitive: morus640128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
10696sse2clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102020161009
10699sse2clang -O3 -fomit-frame-pointer -Qunused-arguments2016102020161009
10702sse2clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102020161009
10704sse2clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102020161009
11672sse2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016102020161009
11685sse2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016102020161009
13765sse2gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
13797sse2gcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
13810sse2gcc -march=nocona -O3 -fomit-frame-pointer2016102020161009
13875sse2gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102020161009
14951sse2gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102020161009
14992sse2gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
15061sse2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102020161009
15064sse2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102020161009
15133sse2gcc -march=barcelona -O -fomit-frame-pointer2016102020161009
15136sse2gcc -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
15395sse2gcc -m64 -march=corei7 -O -fomit-frame-pointer2016102020161009
15507sse2gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
15529sse2gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
15585sse2gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102020161009
15589sse2gcc -march=nocona -O2 -fomit-frame-pointer2016102020161009
15605sse2gcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
15610sse2gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102020161009
15645sse2gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
15646sse2gcc -m64 -O -fomit-frame-pointer2016102020161009
15654sse2gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102020161009
15662sse2gcc -O -fomit-frame-pointer2016102020161009
15682sse2gcc -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
15687sse2gcc -funroll-loops -O -fomit-frame-pointer2016102020161009
15736sse2gcc -m64 -march=core2 -O -fomit-frame-pointer2016102020161009
15736sse2gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102020161009
15755sse2gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102020161009
15770sse2gcc -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
15784sse2gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
15795sse2gcc -march=nocona -O -fomit-frame-pointer2016102020161009
15803sse2gcc -funroll-loops -m64 -O -fomit-frame-pointer2016102020161009
15850sse2gcc -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
15856sse2gcc -march=k8 -O -fomit-frame-pointer2016102020161009
16296sse2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102020161009
16342sse2gcc -funroll-loops -O3 -fomit-frame-pointer2016102020161009
16343sse2gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
16343sse2gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102020161009
16363sse2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102020161009
16368sse2gcc -march=barcelona -O3 -fomit-frame-pointer2016102020161009
16370sse2gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
16476sse2gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102020161009
16499sse2gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
16618sse2gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
16624sse2gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102020161009
16795sse2gcc -O3 -fomit-frame-pointer2016102020161009
16795sse2gcc -m64 -O3 -fomit-frame-pointer2016102020161009
16797sse2gcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
16797sse2gcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
16798sse2gcc -march=k8 -O3 -fomit-frame-pointer2016102020161009
17026sse2gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102020161009
17341sse2gcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102020161009
17352sse2gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102020161009
17365sse2gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102020161009
17621sse2gcc -funroll-loops -O2 -fomit-frame-pointer2016102020161009
17646sse2gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102020161009
17659sse2gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
17661sse2gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
17680sse2gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102020161009
17715sse2gcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
17738sse2gcc -O2 -fomit-frame-pointer2016102020161009
17738sse2gcc -m64 -O2 -fomit-frame-pointer2016102020161009
17850sse2gcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
17854sse2gcc -march=k8 -O2 -fomit-frame-pointer2016102020161009
17997sse2gcc -march=barcelona -O2 -fomit-frame-pointer2016102020161009
17998sse2gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
18008sse2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102020161009
18011sse2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102020161009
18313sse2gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102020161009
18376sse2gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
26765refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102020161009
26795refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
26808refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102020161009
26813refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102020161009
26824refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102020161009
26830refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102020161009
26837refgcc -funroll-loops -Os -fomit-frame-pointer2016102020161009
26842refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102020161009
26845refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102020161009
26851refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102020161009
26869refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
26949refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102020161009
26952refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102020161009
26957refgcc -Os -fomit-frame-pointer2016102020161009
26958refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102020161009
26963refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102020161009
26974refgcc -m64 -Os -fomit-frame-pointer2016102020161009
26976refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102020161009
26976refgcc -march=barcelona -Os -fomit-frame-pointer2016102020161009
26992refgcc -march=k8 -Os -fomit-frame-pointer2016102020161009
27027refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016102020161009
27066refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102020161009
27077refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102020161009
27099refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016102020161009
27112refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016102020161009
27141refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102020161009
27192refgcc -march=nocona -Os -fomit-frame-pointer2016102020161009
27210refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102020161009
27211refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
27232refgcc -march=k8 -O2 -fomit-frame-pointer2016102020161009
27251refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
27251refgcc -march=barcelona -O2 -fomit-frame-pointer2016102020161009
27259refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102020161009
27277refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102020161009
27981refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
27990refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102020161009
28008refgcc -funroll-loops -O2 -fomit-frame-pointer2016102020161009
28325refgcc -m64 -O2 -fomit-frame-pointer2016102020161009
28368refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
28400refgcc -O2 -fomit-frame-pointer2016102020161009
28512refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102020161009
28528refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102020161009
28534refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102020161009
28667refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102020161009
28862refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
28905refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102020161009
28946refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102020161009
28959refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
28981refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
28987refgcc -funroll-loops -O -fomit-frame-pointer2016102020161009
29021refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
29035refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102020161009
29082refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102020161009
29203refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102020161009
29205refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
29212refgcc -march=k8 -O -fomit-frame-pointer2016102020161009
29272refgcc -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
29285refgcc -march=barcelona -O -fomit-frame-pointer2016102020161009
29291refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102020161009
29323refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
29330refgcc -march=nocona -O -fomit-frame-pointer2016102020161009
29334refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102020161009
29346refgcc -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
29429refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
29461refgcc -march=nocona -O2 -fomit-frame-pointer2016102020161009
29520refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102020161009
29523refgcc -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
29536refgcc -O -fomit-frame-pointer2016102020161009
29539refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102020161009
29549refgcc -m64 -march=core2 -O -fomit-frame-pointer2016102020161009
29557refgcc -m64 -O -fomit-frame-pointer2016102020161009
29576refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016102020161009
31953refgcc -funroll-loops -O3 -fomit-frame-pointer2016102020161009
31963refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102020161009
32017refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
32523refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
32531refgcc -O3 -fomit-frame-pointer2016102020161009
32538refgcc -m64 -O3 -fomit-frame-pointer2016102020161009
32674refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102020161009
32689refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
32704refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102020161009
32755refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
32774refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
32779refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102020161009
33282refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102020161009
33288refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
33288refgcc -march=barcelona -O3 -fomit-frame-pointer2016102020161009
33298refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
33325refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102020161009
33330refgcc -march=k8 -O3 -fomit-frame-pointer2016102020161009
33616refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
33617refgcc -march=nocona -O3 -fomit-frame-pointer2016102020161009
198847sse2gcc -funroll-loops2016102020161009
198888sse2cc2016102020161009
198915sse2gcc2016102020161009

Test failure

Implementation: crypto_aead/morus640128v1/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/morus640128v1/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/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: 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