Implementation notes: amd64, samba, crypto_kem/threebears1248r2cca

Computer: samba
Microarchitecture: amd64; Skylake (506e3)
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_kem
Primitive: threebears1248r2cca
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
39809616433 0 0145798 868 1760vecclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
40034437483 0 0167166 868 1824vecclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
40754610314 0 0135942 868 1760vecclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
4126028925 0 0135376 860 1824vecclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
49381511484 0 035499 860 1760optclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
49792218868 0 046659 860 1760optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
49916623919 0 052027 860 1824optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
5034768854 0 033701 852 1824optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
53112019432 0 045899 860 1760vecclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
53272119432 0 045899 860 1760optclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
66861715154 0 042939 860 1760lowmemclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
67517521226 0 049299 860 1824lowmemclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
71975916905 0 043395 860 1760lowmemclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
75784610541 0 034531 860 1760lowmemclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
7622137613 0 032477 852 1824lowmemclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
260646051951 0 074844 868 1824refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
354517124326 0 046660 868 1760refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
555350418596 0 039740 868 1760refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
71795716569 0 026430 860 1824refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
158187698168 0 027204 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_THREEBEARS1248R2CCA_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_THREEBEARS1248R2CCA_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_THREEBEARS1248R2CCA_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_THREEBEARS1248R2CCA_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_THREEBEARS1248R2CCA_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_THREEBEARS1248R2CCA_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_THREEBEARS1248R2CCA_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_THREEBEARS1248R2CCA_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_THREEBEARS1248R2CCA_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_THREEBEARS1248R2CCA_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_THREEBEARS1248R2CCA_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_THREEBEARS1248R2CCA_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)