Implementation notes: amd64, gemini, crypto_kem/oddmanhattan192

Computer: gemini
Microarchitecture: amd64; Goldmont Plus (706a8)
Architecture: amd64
CPU ID: GenuineIntel-000706a8-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_kem
Primitive: oddmanhattan192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3794372196232 0 52212600 1164 1784T:optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
3797631897868 0 52215184 1164 1784T:optclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
3798722955046 0 52210110 1156 1784T:optclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
3802474845217 0 52211121 1148 1848T:optgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
3803099727738 0 52216456 1164 1784T:optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
3805037995276 0 52211561 1148 1848T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
3815154154661 0 52209409 1140 1816T:optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
4166444965849 0 52213313 1148 1848T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
4386023264619 0 52209206 1156 1784T:optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
10166710316650 0 52212032 1164 1784T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
10174079465032 0 52208112 1164 1784T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
10179742974001 0 52205230 1156 1784T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
10188501714552 0 52207145 1148 1848T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
10194659464476 0 52207457 1148 1848T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
10201316805049 0 52209209 1148 1848T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
10260527986716 0 52210760 1164 1784T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
11092722604342 0 52206134 1156 1784T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625
11227282084043 0 52205473 1140 1816T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072620240625

Compiler output


kem.c: kem.c:30:15: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c:   randombytes(seed,crypto_kem_BYTES);
kem.c:               ^~~~
kem.c: .../supercop-data/gemini/amd64/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 with different sign [-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 with different sign [-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.

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:optclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:optclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:optclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:optclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:optclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


kem.c: kem.c: In function 'crypto_kem_oddmanhattan192_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/gemini/amd64/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: ...
rng.c: rng.c: In function 'AES256_ECB':
rng.c: rng.c:122:9: warning: variable 'ciphertext_len' set but not used [-Wunused-but-set-variable]
rng.c:   122 |     int ciphertext_len;
rng.c:       |         ^~~~~~~~~~~~~~

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

Compiler output


kem.c: kem.c:30:15: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c:   randombytes(seed,crypto_kem_BYTES);
kem.c:               ^~~~
kem.c: .../supercop-data/gemini/amd64/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 with different sign [-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 with different sign [-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.

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

Compiler output


kem.c: kem.c: In function 'crypto_kem_oddmanhattan192_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/gemini/amd64/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: ...
rng.c: rng.c: In function 'AES256_ECB':
rng.c: rng.c:122:9: warning: variable 'ciphertext_len' set but not used [-Wunused-but-set-variable]
rng.c:   122 |     int ciphertext_len;
rng.c:       |         ^~~~~~~~~~~~~~

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