Implementation notes: amd64, h4atom, crypto_dh/ecfp256h

Computer: h4atom
Architecture: amd64
CPU ID: GenuineIntel-000106ca-bfe9fbff
SUPERCOP version: 20160806
Operation: crypto_dh
Primitive: ecfp256h
TimeImplementationCompilerBenchmark dateSUPERCOP version
3444392v01/w8s8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081420160806
3481088v01/w8s4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081420160806
3482144v01/w8s8gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081420160806
3494752v01/w8s8gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081420160806
3502656v01/w8s8gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081420160806
3520320v01/w8s4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081420160806
3527160v01/w8s4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081420160806
3534984v01/w8s4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081420160806
3548504v01/w8s2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081420160806
3586024v01/w8s2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081420160806
3591360v01/w8s2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081420160806
3601856v01/w8s2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081420160806
3676624v01/w8s1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081420160806
3721304v01/w8s1gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081420160806
3725392v01/w8s1gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081420160806
3746784v01/w8s1gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081420160806
5837400v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016081420160806
5894576v01/vargcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016081420160806
5896632v01/vargcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016081420160806
5939904v01/vargcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016081420160806

Compiler output

Implementation: crypto_dh/ecfp256h/v01/var
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
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: 5, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments 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
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' [-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: ^

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

Compiler output

Implementation: crypto_dh/ecfp256h/v01/w8s2
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
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' [-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: ^

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

Compiler output

Implementation: crypto_dh/ecfp256h/v01/w8s4
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
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' [-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: ^

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

Compiler output

Implementation: crypto_dh/ecfp256h/v01/w8s8
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
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' [-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: ^

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