Test results for aarch64, pi5, crypto_kem/threebears624r2cpa

[Page version: 20250609 19:52:35]

Measurements for aarch64, pi5, crypto_kem Test results for aarch64, pi5, crypto_kem Test results for crypto_kem/threebears624r2cpa
Computer: pi5
Microarchitecture: aarch64; Cortex-A76 (414fd0b1)
Architecture: aarch64
CPU ID: 414fd0b1
SUPERCOP version: 20250415
Operation: crypto_kem
Primitive: threebears624r2cpa
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
16543011869 0 092093 840 1552vecclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
16549511869 0 092093 840 1552optclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
16596913659 0 092240 784 1568vecgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
16602413659 0 092240 784 1568optgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
1662037206 0 083752 768 1536optgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
1662067206 0 083752 768 1536vecgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
1662078109 0 085816 784 1568optgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
1663468109 0 085816 784 1568vecgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
1911408077 0 085680 784 1552optgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
1911538077 0 085680 784 1552vecgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
2180309965 0 090197 840 1552lowmemclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
2181499079 0 087664 784 1568lowmemgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
2183886981 0 084720 784 1568lowmemgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
2264546134 0 082688 768 1536lowmemgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
2515306961 0 084584 784 1552lowmemgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
45340813467 0 031986 848 1552refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
52006710922 0 027872 784 1568refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
8839666754 0 022856 784 1568refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
29932356370 0 022352 784 1552refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415
35593795725 0 020664 768 1536refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025060320250415

Compiler output


shake.c: shake.c:11:34: warning: incompatible pointer types passing 'uint8_t[200]' (aka 'unsigned char[200]') to parameter of type 'KeccakP1600_plain64_state *' [-Wincompatible-pointer-types]
shake.c:     KeccakP1600_Permute_24rounds(ctx->state);
shake.c:                                  ^~~~~~~~~~
shake.c: .../supercop-data/pi5/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:53:62: note: passing argument to parameter 'state' here
shake.c: void KeccakP1600_Permute_24rounds(KeccakP1600_plain64_state *state);
shake.c:                                                              ^
shake.c: shake.c:23:30: warning: incompatible pointer types passing 'uint8_t[200]' (aka 'unsigned char[200]') to parameter of type 'KeccakP1600_plain64_state *' [-Wincompatible-pointer-types]
shake.c:         KeccakP1600_AddBytes(ctx->state, in, ctx->position, cando);
shake.c:                              ^~~~~~~~~~
shake.c: .../supercop-data/pi5/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:48:54: note: passing argument to parameter 'state' here
shake.c: void KeccakP1600_AddBytes(KeccakP1600_plain64_state *state, const unsigned char *data, unsigned int offset, unsigned int length);
shake.c:                                                      ^
shake.c: shake.c:28:26: warning: incompatible pointer types passing 'uint8_t[200]' (aka 'unsigned char[200]') to parameter of type 'KeccakP1600_plain64_state *' [-Wincompatible-pointer-types]
shake.c:     KeccakP1600_AddBytes(ctx->state, in, ctx->position, len);
shake.c:                          ^~~~~~~~~~
shake.c: .../supercop-data/pi5/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:48:54: note: passing argument to parameter 'state' here
shake.c: void KeccakP1600_AddBytes(KeccakP1600_plain64_state *state, const unsigned char *data, unsigned int offset, unsigned int length);
shake.c:                                                      ^
shake.c: shake.c:47:34: warning: incompatible pointer types passing 'uint8_t[200]' (aka 'unsigned char[200]') to parameter of type 'const KeccakP1600_plain64_state *' [-Wincompatible-pointer-types]
shake.c:         KeccakP1600_ExtractBytes(ctx->state, out, ctx->position, cando);
shake.c:                                  ^~~~~~~~~~
shake.c: .../supercop-data/pi5/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:54:64: note: passing argument to parameter 'state' here
shake.c: void KeccakP1600_ExtractBytes(const KeccakP1600_plain64_state *state, unsigned char *data, unsigned int offset, unsigned int length);
shake.c:                                                                ^
shake.c: shake.c:52:30: warning: incompatible pointer types passing 'uint8_t[200]' (aka 'unsigned char[200]') to parameter of type 'const KeccakP1600_plain64_state *' [-Wincompatible-pointer-types]
shake.c: ...

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
lowmemclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
optclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)

Compiler output


