Implementation notes: amd64, hydra2, crypto_dh/surf2113

Computer: hydra2
Architecture: amd64
CPU ID: GenuineIntel-000206c2-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_dh
Primitive: surf2113
TimeImplementationCompilerBenchmark dateSUPERCOP version
2740048mpfqclang -O3 -fwrapv -march=native -fomit-frame-pointer2014101420141014
2740984mpfqclang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
2754852mpfqclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
2757092mpfqclang -O3 -fomit-frame-pointer2014101420141014
2757376mpfqclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101420141014
2757568mpfqclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
2757596mpfqclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
2946020mpfqgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101420141014
2946964mpfqgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014101420141014
2948020mpfqgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014101420141014
2948700mpfqgcc -m64 -march=corei7 -O -fomit-frame-pointer2014101420141014
2951640mpfqgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014101420141014
2953848mpfqgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014101420141014
2956852mpfqgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014101420141014
2957236mpfqgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014101420141014
2958944mpfqgcc -funroll-loops -m64 -O -fomit-frame-pointer2014101420141014
2960092mpfqgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101420141014
2962592mpfqgcc -funroll-loops -O -fomit-frame-pointer2014101420141014
2969408mpfqgcc -m64 -march=core2 -O -fomit-frame-pointer2014101420141014
2970544mpfqgcc -m64 -march=nocona -O -fomit-frame-pointer2014101420141014
2973420mpfqgcc -march=k8 -O -fomit-frame-pointer2014101420141014
2974076mpfqgcc -m64 -O -fomit-frame-pointer2014101420141014
2974180mpfqgcc -O -fomit-frame-pointer2014101420141014
2975412mpfqgcc -fno-schedule-insns -O -fomit-frame-pointer2014101420141014
2975792mpfqgcc -m64 -march=k8 -O -fomit-frame-pointer2014101420141014
2975860mpfqgcc -march=nocona -O -fomit-frame-pointer2014101420141014
3516260mpfqgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101420141014
3516488mpfqgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014101420141014
3516700mpfqgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014101420141014
3516712mpfqgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014101420141014
3520920mpfqgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014101420141014
3524388mpfqgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014101420141014
3527936mpfqgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014101420141014
3528048mpfqgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014101420141014
3530516mpfqgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101420141014
3533384mpfqgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014101420141014
3548428mpfqgcc -march=k8 -O2 -fomit-frame-pointer2014101420141014
3548496mpfqgcc -march=k8 -O3 -fomit-frame-pointer2014101420141014
3548988mpfqgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014101420141014
3549328mpfqgcc -O3 -fomit-frame-pointer2014101420141014
3550036mpfqgcc -m64 -O2 -fomit-frame-pointer2014101420141014
3553972mpfqgcc -m64 -O3 -fomit-frame-pointer2014101420141014
3554888mpfqgcc -O2 -fomit-frame-pointer2014101420141014
3555172mpfqgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014101420141014
3558152mpfqgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014101420141014
3558616mpfqgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014101420141014
3647948mpfqgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014101420141014
3648536mpfqgcc -march=nocona -O3 -fomit-frame-pointer2014101420141014
3648672mpfqgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014101420141014
3653376mpfqgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014101420141014
3656960mpfqgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014101420141014
3657188mpfqgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014101420141014
3658200mpfqgcc -march=nocona -O2 -fomit-frame-pointer2014101420141014
3658900mpfqgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014101420141014
3666376mpfqgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014101420141014
3667436mpfqgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014101420141014
3669696mpfqgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014101420141014
3673156mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014101420141014
3683672mpfqgcc -funroll-loops -O2 -fomit-frame-pointer2014101420141014
3686172mpfqgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014101420141014
3689108mpfqgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101420141014
3689676mpfqgcc -funroll-loops -O3 -fomit-frame-pointer2014101420141014
3690344mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014101420141014
3692788mpfqgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101420141014
3905344mpfqgcc -m64 -march=core2 -Os -fomit-frame-pointer2014101420141014
3918744mpfqgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101420141014
3924084mpfqgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014101420141014
3927924mpfqgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014101420141014
3933048mpfqgcc -march=k8 -Os -fomit-frame-pointer2014101420141014
3933292mpfqgcc -m64 -march=k8 -Os -fomit-frame-pointer2014101420141014
3933708mpfqgcc -m64 -Os -fomit-frame-pointer2014101420141014
3934740mpfqgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014101420141014
3934864mpfqgcc -Os -fomit-frame-pointer2014101420141014
3936216mpfqgcc -fno-schedule-insns -Os -fomit-frame-pointer2014101420141014
3990856mpfqgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014101420141014
3992348mpfqgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014101420141014
3994456mpfqgcc -march=nocona -Os -fomit-frame-pointer2014101420141014
3997592mpfqgcc -m64 -march=nocona -Os -fomit-frame-pointer2014101420141014
4107968mpfqgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014101420141014
4108276mpfqgcc -funroll-loops -Os -fomit-frame-pointer2014101420141014
4108644mpfqgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101420141014
4109024mpfqgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014101420141014
4110420mpfqgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014101420141014
12009272mpfqgcc -funroll-loops2014101420141014
12016040mpfqcc2014101420141014
12020004mpfqgcc2014101420141014

