Implementation notes: amd64, h5nano, crypto_dh/kummer

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_dh
Primitive: kummer
TimeImplementationCompilerBenchmark dateSUPERCOP version
1956215refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014102020141014
1957835refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014102020141014
1957840refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014102020141014
1957890refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014102020141014
1957890refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014102020141014
1957890refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014102020141014
1958215refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014102020141014
1958220refgcc -funroll-loops -O -fomit-frame-pointer2014102020141014
1958225refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014102020141014
1958280refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014102020141014
1962460refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014102020141014
1962510refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014102020141014
1962555refgcc -m64 -O2 -fomit-frame-pointer2014102020141014
1962610refgcc -march=barcelona -O2 -fomit-frame-pointer2014102020141014
1962700refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014102020141014
1962745refgcc -march=k8 -O2 -fomit-frame-pointer2014102020141014
1962780refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014102020141014
1962830refgcc -O2 -fomit-frame-pointer2014102020141014
1962860refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014102020141014
1962920refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014102020141014
1963030refgcc -march=nocona -O2 -fomit-frame-pointer2014102020141014
1963625refgcc -march=nocona -Os -fomit-frame-pointer2014102020141014
1963710refgcc -march=barcelona -Os -fomit-frame-pointer2014102020141014
1963850refgcc -m64 -Os -fomit-frame-pointer2014102020141014
1963855refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014102020141014
1964000refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014102020141014
1964020refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014102020141014
1964070refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014102020141014
1964075refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014102020141014
1964135refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014102020141014
1964545refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014102020141014
1964595refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014102020141014
1964775refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014102020141014
1964865refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014102020141014
1964945refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014102020141014
1965500refgcc -march=k8 -Os -fomit-frame-pointer2014102020141014
1965625refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014102020141014
1965715refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014102020141014
1966220refgcc -funroll-loops -Os -fomit-frame-pointer2014102020141014
1966245refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014102020141014
1966270refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014102020141014
1966320refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014102020141014
1966520refgcc -Os -fomit-frame-pointer2014102020141014
1966620refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014102020141014
1967760refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014102020141014
1967790refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014102020141014
1968115refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014102020141014
1968390refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014102020141014
1968420refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014102020141014
1968425refgcc -funroll-loops -O3 -fomit-frame-pointer2014102020141014
1968455refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014102020141014
1968465refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014102020141014
1968480refgcc -O3 -fomit-frame-pointer2014102020141014
1968535refgcc -march=barcelona -O3 -fomit-frame-pointer2014102020141014
1968595refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014102020141014
1968630refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014102020141014
1968630refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014102020141014
1968690refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014102020141014
1968725refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014102020141014
1968735refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014102020141014
1968770refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014102020141014
1968800refgcc -m64 -O3 -fomit-frame-pointer2014102020141014
1968955refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014102020141014
1968955refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014102020141014
1968960refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014102020141014
1968960refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014102020141014
1969020refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014102020141014
1969030refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014102020141014
1969035refgcc -march=nocona -O3 -fomit-frame-pointer2014102020141014
1969830refgcc -m64 -march=core2 -O -fomit-frame-pointer2014102020141014
1969865refgcc -m64 -O -fomit-frame-pointer2014102020141014
1969900refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014102020141014
1969965refgcc -m64 -march=k8 -O -fomit-frame-pointer2014102020141014
1970050refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014102020141014
1970140refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014102020141014
1970150refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014102020141014
1970390refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014102020141014
1970515refgcc -march=k8 -O -fomit-frame-pointer2014102020141014
1970560refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014102020141014
1970650refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014102020141014
1970670refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014102020141014
1970715refgcc -funroll-loops -O2 -fomit-frame-pointer2014102020141014
1970720refgcc -march=k8 -O3 -fomit-frame-pointer2014102020141014
1970780refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014102020141014
1970855refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014102020141014
1971060refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014102020141014
1971765refgcc -O -fomit-frame-pointer2014102020141014
1972505refgcc -fno-schedule-insns -O -fomit-frame-pointer2014102020141014
1972745refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014102020141014
1972770refgcc -march=barcelona -O -fomit-frame-pointer2014102020141014
1976735refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014102020141014
1976745refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014102020141014
1977035refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014102020141014
1978380refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014102020141014
1978655refclang -O3 -fomit-frame-pointer2014102020141014
1986930refgcc -m64 -march=nocona -O -fomit-frame-pointer2014102020141014
1988420refgcc -march=nocona -O -fomit-frame-pointer2014102020141014
1989505refgcc -funroll-loops2014102020141014
1991885refcc2014102020141014
1998300refgcc2014102020141014

Compiler output

Implementation: crypto_dh/kummer/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: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_dh/kummer/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
dh.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
dh.c: clang: warning: argument unused during compilation: '-mavx2'
dh.c: clang: warning: argument unused during compilation: '-mpclmul'
keypair.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
keypair.c: clang: warning: argument unused during compilation: '-mavx2'
keypair.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_dh/kummer/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
dh.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
dh.c: clang: warning: argument unused during compilation: '-mavx2'
dh.c: clang: warning: argument unused during compilation: '-mpclmul'
dh.c: clang: warning: argument unused during compilation: '-fpolly'
dh.c: clang: warning: argument unused during compilation: '-fvectorize'
dh.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
dh.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
keypair.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
keypair.c: clang: warning: argument unused during compilation: '-mavx2'
keypair.c: clang: warning: argument unused during compilation: '-mpclmul'
keypair.c: clang: warning: argument unused during compilation: '-fpolly'
keypair.c: clang: warning: argument unused during compilation: '-fvectorize'
keypair.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
keypair.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_dh/kummer/ref
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
dh.c: clang: warning: argument unused during compilation: '-mavx2'
keypair.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_dh/kummer/ref
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
dh.c: clang: warning: argument unused during compilation: '-mavx2'
dh.c: clang: warning: argument unused during compilation: '-fpolly'
dh.c: clang: warning: argument unused during compilation: '-fvectorize'
dh.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
dh.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
keypair.c: clang: warning: argument unused during compilation: '-mavx2'
keypair.c: clang: warning: argument unused during compilation: '-fpolly'
keypair.c: clang: warning: argument unused during compilation: '-fvectorize'
keypair.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
keypair.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