Implementation notes: amd64, bitvise, crypto_dh/ecfp256s

Computer: bitvise
Architecture: amd64
CPU ID: GenuineIntel-000906ea-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_dh
Primitive: ecfp256s
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
590036181272 0 0197660 816 1648v01/w8s4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
591631148841 0 0165228 816 1648v01/w8s2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
592372185592 0 0200092 816 1648v01/w8s8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
593410120032 0 0134540 816 1648v01/w8s4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
594958246858 0 0263244 816 1648v01/w8s8gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
602077185422 0 0200028 816 1648v01/w8s8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
611828119878 0 0134476 816 1648v01/w8s4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
61211287225 0 0101724 816 1648v01/w8s2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
617338173563 0 0187220 808 1616v01/w8s8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
617821108027 0 0121684 808 1616v01/w8s4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
61798587137 0 0101740 816 1648v01/w8s2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
618730132081 0 0148460 816 1648v01/w8s1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
62521975271 0 088932 808 1616v01/w8s2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
62522170769 0 085276 816 1648v01/w8s1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
63807870687 0 085292 816 1648v01/w8s1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
64803758831 0 072484 808 1616v01/w8s1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
969014110116 0 0126484 816 1648v01/vargcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
99236753807 0 068300 816 1648v01/vargcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
100455953946 0 068548 816 1648v01/vargcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
101092542611 0 056260 808 1616v01/vargcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910

Compiler output

Implementation: v01/var
Security model: unknown
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: ...
error.c: error.c:44:11: warning: passing 'char [56]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types with different sign [-Wpointer-sign]
error.c: kn_exit("Increase the workspace space using crypmix_init(maxlen)", ERR_OUT_OF_BOUNDS);
error.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error.c: error.c:29:21: note: passing argument to parameter 's' here
error.c: void kn_exit(sic_t *s, uni_t code)
error.c: ^
error.c: 1 warning generated.
integer_hi_stack.c: integer_hi_stack.c:387:11: warning: passing 'char [11]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types with different sign [-Wpointer-sign]
integer_hi_stack.c: kn_exit("mi_q_and_r", ERR_DIVIDE_BY_ZERO);
integer_hi_stack.c: ^~~~~~~~~~~~
integer_hi_stack.c: ./kernel.h:814:18: note: passing argument to parameter 's' here
integer_hi_stack.c: void kn_exit(sic s, uni_t code);
integer_hi_stack.c: ^
integer_hi_stack.c: integer_hi_stack.c:417:11: warning: passing 'char [11]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types with different sign [-Wpointer-sign]
integer_hi_stack.c: kn_exit("mi_q_and_r", ERR_DIVIDE_BY_ZERO);
integer_hi_stack.c: ^~~~~~~~~~~~
integer_hi_stack.c: ./kernel.h:814:18: note: passing argument to parameter 's' here
integer_hi_stack.c: void kn_exit(sic s, uni_t code);
integer_hi_stack.c: ^
integer_hi_stack.c: integer_hi_stack.c:907: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]
integer_hi_stack.c: kn_exit("mi_modinv_stack: 0 is not a unit", 0);
integer_hi_stack.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
integer_hi_stack.c: ./kernel.h:814:18: note: passing argument to parameter 's' here
integer_hi_stack.c: void kn_exit(sic s, uni_t code);
integer_hi_stack.c: ^
integer_hi_stack.c: integer_hi_stack.c:918:11: warning: passing 'char [16]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types with different sign [-Wpointer-sign]
integer_hi_stack.c: kn_exit("mi_modinv_stack", 0);
integer_hi_stack.c: ^~~~~~~~~~~~~~~~~
integer_hi_stack.c: ./kernel.h:814:18: note: passing argument to parameter 's' here
integer_hi_stack.c: void kn_exit(sic s, uni_t code);
integer_hi_stack.c: ^
integer_hi_stack.c: integer_hi_stack.c:943:12: warning: passing 'char [32]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types with different sign [-Wpointer-sign]
integer_hi_stack.c: ...
integer_lo.c: integer_lo.c:551:10: warning: passing 'char [35]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types with different sign [-Wpointer-sign]
integer_lo.c: kn_exit("min_nres_prepare2: not implemented", 0);
integer_lo.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
integer_lo.c: ./kernel.h:814:18: note: passing argument to parameter 's' here
integer_lo.c: void kn_exit(sic s, uni_t code);
integer_lo.c: ^
integer_lo.c: 1 warning generated.
io.c: io.c:340:11: warning: passing 'char [32]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types with different sign [-Wpointer-sign]
io.c: kn_exit("kn_io_fscan: zero length string", ERR_INVALID_STRING);
io.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
io.c: ./_core.h:132:21: note: passing argument to parameter 's' here
io.c: void kn_exit(sic_t *s, uni_t code);
io.c: ^
io.c: io.c:350:12: warning: passing 'char [31]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types with different sign [-Wpointer-sign]
io.c: kn_exit("kn_io_fscan: invalid character", ERR_INVALID_CHARACTER);
io.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
io.c: ./_core.h:132:21: note: passing argument to parameter 's' here
io.c: void kn_exit(sic_t *s, uni_t code);
io.c: ^
io.c: io.c:352:14: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
io.c: if((buf[i] == -1)){
io.c: ~~~~~~~^~~~~
io.c: io.c:352:14: note: remove extraneous parentheses around the comparison to silence this warning
io.c: if((buf[i] == -1)){
io.c: ~ ^ ~
io.c: io.c:352:14: note: use '=' to turn this equality comparison into an assignment
io.c: if((buf[i] == -1)){
io.c: ^~
io.c: =
io.c: io.c:353:12: warning: passing 'char [31]' to parameter of type 'sic_t *' (aka 'signed char *') converts between pointers to integer types with different sign [-Wpointer-sign]
io.c: kn_exit("kn_io_fscan: invalid character", ERR_INVALID_CHARACTER);
io.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
io.c: ...

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

Namespace violations

Implementation: v01/var
Security model: unknown
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_256s.o crympix C
ec_fp_256s.o ec_fp_smul_256s 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_256s.o copyrightclaims T
try_ec_fp_256s.o crympix C
try_ec_fp_256s.o patentclaims T
try_ec_fp_256s.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

Namespace violations

Implementation: v01/w8s1
Security model: unknown
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_256s.o crympix C
ec_fp_256s.o ec_fp_smul_256s T
ec_fp_256s.o ec_fp_smulbase_256s 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_256s.o copyrightclaims T
try_ec_fp_256s.o crympix C
try_ec_fp_256s.o patentclaims T
try_ec_fp_256s.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
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
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
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
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