Implementation notes: amd64, margaux, crypto_kem/threebears936r2cpa
Computer: margaux
Microarchitecture: amd64; Core 2 65nm (6fb)
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_kem
Primitive: threebears936r2cpa
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
360425 | 7700 0 0 | 95784 860 1728 | opt | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
363575 | 14374 0 0 | 105670 868 1728 | opt | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
365503 | 14380 0 0 | 105414 868 1728 | vec | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
367805 | 9338 0 0 | 98198 868 1728 | opt | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
367998 | 14380 0 0 | 105414 868 1728 | opt | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
368508 | 11960 0 0 | 102094 868 1728 | opt | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
456685 | 12910 0 0 | 104190 868 1728 | lowmem | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
458657 | 12948 0 0 | 103998 868 1728 | lowmem | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
458922 | 10032 0 0 | 100230 868 1728 | lowmem | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
460100 | 6588 0 0 | 94656 860 1728 | lowmem | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
470579 | 8274 0 0 | 97166 868 1728 | lowmem | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
586031 | 10765 0 0 | 180046 868 1728 | vec | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
587152 | 7948 0 0 | 175072 860 1728 | vec | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
590519 | 14763 0 0 | 185150 868 1728 | vec | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
596924 | 9087 0 0 | 177038 868 1728 | vec | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
4882165 | 17715 0 0 | 37148 868 1728 | ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
5001605 | 17267 0 0 | 35604 868 1728 | ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
5107527 | 17688 0 0 | 36924 868 1728 | ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
5122621 | 7564 0 0 | 25004 868 1728 | ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
7571348 | 6498 0 0 | 23094 860 1728 | ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240719 | 20240625 |
Compiler output
threebears.c: threebears.c:99:26: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 99 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~^~
threebears.c: In file included from threebears.c:7:
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:99:45: warning: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 99 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~~~~~~~^~~~
threebears.c: In file included from threebears.c:7:
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:130:14: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 130 | uint8_t *shared_secret,
threebears.c: | ~~~~~~~~~^~~~~~~~~~~~~
threebears.c: In file included from threebears.c:7:
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:131:14: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 131 | uint8_t *capsule,
threebears.c: | ~~~~~~~~~^~~~~~~
threebears.c: In file included from threebears.c:7:
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:99:26: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 99 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~^~
threebears.c: In file included from threebears.c:7:
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:99:45: warning: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 99 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~~~~~~~^~~~
threebears.c: In file included from threebears.c:7:
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:131:14: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 131 | uint8_t *shared_secret,
threebears.c: | ~~~~~~~~~^~~~~~~~~~~~~
threebears.c: In file included from threebears.c:7:
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:132:14: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 132 | uint8_t *capsule,
threebears.c: | ~~~~~~~~~^~~~~~~
threebears.c: In file included from threebears.c:7:
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:72:26: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 72 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~^~
threebears.c: In file included from threebears.c:7:
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:72:45: warning: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 72 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~~~~~~~^~~~
threebears.c: In file included from threebears.c:7:
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:97:14: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 97 | uint8_t *shared_secret,
threebears.c: | ~~~~~~~~~^~~~~~~~~~~~~
threebears.c: In file included from threebears.c:7:
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:98:14: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 98 | uint8_t *capsule,
threebears.c: | ~~~~~~~~~^~~~~~~
threebears.c: In file included from threebears.c:7:
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:99:26: warning: argument 1 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 99 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~^~
threebears.c: In file included from threebears.c:7:
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:99:45: warning: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 99 | void get_pubkey(uint8_t *pk, const uint8_t *seed) {
threebears.c: | ~~~~~~~~~~~~~~~^~~~
threebears.c: In file included from threebears.c:7:
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: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:7:
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:145:14: warning: argument 2 of type 'uint8_t *' {aka 'unsigned char *'} declared as a pointer [-Warray-parameter=]
threebears.c: 145 | uint8_t *capsule,
threebears.c: | ~~~~~~~~~^~~~~~~
threebears.c: In file included from threebears.c:7:
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) |
Passed TIMECOP
TIMECOP iterations: 1
Number of similar (implementation,compiler) pairs: 20, 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) |
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) |
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) |