Implementation notes: amd64, h3neo, crypto_aead/enchilada128v1

Computer: h3neo
Architecture: amd64
CPU ID: AuthenticAMD-00100f63-078bfbff
SUPERCOP version: 20170105
Operation: crypto_aead
Primitive: enchilada128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4583074? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2016102720161009
4583818? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2016102720161009
4592837? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2016102720161009
4593420? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2016102720161009
4610360? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2016102720161009
4639706? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016102720161009
4641105? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2016102720161009
5297826? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2016102720161009
5311133? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102720161009
5314241? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102720161009
5314736? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102720161009
5323271? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102720161009
5326371? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2016102720161009
7287246? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016102720161009
7287481? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016102720161009
7288277? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2016102720161009
7415628? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2016102720161009
7424599? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2016102720161009
7426039? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2016102720161009
7426574? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2016102720161009
7428781? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2016102720161009
7428915? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2016102720161009
7429568? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2016102720161009
7485522? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2016102720161009
7489323? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2016102720161009
17971115? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2016102720161009
17971727? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2016102720161009
17972020? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2016102720161009
18107288? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2016102720161009
18108235? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016102720161009
18318962? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2016102720161009
18324301? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2016102720161009
18411244? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2016102720161009
18416546? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2016102720161009
18419100? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2016102720161009
18441145? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2016102720161009
18523587? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2016102720161009
18523801? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2016102720161009
18599230? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2016102720161009
18599365? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2016102720161009
18600902? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2016102720161009
18815320? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2016102720161009
18816194? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2016102720161009
21587168? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2016102720161009
22016269? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2016102720161009
22095444? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2016102720161009
22098166? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2016102720161009
22130691? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2016102720161009
22130892? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2016102720161009
22131691? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2016102720161009
22132212? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2016102720161009
22160372? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2016102720161009
22160593? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2016102720161009
22161186? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2016102720161009
22180916? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2016102720161009
22181070? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2016102720161009
22187057? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016102720161009
22188589? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2016102720161009
22193889? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2016102720161009
22197339? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016102720161009
22199441? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2016102720161009
22200021? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016102720161009
22201971? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2016102720161009
22202084? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2016102720161009
22202815? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2016102720161009
22203967? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2016102720161009
22230504? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2016102720161009
22328781? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2016102720161009
22331669? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2016102720161009
22353183? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2016102720161009
22368731? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2016102720161009
22422289? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2016102720161009
22423216? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2016102720161009
22423760? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2016102720161009
22438181? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2016102720161009
22522279? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2016102720161009
22522707? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2016102720161009
22523078? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2016102720161009
22534899? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2016102720161009
22560083? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2016102720161009
22561771? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2016102720161009
22562837? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2016102720161009
22578879? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2016102720161009
22614869? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2016102720161009
22777255? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016102720161009
22781592? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2016102720161009
23286853? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2016102720161009
24838638? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2016102720161009
26263785? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2016102720161009
26263916? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2016102720161009
28224112? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2016102720161009
28242405? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2016102720161009
28246870? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016102720161009
28248119? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2016102720161009
28250806? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2016102720161009
28251097? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2016102720161009
28252943? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2016102720161009
28342762? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2016102720161009
121375425? ? ?? ? ?refgcc2016102720161009
121379808? ? ?? ? ?refgcc_-funroll-loops2016102720161009
121443314? ? ?? ? ?refcc2016102720161009

Test failure

Implementation: crypto_aead/enchilada128v1/ref
Compiler: gcc -m64 -march=core2 -O3 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref

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