Implementation notes: amd64, hydra2, crypto_aead/elmd501v1

Computer: hydra2
Architecture: amd64
CPU ID: GenuineIntel-000206c2-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: elmd501v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
280272refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014101420141014
280632refgcc -march=nocona -O3 -fomit-frame-pointer2014101420141014
280840refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014101420141014
281036refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014101420141014
334404refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014101420141014
334464refgcc -O3 -fomit-frame-pointer2014101420141014
334516refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014101420141014
334592refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101420141014
334692refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014101420141014
334796refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014101420141014
335352refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014101420141014
336204refgcc -m64 -O3 -fomit-frame-pointer2014101420141014
336712refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101420141014
337148refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014101420141014
338268refgcc -funroll-loops -O3 -fomit-frame-pointer2014101420141014
340320refgcc -march=barcelona -O3 -fomit-frame-pointer2014101420141014
340916refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014101420141014
341012refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014101420141014
341056refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014101420141014
341164refgcc -march=k8 -O3 -fomit-frame-pointer2014101420141014
341800refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014101420141014
342248refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014101420141014
342484refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014101420141014
347384refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
347392refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
347484refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101420141014
347620refclang -O3 -fwrapv -march=native -fomit-frame-pointer2014101420141014
349456refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014101420141014
349464refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
350008refclang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
351044refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014101420141014
352708refclang -O3 -fomit-frame-pointer2014101420141014
362276refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014101420141014
362820refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014101420141014
402432refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014101420141014
402788refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014101420141014
403548refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014101420141014
403588refgcc -funroll-loops -O2 -fomit-frame-pointer2014101420141014
403812refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101420141014
403988refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014101420141014
404316refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014101420141014
411840refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101420141014
412424refgcc -funroll-loops -O -fomit-frame-pointer2014101420141014
412860refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014101420141014
413132refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014101420141014
413256refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014101420141014
414856refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014101420141014
416436refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014101420141014
476796refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014101420141014
479792refgcc -march=nocona -O2 -fomit-frame-pointer2014101420141014
480916refgcc -march=barcelona -O2 -fomit-frame-pointer2014101420141014
482564refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014101420141014
495104refgcc -march=k8 -O2 -fomit-frame-pointer2014101420141014
496508refgcc -m64 -march=nocona -O -fomit-frame-pointer2014101420141014
496536refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014101420141014
497420refgcc -march=nocona -O -fomit-frame-pointer2014101420141014
519408refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101420141014
519908refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014101420141014
520088refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014101420141014
520160refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014101420141014
520252refgcc -O2 -fomit-frame-pointer2014101420141014
520656refgcc -m64 -O2 -fomit-frame-pointer2014101420141014
520660refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014101420141014
520816refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014101420141014
527220refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014101420141014
527320refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014101420141014
527956refgcc -funroll-loops -Os -fomit-frame-pointer2014101420141014
527976refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014101420141014
528684refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014101420141014
528688refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101420141014
528744refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014101420141014
530888refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014101420141014
531096refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014101420141014
537892refgcc -march=barcelona -O -fomit-frame-pointer2014101420141014
537964refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014101420141014
544620refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014101420141014
544960refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014101420141014
545084refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014101420141014
545416refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014101420141014
545868refgcc -march=k8 -Os -fomit-frame-pointer2014101420141014
547404refgcc -march=barcelona -Os -fomit-frame-pointer2014101420141014
547708refgcc -m64 -Os -fomit-frame-pointer2014101420141014
547728refgcc -Os -fomit-frame-pointer2014101420141014
547892refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101420141014
547928refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014101420141014
548368refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014101420141014
548392refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014101420141014
549136refgcc -march=nocona -Os -fomit-frame-pointer2014101420141014
549972refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014101420141014
551956refgcc -m64 -march=k8 -O -fomit-frame-pointer2014101420141014
553096refgcc -march=k8 -O -fomit-frame-pointer2014101420141014
579128refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014101420141014
579196refgcc -O -fomit-frame-pointer2014101420141014
579252refgcc -m64 -march=core2 -O -fomit-frame-pointer2014101420141014
579340refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101420141014
579408refgcc -fno-schedule-insns -O -fomit-frame-pointer2014101420141014
579484refgcc -m64 -O -fomit-frame-pointer2014101420141014
579604refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014101420141014
579792refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014101420141014
1356084refgcc2014101420141014
1360788refgcc -funroll-loops2014101420141014
1365156refcc2014101420141014

Compiler output

Implementation: crypto_aead/elmd501v1/ref
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 ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/elmd501v1/ref
Compiler: clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.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: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/elmd501v1/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.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: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/elmd501v1/ref
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
encrypt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-mpclmul'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.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: 1, 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 ref

Compiler output

Implementation: crypto_aead/elmd501v1/ref
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
encrypt.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: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/elmd501v1/ref
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.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: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref