Implementation notes: amd64, speed2supercop, crypto_kem/threebears936r2ccax
Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240625
Operation: crypto_kem
Primitive: threebears936r2ccax
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
259044 | 17727 0 0 | 146430 808 1568 | vec | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
259052 | 14132 0 0 | 142686 808 1568 | vec | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
268628 | 8923 0 0 | 133598 808 1568 | vec | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
268824 | 7964 0 0 | 133543 800 1632 | vec | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
296100 | 9054 0 0 | 134261 768 1600 | vec | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
298140 | 11800 0 0 | 138957 768 1600 | vec | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
302528 | 8816 0 0 | 133709 768 1600 | vec | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
320400 | 16511 0 0 | 43726 808 1568 | opt | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
321504 | 15672 0 0 | 42734 808 1568 | opt | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
328640 | 7614 0 0 | 31655 800 1632 | opt | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
330088 | 7769 0 0 | 131581 760 1568 | vec | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
331776 | 9297 0 0 | 32478 808 1568 | opt | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
341032 | 14282 0 0 | 40094 808 1568 | opt | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
341288 | 14282 0 0 | 40094 808 1568 | vec | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
363816 | 8814 0 0 | 32469 768 1600 | opt | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
364760 | 11479 0 0 | 37173 768 1600 | opt | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
366520 | 8651 0 0 | 32037 768 1600 | opt | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
395372 | 7545 0 0 | 29877 760 1568 | opt | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240713 | 20240625 |
Compiler output
threebears.c: threebears.c:99:22: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 99 | void keygen(uint8_t *pk, uint8_t *sk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~^~
threebears.c: In file included from threebears.c:7:
threebears.c: threebears.h:23:13: note: previously declared as an array 'uint8_t[1194]' {aka 'unsigned char[1194]'}
threebears.c: 23 | uint8_t pk[PQCRYPTO_KEM_THREEBEARS936R2CCAX_IMPL_PRIV_PUBLIC_KEY_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:99:35: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 99 | void keygen(uint8_t *pk, uint8_t *sk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~^~
threebears.c: threebears.h:24:13: note: previously declared as an array 'uint8_t[2404]' {aka 'unsigned char[2404]'}
threebears.c: 24 | uint8_t sk[PQCRYPTO_KEM_THREEBEARS936R2CCAX_IMPL_PRIV_PRIVATE_KEY_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:99:54: warning: argument 3 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 99 | void keygen(uint8_t *pk, uint8_t *sk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~~~~~~~^~~~
threebears.c: threebears.h:25:19: note: previously declared as an array 'const uint8_t[40]' {aka 'const unsigned char[40]'}
threebears.c: 25 | const uint8_t seed[PQCRYPTO_KEM_THREEBEARS936R2CCAX_IMPL_PRIV_KEYGEN_SEED_BYTES]
threebears.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:141:14: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 141 | uint8_t *shared_secret,
threebears.c: | ~~~~~~~~~^~~~~~~~~~~~~
threebears.c: threebears.h:39:13: note: previously declared as an array 'uint8_t[32]' {aka 'unsigned char[32]'}
threebears.c: 39 | uint8_t shared_secret[PQCRYPTO_KEM_THREEBEARS936R2CCAX_IMPL_PRIV_SHARED_SECRET_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
opt | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
opt | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
opt | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
opt | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
Compiler output
threebears.c: threebears.c:99:22: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 99 | void keygen(uint8_t *pk, uint8_t *sk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~^~
threebears.c: In file included from threebears.c:7:
threebears.c: threebears.h:23:13: note: previously declared as an array 'uint8_t[1194]' {aka 'unsigned char[1194]'}
threebears.c: 23 | uint8_t pk[PQCRYPTO_KEM_THREEBEARS936R2CCAX_IMPL_PRIV_PUBLIC_KEY_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:99:35: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 99 | void keygen(uint8_t *pk, uint8_t *sk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~^~
threebears.c: threebears.h:24:13: note: previously declared as an array 'uint8_t[2404]' {aka 'unsigned char[2404]'}
threebears.c: 24 | uint8_t sk[PQCRYPTO_KEM_THREEBEARS936R2CCAX_IMPL_PRIV_PRIVATE_KEY_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:99:54: warning: argument 3 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 99 | void keygen(uint8_t *pk, uint8_t *sk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~~~~~~~^~~~
threebears.c: threebears.h:25:19: note: previously declared as an array 'const uint8_t[40]' {aka 'const unsigned char[40]'}
threebears.c: 25 | const uint8_t seed[PQCRYPTO_KEM_THREEBEARS936R2CCAX_IMPL_PRIV_KEYGEN_SEED_BYTES]
threebears.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:156:14: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 156 | uint8_t *shared_secret,
threebears.c: | ~~~~~~~~~^~~~~~~~~~~~~
threebears.c: threebears.h:39:13: note: previously declared as an array 'uint8_t[32]' {aka 'unsigned char[32]'}
threebears.c: 39 | uint8_t shared_secret[PQCRYPTO_KEM_THREEBEARS936R2CCAX_IMPL_PRIV_SHARED_SECRET_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
vec | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
vec | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
vec | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
vec | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
Passed TIMECOP
TIMECOP iterations: 1
Number of similar (implementation,compiler) pairs: 18, namely:
Implementation | Compiler |
opt | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
opt | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
opt | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
opt | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
opt | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
opt | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
opt | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
opt | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
opt | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
vec | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
vec | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
vec | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
vec | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
vec | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
vec | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
vec | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
vec | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
vec | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |