Implementation notes: amd64, hydra5, crypto_kem/threebears936r2cpa
Computer: hydra5
Microarchitecture: amd64; K10 32nm (300f10)
Architecture: amd64
CPU ID: AuthenticAMD-00300f10-178bfbff
SUPERCOP version: 20240808
Operation: crypto_kem
Primitive: threebears936r2cpa
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
2360085 | 18262 0 0 | 37473 884 1728 | ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240815 | 20240808 |
2360343 | 18246 0 0 | 37457 884 1728 | ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240815 | 20240808 |
2591970 | 16974 0 0 | 35353 884 1728 | ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240815 | 20240808 |
4242142 | 6604 0 0 | 23211 876 1728 | ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240815 | 20240808 |
7420489 | 7774 0 0 | 25137 884 1728 | ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240815 | 20240808 |
Compiler output
try.c: /usr/bin/ld: .../supercop-data/hydra5/amd64/lib/libkeccak.a(KeccakP-1600-x86-64-gas.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)
Number of similar (implementation,compiler) pairs: 15, namely:
Implementation | Compiler |
lowmem | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
lowmem | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
lowmem | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
lowmem | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
lowmem | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
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) |
Compiler output
threebears.c: threebears.c:102:26: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 102 | void get_pubkey(uint8_t *pk, 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[1194]' {aka 'unsigned char[1194]'}
threebears.c: 24 | uint8_t pk[PQCRYPTO_KEM_THREEBEARS936R2CPA_IMPL_PRIV_PUBLIC_KEY_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:102:45: warning: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 102 | void get_pubkey(uint8_t *pk, 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_THREEBEARS936R2CPA_IMPL_PRIV_PRIVATE_KEY_BYTES]
threebears.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:133:14: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 133 | uint8_t *shared_secret,
threebears.c: | ~~~~~~~~~^~~~~~~~~~~~~
threebears.c: In file included from threebears.c:8:
threebears.c: threebears.h:55:13: note: previously declared as an array 'uint8_t[32]' {aka 'unsigned char[32]'}
threebears.c: 55 | uint8_t shared_secret[PQCRYPTO_KEM_THREEBEARS936R2CPA_IMPL_PRIV_SHARED_SECRET_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:134:14: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 134 | uint8_t *capsule,
threebears.c: | ~~~~~~~~~^~~~~~~
threebears.c: In file included from threebears.c:8:
threebears.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
lowmem | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
lowmem | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
lowmem | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
lowmem | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
threebears.c: threebears.c:102:26: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 102 | void get_pubkey(uint8_t *pk, 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[1194]' {aka 'unsigned char[1194]'}
threebears.c: 24 | uint8_t pk[PQCRYPTO_KEM_THREEBEARS936R2CPA_IMPL_PRIV_PUBLIC_KEY_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:102:45: warning: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 102 | void get_pubkey(uint8_t *pk, 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_THREEBEARS936R2CPA_IMPL_PRIV_PRIVATE_KEY_BYTES]
threebears.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:134:14: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 134 | uint8_t *shared_secret,
threebears.c: | ~~~~~~~~~^~~~~~~~~~~~~
threebears.c: In file included from threebears.c:8:
threebears.c: threebears.h:55:13: note: previously declared as an array 'uint8_t[32]' {aka 'unsigned char[32]'}
threebears.c: 55 | uint8_t shared_secret[PQCRYPTO_KEM_THREEBEARS936R2CPA_IMPL_PRIV_SHARED_SECRET_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:135:14: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 135 | uint8_t *capsule,
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:75:26: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 75 | void get_pubkey(uint8_t *pk, 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[1194]' {aka 'unsigned char[1194]'}
threebears.c: 24 | uint8_t pk[PQCRYPTO_KEM_THREEBEARS936R2CPA_IMPL_PRIV_PUBLIC_KEY_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:75:45: warning: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 75 | void get_pubkey(uint8_t *pk, 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_THREEBEARS936R2CPA_IMPL_PRIV_PRIVATE_KEY_BYTES]
threebears.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:100:14: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 100 | uint8_t *shared_secret,
threebears.c: | ~~~~~~~~~^~~~~~~~~~~~~
threebears.c: In file included from threebears.c:8:
threebears.c: threebears.h:55:13: note: previously declared as an array 'uint8_t[32]' {aka 'unsigned char[32]'}
threebears.c: 55 | uint8_t shared_secret[PQCRYPTO_KEM_THREEBEARS936R2CPA_IMPL_PRIV_SHARED_SECRET_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:101:14: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 101 | uint8_t *capsule,
threebears.c: | ~~~~~~~~~^~~~~~~
threebears.c: In file included from threebears.c:8:
threebears.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
threebears.c: threebears.c:102:26: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 102 | void get_pubkey(uint8_t *pk, 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[1194]' {aka 'unsigned char[1194]'}
threebears.c: 24 | uint8_t pk[PQCRYPTO_KEM_THREEBEARS936R2CPA_IMPL_PRIV_PUBLIC_KEY_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:102:45: warning: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 102 | void get_pubkey(uint8_t *pk, 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_THREEBEARS936R2CPA_IMPL_PRIV_PRIVATE_KEY_BYTES]
threebears.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:147:14: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 147 | uint8_t *shared_secret,
threebears.c: | ~~~~~~~~~^~~~~~~~~~~~~
threebears.c: In file included from threebears.c:8:
threebears.c: threebears.h:55:13: note: previously declared as an array 'uint8_t[32]' {aka 'unsigned char[32]'}
threebears.c: 55 | uint8_t shared_secret[PQCRYPTO_KEM_THREEBEARS936R2CPA_IMPL_PRIV_SHARED_SECRET_BYTES],
threebears.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: threebears.c:148:14: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 148 | uint8_t *capsule,
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_threebears936r2cpa_impl_priv_melas_fec_correct T
melas_fec.o pqcrypto_kem_threebears936r2cpa_impl_priv_melas_fec_set T
ring.o pqcrypto_kem_threebears936r2cpa_impl_priv_canon_3120 T
ring.o pqcrypto_kem_threebears936r2cpa_impl_priv_contract_3120 T
ring.o pqcrypto_kem_threebears936r2cpa_impl_priv_expand_3120 T
ring.o pqcrypto_kem_threebears936r2cpa_impl_priv_mac_3120 T
shake.o pqcrypto_kem_threebears936r2cpa_impl_priv_hash_output T
shake.o pqcrypto_kem_threebears936r2cpa_impl_priv_hash_update T
shake.o pqcrypto_kem_threebears936r2cpa_impl_priv_threebears_cshake_init T
threebears.o pqcrypto_kem_threebears936r2cpa_impl_priv_decapsulate T
threebears.o pqcrypto_kem_threebears936r2cpa_impl_priv_encapsulate T
threebears.o pqcrypto_kem_threebears936r2cpa_impl_priv_get_pubkey T
threebears.o pqcrypto_kem_threebears936r2cpa_impl_priv_secure_bzero T
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
TIMECOP error (can be valgrind bug)
error 111
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x10C955
at 0x...: pqcrypto_kem_threebears936r2cpa_impl_priv_encapsulate (threebears.c:156)
by 0x...: crypto_kem_threebears936r2cpa_ref_constbranchindex_enc (kem.c:26)
by 0x...: test (try.c:141)
by 0x...: main (try-anything.c:345)
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
TIMECOP error (can be valgrind bug)
error 111
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x10C9F5
at 0x...: pqcrypto_kem_threebears936r2cpa_impl_priv_encapsulate (threebears.c:156)
by 0x...: crypto_kem_threebears936r2cpa_ref_constbranchindex_enc (kem.c:26)
by 0x...: test (try.c:141)
by 0x...: main (try-anything.c:345)
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
ref | clang -march=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: 3, namely:
Implementation | Compiler |
ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |