Implementation notes: amd64, rumba3, crypto_dh/ecfp256h

Computer: rumba3
Microarchitecture: amd64; Zen (800f11)
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20221122
Operation: crypto_dh
Primitive: ecfp256h

Compiler output

Implementation: T:v01/var
Security model: timingleaks
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 where one is of the unique plain 'char' type and the other is not [-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 where one is of the unique plain 'char' type and the other is not [-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 where one is of the unique plain 'char' type and the other is not [-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 where one is of the unique plain 'char' type and the other is not [-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 where one is of the unique plain 'char' type and the other is not [-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 T:v01/var
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/var
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/var
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/var
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/var
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s1
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s1
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s1
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s1
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s1
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s2
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s4
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s4
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s4
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s4
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s4
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s8
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s8
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s8
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s8
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:v01/w8s8

Compiler output

Implementation: T:v01/var
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(ec_fp_256h.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(fp_256x8664.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(integer_hi_stack.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(integer_lo.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(alloc.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(array_lo.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(error.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: T:v01/w8s1
Security model: timingleaks
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_timingleaks_keypair':
try_ec_fp_256h.c: try_ec_fp_256h.c:39:9: warning: implicit declaration of function 'ec_fp_smulbase_256h'; did you mean 'ec_fp_smulbase_256i'? [-Wimplicit-function-declaration]
try_ec_fp_256h.c: 39 | 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
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(ec_fp_256h.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(fp_256x8664.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(integer_hi_stack.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(integer_lo.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(alloc.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(array_lo.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(error.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: T:v01/w8s2
Security model: timingleaks
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_timingleaks_keypair':
try_ec_fp_256h.c: try_ec_fp_256h.c:39:9: warning: implicit declaration of function 'ec_fp_smulbase_256h'; did you mean 'ec_fp_smulbase_256i'? [-Wimplicit-function-declaration]
try_ec_fp_256h.c: 39 | 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
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(ec_fp_256h.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(fp_256x8664.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(integer_hi_stack.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(integer_lo.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(alloc.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(array_lo.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(error.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: T:v01/w8s4
Security model: timingleaks
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_timingleaks_keypair':
try_ec_fp_256h.c: try_ec_fp_256h.c:39:9: warning: implicit declaration of function 'ec_fp_smulbase_256h'; did you mean 'ec_fp_smulbase_256i'? [-Wimplicit-function-declaration]
try_ec_fp_256h.c: 39 | 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
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(ec_fp_256h.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(fp_256x8664.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(integer_hi_stack.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(integer_lo.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(alloc.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(array_lo.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(error.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: T:v01/w8s8
Security model: timingleaks
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_timingleaks_keypair':
try_ec_fp_256h.c: try_ec_fp_256h.c:39:9: warning: implicit declaration of function 'ec_fp_smulbase_256h'; did you mean 'ec_fp_smulbase_256i'? [-Wimplicit-function-declaration]
try_ec_fp_256h.c: 39 | 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
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(ec_fp_256h.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(fp_256x8664.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(integer_hi_stack.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(integer_lo.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(alloc.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(array_lo.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_dh_ecfp256h.a(error.o):(.bss+0x0): multiple definition of `crympix'; libcrypto_dh_ecfp256h.a(try_ec_fp_256h.o):(.bss+0x0): first defined here
try.c: collect2: error: ld returned 1 exit status

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