shake.c: shake.c: In function 'keccakf':
shake.c: shake.c:11:37: warning: passing argument 1 of 'KeccakP1600_Permute_24rounds' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    11 |     KeccakP1600_Permute_24rounds(ctx->state);
shake.c:       |                                  ~~~^~~~~~~
shake.c:       |                                     |
shake.c:       |                                     uint8_t * {aka unsigned char *}
shake.c: In file included from shake.h:3,
shake.c:                  from shake.c:3:
shake.c: .../supercop-data/pi5/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:53:62: note: expected 'KeccakP1600_plain64_state *' but argument is of type 'uint8_t *' {aka 'unsigned char *'}
shake.c:    53 | void KeccakP1600_Permute_24rounds(KeccakP1600_plain64_state *state);
shake.c:       |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
shake.c: shake.c: In function 'pqcrypto_kem_threebears624r2cpa_impl_priv_hash_update':
shake.c: shake.c:23:33: warning: passing argument 1 of 'KeccakP1600_AddBytes' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    23 |         KeccakP1600_AddBytes(ctx->state, in, ctx->position, cando);
shake.c:       |                              ~~~^~~~~~~
shake.c:       |                                 |
shake.c:       |                                 uint8_t * {aka unsigned char *}
shake.c: .../supercop-data/pi5/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:48:54: note: expected 'KeccakP1600_plain64_state *' but argument is of type 'uint8_t *' {aka 'unsigned char *'}
shake.c:    48 | void KeccakP1600_AddBytes(KeccakP1600_plain64_state *state, const unsigned char *data, unsigned int offset, unsigned int length);
shake.c:       |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
shake.c: shake.c:28:29: warning: passing argument 1 of 'KeccakP1600_AddBytes' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    28 |     KeccakP1600_AddBytes(ctx->state, in, ctx->position, len);
shake.c:       |                          ~~~^~~~~~~
shake.c:       |                             |
shake.c:       |                             uint8_t * {aka unsigned char *}
shake.c: ...
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[804]' {aka 'unsigned char[804]'}
threebears.c:    24 |     uint8_t pk[PQCRYPTO_KEM_THREEBEARS624R2CPA_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: 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_THREEBEARS624R2CPA_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: 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_THREEBEARS624R2CPA_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: threebears.h:56:13: note: previously declared as an array 'uint8_t[917]' {aka 'unsigned char[917]'}
threebears.c:    56 |     uint8_t capsule[PQCRYPTO_KEM_THREEBEARS624R2CPA_IMPL_PRIV_CAPSULE_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
lowmemgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
lowmemgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
lowmemgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
lowmemgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)

Compiler output


shake.c: shake.c: In function 'keccakf':
shake.c: shake.c:11:37: warning: passing argument 1 of 'KeccakP1600_Permute_24rounds' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    11 |     KeccakP1600_Permute_24rounds(ctx->state);
shake.c:       |                                  ~~~^~~~~~~
shake.c:       |                                     |
shake.c:       |                                     uint8_t * {aka unsigned char *}
shake.c: In file included from shake.h:3,
shake.c:                  from shake.c:3:
shake.c: .../supercop-data/pi5/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:53:62: note: expected 'KeccakP1600_plain64_state *' but argument is of type 'uint8_t *' {aka 'unsigned char *'}
shake.c:    53 | void KeccakP1600_Permute_24rounds(KeccakP1600_plain64_state *state);
shake.c:       |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
shake.c: shake.c: In function 'pqcrypto_kem_threebears624r2cpa_impl_priv_hash_update':
shake.c: shake.c:23:33: warning: passing argument 1 of 'KeccakP1600_AddBytes' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    23 |         KeccakP1600_AddBytes(ctx->state, in, ctx->position, cando);
shake.c:       |                              ~~~^~~~~~~
shake.c:       |                                 |
shake.c:       |                                 uint8_t * {aka unsigned char *}
shake.c: .../supercop-data/pi5/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:48:54: note: expected 'KeccakP1600_plain64_state *' but argument is of type 'uint8_t *' {aka 'unsigned char *'}
shake.c:    48 | void KeccakP1600_AddBytes(KeccakP1600_plain64_state *state, const unsigned char *data, unsigned int offset, unsigned int length);
shake.c:       |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
shake.c: shake.c:28:29: warning: passing argument 1 of 'KeccakP1600_AddBytes' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    28 |     KeccakP1600_AddBytes(ctx->state, in, ctx->position, len);
shake.c:       |                          ~~~^~~~~~~
shake.c:       |                             |
shake.c:       |                             uint8_t * {aka unsigned char *}
shake.c: ...
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[804]' {aka 'unsigned char[804]'}
threebears.c:    24 |     uint8_t pk[PQCRYPTO_KEM_THREEBEARS624R2CPA_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: 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_THREEBEARS624R2CPA_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: 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_THREEBEARS624R2CPA_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: threebears.h:56:13: note: previously declared as an array 'uint8_t[917]' {aka 'unsigned char[917]'}
threebears.c:    56 |     uint8_t capsule[PQCRYPTO_KEM_THREEBEARS624R2CPA_IMPL_PRIV_CAPSULE_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
optgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
optgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
optgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
optgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.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[804]' {aka 'unsigned char[804]'}
threebears.c:    24 |     uint8_t pk[PQCRYPTO_KEM_THREEBEARS624R2CPA_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: 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_THREEBEARS624R2CPA_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: 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_THREEBEARS624R2CPA_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: threebears.h:56:13: note: previously declared as an array 'uint8_t[917]' {aka 'unsigned char[917]'}
threebears.c:    56 |     uint8_t capsule[PQCRYPTO_KEM_THREEBEARS624R2CPA_IMPL_PRIV_CAPSULE_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)

Compiler output


shake.c: shake.c:46:34: warning: incompatible pointer types passing 'uint8_t[200]' (aka 'unsigned char[200]') to parameter of type 'KeccakP1600_plain64_state *' [-Wincompatible-pointer-types]
shake.c:     KeccakP1600_Permute_24rounds(ctx->state);
shake.c:                                  ^~~~~~~~~~
shake.c: .../supercop-data/pi5/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:53:62: note: passing argument to parameter 'state' here
shake.c: void KeccakP1600_Permute_24rounds(KeccakP1600_plain64_state *state);
shake.c:                                                              ^
shake.c: shake.c:58:30: warning: incompatible pointer types passing 'uint8_t[200]' (aka 'unsigned char[200]') to parameter of type 'KeccakP1600_plain64_state *' [-Wincompatible-pointer-types]
shake.c:         KeccakP1600_AddBytes(ctx->state, in, ctx->position, cando);
shake.c:                              ^~~~~~~~~~
shake.c: .../supercop-data/pi5/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:48:54: note: passing argument to parameter 'state' here
shake.c: void KeccakP1600_AddBytes(KeccakP1600_plain64_state *state, const unsigned char *data, unsigned int offset, unsigned int length);
shake.c:                                                      ^
shake.c: shake.c:63:26: warning: incompatible pointer types passing 'uint8_t[200]' (aka 'unsigned char[200]') to parameter of type 'KeccakP1600_plain64_state *' [-Wincompatible-pointer-types]
shake.c:     KeccakP1600_AddBytes(ctx->state, in, ctx->position, len);
shake.c:                          ^~~~~~~~~~
shake.c: .../supercop-data/pi5/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:48:54: note: passing argument to parameter 'state' here
shake.c: void KeccakP1600_AddBytes(KeccakP1600_plain64_state *state, const unsigned char *data, unsigned int offset, unsigned int length);
shake.c:                                                      ^
shake.c: shake.c:82:34: warning: incompatible pointer types passing 'uint8_t[200]' (aka 'unsigned char[200]') to parameter of type 'const KeccakP1600_plain64_state *' [-Wincompatible-pointer-types]
shake.c:         KeccakP1600_ExtractBytes(ctx->state, out, ctx->position, cando);
shake.c:                                  ^~~~~~~~~~
shake.c: .../supercop-data/pi5/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:54:64: note: passing argument to parameter 'state' here
shake.c: void KeccakP1600_ExtractBytes(const KeccakP1600_plain64_state *state, unsigned char *data, unsigned int offset, unsigned int length);
shake.c:                                                                ^
shake.c: shake.c:87:30: warning: incompatible pointer types passing 'uint8_t[200]' (aka 'unsigned char[200]') to parameter of type 'const KeccakP1600_plain64_state *' [-Wincompatible-pointer-types]
shake.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
vecclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)

Compiler output


shake.c: shake.c: In function 'keccakf':
shake.c: shake.c:46:37: warning: passing argument 1 of 'KeccakP1600_Permute_24rounds' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    46 |     KeccakP1600_Permute_24rounds(ctx->state);
shake.c:       |                                  ~~~^~~~~~~
shake.c:       |                                     |
shake.c:       |                                     uint8_t * {aka unsigned char *}
shake.c: In file included from shake.h:3,
shake.c:                  from shake.c:3:
shake.c: .../supercop-data/pi5/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:53:62: note: expected 'KeccakP1600_plain64_state *' but argument is of type 'uint8_t *' {aka 'unsigned char *'}
shake.c:    53 | void KeccakP1600_Permute_24rounds(KeccakP1600_plain64_state *state);
shake.c:       |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
shake.c: shake.c: In function 'pqcrypto_kem_threebears624r2cpa_impl_priv_hash_update':
shake.c: shake.c:58:33: warning: passing argument 1 of 'KeccakP1600_AddBytes' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    58 |         KeccakP1600_AddBytes(ctx->state, in, ctx->position, cando);
shake.c:       |                              ~~~^~~~~~~
shake.c:       |                                 |
shake.c:       |                                 uint8_t * {aka unsigned char *}
shake.c: .../supercop-data/pi5/aarch64/include/libkeccak.a.headers/KeccakP-1600-SnP.h:48:54: note: expected 'KeccakP1600_plain64_state *' but argument is of type 'uint8_t *' {aka 'unsigned char *'}
shake.c:    48 | void KeccakP1600_AddBytes(KeccakP1600_plain64_state *state, const unsigned char *data, unsigned int offset, unsigned int length);
shake.c:       |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
shake.c: shake.c:63:29: warning: passing argument 1 of 'KeccakP1600_AddBytes' from incompatible pointer type [-Wincompatible-pointer-types]
shake.c:    63 |     KeccakP1600_AddBytes(ctx->state, in, ctx->position, len);
shake.c:       |                          ~~~^~~~~~~
shake.c:       |                             |
shake.c:       |                             uint8_t * {aka unsigned char *}
shake.c: ...
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[804]' {aka 'unsigned char[804]'}
threebears.c:    24 |     uint8_t pk[PQCRYPTO_KEM_THREEBEARS624R2CPA_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: 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_THREEBEARS624R2CPA_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: 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_THREEBEARS624R2CPA_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: threebears.h:56:13: note: previously declared as an array 'uint8_t[917]' {aka 'unsigned char[917]'}
threebears.c:    56 |     uint8_t capsule[PQCRYPTO_KEM_THREEBEARS624R2CPA_IMPL_PRIV_CAPSULE_BYTES],
threebears.c:       |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
threebears.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
vecgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
vecgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
vecgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
vecgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)

Namespace violations


melas_fec.o pqcrypto_kem_threebears624r2cpa_impl_priv_melas_fec_correct T
melas_fec.o pqcrypto_kem_threebears624r2cpa_impl_priv_melas_fec_set T
ring.o pqcrypto_kem_threebears624r2cpa_impl_priv_canon_3120 T
ring.o pqcrypto_kem_threebears624r2cpa_impl_priv_contract_3120 T
ring.o pqcrypto_kem_threebears624r2cpa_impl_priv_expand_3120 T
ring.o pqcrypto_kem_threebears624r2cpa_impl_priv_mac_3120 T
shake.o pqcrypto_kem_threebears624r2cpa_impl_priv_hash_output T
shake.o pqcrypto_kem_threebears624r2cpa_impl_priv_hash_times_n T
shake.o pqcrypto_kem_threebears624r2cpa_impl_priv_hash_update T
shake.o pqcrypto_kem_threebears624r2cpa_impl_priv_threebears_cshake_init T
threebears.o pqcrypto_kem_threebears624r2cpa_impl_priv_decapsulate T
threebears.o pqcrypto_kem_threebears624r2cpa_impl_priv_encapsulate T
threebears.o pqcrypto_kem_threebears624r2cpa_impl_priv_get_pubkey T
threebears.o pqcrypto_kem_threebears624r2cpa_impl_priv_secure_bzero T

Number of similar (implementation,compiler) pairs: 15, namely:
ImplementationCompiler
lowmemclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
lowmemgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
lowmemgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
lowmemgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
lowmemgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
optclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
optgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
optgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
optgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
optgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
vecclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
vecgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
vecgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
vecgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
vecgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)

Namespace violations


melas_fec.o pqcrypto_kem_threebears624r2cpa_impl_priv_melas_fec_correct T
melas_fec.o pqcrypto_kem_threebears624r2cpa_impl_priv_melas_fec_set T
ring.o pqcrypto_kem_threebears624r2cpa_impl_priv_canon_3120 T
ring.o pqcrypto_kem_threebears624r2cpa_impl_priv_contract_3120 T
ring.o pqcrypto_kem_threebears624r2cpa_impl_priv_expand_3120 T
ring.o pqcrypto_kem_threebears624r2cpa_impl_priv_mac_3120 T
shake.o pqcrypto_kem_threebears624r2cpa_impl_priv_hash_output T
shake.o pqcrypto_kem_threebears624r2cpa_impl_priv_hash_update T
shake.o pqcrypto_kem_threebears624r2cpa_impl_priv_threebears_cshake_init T
threebears.o pqcrypto_kem_threebears624r2cpa_impl_priv_decapsulate T
threebears.o pqcrypto_kem_threebears624r2cpa_impl_priv_encapsulate T
threebears.o pqcrypto_kem_threebears624r2cpa_impl_priv_get_pubkey T
threebears.o pqcrypto_kem_threebears624r2cpa_impl_priv_secure_bzero T

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)

Passed TIMECOP


TIMECOP iterations: 1

Number of similar (implementation,compiler) pairs: 20, namely:
ImplementationCompiler
lowmemclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
lowmemgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
lowmemgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
lowmemgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
lowmemgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
optclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
optgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
optgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
optgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
optgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
vecclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
vecgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
vecgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
vecgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
vecgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)