Implementation notes: amd64, wolfdale, crypto_kem/oddmanhattan256

Computer: wolfdale
Microarchitecture: amd64; Core 2 45nm (1067a)
Architecture: amd64
CPU ID: GenuineIntel-0001067a-bfebfbff
SUPERCOP version: 20240808
Operation: crypto_kem
Primitive: oddmanhattan256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7653590645493 0 52207041 924 1848T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
7661370126114 0 52208609 924 1848T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
7684023895876 0 52208504 940 1784T:optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
7716755847795 0 52211008 940 1784T:optclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
7726869367723 0 52211200 940 1784T:optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
7746076235444 0 52206457 924 1848T:optgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
7752327624841 0 52205278 932 1784T:optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
7772392304767 0 52204697 916 1816T:optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
7947456445237 0 52206190 932 1784T:optclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
20341674536675 0 52206584 940 1784T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
21915319674685 0 52202977 924 1848T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
22062677815140 0 52204464 940 1784T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
22122521945274 0 52204481 924 1848T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
22188449236731 0 52206904 940 1784T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
22236841104053 0 52201174 932 1784T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
22241545584421 0 52202086 932 1784T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
22297363414683 0 52202449 924 1848T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625
22389513254073 0 52200697 916 1816T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071520240625

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/wolfdale/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_oddmanhattan256_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/wolfdale/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/wolfdale/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_oddmanhattan256_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/wolfdale/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)