Implementation notes: amd64, katana, crypto_aead/enchilada128v1

Computer: katana
Architecture: amd64
CPU ID: GenuineIntel-000006f6-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_aead
Primitive: enchilada128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5729672? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2016101820161009
5738896? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2016101820161009
5745024? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2016101820161009
5747312? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016101820161009
5764176? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2016101820161009
5789208? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2016101820161009
5798960? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2016101820161009
6930808? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2016101820161009
6930808? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016101820161009
6956624? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2016101820161009
6970624? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016101820161009
6970992? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016101820161009
6971160? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016101820161009
8078384? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016101820161009
8091456? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2016101820161009
8154824? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2016101820161009
8235576? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2016101820161009
8237056? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2016101820161009
8275240? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2016101820161009
8276872? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2016101820161009
8363168? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2016101820161009
8388840? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2016101820161009
8389000? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2016101820161009
8439960? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2016101820161009
8465920? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016101820161009
9743680? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2016101820161009
15947504? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2016101820161009
15958216? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2016101820161009
16141016? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2016101820161009
16145576? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2016101820161009
16295632? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2016101820161009
16297328? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2016101820161009
16306336? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2016101820161009
16307280? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2016101820161009
16308312? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2016101820161009
16309072? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2016101820161009
16313264? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2016101820161009
17454016? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2016101820161009
17454624? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2016101820161009
17461520? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2016101820161009
17480816? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2016101820161009
17485424? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2016101820161009
17838256? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2016101820161009
17850656? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016101820161009
21382168? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2016101820161009
21584544? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2016101820161009
21595432? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2016101820161009
21717456? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2016101820161009
21720312? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2016101820161009
21720360? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2016101820161009
21721944? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2016101820161009
21722616? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2016101820161009
21723768? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016101820161009
21723984? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2016101820161009
21726112? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2016101820161009
21726960? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016101820161009
21727920? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2016101820161009
21729248? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2016101820161009
21729440? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2016101820161009
21729616? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2016101820161009
21766888? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2016101820161009
21774320? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2016101820161009
21864072? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2016101820161009
21864840? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2016101820161009
21867640? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2016101820161009
21868040? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2016101820161009
21868648? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2016101820161009
21910776? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2016101820161009
21920952? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2016101820161009
21928848? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2016101820161009
21932488? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2016101820161009
21932936? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2016101820161009
21933408? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2016101820161009
21933648? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2016101820161009
21936632? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2016101820161009
21936936? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016101820161009
22083312? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2016101820161009
22084128? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2016101820161009
22084336? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2016101820161009
22084560? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2016101820161009
22084752? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2016101820161009
22085264? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2016101820161009
22090528? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2016101820161009
22090912? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2016101820161009
22090952? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2016101820161009
22091248? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2016101820161009
22092056? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016101820161009
22132224? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2016101820161009
22134360? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2016101820161009
22153616? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2016101820161009
22154040? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2016101820161009
22155800? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2016101820161009
22156216? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2016101820161009
22156664? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2016101820161009
22186344? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2016101820161009
22187016? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2016101820161009
22218632? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2016101820161009
22509288? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2016101820161009
22518824? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016101820161009
83921064? ? ?? ? ?refcc2016101820161009
83922840? ? ?? ? ?refgcc2016101820161009
84089960? ? ?? ? ?refgcc_-funroll-loops2016101820161009

Compiler output

Implementation: crypto_aead/enchilada128v1/ref
Compiler: cc
aes.c: aes.c: In function 'aes_encrypt':
aes.c: aes.c:389:7: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
aes.c: keys = rk ;
aes.c: ^
aes.c: aes.c: In function 'aes_decrypt':
aes.c: aes.c:407:7: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
aes.c: keys = rk ;
aes.c: ^

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

Compiler output

Implementation: crypto_aead/enchilada128v1/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
aes.c: aes.c:389:7: warning: assigning to 'byte *' (aka 'unsigned char *') from 'const byte *' (aka 'const unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
aes.c: keys = rk ;
aes.c: ^ ~~
aes.c: aes.c:407:7: warning: assigning to 'byte *' (aka 'unsigned char *') from 'const byte *' (aka 'const unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
aes.c: keys = rk ;
aes.c: ^ ~~
aes.c: 2 warnings generated.

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

Compiler output

Implementation: crypto_aead/enchilada128v1/ref
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
aes.c: aes.c: In function 'aes_encrypt':
aes.c: aes.c:389:7: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
aes.c: keys = rk ;
aes.c: ^
aes.c: aes.c: In function 'aes_decrypt':
aes.c: aes.c:407:7: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
aes.c: keys = rk ;
aes.c: ^
aes.c: aes.c: In function 'aes_encrypt':
aes.c: aes.c:389:7: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
aes.c: keys = rk ;
aes.c: ^
aes.c: aes.c: In function 'aes_decrypt':
aes.c: aes.c:407:7: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
aes.c: keys = rk ;
aes.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -m64 -march=barcelona -Os -fomit-frame-pointer ref