Implementation notes: amd64, bolero, crypto_kem/threebears1248r2cpax
Computer: bolero
Microarchitecture: amd64; Broadwell+AES (406f1)
Architecture: amd64
CPU ID: GenuineIntel-000406f1-1fc9cbf5
SUPERCOP version: 20240808
Operation: crypto_kem
Primitive: threebears1248r2cpax
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
199804 | 9145 0 0 | 135535 840 1576 | vec | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
201148 | 15133 0 0 | 145599 840 1576 | vec | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
201684 | 12746 0 0 | 142919 840 1576 | vec | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
254256 | 9535 0 0 | 34284 832 1576 | opt | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
254792 | 12636 0 0 | 41156 832 1576 | opt | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
255580 | 14988 0 0 | 43772 832 1576 | opt | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
267140 | 7849 0 0 | 33326 824 1640 | opt | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
269544 | 14119 0 0 | 41292 832 1576 | vec | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
286059 | 14119 0 0 | 41292 832 1576 | opt | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
296203 | 8131 0 0 | 135225 832 1640 | vec | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240810 | 20240808 |
Compiler output
threebears.c: threebears.c:102:22: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 102 | void keygen(uint8_t *pk, uint8_t *sk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~^~
threebears.c: In file included from threebears.c:8:
threebears.c: threebears.h:23:13: note: previously declared as an array 'uint8_t[1584]' {aka 'unsigned char[1584]'}
threebears.c: 23 | uint8_t pk[PQCRYPTO_KEM_THREEBEARS1248R2CPAX_IMPL_PRIV_PUBLIC_KEY_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:102:35: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 102 | void keygen(uint8_t *pk, uint8_t *sk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~^~
threebears.c: In file included from threebears.c:8:
threebears.c: threebears.h:24:13: note: previously declared as an array 'uint8_t[1584]' {aka 'unsigned char[1584]'}
threebears.c: 24 | uint8_t sk[PQCRYPTO_KEM_THREEBEARS1248R2CPAX_IMPL_PRIV_PRIVATE_KEY_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:102:54: warning: argument 3 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 102 | void keygen(uint8_t *pk, uint8_t *sk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~~~~~~~^~~~
threebears.c: In file included from threebears.c:8:
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_THREEBEARS1248R2CPAX_IMPL_PRIV_KEYGEN_SEED_BYTES]
threebears.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:144:14: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 144 | uint8_t *shared_secret,
threebears.c: | ~~~~~~~~~^~~~~~~~~~~~~
threebears.c: In file included from threebears.c:8:
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 (11.4.0) |
opt | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
opt | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
opt | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
threebears.c: threebears.c:102:22: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 102 | void keygen(uint8_t *pk, uint8_t *sk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~^~
threebears.c: In file included from threebears.c:8:
threebears.c: threebears.h:23:13: note: previously declared as an array 'uint8_t[1584]' {aka 'unsigned char[1584]'}
threebears.c: 23 | uint8_t pk[PQCRYPTO_KEM_THREEBEARS1248R2CPAX_IMPL_PRIV_PUBLIC_KEY_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:102:35: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 102 | void keygen(uint8_t *pk, uint8_t *sk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~^~
threebears.c: In file included from threebears.c:8:
threebears.c: threebears.h:24:13: note: previously declared as an array 'uint8_t[1584]' {aka 'unsigned char[1584]'}
threebears.c: 24 | uint8_t sk[PQCRYPTO_KEM_THREEBEARS1248R2CPAX_IMPL_PRIV_PRIVATE_KEY_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:102:54: warning: argument 3 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 102 | void keygen(uint8_t *pk, uint8_t *sk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~~~~~~~^~~~
threebears.c: In file included from threebears.c:8:
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_THREEBEARS1248R2CPAX_IMPL_PRIV_KEYGEN_SEED_BYTES]
threebears.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:159:14: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 159 | uint8_t *shared_secret,
threebears.c: | ~~~~~~~~~^~~~~~~~~~~~~
threebears.c: In file included from threebears.c:8:
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 (11.4.0) |
vec | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
vec | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
vec | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Namespace violations
melas_fec.o pqcrypto_kem_threebears1248r2cpax_impl_priv_melas_fec_correct T
melas_fec.o pqcrypto_kem_threebears1248r2cpax_impl_priv_melas_fec_set T
ring.o pqcrypto_kem_threebears1248r2cpax_impl_priv_canon_3120 T
ring.o pqcrypto_kem_threebears1248r2cpax_impl_priv_contract_3120 T
ring.o pqcrypto_kem_threebears1248r2cpax_impl_priv_expand_3120 T
ring.o pqcrypto_kem_threebears1248r2cpax_impl_priv_mac_3120 T
shake.o pqcrypto_kem_threebears1248r2cpax_impl_priv_hash_output T
shake.o pqcrypto_kem_threebears1248r2cpax_impl_priv_hash_times_n T
shake.o pqcrypto_kem_threebears1248r2cpax_impl_priv_hash_update T
shake.o pqcrypto_kem_threebears1248r2cpax_impl_priv_threebears_cshake_init T
threebears.o pqcrypto_kem_threebears1248r2cpax_impl_priv_decapsulate T
threebears.o pqcrypto_kem_threebears1248r2cpax_impl_priv_encapsulate T
threebears.o pqcrypto_kem_threebears1248r2cpax_impl_priv_keygen T
threebears.o pqcrypto_kem_threebears1248r2cpax_impl_priv_secure_bzero T
Number of similar (implementation,compiler) pairs: 10, namely:
Implementation | Compiler |
opt | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
opt | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
opt | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
opt | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
opt | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
vec | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
vec | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
vec | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
vec | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
vec | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Passed TIMECOP
TIMECOP iterations: 1
Number of similar (implementation,compiler) pairs: 10, namely:
Implementation | Compiler |
opt | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
opt | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
opt | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
opt | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
opt | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
vec | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
vec | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
vec | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
vec | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
vec | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |