Implementation notes: amd64, mace, crypto_aead/enchilada128v1

Computer: mace
Architecture: amd64
CPU ID: AuthenticAMD-00040fb2-178bfbff
SUPERCOP version: 20170105
Operation: crypto_aead
Primitive: enchilada128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4592610? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2016102820161009
4593828? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2016102820161009
4631877? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2016102820161009
4633531? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2016102820161009
4635577? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2016102820161009
4648510? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016102820161009
4649144? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2016102820161009
5967774? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102820161009
5988179? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102820161009
5990264? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2016102820161009
5999903? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102820161009
6004443? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102820161009
6004635? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2016102820161009
8047744? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2016102820161009
8049745? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2016102820161009
8057420? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2016102820161009
8076045? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2016102820161009
8080211? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016102820161009
8080694? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2016102820161009
8088212? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016102820161009
8092889? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2016102820161009
8094516? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2016102820161009
8097058? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2016102820161009
8101481? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2016102820161009
8144211? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2016102820161009
18973364? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2016102820161009
18973947? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2016102820161009
19053532? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2016102820161009
19056987? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2016102820161009
19138812? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2016102820161009
19140521? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2016102820161009
19148287? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2016102820161009
19466437? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2016102820161009
19483778? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2016102820161009
19528687? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016102820161009
19538945? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2016102820161009
19585079? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2016102820161009
19597891? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2016102820161009
19598118? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2016102820161009
19612760? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2016102820161009
19622846? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2016102820161009
19687567? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2016102820161009
19695362? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2016102820161009
21862081? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2016102820161009
21862174? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2016102820161009
21862444? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2016102820161009
21862972? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2016102820161009
22158430? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2016102820161009
22159659? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2016102820161009
22159778? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2016102820161009
22237802? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2016102820161009
22382051? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2016102820161009
22383175? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2016102820161009
22472578? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2016102820161009
22472899? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2016102820161009
22473139? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2016102820161009
22492604? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2016102820161009
22534513? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2016102820161009
22534948? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2016102820161009
22536078? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2016102820161009
22996597? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2016102820161009
23392892? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2016102820161009
23393283? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016102820161009
28295287? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2016102820161009
28296323? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2016102820161009
28302788? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2016102820161009
28303234? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2016102820161009
28303356? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2016102820161009
28303477? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016102820161009
28304795? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2016102820161009
28306036? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2016102820161009
28315575? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2016102820161009
28315925? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2016102820161009
28316157? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016102820161009
28332774? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2016102820161009
28332926? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2016102820161009
28333279? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2016102820161009
28338199? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016102820161009
28338370? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2016102820161009
28339197? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2016102820161009
28343659? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2016102820161009
28343745? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2016102820161009
28358776? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2016102820161009
28359326? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2016102820161009
28579084? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2016102820161009
28579701? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2016102820161009
28767928? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2016102820161009
28770891? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2016102820161009
28771202? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2016102820161009
28771741? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2016102820161009
34416927? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2016102820161009
34419764? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2016102820161009
34420142? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2016102820161009
34420511? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2016102820161009
34420979? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2016102820161009
34429829? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2016102820161009
34430784? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016102820161009
34436817? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2016102820161009
151667423? ? ?? ? ?refgcc_-funroll-loops2016102820161009
151669283? ? ?? ? ?refgcc2016102820161009
151704169? ? ?? ? ?refcc2016102820161009

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