Implementation notes: amd64, bolero, crypto_dh/nistp256
Computer: bolero
Microarchitecture: amd64; Broadwell+AES (406f1)
Architecture: amd64
CPU ID: GenuineIntel-000406f1-1fc9cbf5
SUPERCOP version: 20240808
Operation: crypto_dh
Primitive: nistp256
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
2475808 | 143 0 0 | 38870 31536 1640 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
2479396 | 153 0 0 | 38164 31544 1576 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
2481612 | 186 0 0 | 39526 31504 1640 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
2482124 | 194 0 0 | 38790 31504 1640 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
2491588 | 150 0 0 | 41876 31544 1608 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
2515596 | 150 0 0 | 42188 31544 1608 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
2567724 | 186 0 0 | 41574 31504 1640 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
2584444 | 174 0 0 | 37654 31496 1608 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
2634840 | 150 0 0 | 40508 31544 1576 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
Compiler output
curve.c: curve.c:256:7: warning: unused variable 'k' [-Wunused-variable]
curve.c: int k;
curve.c: ^
curve.c: 1 warning generated.
fep256.c: fep256.c:1076:14: warning: unused variable 'temp' [-Wunused-variable]
fep256.c: smallfelem temp;
fep256.c: ^
fep256.c: fep256.c:46:30: warning: unused variable 'nistp256_curve_params' [-Wunused-const-variable]
fep256.c: static const felem_bytearray nistp256_curve_params[5] = {
fep256.c: ^
fep256.c: fep256.c:98:19: warning: unused variable 'bottom32bits' [-Wunused-const-variable]
fep256.c: static const limb bottom32bits = 0xffffffff;
fep256.c: ^
fep256.c: fep256.c:133:13: warning: unused function 'smallfelem_assign' [-Wunused-function]
fep256.c: static void smallfelem_assign(smallfelem out, const smallfelem in)
fep256.c: ^
fep256.c: fep256.c:159:13: warning: unused function 'felem_small_sum' [-Wunused-function]
fep256.c: static void felem_small_sum(felem out, const smallfelem in)
fep256.c: ^
fep256.c: fep256.c:177:13: warning: unused function 'longfelem_scalar' [-Wunused-function]
fep256.c: static void longfelem_scalar(longfelem out, const u64 scalar)
fep256.c: ^
fep256.c: fep256.c:200:13: warning: unused function 'smallfelem_neg' [-Wunused-function]
fep256.c: static void smallfelem_neg(felem out, const smallfelem small)
fep256.c: ^
fep256.c: fep256.c:243:13: warning: unused function 'felem_diff_zero107' [-Wunused-function]
fep256.c: static void felem_diff_zero107(felem out, const felem in)
fep256.c: ^
fep256.c: fep256.c:263:13: warning: unused function 'longfelem_diff' [-Wunused-function]
fep256.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:wbl | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:wbl | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:wbl | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:wbl | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:wbl | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
curve.c: curve.c: In function 'p256dblmult_base':
curve.c: curve.c:256:7: warning: unused variable 'k' [-Wunused-variable]
curve.c: 256 | int k;
curve.c: | ^
fep256.c: fep256.c:1064:32: warning: argument 1 of type 'unsigned char *' declared as a pointer [-Warray-parameter=]
fep256.c: 1064 | void fep256pack(unsigned char *out, fep256 *a){
fep256.c: | ~~~~~~~~~~~~~~~^~~
fep256.c: In file included from fep256.c:30:
fep256.c: fep256.h:20:38: note: previously declared as an array 'unsigned char[32]'
fep256.c: 20 | extern void fep256pack(unsigned char c[32], fep256 *r);
fep256.c: | ~~~~~~~~~~~~~~^~~~~
fep256.c: fep256.c:1075:51: warning: argument 2 of type 'const unsigned char *' declared as a pointer [-Warray-parameter=]
fep256.c: 1075 | void fep256unpack(fep256 *c, const unsigned char *in){
fep256.c: | ~~~~~~~~~~~~~~~~~~~~~^~
fep256.c: In file included from fep256.c:30:
fep256.c: fep256.h:21:57: note: previously declared as an array 'const unsigned char[32]'
fep256.c: 21 | extern void fep256unpack(fep256 *r, const unsigned char c[32]);
fep256.c: | ~~~~~~~~~~~~~~~~~~~~^~~~~
fep256.c: fep256.c: In function 'fep256unpack':
fep256.c: fep256.c:1076:14: warning: unused variable 'temp' [-Wunused-variable]
fep256.c: 1076 | smallfelem temp;
fep256.c: | ^~~~
fep256.c: At top level:
fep256.c: fep256.c:967:1: warning: 'copy_small_conditional' defined but not used [-Wunused-function]
fep256.c: 967 | copy_small_conditional(felem out, const smallfelem in, limb mask)
fep256.c: | ^~~~~~~~~~~~~~~~~~~~~~
fep256.c: fep256.c:955:1: warning: 'copy_conditional' defined but not used [-Wunused-function]
fep256.c: 955 | copy_conditional(felem out, const felem in, limb mask)
fep256.c: | ^~~~~~~~~~~~~~~~
fep256.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:wbl | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:wbl | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:wbl | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:wbl | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |