Implementation notes: amd64, hydra8, crypto_dh/ecfp256h

Computer: hydra8
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20200522
Operation: crypto_dh
Primitive: ecfp256h
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
658868218717 0 0233476 816 1648v01/w8s8gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
667020180393 0 0192956 816 1648v01/w8s8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
667464113734 0 0126236 816 1648v01/w8s4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
670564179253 0 0191772 816 1648v01/w8s8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
670916152751 0 0167524 816 1648v01/w8s4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
677044120130 0 0134916 816 1648v01/w8s2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
678004114857 0 0127420 816 1648v01/w8s4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
681472170371 0 0182004 808 1616v01/w8s8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
68805680991 0 093484 816 1648v01/w8s2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
692564104835 0 0116468 808 1616v01/w8s4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
69554482141 0 094724 816 1648v01/w8s2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
71008872093 0 083708 808 1616v01/w8s2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
71249664485 0 076988 816 1648v01/w8s1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
715856103218 0 0118004 816 1648v01/w8s1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
71912865658 0 078236 816 1648v01/w8s1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
72875655579 0 067212 808 1616v01/w8s1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
111944047812 0 060308 816 1648v01/vargcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
111986085696 0 0100460 816 1648v01/vargcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
112768849107 0 061684 816 1648v01/vargcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409
114551639387 0 050996 808 1616v01/vargcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020041020200409

Compiler output

Implementation: crypto_dh/ecfp256h/v01/var
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
alloc.c: alloc.c:77:11: warning: passing 'char [13]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types with different sign [-Wpointer-sign]
alloc.c: kn_exit("kn_init_fast", ERR_OUT_OF_MEMORY);
alloc.c: ^~~~~~~~~~~~~~
alloc.c: ./_core.h:132:21: note: passing argument to parameter 's' here
alloc.c: void kn_exit(sic_t *s, uni_t code);
alloc.c: ^
alloc.c: alloc.c:92:11: warning: passing 'char [13]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types with different sign [-Wpointer-sign]
alloc.c: kn_exit("kn_free_fast", ERR_INVALID_MEMORY);
alloc.c: ^~~~~~~~~~~~~~
alloc.c: ./_core.h:132:21: note: passing argument to parameter 's' here
alloc.c: void kn_exit(sic_t *s, uni_t code);
alloc.c: ^
alloc.c: alloc.c:108:11: warning: passing 'char [8]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types with different sign [-Wpointer-sign]
alloc.c: kn_exit("kn_kill", ERR_INVALID_MEMORY);
alloc.c: ^~~~~~~~~
alloc.c: ./_core.h:132:21: note: passing argument to parameter 's' here
alloc.c: void kn_exit(sic_t *s, uni_t code);
alloc.c: ^
alloc.c: alloc.c:131:11: warning: passing 'char [33]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types with different sign [-Wpointer-sign]
alloc.c: kn_exit("kn_alloc: cannot allocate memory", 0);
alloc.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alloc.c: ./_core.h:132:21: note: passing argument to parameter 's' here
alloc.c: void kn_exit(sic_t *s, uni_t code);
alloc.c: ^
alloc.c: alloc.c:152:12: warning: passing 'char [8]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types with different sign [-Wpointer-sign]
alloc.c: ...

Number of similar (compiler,implementation) pairs: 25, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE v01/var v01/w8s1 v01/w8s2 v01/w8s4 v01/w8s8
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE v01/var v01/w8s1 v01/w8s2 v01/w8s4 v01/w8s8
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE v01/var v01/w8s1 v01/w8s2 v01/w8s4 v01/w8s8
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE v01/var v01/w8s1 v01/w8s2 v01/w8s4 v01/w8s8
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE v01/var v01/w8s1 v01/w8s2 v01/w8s4 v01/w8s8

Compiler output

Implementation: crypto_dh/ecfp256h/v01/w8s1
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try_ec_fp_256h.c: try_ec_fp_256h.c: In function 'crypto_dh_ecfp256h_v01_w8s1_keypair':
try_ec_fp_256h.c: try_ec_fp_256h.c:39:2: warning: implicit declaration of function 'ec_fp_smulbase_256h'; did you mean 'ec_fp_smulbase_256i'? [-Wimplicit-function-declaration]
try_ec_fp_256h.c: ec_fp_smulbase_256h((uni)pk, (uni)(pk + (PUBLICKEY_BYTES/2)), (uni)zzn, (uni)sk, (uni *)xn0, (uni *)yn0);
try_ec_fp_256h.c: ^~~~~~~~~~~~~~~~~~~
try_ec_fp_256h.c: ec_fp_smulbase_256i

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s1
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s1
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s1
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s1

Compiler output

Implementation: crypto_dh/ecfp256h/v01/w8s2
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try_ec_fp_256h.c: try_ec_fp_256h.c: In function 'crypto_dh_ecfp256h_v01_w8s2_keypair':
try_ec_fp_256h.c: try_ec_fp_256h.c:39:2: warning: implicit declaration of function 'ec_fp_smulbase_256h'; did you mean 'ec_fp_smulbase_256i'? [-Wimplicit-function-declaration]
try_ec_fp_256h.c: ec_fp_smulbase_256h((uni)pk, (uni)(pk + (PUBLICKEY_BYTES/2)), (uni)zzn, (uni)sk, (uni *)xn0, (uni *)yn0);
try_ec_fp_256h.c: ^~~~~~~~~~~~~~~~~~~
try_ec_fp_256h.c: ec_fp_smulbase_256i

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s2

Compiler output

Implementation: crypto_dh/ecfp256h/v01/w8s4
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try_ec_fp_256h.c: try_ec_fp_256h.c: In function 'crypto_dh_ecfp256h_v01_w8s4_keypair':
try_ec_fp_256h.c: try_ec_fp_256h.c:39:2: warning: implicit declaration of function 'ec_fp_smulbase_256h'; did you mean 'ec_fp_smulbase_256i'? [-Wimplicit-function-declaration]
try_ec_fp_256h.c: ec_fp_smulbase_256h((uni)pk, (uni)(pk + (PUBLICKEY_BYTES/2)), (uni)zzn, (uni)sk, (uni *)xn0, (uni *)yn0);
try_ec_fp_256h.c: ^~~~~~~~~~~~~~~~~~~
try_ec_fp_256h.c: ec_fp_smulbase_256i

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s4
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s4
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s4
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s4

Compiler output

Implementation: crypto_dh/ecfp256h/v01/w8s8
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try_ec_fp_256h.c: try_ec_fp_256h.c: In function 'crypto_dh_ecfp256h_v01_w8s8_keypair':
try_ec_fp_256h.c: try_ec_fp_256h.c:39:2: warning: implicit declaration of function 'ec_fp_smulbase_256h'; did you mean 'ec_fp_smulbase_256i'? [-Wimplicit-function-declaration]
try_ec_fp_256h.c: ec_fp_smulbase_256h((uni)pk, (uni)(pk + (PUBLICKEY_BYTES/2)), (uni)zzn, (uni)sk, (uni *)xn0, (uni *)yn0);
try_ec_fp_256h.c: ^~~~~~~~~~~~~~~~~~~
try_ec_fp_256h.c: ec_fp_smulbase_256i

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s8
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s8
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s8
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s8

Namespace violations

Implementation: crypto_dh/ecfp256h/v01/w8s1
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
alloc.o crympix C
alloc.o crympix_init T
alloc.o crympix_kill T
alloc.o kn_alloc T
alloc.o kn_flush T
alloc.o kn_flush_fast T
alloc.o kn_free T
alloc.o kn_free_fast T
alloc.o kn_init T
alloc.o kn_init_fast T
alloc.o kn_kill T
alloc.o kn_kill_fast T
alloc.o kn_release T
array_lo.o crympix C
array_lo.o man_compare T
array_lo.o man_compare_1 T
array_lo.o man_convert_base T
array_lo.o man_convert_word T
array_lo.o man_normalize_right T
array_lo.o man_shift_left T
array_lo.o man_shift_left_experimental T
array_lo.o man_shift_right T
ec_fp_256h.o crympix C
ec_fp_256h.o ec_fp_smul_256h T
ec_fp_256h.o ec_fp_smulbase_256h T
error.o crympix C
error.o kn_exit T
error.o kn_memcheck T
error.o kn_warn T
fp_256x8664.o crympix C
fp_256x8664.o fp_inv_256 T
integer_hi_stack.o crympix C
integer_hi_stack.o mi_add_stack T
integer_hi_stack.o mi_add_stack_1_stack T
integer_hi_stack.o mi_clone_stack T
integer_hi_stack.o mi_compare_abs_1_stack T
integer_hi_stack.o mi_compare_abs_stack T
integer_hi_stack.o mi_compare_stack T
integer_hi_stack.o mi_div_1_stack T
integer_hi_stack.o mi_div_q_r_stack T
integer_hi_stack.o mi_div_q_stack T
integer_hi_stack.o mi_div_stack T
integer_hi_stack.o mi_exp_stack T
integer_hi_stack.o mi_gcd_stack T
integer_hi_stack.o mi_gcdx_stack T
integer_hi_stack.o mi_init_stack T
integer_hi_stack.o mi_lcm_stack T
integer_hi_stack.o mi_mod_stack T
integer_hi_stack.o mi_modadd_stack T
integer_hi_stack.o mi_moddiv_stack T
integer_hi_stack.o mi_modexp_stack T
integer_hi_stack.o mi_modinv_stack T
integer_hi_stack.o mi_modmul_stack T
integer_hi_stack.o mi_modsub_stack T
integer_hi_stack.o mi_mul_1_stack T
integer_hi_stack.o mi_mul_stack T
integer_hi_stack.o mi_negate_stack T
integer_hi_stack.o mi_set_1_stack T
integer_hi_stack.o mi_sub_1_stack T
integer_hi_stack.o mi_sub_stack T
integer_lo.o crympix C
integer_lo.o min_compare T
integer_lo.o min_div_qr T
integer_lo.o min_find_nd T
integer_lo.o min_find_window T
integer_lo.o min_gcdx_lehmer T
integer_lo.o min_mul_basecase T
integer_lo.o min_mul_karatsuba T
integer_lo.o min_nres_prepare T
integer_lo.o min_nres_prepare2 T
integer_lo.o min_nres_redc T
integer_lo.o min_sqr_basecase T
integer_lo.o min_sqr_karatsuba T
io.o crympix C
io.o kn_io_fprint T
io.o kn_io_fscan T
io.o kn_io_sprint T
io.o kn_io_sscan T
rand.o crympix C
rand.o kn_rand T
rand.o kn_srand T
try_ec_fp_256h.o copyrightclaims T
try_ec_fp_256h.o crympix C
try_ec_fp_256h.o patentclaims T
try_ec_fp_256h.o timingattacks T

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s1 v01/w8s2 v01/w8s4 v01/w8s8
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s1 v01/w8s2 v01/w8s4 v01/w8s8
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s1 v01/w8s2 v01/w8s4 v01/w8s8
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/w8s1 v01/w8s2 v01/w8s4 v01/w8s8

Namespace violations

Implementation: crypto_dh/ecfp256h/v01/var
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
alloc.o crympix C
alloc.o crympix_init T
alloc.o crympix_kill T
alloc.o kn_alloc T
alloc.o kn_flush T
alloc.o kn_flush_fast T
alloc.o kn_free T
alloc.o kn_free_fast T
alloc.o kn_init T
alloc.o kn_init_fast T
alloc.o kn_kill T
alloc.o kn_kill_fast T
alloc.o kn_release T
array_lo.o crympix C
array_lo.o man_compare T
array_lo.o man_compare_1 T
array_lo.o man_convert_base T
array_lo.o man_convert_word T
array_lo.o man_normalize_right T
array_lo.o man_shift_left T
array_lo.o man_shift_left_experimental T
array_lo.o man_shift_right T
ec_fp_256h.o crympix C
ec_fp_256h.o ec_fp_smul_256h T
error.o crympix C
error.o kn_exit T
error.o kn_memcheck T
error.o kn_warn T
fp_256x8664.o crympix C
fp_256x8664.o fp_inv_256 T
integer_hi_stack.o crympix C
integer_hi_stack.o mi_add_stack T
integer_hi_stack.o mi_add_stack_1_stack T
integer_hi_stack.o mi_clone_stack T
integer_hi_stack.o mi_compare_abs_1_stack T
integer_hi_stack.o mi_compare_abs_stack T
integer_hi_stack.o mi_compare_stack T
integer_hi_stack.o mi_div_1_stack T
integer_hi_stack.o mi_div_q_r_stack T
integer_hi_stack.o mi_div_q_stack T
integer_hi_stack.o mi_div_stack T
integer_hi_stack.o mi_exp_stack T
integer_hi_stack.o mi_gcd_stack T
integer_hi_stack.o mi_gcdx_stack T
integer_hi_stack.o mi_init_stack T
integer_hi_stack.o mi_lcm_stack T
integer_hi_stack.o mi_mod_stack T
integer_hi_stack.o mi_modadd_stack T
integer_hi_stack.o mi_moddiv_stack T
integer_hi_stack.o mi_modexp_stack T
integer_hi_stack.o mi_modinv_stack T
integer_hi_stack.o mi_modmul_stack T
integer_hi_stack.o mi_modsub_stack T
integer_hi_stack.o mi_mul_1_stack T
integer_hi_stack.o mi_mul_stack T
integer_hi_stack.o mi_negate_stack T
integer_hi_stack.o mi_set_1_stack T
integer_hi_stack.o mi_sub_1_stack T
integer_hi_stack.o mi_sub_stack T
integer_lo.o crympix C
integer_lo.o min_compare T
integer_lo.o min_div_qr T
integer_lo.o min_find_nd T
integer_lo.o min_find_window T
integer_lo.o min_gcdx_lehmer T
integer_lo.o min_mul_basecase T
integer_lo.o min_mul_karatsuba T
integer_lo.o min_nres_prepare T
integer_lo.o min_nres_prepare2 T
integer_lo.o min_nres_redc T
integer_lo.o min_sqr_basecase T
integer_lo.o min_sqr_karatsuba T
io.o crympix C
io.o kn_io_fprint T
io.o kn_io_fscan T
io.o kn_io_sprint T
io.o kn_io_sscan T
rand.o crympix C
rand.o kn_rand T
rand.o kn_srand T
try_ec_fp_256h.o copyrightclaims T
try_ec_fp_256h.o crympix C
try_ec_fp_256h.o patentclaims T
try_ec_fp_256h.o timingattacks T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/var
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/var
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/var
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE v01/var