Implementation notes: amd64, robin204, crypto_dh/kumfp128g

Computer: robin204
Architecture: amd64
CPU ID: GenuineIntel-000306f2-bfebfbff
SUPERCOP version: 20170228
Operation: crypto_dh
Primitive: kumfp128g
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
651896? ? ?? ? ?v02/varcc2017041520170228

Compiler output

Implementation: crypto_dh/kumfp128g/v02/var
Compiler: gcc
fp_2e128mc_x8664.c: In file included from fp_2e128mc_x8664.c:7:0:
fp_2e128mc_x8664.c: finite128.h:797:13: warning: inline function 'kum_fp_dbladd_2e64mce2_g_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void kum_fp_dbladd_2e64mce2_g_x8664_asm(uni TMP, uni kn, uni_t i, uni d1, uni d2, uni CNS);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:796:13: warning: inline function 'kum_fp_dbl_2e64mce2_g_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void kum_fp_dbl_2e64mce2_g_x8664_asm(uni TMP, void *NOPARAM1, void *NOPARAM2, uni d1, void *NOPARAM3, uni CNS);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:773:13: warning: inline function 'hec_fp_aadd_2e64mce2_g2i_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void hec_fp_aadd_2e64mce2_g2i_x8664_asm(uni TMP, uni_t prm, void *NOPARAM, uni D3, uni d1, uni d2);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:772:13: warning: inline function 'hec_fp_madd_2e64mce2_g2i_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void hec_fp_madd_2e64mce2_g2i_x8664_asm(uni TMP, uni_t prm, void *NOPARAM, uni D3, uni d1, uni d2);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:771:13: warning: inline function 'hec_fp_add_2e64mce2_g2i_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void hec_fp_add_2e64mce2_g2i_x8664_asm(uni TMP, uni_t prm, void *NOPARAM, uni D3, uni d1, uni d2);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:770:13: warning: inline function 'hec_fp_dbl_2e64mce2_g2i_a2is0_a3is0_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void hec_fp_dbl_2e64mce2_g2i_a2is0_a3is0_x8664_asm(uni TMP, uni_t prm, void *NOPARAM, uni D3, uni d1, uni CNS);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:769:13: warning: inline function 'hec_fp_dbl_2e64mce2_g2i_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void hec_fp_dbl_2e64mce2_g2i_x8664_asm(uni TMP, uni_t prm, void *NOPARAM, uni D3, uni d1, uni CNS);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:526:13: warning: inline function 'kum_fp_dbladd_2e61m1e2_g_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void kum_fp_dbladd_2e61m1e2_g_x8664_asm(uni TMP, uni kn, uni_t i, uni d1, uni d2, uni CNS);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: ...

Number of similar (compiler,implementation) pairs: 106, namely:
CompilerImplementations
gcc v02/var
gcc -O2 -fomit-frame-pointer v02/var
gcc -O3 -fomit-frame-pointer v02/var
gcc -O -fomit-frame-pointer v02/var
gcc -Os -fomit-frame-pointer v02/var
gcc -fno-schedule-insns -O2 -fomit-frame-pointer v02/var
gcc -fno-schedule-insns -O3 -fomit-frame-pointer v02/var
gcc -fno-schedule-insns -O -fomit-frame-pointer v02/var
gcc -fno-schedule-insns -Os -fomit-frame-pointer v02/var
gcc -funroll-loops v02/var
gcc -funroll-loops -O2 -fomit-frame-pointer v02/var
gcc -funroll-loops -O3 -fomit-frame-pointer v02/var
gcc -funroll-loops -O -fomit-frame-pointer v02/var
gcc -funroll-loops -Os -fomit-frame-pointer v02/var
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer v02/var
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer v02/var
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer v02/var
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -O -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -Os -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer v02/var
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer v02/var
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer v02/var
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer v02/var
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer v02/var
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer v02/var
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer v02/var
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer v02/var
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer v02/var
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer v02/var
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer v02/var
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer v02/var
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer v02/var
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer v02/var
gcc -m64 -O2 -fomit-frame-pointer v02/var
gcc -m64 -O3 -fomit-frame-pointer v02/var
gcc -m64 -O -fomit-frame-pointer v02/var
gcc -m64 -Os -fomit-frame-pointer v02/var
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer v02/var
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer v02/var
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer v02/var
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer v02/var
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer v02/var
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer v02/var
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer v02/var
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer v02/var
gcc -m64 -march=core2 -O2 -fomit-frame-pointer v02/var
gcc -m64 -march=core2 -O3 -fomit-frame-pointer v02/var
gcc -m64 -march=core2 -O -fomit-frame-pointer v02/var
gcc -m64 -march=core2 -Os -fomit-frame-pointer v02/var
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer v02/var
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer v02/var
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer v02/var
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer v02/var
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer v02/var
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer v02/var
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer v02/var
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer v02/var
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer v02/var
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer v02/var
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer v02/var
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer v02/var
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer v02/var
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer v02/var
gcc -m64 -march=corei7 -O -fomit-frame-pointer v02/var
gcc -m64 -march=corei7 -Os -fomit-frame-pointer v02/var
gcc -m64 -march=k8 -O2 -fomit-frame-pointer v02/var
gcc -m64 -march=k8 -O3 -fomit-frame-pointer v02/var
gcc -m64 -march=k8 -O -fomit-frame-pointer v02/var
gcc -m64 -march=k8 -Os -fomit-frame-pointer v02/var
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer v02/var
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer v02/var
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer v02/var
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer v02/var
gcc -m64 -march=nocona -O2 -fomit-frame-pointer v02/var
gcc -m64 -march=nocona -O3 -fomit-frame-pointer v02/var
gcc -m64 -march=nocona -O -fomit-frame-pointer v02/var
gcc -m64 -march=nocona -Os -fomit-frame-pointer v02/var
gcc -march=barcelona -O2 -fomit-frame-pointer v02/var
gcc -march=barcelona -O3 -fomit-frame-pointer v02/var
gcc -march=barcelona -O -fomit-frame-pointer v02/var
gcc -march=barcelona -Os -fomit-frame-pointer v02/var
gcc -march=k8 -O2 -fomit-frame-pointer v02/var
gcc -march=k8 -O3 -fomit-frame-pointer v02/var
gcc -march=k8 -O -fomit-frame-pointer v02/var
gcc -march=k8 -Os -fomit-frame-pointer v02/var
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv v02/var
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv v02/var
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv v02/var
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv v02/var
gcc -march=nocona -O2 -fomit-frame-pointer v02/var
gcc -march=nocona -O3 -fomit-frame-pointer v02/var
gcc -march=nocona -O -fomit-frame-pointer v02/var
gcc -march=nocona -Os -fomit-frame-pointer v02/var

Compiler output

Implementation: crypto_dh/kumfp128g/v02/var
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
fp_2e128mc_x8664.c: In file included from fp_2e128mc_x8664.c:7:0:
fp_2e128mc_x8664.c: finite128.h:797:13: warning: inline function 'kum_fp_dbladd_2e64mce2_g_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void kum_fp_dbladd_2e64mce2_g_x8664_asm(uni TMP, uni kn, uni_t i, uni d1, uni d2, uni CNS);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:796:13: warning: inline function 'kum_fp_dbl_2e64mce2_g_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void kum_fp_dbl_2e64mce2_g_x8664_asm(uni TMP, void *NOPARAM1, void *NOPARAM2, uni d1, void *NOPARAM3, uni CNS);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:773:13: warning: inline function 'hec_fp_aadd_2e64mce2_g2i_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void hec_fp_aadd_2e64mce2_g2i_x8664_asm(uni TMP, uni_t prm, void *NOPARAM, uni D3, uni d1, uni d2);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:772:13: warning: inline function 'hec_fp_madd_2e64mce2_g2i_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void hec_fp_madd_2e64mce2_g2i_x8664_asm(uni TMP, uni_t prm, void *NOPARAM, uni D3, uni d1, uni d2);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:771:13: warning: inline function 'hec_fp_add_2e64mce2_g2i_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void hec_fp_add_2e64mce2_g2i_x8664_asm(uni TMP, uni_t prm, void *NOPARAM, uni D3, uni d1, uni d2);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:770:13: warning: inline function 'hec_fp_dbl_2e64mce2_g2i_a2is0_a3is0_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void hec_fp_dbl_2e64mce2_g2i_a2is0_a3is0_x8664_asm(uni TMP, uni_t prm, void *NOPARAM, uni D3, uni d1, uni CNS);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:769:13: warning: inline function 'hec_fp_dbl_2e64mce2_g2i_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void hec_fp_dbl_2e64mce2_g2i_x8664_asm(uni TMP, uni_t prm, void *NOPARAM, uni D3, uni d1, uni CNS);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:526:13: warning: inline function 'kum_fp_dbladd_2e61m1e2_g_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void kum_fp_dbladd_2e61m1e2_g_x8664_asm(uni TMP, uni kn, uni_t i, uni d1, uni d2, uni CNS);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: ...
fp_2e128mc_x8664.c: In file included from fp_2e128mc_x8664.c:7:0:
fp_2e128mc_x8664.c: finite128.h:797:13: warning: inline function 'kum_fp_dbladd_2e64mce2_g_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void kum_fp_dbladd_2e64mce2_g_x8664_asm(uni TMP, uni kn, uni_t i, uni d1, uni d2, uni CNS);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:796:13: warning: inline function 'kum_fp_dbl_2e64mce2_g_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void kum_fp_dbl_2e64mce2_g_x8664_asm(uni TMP, void *NOPARAM1, void *NOPARAM2, uni d1, void *NOPARAM3, uni CNS);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:773:13: warning: inline function 'hec_fp_aadd_2e64mce2_g2i_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void hec_fp_aadd_2e64mce2_g2i_x8664_asm(uni TMP, uni_t prm, void *NOPARAM, uni D3, uni d1, uni d2);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:772:13: warning: inline function 'hec_fp_madd_2e64mce2_g2i_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void hec_fp_madd_2e64mce2_g2i_x8664_asm(uni TMP, uni_t prm, void *NOPARAM, uni D3, uni d1, uni d2);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:771:13: warning: inline function 'hec_fp_add_2e64mce2_g2i_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void hec_fp_add_2e64mce2_g2i_x8664_asm(uni TMP, uni_t prm, void *NOPARAM, uni D3, uni d1, uni d2);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:770:13: warning: inline function 'hec_fp_dbl_2e64mce2_g2i_a2is0_a3is0_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void hec_fp_dbl_2e64mce2_g2i_a2is0_a3is0_x8664_asm(uni TMP, uni_t prm, void *NOPARAM, uni D3, uni d1, uni CNS);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:769:13: warning: inline function 'hec_fp_dbl_2e64mce2_g2i_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void hec_fp_dbl_2e64mce2_g2i_x8664_asm(uni TMP, uni_t prm, void *NOPARAM, uni D3, uni d1, uni CNS);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: finite128.h:526:13: warning: inline function 'kum_fp_dbladd_2e61m1e2_g_x8664_asm' declared but never defined
fp_2e128mc_x8664.c: inline void kum_fp_dbladd_2e61m1e2_g_x8664_asm(uni TMP, uni kn, uni_t i, uni d1, uni d2, uni CNS);
fp_2e128mc_x8664.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fp_2e128mc_x8664.c: ...

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

Compiler output

Implementation: crypto_dh/kumfp128g/v02/var
Compiler: icc
try.c: crypto_dh_kumfp128g.a(fp_2e128mc_x8664.o): In function `fp_inv_2e128mc_x8664':
try.c: fp_2e128mc_x8664.c:(.text+0x...): undefined reference to `fp_cnt_bits'
try.c: crypto_dh_kumfp128g.a(smul.o): In function `kum_fp_smul_2e128mc_g':
try.c: smul.c:(.text+0x...): undefined reference to `fp_cnt_bits'

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
icc v02/var
icc -no-vec v02/var
icc -xCORE-AVX2 -O2 -fomit-frame-pointer v02/var
icc -xCORE-AVX2 -O3 -fomit-frame-pointer v02/var