Implementation notes: amd64, h5nano, crypto_aead/ascon96v1

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: ascon96v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
88265opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014072820140622
88265opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014072820140622
88270opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2014072820140622
88270opt64gcc -march=nocona -Os -fomit-frame-pointer2014072820140622
88840opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014072820140622
88840opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014072820140622
88920opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014072820140622
88920opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014072820140622
89065opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2014072820140622
89065opt64gcc -march=nocona -O3 -fomit-frame-pointer2014072820140622
89070opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2014072820140622
89070opt64gcc -march=nocona -O2 -fomit-frame-pointer2014072820140622
91840opt64gcc -Os -fomit-frame-pointer2014072820140622
91840opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2014072820140622
91840opt64gcc -m64 -Os -fomit-frame-pointer2014072820140622
91840opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014072820140622
91840opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2014072820140622
91840opt64gcc -march=barcelona -Os -fomit-frame-pointer2014072820140622
91840opt64gcc -march=k8 -Os -fomit-frame-pointer2014072820140622
91985opt64gcc -funroll-loops -Os -fomit-frame-pointer2014072820140622
91985opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014072820140622
91985opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2014072820140622
91985opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014072820140622
91985opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014072820140622
91985opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014072820140622
91985opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014072820140622
92080opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014072820140622
92080opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014072820140622
92270opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2014072820140622
92270opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014072820140622
92270opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014072820140622
92270opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2014072820140622
92270opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014072820140622
92725opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014072820140622
92725opt64gcc -march=barcelona -O3 -fomit-frame-pointer2014072820140622
92725opt64gcc -march=k8 -O3 -fomit-frame-pointer2014072820140622
92730opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2014072820140622
92730opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014072820140622
92730opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014072820140622
92730opt64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014072820140622
92735opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2014072820140622
92735opt64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014072820140622
92735opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014072820140622
92735opt64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014072820140622
92735opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014072820140622
92735opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014072820140622
92830opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2014072820140622
93025opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014072820140622
93025opt64gcc -march=barcelona -O2 -fomit-frame-pointer2014072820140622
93090opt64gcc -funroll-loops -O2 -fomit-frame-pointer2014072820140622
93090opt64gcc -funroll-loops -O3 -fomit-frame-pointer2014072820140622
93090opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014072820140622
93090opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014072820140622
93095opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014072820140622
93095opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014072820140622
93155opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014072820140622
93165opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014072820140622
93435opt64gcc -O2 -fomit-frame-pointer2014072820140622
93435opt64gcc -O3 -fomit-frame-pointer2014072820140622
93435opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014072820140622
93435opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014072820140622
93435opt64gcc -m64 -O2 -fomit-frame-pointer2014072820140622
93435opt64gcc -m64 -O3 -fomit-frame-pointer2014072820140622
93485opt64gcc -march=k8 -O2 -fomit-frame-pointer2014072820140622
93495opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2014072820140622
93690opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014072820140622
93690opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014072820140622
93760opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014072820140622
93760opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014072820140622
99890opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014072820140622
99895opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014072820140622
100030opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014072820140622
100030opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014072820140622
100175opt64gcc -funroll-loops -O -fomit-frame-pointer2014072820140622
100175opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014072820140622
100175opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2014072820140622
100220opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014072820140622
100220opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014072820140622
100310opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2014072820140622
100310opt64gcc -march=barcelona -O -fomit-frame-pointer2014072820140622
100335opt64gcc -O -fomit-frame-pointer2014072820140622
100335opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2014072820140622
100335opt64gcc -m64 -O -fomit-frame-pointer2014072820140622
100335opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2014072820140622
100335opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014072820140622
100335opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014072820140622
100335opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2014072820140622
100335opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014072820140622
100340opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2014072820140622
100340opt64gcc -march=k8 -O -fomit-frame-pointer2014072820140622
101075opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2014072820140622
101075opt64gcc -march=nocona -O -fomit-frame-pointer2014072820140622
117765opt64clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
117765opt64clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
117765opt64clang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014072820140622
117765opt64clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072820140622
117805opt64clang -O3 -fomit-frame-pointer2014072820140622
191645refclang -O3 -fomit-frame-pointer2014072820140622
191645refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
191650refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
191650refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072820140622
191665refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014072820140622
192245refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014072820140622
192245refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014072820140622
192660refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014072820140622
192665refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014072820140622
194405refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014072820140622
194940refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014072820140622
195075refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014072820140622
195445refgcc -funroll-loops -O2 -fomit-frame-pointer2014072820140622
195445refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014072820140622
195785refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014072820140622
195785refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014072820140622
195885refgcc -funroll-loops -O3 -fomit-frame-pointer2014072820140622
196805refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014072820140622
196805refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014072820140622
196825refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014072820140622
196850refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014072820140622
197450refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014072820140622
197455refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014072820140622
201400refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014072820140622
201425refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014072820140622
201425refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014072820140622
201555refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014072820140622
201555refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014072820140622
202955refgcc -O3 -fomit-frame-pointer2014072820140622
203250refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014072820140622
203255refgcc -march=barcelona -O3 -fomit-frame-pointer2014072820140622
203405refgcc -march=k8 -O3 -fomit-frame-pointer2014072820140622
203435refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014072820140622
203435refgcc -m64 -O3 -fomit-frame-pointer2014072820140622
203455refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014072820140622
205445refgcc -march=nocona -O3 -fomit-frame-pointer2014072820140622
205770refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014072820140622
224215refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014072820140622
224215refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014072820140622
224885refgcc -funroll-loops -O -fomit-frame-pointer2014072820140622
224885refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014072820140622
224885refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014072820140622
225155refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014072820140622
225170refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014072820140622
225185refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014072820140622
225680refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014072820140622
273145refgcc -O2 -fomit-frame-pointer2014072820140622
273360refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014072820140622
273460refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014072820140622
273710refgcc -m64 -O2 -fomit-frame-pointer2014072820140622
274510refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014072820140622
274800refgcc -march=k8 -O2 -fomit-frame-pointer2014072820140622
275565refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014072820140622
275585refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014072820140622
275695refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014072820140622
275800refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014072820140622
276025refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014072820140622
277695refgcc -march=barcelona -O2 -fomit-frame-pointer2014072820140622
293570refgcc -march=nocona -O2 -fomit-frame-pointer2014072820140622
295660refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014072820140622
306855refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014072820140622
306945refgcc -funroll-loops -Os -fomit-frame-pointer2014072820140622
307055refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014072820140622
307070refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014072820140622
307390refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014072820140622
307780refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014072820140622
308580refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014072820140622
314570refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014072820140622
316005refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014072820140622
316065refgcc -m64 -Os -fomit-frame-pointer2014072820140622
316080refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014072820140622
316090refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014072820140622
316125refgcc -march=k8 -Os -fomit-frame-pointer2014072820140622
316225refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014072820140622
316265refgcc -march=barcelona -Os -fomit-frame-pointer2014072820140622
316275refgcc -Os -fomit-frame-pointer2014072820140622
316275refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014072820140622
316275refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014072820140622
316450refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014072820140622
316525refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014072820140622
316670refgcc -O -fomit-frame-pointer2014072820140622
316670refgcc -m64 -O -fomit-frame-pointer2014072820140622
316670refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014072820140622
316815refgcc -m64 -march=core2 -O -fomit-frame-pointer2014072820140622
316815refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014072820140622
316840refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014072820140622
316880refgcc -fno-schedule-insns -O -fomit-frame-pointer2014072820140622
317875refgcc -m64 -march=nocona -O -fomit-frame-pointer2014072820140622
317875refgcc -march=nocona -O -fomit-frame-pointer2014072820140622
318460refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014072820140622
318970refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014072820140622
319975refgcc -m64 -march=k8 -O -fomit-frame-pointer2014072820140622
319990refgcc -march=barcelona -O -fomit-frame-pointer2014072820140622
320110refgcc -march=k8 -O -fomit-frame-pointer2014072820140622
320230refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014072820140622
320435refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014072820140622
320460refgcc -march=nocona -Os -fomit-frame-pointer2014072820140622
451960opt64gcc -funroll-loops2014072820140622
452000opt64gcc2014072820140622
453515opt64cc2014072820140622
1243475refcc2014072820140622
1244340refgcc -funroll-loops2014072820140622
1244355refgcc2014072820140622

Compiler output

Implementation: crypto_aead/ascon96v1/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/ascon96v1/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/ascon96v1/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/ascon96v1/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/ascon96v1/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