Implementation notes: amd64, h4e350, crypto_dh/kummer

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_dh
Primitive: kummer
TimeImplementationCompilerBenchmark dateSUPERCOP version
2954472refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014101920141014
2954487refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014101920141014
2954559refgcc -march=nocona -O3 -fomit-frame-pointer2014101920141014
2954619refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014101920141014
2954652refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014101920141014
2954661refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014101920141014
2954682refgcc -march=k8 -O3 -fomit-frame-pointer2014101920141014
2954715refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101920141014
2954721refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014101920141014
2954748refgcc -march=barcelona -O3 -fomit-frame-pointer2014101920141014
2954751refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014101920141014
2954754refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101920141014
2954778refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014101920141014
2954796refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014101920141014
2954808refgcc -funroll-loops -O2 -fomit-frame-pointer2014101920141014
2954808refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014101920141014
2954811refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101920141014
2954829refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014101920141014
2954871refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014101920141014
2954913refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014101920141014
2954955refgcc -funroll-loops -O3 -fomit-frame-pointer2014101920141014
2955057refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014101920141014
2955294refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014101920141014
2956071refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014101920141014
2956200refgcc -O3 -fomit-frame-pointer2014101920141014
2956224refgcc -m64 -O3 -fomit-frame-pointer2014101920141014
2956482refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014101920141014
2957295refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014101920141014
2957475refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014101920141014
2958282refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014101920141014
2958309refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014101920141014
2958381refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014101920141014
2958519refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014101920141014
2958549refgcc -funroll-loops -O -fomit-frame-pointer2014101920141014
2958705refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101920141014
2958738refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014101920141014
2960919refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014101920141014
2961009refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014101920141014
2962065refclang -O3 -fomit-frame-pointer2014101920141014
2962068refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101920141014
2962077refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101920141014
2962077refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
2962104refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101920141014
2963691refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101920141014
2963694refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014101920141014
2963874refgcc -march=barcelona -O2 -fomit-frame-pointer2014101920141014
2964030refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014101920141014
2964072refgcc -march=nocona -O2 -fomit-frame-pointer2014101920141014
2964843refgcc -march=k8 -O2 -fomit-frame-pointer2014101920141014
2964966refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014101920141014
2964984refgcc -m64 -O2 -fomit-frame-pointer2014101920141014
2965020refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014101920141014
2965074refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014101920141014
2965095refgcc -O2 -fomit-frame-pointer2014101920141014
2965128refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014101920141014
2965173refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014101920141014
2965530refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014101920141014
2965725refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014101920141014
2965740refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014101920141014
2965830refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014101920141014
2965860refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014101920141014
2965902refgcc -march=barcelona -Os -fomit-frame-pointer2014101920141014
2965929refgcc -Os -fomit-frame-pointer2014101920141014
2965947refgcc -march=k8 -Os -fomit-frame-pointer2014101920141014
2965950refgcc -m64 -Os -fomit-frame-pointer2014101920141014
2965992refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014101920141014
2966001refgcc -march=nocona -Os -fomit-frame-pointer2014101920141014
2966301refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014101920141014
2966526refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101920141014
2966640refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014101920141014
2966751refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014101920141014
2967588refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014101920141014
2967600refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014101920141014
2967654refgcc -funroll-loops -Os -fomit-frame-pointer2014101920141014
2967702refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014101920141014
2967723refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101920141014
2967741refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014101920141014
2967786refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014101920141014
2967837refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014101920141014
2969541refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014101920141014
2969682refgcc -march=nocona -O -fomit-frame-pointer2014101920141014
2970027refgcc -m64 -march=nocona -O -fomit-frame-pointer2014101920141014
2972190refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014101920141014
2972262refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014101920141014
2972334refgcc -fno-schedule-insns -O -fomit-frame-pointer2014101920141014
2972361refgcc -O -fomit-frame-pointer2014101920141014
2972421refgcc -m64 -march=core2 -O -fomit-frame-pointer2014101920141014
2972457refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014101920141014
2972523refgcc -m64 -march=k8 -O -fomit-frame-pointer2014101920141014
2972640refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101920141014
2972661refgcc -m64 -O -fomit-frame-pointer2014101920141014
2972808refgcc -march=k8 -O -fomit-frame-pointer2014101920141014
2972937refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014101920141014
2973021refgcc -march=barcelona -O -fomit-frame-pointer2014101920141014
3007593refcc2014101920141014
3009456refgcc -funroll-loops2014101920141014
3010176refgcc2014101920141014

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