Implementation notes: amd64, glyme, crypto_aead/enchilada128v1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: enchilada128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
2197276refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
2197532refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
2204056refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
2205440refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
2205880refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
2208704refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
2244124refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
2383276refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
2391908refgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
2401272refgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
2409260refgcc -m64 -O3 -fomit-frame-pointer2017020420170105
2414384refgcc -O3 -fomit-frame-pointer2017020420170105
2426160refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
2426816refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
2433544refgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
2433572refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
2483976refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
2484196refgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
2485500refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
2491288refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
2492832refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
2546804refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
2548548refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
2686072refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
2702064refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
2702164refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
2703884refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
2703952refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
2710004refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
13817884refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
13818168refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
13831760refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
13832968refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
13836944refgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
13837552refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
13838024refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
14261680refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
14262832refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
15956616refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
15956664refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
16130604refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
16139660refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
16142904refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
16143636refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
16145528refgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
16146296refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
16151740refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
26812472refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
26849160refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
26850168refgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
26883624refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
26883652refgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
26946428refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
26977792refgcc -O2 -fomit-frame-pointer2017020420170105
26978684refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
26981480refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
26994836refgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
26998040refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
26998368refgcc -m64 -O2 -fomit-frame-pointer2017020420170105
27121612refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
27121652refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
27133468refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
27133516refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
27133552refgcc -m64 -Os -fomit-frame-pointer2017020420170105
27133852refgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
27134132refgcc -Os -fomit-frame-pointer2017020420170105
27139904refgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
27139944refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
27140484refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
27140524refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
27143120refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
27143256refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
27143492refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
27145432refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
27145636refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
27145992refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
27153664refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
27197068refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
27197356refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
27197492refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
27232204refgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
27232252refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
27282264refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
27282312refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
27365612refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
27447164refgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
27474784refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
27597232refgcc -march=nocona -O -fomit-frame-pointer2017020420170105
27597896refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
27744980refgcc -O -fomit-frame-pointer2017020420170105
27745128refgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
27746100refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
27746424refgcc -m64 -O -fomit-frame-pointer2017020420170105
27747900refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
27791760refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
27792080refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
27792368refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
27792776refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
27793308refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
27801140refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
28012316refgcc -march=k8 -O -fomit-frame-pointer2017020420170105
28013608refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
112419200refcc2017020420170105
118437600refgcc -funroll-loops2017020420170105
118449596refgcc2017020420170105

Compiler output

Implementation: crypto_aead/enchilada128v1/ref
Compiler: cc
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: 7, namely:
CompilerImplementations
cc ref
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
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: 94, namely:
CompilerImplementations
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 -O3 -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 -O3 -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 -O3 -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: 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