Implementation notes: amd64, renoir, crypto_kem/oddmanhattan192

Computer: renoir
Microarchitecture: amd64; Zen 2 (860f01)
Architecture: amd64
CPU ID: AuthenticAMD-00860f01-178bfbff
SUPERCOP version: 20240625
Operation: crypto_kem
Primitive: oddmanhattan192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1773601925292 0 52216217 988 1848T:optgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
1775106216122 0 52219137 988 1848T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
1776122067868 0 52220768 1004 1784T:optclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
1776507184588 0 52214886 996 1784T:optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
1799724197664 0 52220368 1004 1784T:optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
1876752435428 0 52216745 988 1848T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
1876984684976 0 52215494 996 1784T:optclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
1883833606247 0 52218848 1004 1784T:optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
1887553834699 0 52214513 980 1816T:optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
6555663384304 0 52211390 996 1784T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
6557870113941 0 52210782 996 1784T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
6750153696716 0 52216152 1004 1784T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
6852383305095 0 52214232 1004 1784T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
7130029094656 0 52212145 988 1848T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
7152807515378 0 52214945 988 1848T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
7308193776624 0 52215944 1004 1784T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
7388258744700 0 52212553 988 1848T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
7427112634076 0 52210449 980 1816T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625

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/renoir/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/renoir/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/renoir/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/renoir/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)