Implementation notes: amd64, hydra2, crypto_aead/elmd500v1

Computer: hydra2
Architecture: amd64
CPU ID: GenuineIntel-000206c2-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: elmd500v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
281744refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014101420141014
281836refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014101420141014
283228refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014101420141014
283404refgcc -march=nocona -O3 -fomit-frame-pointer2014101420141014
335072refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014101420141014
335156refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014101420141014
335476refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101420141014
335516refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014101420141014
335532refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014101420141014
335836refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014101420141014
335888refgcc -O3 -fomit-frame-pointer2014101420141014
336780refgcc -m64 -O3 -fomit-frame-pointer2014101420141014
337756refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101420141014
338452refgcc -funroll-loops -O3 -fomit-frame-pointer2014101420141014
341284refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014101420141014
341316refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014101420141014
341500refgcc -march=barcelona -O3 -fomit-frame-pointer2014101420141014
341964refgcc -march=k8 -O3 -fomit-frame-pointer2014101420141014
342168refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014101420141014
342280refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014101420141014
342328refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014101420141014
342392refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014101420141014
342844refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014101420141014
346376refclang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
347584refclang -O3 -fwrapv -march=native -fomit-frame-pointer2014101420141014
349872refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014101420141014
350156refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014101420141014
352980refclang -O3 -fomit-frame-pointer2014101420141014
353428refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
353464refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101420141014
353532refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
355144refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
362964refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014101420141014
363496refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014101420141014
402756refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014101420141014
402892refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014101420141014
404548refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014101420141014
404716refgcc -funroll-loops -O2 -fomit-frame-pointer2014101420141014
404884refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014101420141014
405352refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014101420141014
407524refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101420141014
412636refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014101420141014
412752refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101420141014
413000refgcc -funroll-loops -O -fomit-frame-pointer2014101420141014
413648refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014101420141014
413800refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014101420141014
414452refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014101420141014
414728refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014101420141014
473492refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014101420141014
474892refgcc -march=nocona -O2 -fomit-frame-pointer2014101420141014
483412refgcc -march=barcelona -O2 -fomit-frame-pointer2014101420141014
486500refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014101420141014
494200refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014101420141014
494752refgcc -march=k8 -O2 -fomit-frame-pointer2014101420141014
497484refgcc -march=nocona -O -fomit-frame-pointer2014101420141014
497540refgcc -m64 -march=nocona -O -fomit-frame-pointer2014101420141014
520752refgcc -m64 -O2 -fomit-frame-pointer2014101420141014
521104refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014101420141014
521144refgcc -O2 -fomit-frame-pointer2014101420141014
521200refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014101420141014
521316refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014101420141014
521492refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014101420141014
521524refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014101420141014
521908refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101420141014
523644refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014101420141014
524756refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014101420141014
525140refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014101420141014
531148refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014101420141014
531172refgcc -funroll-loops -Os -fomit-frame-pointer2014101420141014
531184refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014101420141014
531204refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101420141014
531440refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014101420141014
532616refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014101420141014
537256refgcc -march=barcelona -O -fomit-frame-pointer2014101420141014
538576refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014101420141014
545180refgcc -march=barcelona -Os -fomit-frame-pointer2014101420141014
547840refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014101420141014
548268refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014101420141014
548272refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014101420141014
548328refgcc -march=k8 -Os -fomit-frame-pointer2014101420141014
548364refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014101420141014
548412refgcc -m64 -Os -fomit-frame-pointer2014101420141014
549448refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014101420141014
549640refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101420141014
549656refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014101420141014
549740refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014101420141014
549996refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014101420141014
550044refgcc -march=nocona -Os -fomit-frame-pointer2014101420141014
550472refgcc -Os -fomit-frame-pointer2014101420141014
552348refgcc -march=k8 -O -fomit-frame-pointer2014101420141014
552632refgcc -m64 -march=k8 -O -fomit-frame-pointer2014101420141014
580420refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014101420141014
580484refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101420141014
580552refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014101420141014
580844refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014101420141014
580872refgcc -fno-schedule-insns -O -fomit-frame-pointer2014101420141014
580924refgcc -m64 -O -fomit-frame-pointer2014101420141014
581064refgcc -m64 -march=core2 -O -fomit-frame-pointer2014101420141014
581304refgcc -O -fomit-frame-pointer2014101420141014
1361196refgcc2014101420141014
1371928refgcc -funroll-loops2014101420141014
1372540refcc2014101420141014

Compiler output

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