Implementation notes: amd64, h4e350, crypto_aead/ascon128v1

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: ascon128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
125472opt64gcc -funroll-loops -O2 -fomit-frame-pointer2014062020140525
125472opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014062020140525
125472opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014062020140525
125472opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014062020140525
125475opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014062020140525
125475opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014062020140525
125478opt64gcc -funroll-loops -O3 -fomit-frame-pointer2014062020140525
125481opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014062020140525
125505opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014062020140525
125505opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014062020140525
125664opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014062020140525
125664opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014062020140525
125664opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014062020140525
125664opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014062020140525
125670opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014062020140525
125676opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014062020140525
125694opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014062020140525
125697opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014062020140525
125955opt64gcc -O3 -fomit-frame-pointer2014062020140525
125955opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014062020140525
125955opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014062020140525
125955opt64gcc -m64 -O2 -fomit-frame-pointer2014062020140525
125955opt64gcc -m64 -O3 -fomit-frame-pointer2014062020140525
125958opt64gcc -O2 -fomit-frame-pointer2014062020140525
125958opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062020140525
125958opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062020140525
125958opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062020140525
125958opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062020140525
125958opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062020140525
125964opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062020140525
125964opt64gcc -march=barcelona -O3 -fomit-frame-pointer2014062020140525
125967opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014062020140525
125967opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014062020140525
125967opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062020140525
125973opt64gcc -march=barcelona -O2 -fomit-frame-pointer2014062020140525
126339opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2014062020140525
126339opt64gcc -march=k8 -O3 -fomit-frame-pointer2014062020140525
126342opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2014062020140525
126342opt64gcc -march=k8 -O2 -fomit-frame-pointer2014062020140525
126426opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2014062020140525
126426opt64gcc -march=nocona -O3 -fomit-frame-pointer2014062020140525
126621opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2014062020140525
126633opt64gcc -march=nocona -O2 -fomit-frame-pointer2014062020140525
127224opt64gcc -funroll-loops -Os -fomit-frame-pointer2014062020140525
127224opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014062020140525
127224opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2014062020140525
127224opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014062020140525
127224opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014062020140525
127224opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014062020140525
127224opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014062020140525
127611opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2014062020140525
127611opt64gcc -m64 -Os -fomit-frame-pointer2014062020140525
127611opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014062020140525
127611opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2014062020140525
127611opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014062020140525
127611opt64gcc -march=barcelona -Os -fomit-frame-pointer2014062020140525
127611opt64gcc -march=k8 -Os -fomit-frame-pointer2014062020140525
127614opt64gcc -Os -fomit-frame-pointer2014062020140525
127614opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2014062020140525
127614opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014062020140525
127614opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014062020140525
127620opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2014062020140525
129351opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014062020140525
129351opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014062020140525
129732opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2014062020140525
129732opt64gcc -march=nocona -Os -fomit-frame-pointer2014062020140525
136380opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014062020140525
136386opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014062020140525
136758opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014062020140525
136758opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014062020140525
136761opt64gcc -funroll-loops -O -fomit-frame-pointer2014062020140525
136761opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014062020140525
136761opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2014062020140525
136950opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014062020140525
136953opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014062020140525
137961opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2014062020140525
137961opt64gcc -march=nocona -O -fomit-frame-pointer2014062020140525
138123opt64gcc -O -fomit-frame-pointer2014062020140525
138123opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2014062020140525
138123opt64gcc -m64 -O -fomit-frame-pointer2014062020140525
138123opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2014062020140525
138123opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062020140525
138123opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2014062020140525
138135opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062020140525
138144opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2014062020140525
138144opt64gcc -march=k8 -O -fomit-frame-pointer2014062020140525
138303opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2014062020140525
138303opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062020140525
138303opt64gcc -march=barcelona -O -fomit-frame-pointer2014062020140525
172824opt64clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
172824opt64clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
172824opt64clang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014072920140622
172824opt64clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072920140622
173127opt64clang -O3 -fomit-frame-pointer2014072920140622
275619refclang -O3 -fomit-frame-pointer2014072920140622
275619refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014072920140622
275634refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
275673refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
276096refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072920140622
284154refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014062020140525
284193refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014062020140525
286221refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014062020140525
286227refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014062020140525
286881refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014062020140525
286914refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014062020140525
287427refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014062020140525
287430refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014062020140525
287445refgcc -funroll-loops -O2 -fomit-frame-pointer2014062020140525
287460refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014062020140525
287466refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014062020140525
287478refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014062020140525
287508refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014062020140525
287595refgcc -funroll-loops -O3 -fomit-frame-pointer2014062020140525
291948refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014062020140525
292125refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014062020140525
292359refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014062020140525
292368refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014062020140525
293178refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014062020140525
293178refgcc -march=k8 -O3 -fomit-frame-pointer2014062020140525
294333refgcc -march=barcelona -O3 -fomit-frame-pointer2014062020140525
294342refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014062020140525
294348refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062020140525
294915refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062020140525
296976refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014062020140525
296982refgcc -O3 -fomit-frame-pointer2014062020140525
296982refgcc -m64 -O3 -fomit-frame-pointer2014062020140525
297294refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014062020140525
297300refgcc -march=nocona -O3 -fomit-frame-pointer2014062020140525
338142refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014062020140525
338142refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014062020140525
338406refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014062020140525
338424refgcc -funroll-loops -O -fomit-frame-pointer2014062020140525
338427refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014062020140525
339828refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014062020140525
339828refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014062020140525
339837refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014062020140525
339843refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014062020140525
465243refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014062020140525
465702refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062020140525
465714refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062020140525
465723refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062020140525
465726refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062020140525
466089refgcc -O2 -fomit-frame-pointer2014062020140525
466188refgcc -march=barcelona -O2 -fomit-frame-pointer2014062020140525
466293refgcc -m64 -O2 -fomit-frame-pointer2014062020140525
472578refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062020140525
475845refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014062020140525
475854refgcc -march=k8 -O2 -fomit-frame-pointer2014062020140525
476286refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014062020140525
501681refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014062020140525
502029refgcc -march=nocona -O2 -fomit-frame-pointer2014062020140525
524292refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014062020140525
525372refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014062020140525
525402refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014062020140525
525417refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014062020140525
527613refgcc -Os -fomit-frame-pointer2014062020140525
527658refgcc -march=barcelona -Os -fomit-frame-pointer2014062020140525
527748refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014062020140525
527865refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014062020140525
528294refgcc -m64 -Os -fomit-frame-pointer2014062020140525
528318refgcc -march=k8 -Os -fomit-frame-pointer2014062020140525
528360refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014062020140525
528549refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014062020140525
533538refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014062020140525
534210refgcc -march=nocona -Os -fomit-frame-pointer2014062020140525
540108refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014062020140525
540108refgcc -march=barcelona -O -fomit-frame-pointer2014062020140525
540834refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062020140525
541812refgcc -march=k8 -O -fomit-frame-pointer2014062020140525
542229refgcc -m64 -march=k8 -O -fomit-frame-pointer2014062020140525
549864refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014062020140525
550611refgcc -march=nocona -O -fomit-frame-pointer2014062020140525
550680refgcc -m64 -march=nocona -O -fomit-frame-pointer2014062020140525
552888refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014062020140525
552963refgcc -funroll-loops -Os -fomit-frame-pointer2014062020140525
552969refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014062020140525
552981refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014062020140525
553053refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014062020140525
555207refgcc -O -fomit-frame-pointer2014062020140525
555231refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062020140525
555456refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014062020140525
557091refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014062020140525
557304refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014062020140525
557328refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062020140525
557334refgcc -m64 -march=core2 -O -fomit-frame-pointer2014062020140525
557343refgcc -m64 -O -fomit-frame-pointer2014062020140525
557349refgcc -fno-schedule-insns -O -fomit-frame-pointer2014062020140525
560100refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014062020140525
768837opt64cc2014062020140525
768975opt64gcc -funroll-loops2014062020140525
770706opt64gcc2014062020140525
2077407refcc2014062020140525
2078985refgcc2014062020140525
2080824refgcc -funroll-loops2014062020140525

Compiler output

Implementation: crypto_aead/ascon128v1/opt64
Compiler: clang -O3 -fomit-frame-pointer
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer opt64 ref

Compiler output

Implementation: crypto_aead/ascon128v1/opt64
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
ascon.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
ascon.c: clang: warning: argument unused during compilation: '-mavx2'
ascon.c: clang: warning: argument unused during compilation: '-mpclmul'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer opt64 ref

Compiler output

Implementation: crypto_aead/ascon128v1/opt64
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
ascon.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
ascon.c: clang: warning: argument unused during compilation: '-mavx2'
ascon.c: clang: warning: argument unused during compilation: '-mpclmul'
ascon.c: clang: warning: argument unused during compilation: '-fpolly'
ascon.c: clang: warning: argument unused during compilation: '-fvectorize'
ascon.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
ascon.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer opt64 ref

Compiler output

Implementation: crypto_aead/ascon128v1/opt64
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
ascon.c: clang: warning: argument unused during compilation: '-mavx2'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer opt64 ref

Compiler output

Implementation: crypto_aead/ascon128v1/opt64
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
ascon.c: clang: warning: argument unused during compilation: '-mavx2'
ascon.c: clang: warning: argument unused during compilation: '-fpolly'
ascon.c: clang: warning: argument unused during compilation: '-fvectorize'
ascon.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
ascon.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer opt64 ref