Implementation notes: aarch64, pi4b, crypto_kem/oddmanhattan128
Computer: pi4b
Microarchitecture: aarch64; Cortex-A72 (410fd083)
Architecture: aarch64
CPU ID: 410fd083
SUPERCOP version: 20240716
Operation: crypto_kem
Primitive: oddmanhattan128
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
245548023 | 6976 0 52 | 197505 1072 1632 | T:opt | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
535867864 | 6112 0 52 | 193369 1072 1632 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240707 | 20240625 |
Compiler output
kem.c: kem.c:30:15: warning: passing 'char[32]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
kem.c: randombytes(seed,crypto_kem_BYTES);
kem.c: ^~~~
kem.c: .../supercop-data/pi4b/aarch64/include/randombytes.h:8:40: note: passing argument to parameter here
kem.c: extern void randombytes(unsigned char *,unsigned long long);
kem.c: ^
kem.c: kem.c:35:25: warning: passing 'char[32]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~
kem.c: ./rng.h:40:34: note: passing argument to parameter 'seed' here
kem.c: unsigned char *seed,
kem.c: ^
kem.c: kem.c:131:30: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~~~~~~~~
kem.c: ./rng.h:41:34: note: passing argument to parameter 'diversifier' here
kem.c: unsigned char *diversifier,
kem.c: ^
kem.c: kem.c:305:21: warning: unused variable 'b0' [-Wunused-variable]
kem.c: unsigned char b0=1;
kem.c: ^
kem.c: 4 warnings generated.
rng.c: rng.c:122:9: warning: variable 'ciphertext_len' set but not used [-Wunused-but-set-variable]
rng.c: int ciphertext_len;
rng.c: ^
rng.c: 1 warning generated.
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:opt | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
kem.c: kem.c: In function 'crypto_kem_oddmanhattan128_opt_timingleaks_keypair':
kem.c: kem.c:30:15: warning: pointer targets in passing argument 1 of 'randombytes' differ in signedness [-Wpointer-sign]
kem.c: 30 | randombytes(seed,crypto_kem_BYTES);
kem.c: | ^~~~
kem.c: | |
kem.c: | char *
kem.c: In file included from kem.c:5:
kem.c: .../supercop-data/pi4b/aarch64/include/randombytes.h:8:25: note: expected 'unsigned char *' but argument is of type 'char *'
kem.c: 8 | extern void randombytes(unsigned char *,unsigned long long);
kem.c: | ^~~~~~~~~~~~~~~
kem.c: kem.c:35:25: warning: pointer targets in passing argument 2 of 'seedexpander_init' differ in signedness [-Wpointer-sign]
kem.c: 35 | seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: | ^~~~
kem.c: | |
kem.c: | char *
kem.c: In file included from kem.c:3:
kem.c: rng.h:40:34: note: expected 'unsigned char *' but argument is of type 'char *'
kem.c: 40 | unsigned char *seed,
kem.c: | ~~~~~~~~~~~~~~~^~~~
kem.c: kem.c: In function 'om_kem_enc':
kem.c: kem.c:131:30: warning: pointer targets in passing argument 3 of 'seedexpander_init' differ in signedness [-Wpointer-sign]
kem.c: 131 | seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: | ^~~~~~~~~~~
kem.c: | |
kem.c: | char *
kem.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:opt | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:opt | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:opt | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:opt | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
kem.c: kem.c:30:15: warning: passing 'char[32]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
kem.c: randombytes(seed,crypto_kem_BYTES);
kem.c: ^~~~
kem.c: .../supercop-data/pi4b/aarch64/include/randombytes.h:8:40: note: passing argument to parameter here
kem.c: extern void randombytes(unsigned char *,unsigned long long);
kem.c: ^
kem.c: kem.c:35:25: warning: passing 'char[32]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~
kem.c: ./rng.h:40:34: note: passing argument to parameter 'seed' here
kem.c: unsigned char *seed,
kem.c: ^
kem.c: kem.c:125:30: warning: passing 'char[8]' to parameter of type 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~~~~~~~~
kem.c: ./rng.h:41:34: note: passing argument to parameter 'diversifier' here
kem.c: unsigned char *diversifier,
kem.c: ^
kem.c: kem.c:235:21: warning: unused variable 'b0' [-Wunused-variable]
kem.c: unsigned char b0=1;
kem.c: ^
kem.c: 4 warnings generated.
rng.c: rng.c:122:9: warning: variable 'ciphertext_len' set but not used [-Wunused-but-set-variable]
rng.c: int ciphertext_len;
rng.c: ^
rng.c: 1 warning generated.
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
kem.c: kem.c: In function 'crypto_kem_oddmanhattan128_ref_timingleaks_keypair':
kem.c: kem.c:30:15: warning: pointer targets in passing argument 1 of 'randombytes' differ in signedness [-Wpointer-sign]
kem.c: 30 | randombytes(seed,crypto_kem_BYTES);
kem.c: | ^~~~
kem.c: | |
kem.c: | char *
kem.c: In file included from kem.c:5:
kem.c: .../supercop-data/pi4b/aarch64/include/randombytes.h:8:25: note: expected 'unsigned char *' but argument is of type 'char *'
kem.c: 8 | extern void randombytes(unsigned char *,unsigned long long);
kem.c: | ^~~~~~~~~~~~~~~
kem.c: kem.c:35:25: warning: pointer targets in passing argument 2 of 'seedexpander_init' differ in signedness [-Wpointer-sign]
kem.c: 35 | seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: | ^~~~
kem.c: | |
kem.c: | char *
kem.c: In file included from kem.c:3:
kem.c: rng.h:40:34: note: expected 'unsigned char *' but argument is of type 'char *'
kem.c: 40 | unsigned char *seed,
kem.c: | ~~~~~~~~~~~~~~~^~~~
kem.c: kem.c: In function 'om_kem_enc':
kem.c: kem.c:125:30: warning: pointer targets in passing argument 3 of 'seedexpander_init' differ in signedness [-Wpointer-sign]
kem.c: 125 | seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: | ^~~~~~~~~~~
kem.c: | |
kem.c: | char *
kem.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |