Implementation notes: amd64, samba, crypto_kem/threebears1248r2cpa

Computer: samba
Microarchitecture: amd64; Skylake (506e3)
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_kem
Primitive: threebears1248r2cpa
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2049507863 0 0134288 860 1824vecclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
2100449158 0 0134790 868 1760vecclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
21478513242 0 0142566 868 1760vecclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
21744416150 0 0145822 868 1824vecclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
2546099524 0 033515 860 1760optclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
2578087594 0 032421 852 1824optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
26403216213 0 044259 860 1824optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
26676212734 0 040491 860 1760optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
27504515353 0 041835 860 1760vecclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
27569215353 0 041835 860 1760optclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
35917014189 0 042235 860 1824lowmemclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
36740710390 0 038147 860 1760lowmemclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
3697276503 0 031325 852 1824lowmemclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
38164513041 0 039523 860 1760lowmemclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
4080508700 0 032739 860 1760lowmemclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
107279236294 0 058860 868 1824refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
141940721220 0 043492 868 1760refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
201963419674 0 040716 868 1760refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
27631616308 0 026142 860 1824refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
62797298301 0 027348 868 1760refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625

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[1584]' {aka 'unsigned char[1584]'}
threebears.c:    24 |     uint8_t pk[PQCRYPTO_KEM_THREEBEARS1248R2CPA_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_THREEBEARS1248R2CPA_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_THREEBEARS1248R2CPA_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:
ImplementationCompiler
lowmemgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
lowmemgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
lowmemgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
lowmemgcc -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[1584]' {aka 'unsigned char[1584]'}
threebears.c:    24 |     uint8_t pk[PQCRYPTO_KEM_THREEBEARS1248R2CPA_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_THREEBEARS1248R2CPA_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_THREEBEARS1248R2CPA_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:
ImplementationCompiler
optgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
optgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
optgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
optgcc -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[1584]' {aka 'unsigned char[1584]'}
threebears.c:    24 |     uint8_t pk[PQCRYPTO_KEM_THREEBEARS1248R2CPA_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_THREEBEARS1248R2CPA_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_THREEBEARS1248R2CPA_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:
ImplementationCompiler
refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
refgcc -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[1584]' {aka 'unsigned char[1584]'}
threebears.c:    24 |     uint8_t pk[PQCRYPTO_KEM_THREEBEARS1248R2CPA_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_THREEBEARS1248R2CPA_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_THREEBEARS1248R2CPA_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:
ImplementationCompiler
vecgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
vecgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
vecgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
vecgcc -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:
ImplementationCompiler
lowmemclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
lowmemclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
lowmemclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
lowmemclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
lowmemclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
optclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
optclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
optclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
optclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
optclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
vecclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
vecclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
vecclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
vecclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
vecclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)