Implementation notes: amd64, h5nano, crypto_aead/ascon128v1

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: ascon128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
130750opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014072820140622
130750opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014072820140622
130790opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014072820140622
130790opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014072820140622
131755opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2014072820140622
131755opt64gcc -march=nocona -O2 -fomit-frame-pointer2014072820140622
131765opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2014072820140622
131765opt64gcc -march=nocona -O3 -fomit-frame-pointer2014072820140622
132370opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014072820140622
132370opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014072820140622
132445opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2014072820140622
132445opt64gcc -march=nocona -Os -fomit-frame-pointer2014072820140622
134140opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014072820140622
134140opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2014072820140622
134140opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014072820140622
134140opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014072820140622
134140opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014072820140622
134140opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014072820140622
134155opt64gcc -funroll-loops -Os -fomit-frame-pointer2014072820140622
135130opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014072820140622
135130opt64gcc -march=barcelona -O2 -fomit-frame-pointer2014072820140622
135755opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2014072820140622
135755opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2014072820140622
135755opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014072820140622
135755opt64gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014072820140622
135755opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014072820140622
135755opt64gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014072820140622
135755opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014072820140622
135755opt64gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014072820140622
135755opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014072820140622
135755opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014072820140622
135900opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014072820140622
135900opt64gcc -march=barcelona -O3 -fomit-frame-pointer2014072820140622
136335opt64gcc -Os -fomit-frame-pointer2014072820140622
136335opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2014072820140622
136335opt64gcc -m64 -Os -fomit-frame-pointer2014072820140622
136335opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014072820140622
136335opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2014072820140622
136335opt64gcc -march=barcelona -Os -fomit-frame-pointer2014072820140622
136335opt64gcc -march=k8 -Os -fomit-frame-pointer2014072820140622
136665opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2014072820140622
136665opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2014072820140622
136665opt64gcc -march=k8 -O2 -fomit-frame-pointer2014072820140622
136665opt64gcc -march=k8 -O3 -fomit-frame-pointer2014072820140622
136685opt64gcc -O2 -fomit-frame-pointer2014072820140622
136685opt64gcc -O3 -fomit-frame-pointer2014072820140622
136685opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014072820140622
136685opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014072820140622
136685opt64gcc -m64 -O2 -fomit-frame-pointer2014072820140622
136700opt64gcc -m64 -O3 -fomit-frame-pointer2014072820140622
136900opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2014072820140622
136900opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014072820140622
136900opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014072820140622
136900opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2014072820140622
136900opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014072820140622
137735opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014072820140622
137735opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014072820140622
137735opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014072820140622
137735opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014072820140622
137740opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014072820140622
137740opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014072820140622
137745opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014072820140622
137745opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014072820140622
137750opt64gcc -funroll-loops -O2 -fomit-frame-pointer2014072820140622
137750opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014072820140622
137750opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014072820140622
137750opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014072820140622
137755opt64gcc -funroll-loops -O3 -fomit-frame-pointer2014072820140622
137755opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014072820140622
141730opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2014072820140622
141735opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2014072820140622
141735opt64gcc -march=barcelona -O -fomit-frame-pointer2014072820140622
141755opt64gcc -march=k8 -O -fomit-frame-pointer2014072820140622
141890opt64gcc -funroll-loops -O -fomit-frame-pointer2014072820140622
141890opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014072820140622
141890opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2014072820140622
142020opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014072820140622
142025opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014072820140622
142280opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014072820140622
142280opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014072820140622
142310opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014072820140622
142310opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014072820140622
142660opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2014072820140622
142660opt64gcc -march=nocona -O -fomit-frame-pointer2014072820140622
143340opt64gcc -O -fomit-frame-pointer2014072820140622
143340opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2014072820140622
143340opt64gcc -m64 -O -fomit-frame-pointer2014072820140622
143340opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2014072820140622
143340opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014072820140622
143340opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014072820140622
143340opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2014072820140622
143340opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014072820140622
174250opt64clang -O3 -fomit-frame-pointer2014072820140622
175630opt64clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
175630opt64clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
175630opt64clang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014072820140622
175630opt64clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072820140622
293115refclang -O3 -fomit-frame-pointer2014072820140622
293115refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014072820140622
293170refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072820140622
293800refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
293805refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
294135refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014072820140622
294260refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014072820140622
295205refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014072820140622
295490refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014072820140622
295575refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014072820140622
295580refgcc -funroll-loops -O2 -fomit-frame-pointer2014072820140622
295600refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014072820140622
296180refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014072820140622
296390refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014072820140622
296430refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014072820140622
296665refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014072820140622
296665refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014072820140622
297120refgcc -funroll-loops -O3 -fomit-frame-pointer2014072820140622
297130refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014072820140622
297185refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014072820140622
297185refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014072820140622
297835refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014072820140622
298020refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014072820140622
299040refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014072820140622
299040refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014072820140622
299635refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014072820140622
299655refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014072820140622
299655refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014072820140622
301235refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014072820140622
301235refgcc -march=barcelona -O3 -fomit-frame-pointer2014072820140622
301340refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014072820140622
301340refgcc -march=k8 -O3 -fomit-frame-pointer2014072820140622
301480refgcc -O3 -fomit-frame-pointer2014072820140622
301650refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014072820140622
301655refgcc -m64 -O3 -fomit-frame-pointer2014072820140622
308740refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014072820140622
308755refgcc -march=nocona -O3 -fomit-frame-pointer2014072820140622
356710refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014072820140622
356710refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014072820140622
358005refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014072820140622
358445refgcc -funroll-loops -O -fomit-frame-pointer2014072820140622
358445refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014072820140622
359005refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014072820140622
359010refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014072820140622
359800refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014072820140622
359810refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014072820140622
437795refgcc -m64 -O2 -fomit-frame-pointer2014072820140622
438085refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014072820140622
438175refgcc -O2 -fomit-frame-pointer2014072820140622
438840refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014072820140622
438855refgcc -march=k8 -O2 -fomit-frame-pointer2014072820140622
438890refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014072820140622
438940refgcc -march=barcelona -O2 -fomit-frame-pointer2014072820140622
439560refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014072820140622
439620refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014072820140622
439835refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014072820140622
439835refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014072820140622
439865refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014072820140622
469855refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014072820140622
469990refgcc -march=nocona -O2 -fomit-frame-pointer2014072820140622
497045refgcc -m64 -Os -fomit-frame-pointer2014072820140622
497120refgcc -Os -fomit-frame-pointer2014072820140622
497140refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014072820140622
497200refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014072820140622
497365refgcc -march=k8 -Os -fomit-frame-pointer2014072820140622
500535refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014072820140622
500560refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014072820140622
500675refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014072820140622
500775refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014072820140622
502180refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014072820140622
502430refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014072820140622
502440refgcc -march=barcelona -Os -fomit-frame-pointer2014072820140622
511190refgcc -march=nocona -Os -fomit-frame-pointer2014072820140622
511330refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014072820140622
517740refgcc -funroll-loops -Os -fomit-frame-pointer2014072820140622
517765refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014072820140622
517915refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014072820140622
517925refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014072820140622
517985refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014072820140622
519125refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014072820140622
519200refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014072820140622
519225refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014072820140622
519320refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014072820140622
520175refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014072820140622
520200refgcc -O -fomit-frame-pointer2014072820140622
520220refgcc -fno-schedule-insns -O -fomit-frame-pointer2014072820140622
520220refgcc -m64 -march=core2 -O -fomit-frame-pointer2014072820140622
520225refgcc -m64 -O -fomit-frame-pointer2014072820140622
520225refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014072820140622
520245refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014072820140622
520380refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014072820140622
520545refgcc -march=nocona -O -fomit-frame-pointer2014072820140622
520560refgcc -m64 -march=nocona -O -fomit-frame-pointer2014072820140622
534860refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014072820140622
534900refgcc -march=barcelona -O -fomit-frame-pointer2014072820140622
534905refgcc -m64 -march=k8 -O -fomit-frame-pointer2014072820140622
534925refgcc -march=k8 -O -fomit-frame-pointer2014072820140622
651615opt64cc2014072820140622
651815opt64gcc -funroll-loops2014072820140622
652280opt64gcc2014072820140622
1944040refgcc2014072820140622
1945270refgcc -funroll-loops2014072820140622
1957775refcc2014072820140622

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