Implementation notes: amd64, hydra1, crypto_aead/enchilada128v1

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_aead
Primitive: enchilada128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
3627780refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016101620161009
3632126refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016101620161009
3657600refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016101620161009
3657790refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016101620161009
3673943refgcc -funroll-loops -O3 -fomit-frame-pointer2016101620161009
4078223refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016101620161009
4078636refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016101620161009
5265778refclang -O3 -fomit-frame-pointer -Qunused-arguments2016101620161009
5273878refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101620161009
5277688refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101620161009
5277933refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101620161009
5297594refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016101620161009
5297667refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101620161009
7493871refgcc -m64 -O3 -fomit-frame-pointer2016101620161009
7494248refgcc -O3 -fomit-frame-pointer2016101620161009
7494624refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016101620161009
7525312refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016101620161009
7525624refgcc -march=k8 -O3 -fomit-frame-pointer2016101620161009
7627032refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016101620161009
7638450refgcc -march=nocona -O3 -fomit-frame-pointer2016101620161009
7639640refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016101620161009
7645946refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016101620161009
7702469refgcc -march=barcelona -O3 -fomit-frame-pointer2016101620161009
7702872refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016101620161009
7708216refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016101620161009
17969259refgcc -funroll-loops -O2 -fomit-frame-pointer2016101620161009
17970542refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016101620161009
17971996refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016101620161009
18099072refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016101620161009
18100570refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016101620161009
18313019refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016101620161009
18319088refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016101620161009
18407466refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016101620161009
18407473refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016101620161009
18434803refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016101620161009
18436794refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016101620161009
18517694refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016101620161009
18518245refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016101620161009
18592464refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016101620161009
18592810refgcc -funroll-loops -O -fomit-frame-pointer2016101620161009
18593509refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016101620161009
18809984refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016101620161009
18812059refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016101620161009
21588678refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016101620161009
21961280refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016101620161009
21961435refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016101620161009
21965749refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016101620161009
21966440refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016101620161009
22022402refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016101620161009
22023182refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016101620161009
22024939refgcc -march=barcelona -Os -fomit-frame-pointer2016101620161009
22065720refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016101620161009
22144456refgcc -m64 -O2 -fomit-frame-pointer2016101620161009
22145381refgcc -Os -fomit-frame-pointer2016101620161009
22148120refgcc -march=k8 -Os -fomit-frame-pointer2016101620161009
22149909refgcc -O2 -fomit-frame-pointer2016101620161009
22150301refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016101620161009
22157579refgcc -m64 -Os -fomit-frame-pointer2016101620161009
22158115refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016101620161009
22168403refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016101620161009
22184637refgcc -march=nocona -O2 -fomit-frame-pointer2016101620161009
22187551refgcc -march=barcelona -O2 -fomit-frame-pointer2016101620161009
22187758refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016101620161009
22188218refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016101620161009
22188293refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016101620161009
22202795refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016101620161009
22241553refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016101620161009
22260005refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016101620161009
22307532refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016101620161009
22307547refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016101620161009
22307845refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016101620161009
22318314refgcc -march=nocona -O -fomit-frame-pointer2016101620161009
22319405refgcc -m64 -march=nocona -O -fomit-frame-pointer2016101620161009
22418654refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016101620161009
22418774refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016101620161009
22418986refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016101620161009
22419482refgcc -march=barcelona -O -fomit-frame-pointer2016101620161009
22519107refgcc -march=k8 -O -fomit-frame-pointer2016101620161009
22519585refgcc -m64 -march=k8 -O -fomit-frame-pointer2016101620161009
22520352refgcc -fno-schedule-insns -O -fomit-frame-pointer2016101620161009
22520704refgcc -m64 -O -fomit-frame-pointer2016101620161009
22521067refgcc -O -fomit-frame-pointer2016101620161009
22557557refgcc -m64 -march=core2 -O -fomit-frame-pointer2016101620161009
22557616refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016101620161009
22558688refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016101620161009
22572829refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016101620161009
23079645refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016101620161009
23084906refgcc -march=nocona -Os -fomit-frame-pointer2016101620161009
26258174refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016101620161009
26259807refgcc -march=k8 -O2 -fomit-frame-pointer2016101620161009
28214697refgcc -funroll-loops -Os -fomit-frame-pointer2016101620161009
28215726refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016101620161009
28216414refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016101620161009
28217049refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016101620161009
28218150refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016101620161009
28219489refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016101620161009
28223661refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016101620161009
28250648refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016101620161009
121260357refgcc -funroll-loops2016101620161009
121260971refcc2016101620161009
121285818refgcc2016101620161009

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