Test failure

Implementation: crypto_dh/surf2113/mpfq
Compiler: gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
crypto_dh not associative

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer mpfq
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer mpfq
gcc -march=barcelona -O2 -fomit-frame-pointer mpfq
gcc -march=barcelona -O3 -fomit-frame-pointer mpfq
gcc -march=barcelona -O -fomit-frame-pointer mpfq
gcc -march=barcelona -Os -fomit-frame-pointer mpfq

Test failure

Implementation: crypto_dh/surf2113/mpfq
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
crypto_dh not associative
error 111
crypto_dh not associative

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer mpfq
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer mpfq
gcc -m64 -march=barcelona -O -fomit-frame-pointer mpfq
gcc -m64 -march=barcelona -Os -fomit-frame-pointer mpfq

Compiler output

Implementation: crypto_dh/surf2113/mpfq
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 mpfq
clang -O3 -fwrapv -march=native -fomit-frame-pointer mpfq

Compiler output

Implementation: crypto_dh/surf2113/mpfq
Compiler: clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
Surf2_113.c: clang: warning: argument unused during compilation: '-fpolly'
Surf2_113.c: clang: warning: argument unused during compilation: '-fvectorize'
Surf2_113.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
Surf2_113.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
keysharing.c: clang: warning: argument unused during compilation: '-fpolly'
keysharing.c: clang: warning: argument unused during compilation: '-fvectorize'
keysharing.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
keysharing.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
mpfq_2_113.c: clang: warning: argument unused during compilation: '-fpolly'
mpfq_2_113.c: clang: warning: argument unused during compilation: '-fvectorize'
mpfq_2_113.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
mpfq_2_113.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 mpfq

Compiler output

Implementation: crypto_dh/surf2113/mpfq
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
Surf2_113.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
Surf2_113.c: clang: warning: argument unused during compilation: '-mavx2'
Surf2_113.c: clang: warning: argument unused during compilation: '-mpclmul'
keysharing.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
keysharing.c: clang: warning: argument unused during compilation: '-mavx2'
keysharing.c: clang: warning: argument unused during compilation: '-mpclmul'
mpfq_2_113.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
mpfq_2_113.c: clang: warning: argument unused during compilation: '-mavx2'
mpfq_2_113.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 mpfq

Compiler output

Implementation: crypto_dh/surf2113/mpfq
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
Surf2_113.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
Surf2_113.c: clang: warning: argument unused during compilation: '-mavx2'
Surf2_113.c: clang: warning: argument unused during compilation: '-mpclmul'
Surf2_113.c: clang: warning: argument unused during compilation: '-fpolly'
Surf2_113.c: clang: warning: argument unused during compilation: '-fvectorize'
Surf2_113.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
Surf2_113.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
keysharing.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
keysharing.c: clang: warning: argument unused during compilation: '-mavx2'
keysharing.c: clang: warning: argument unused during compilation: '-mpclmul'
keysharing.c: clang: warning: argument unused during compilation: '-fpolly'
keysharing.c: clang: warning: argument unused during compilation: '-fvectorize'
keysharing.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
keysharing.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
mpfq_2_113.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
mpfq_2_113.c: clang: warning: argument unused during compilation: '-mavx2'
mpfq_2_113.c: clang: warning: argument unused during compilation: '-mpclmul'
mpfq_2_113.c: clang: warning: argument unused during compilation: '-fpolly'
mpfq_2_113.c: clang: warning: argument unused during compilation: '-fvectorize'
mpfq_2_113.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
mpfq_2_113.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 mpfq

Compiler output

Implementation: crypto_dh/surf2113/mpfq
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
Surf2_113.c: clang: warning: argument unused during compilation: '-mavx2'
keysharing.c: clang: warning: argument unused during compilation: '-mavx2'
mpfq_2_113.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 mpfq

Compiler output

Implementation: crypto_dh/surf2113/mpfq
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
Surf2_113.c: clang: warning: argument unused during compilation: '-mavx2'
Surf2_113.c: clang: warning: argument unused during compilation: '-fpolly'
Surf2_113.c: clang: warning: argument unused during compilation: '-fvectorize'
Surf2_113.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
Surf2_113.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
keysharing.c: clang: warning: argument unused during compilation: '-mavx2'
keysharing.c: clang: warning: argument unused during compilation: '-fpolly'
keysharing.c: clang: warning: argument unused during compilation: '-fvectorize'
keysharing.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
keysharing.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
mpfq_2_113.c: clang: warning: argument unused during compilation: '-mavx2'
mpfq_2_113.c: clang: warning: argument unused during compilation: '-fpolly'
mpfq_2_113.c: clang: warning: argument unused during compilation: '-fvectorize'
mpfq_2_113.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
mpfq_2_113.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 mpfq