Implementation notes: amd64, h4e350, crypto_aead/ascon96v1

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: ascon96v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
85077opt64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014062020140525
85077opt64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014062020140525
85077opt64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014062020140525
85077opt64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014062020140525
85080opt64gcc -funroll-loops -O2 -fomit-frame-pointer2014062020140525
85080opt64gcc -funroll-loops -O3 -fomit-frame-pointer2014062020140525
85119opt64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014062020140525
85125opt64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014062020140525
85215opt64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014062020140525
85215opt64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014062020140525
85221opt64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014062020140525
85221opt64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014062020140525
85308opt64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062020140525
85308opt64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062020140525
85308opt64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062020140525
85308opt64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062020140525
85308opt64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062020140525
85362opt64gcc -O2 -fomit-frame-pointer2014062020140525
85362opt64gcc -O3 -fomit-frame-pointer2014062020140525
85362opt64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014062020140525
85362opt64gcc -m64 -O2 -fomit-frame-pointer2014062020140525
85362opt64gcc -m64 -O3 -fomit-frame-pointer2014062020140525
85365opt64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014062020140525
85407opt64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014062020140525
85407opt64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014062020140525
85410opt64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2014062020140525
85410opt64gcc -march=k8 -O2 -fomit-frame-pointer2014062020140525
85413opt64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062020140525
85413opt64gcc -march=barcelona -O2 -fomit-frame-pointer2014062020140525
85419opt64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014062020140525
85500opt64gcc -funroll-loops -Os -fomit-frame-pointer2014062020140525
85500opt64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014062020140525
85500opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2014062020140525
85500opt64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014062020140525
85500opt64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014062020140525
85500opt64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014062020140525
85500opt64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014062020140525
85500opt64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014062020140525
85500opt64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014062020140525
85506opt64gcc -Os -fomit-frame-pointer2014062020140525
85506opt64gcc -fno-schedule-insns -Os -fomit-frame-pointer2014062020140525
85506opt64gcc -m64 -Os -fomit-frame-pointer2014062020140525
85506opt64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014062020140525
85506opt64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014062020140525
85506opt64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014062020140525
85506opt64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2014062020140525
85506opt64gcc -march=barcelona -Os -fomit-frame-pointer2014062020140525
85506opt64gcc -march=k8 -Os -fomit-frame-pointer2014062020140525
85506opt64gcc -march=nocona -Os -fomit-frame-pointer2014062020140525
85509opt64gcc -m64 -march=core2 -Os -fomit-frame-pointer2014062020140525
85509opt64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014062020140525
85509opt64gcc -m64 -march=k8 -Os -fomit-frame-pointer2014062020140525
85509opt64gcc -march=nocona -O3 -fomit-frame-pointer2014062020140525
85512opt64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2014062020140525
85515opt64gcc -m64 -march=nocona -Os -fomit-frame-pointer2014062020140525
85599opt64gcc -march=nocona -O2 -fomit-frame-pointer2014062020140525
85602opt64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2014062020140525
86019opt64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014062020140525
86019opt64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014062020140525
86115opt64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014062020140525
86118opt64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014062020140525
86187opt64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014062020140525
86187opt64gcc -march=barcelona -O3 -fomit-frame-pointer2014062020140525
86190opt64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062020140525
86373opt64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2014062020140525
86376opt64gcc -march=k8 -O3 -fomit-frame-pointer2014062020140525
94995opt64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014062020140525
95001opt64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014062020140525
95088opt64gcc -funroll-loops -O -fomit-frame-pointer2014062020140525
95088opt64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014062020140525
95088opt64gcc -funroll-loops -m64 -O -fomit-frame-pointer2014062020140525
95088opt64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014062020140525
95088opt64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014062020140525
95277opt64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014062020140525
95277opt64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014062020140525
95967opt64gcc -m64 -march=barcelona -O -fomit-frame-pointer2014062020140525
95967opt64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062020140525
95967opt64gcc -march=barcelona -O -fomit-frame-pointer2014062020140525
96060opt64gcc -m64 -march=nocona -O -fomit-frame-pointer2014062020140525
96060opt64gcc -march=nocona -O -fomit-frame-pointer2014062020140525
96063opt64gcc -m64 -march=k8 -O -fomit-frame-pointer2014062020140525
96063opt64gcc -march=k8 -O -fomit-frame-pointer2014062020140525
96069opt64gcc -O -fomit-frame-pointer2014062020140525
96069opt64gcc -fno-schedule-insns -O -fomit-frame-pointer2014062020140525
96069opt64gcc -m64 -O -fomit-frame-pointer2014062020140525
96069opt64gcc -m64 -march=core2 -O -fomit-frame-pointer2014062020140525
96069opt64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062020140525
96069opt64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062020140525
96069opt64gcc -m64 -march=corei7 -O -fomit-frame-pointer2014062020140525
114597opt64clang -O3 -fomit-frame-pointer2014072920140622
114600opt64clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
114600opt64clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
114600opt64clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072920140622
114603opt64clang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014072920140622
182175refclang -O3 -fomit-frame-pointer2014072920140622
182181refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014072920140622
182187refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
182190refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014072920140622
182196refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
183303refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014062020140525
183480refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014062020140525
183615refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014062020140525
183618refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014062020140525
185352refgcc -funroll-loops -O2 -fomit-frame-pointer2014062020140525
185352refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014062020140525
185370refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014062020140525
185454refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014062020140525
185478refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014062020140525
185478refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014062020140525
185508refgcc -funroll-loops -O3 -fomit-frame-pointer2014062020140525
185634refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014062020140525
185655refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014062020140525
185661refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014062020140525
188103refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014062020140525
188223refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014062020140525
188484refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014062020140525
188499refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014062020140525
191613refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014062020140525
191616refgcc -march=barcelona -O3 -fomit-frame-pointer2014062020140525
191673refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014062020140525
191679refgcc -march=k8 -O3 -fomit-frame-pointer2014062020140525
191691refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014062020140525
191697refgcc -m64 -O3 -fomit-frame-pointer2014062020140525
191706refgcc -O3 -fomit-frame-pointer2014062020140525
191709refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062020140525
192093refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062020140525
193416refgcc -march=nocona -O3 -fomit-frame-pointer2014062020140525
193419refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014062020140525
211227refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014062020140525
211260refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014062020140525
211332refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014062020140525
211335refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014062020140525
211458refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014062020140525
211464refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014062020140525
211914refgcc -funroll-loops -O -fomit-frame-pointer2014062020140525
212118refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014062020140525
212121refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014062020140525
283368refgcc -march=barcelona -O2 -fomit-frame-pointer2014062020140525
286434refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062020140525
293556refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062020140525
293562refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062020140525
293568refgcc -O2 -fomit-frame-pointer2014062020140525
293586refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014062020140525
299397refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062020140525
299418refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062020140525
299478refgcc -m64 -O2 -fomit-frame-pointer2014062020140525
299712refgcc -march=k8 -O2 -fomit-frame-pointer2014062020140525
299796refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014062020140525
305565refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014062020140525
309261refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014062020140525
316170refgcc -march=nocona -O2 -fomit-frame-pointer2014062020140525
316731refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014062020140525
316737refgcc -march=barcelona -O -fomit-frame-pointer2014062020140525
316755refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062020140525
320010refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014062020140525
320724refgcc -Os -fomit-frame-pointer2014062020140525
320733refgcc -march=k8 -Os -fomit-frame-pointer2014062020140525
320757refgcc -march=nocona -Os -fomit-frame-pointer2014062020140525
320772refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014062020140525
320892refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014062020140525
320901refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014062020140525
320904refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014062020140525
321621refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014062020140525
321819refgcc -march=barcelona -Os -fomit-frame-pointer2014062020140525
321831refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014062020140525
322698refgcc -march=k8 -O -fomit-frame-pointer2014062020140525
322731refgcc -m64 -Os -fomit-frame-pointer2014062020140525
322740refgcc -m64 -march=k8 -O -fomit-frame-pointer2014062020140525
322782refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014062020140525
322785refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014062020140525
325782refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062020140525
326130refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062020140525
326259refgcc -march=nocona -O -fomit-frame-pointer2014062020140525
326370refgcc -m64 -march=nocona -O -fomit-frame-pointer2014062020140525
326889refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014062020140525
326901refgcc -m64 -O -fomit-frame-pointer2014062020140525
326910refgcc -fno-schedule-insns -O -fomit-frame-pointer2014062020140525
326913refgcc -m64 -march=core2 -O -fomit-frame-pointer2014062020140525
326934refgcc -O -fomit-frame-pointer2014062020140525
330339refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014062020140525
331749refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014062020140525
331803refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014062020140525
331809refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014062020140525
331917refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014062020140525
331980refgcc -funroll-loops -Os -fomit-frame-pointer2014062020140525
333795refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014062020140525
333912refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014062020140525
337872refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014062020140525
534471opt64cc2014062020140525
534471opt64gcc2014062020140525
534627opt64gcc -funroll-loops2014062020140525
1267611refgcc -funroll-loops2014062020140525
1267866refgcc2014062020140525
1268694refcc2014062020140525

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