Implementation notes: amd64, hertz, crypto_encrypt/mceliece

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_encrypt
Primitive: mceliece
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
89626167189 128 8492112258 996 10344T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
89854565530 128 8492110442 996 10344T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
93094217668 128 849256523 988 10344T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
98047322236 128 852862763 980 10472T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
103131018158 128 852856675 980 10408T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
126195912479 128 852849499 972 10376T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716

Compiler output


misc.c: misc.c:6:35: warning: passing 'char *' 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]
misc.c:     6 | int u8rnd() { char c; randombytes(&c,1); return 255 & (int) c; }
misc.c:       |                                   ^~
misc.c: .../supercop-data/hertz/amd64/include/randombytes.h:8:40: note: passing argument to parameter here
misc.c:     8 | extern void randombytes(unsigned char *,unsigned long long);
misc.c:       |                                        ^
misc.c: 1 warning generated.

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


misc.c: misc.c: In function 'u8rnd':
misc.c: misc.c:6:35: warning: pointer targets in passing argument 1 of 'randombytes' differ in signedness [-Wpointer-sign]
misc.c:     6 | int u8rnd() { char c; randombytes(&c,1); return 255 & (int) c; }
misc.c:       |                                   ^~
misc.c:       |                                   |
misc.c:       |                                   char *
misc.c: In file included from misc.c:3:
misc.c: .../supercop-data/hertz/amd64/include/randombytes.h:8:25: note: expected 'unsigned char *' but argument is of type 'char *'
misc.c:     8 | extern void randombytes(unsigned char *,unsigned long long);
misc.c:       |                         ^~~~~~~~~~~~~~~

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

Namespace violations


decrypt.o L B
decrypt.o coeffs B
decrypt.o decode T
decrypt.o g B
decrypt.o shortplaintext T
decrypt.o sk_free T
decrypt.o sk_from_string T
decrypt.o sqrtmod B
decrypt.o syndrome T
encrypt.o encryp_bloc T
encrypt.o pk_from_string T
encrypt.o shortciphertext T
encrypt.o vec_concat T
gf.o gf_exp B
gf.o gf_init T
gf.o gf_init_exp T
gf.o gf_init_log T
gf.o gf_log B
gf.o gf_pow T
gf.o gf_rand T
gf.o init_done B
keypair.o gop_supr T
keypair.o key_genmat T
mat.o mat_copy T
mat.o mat_free T
mat.o mat_ini T
mat.o mat_ini_from_string T
mat.o mat_mul T
mat.o mat_rowxor T
mat.o mat_rref T
mat.o mat_vec_mul T
misc.o bino D
misc.o buf B
misc.o buf_size B
misc.o fill_buf T
misc.o pick_er T
misc.o rnd T
misc.o u8rnd T
misc.o update_rnd T
poly.o poly_alloc T
poly.o poly_alloc_from_string T
poly.o poly_calcule_deg T
poly.o poly_copy T
poly.o poly_degppf T
poly.o poly_eeaux T
poly.o poly_eval T
poly.o poly_eval_aux T
poly.o poly_free T
poly.o poly_gcd T
poly.o poly_gcd_aux T
poly.o poly_mul T
poly.o poly_randgen_irred T
poly.o poly_rem T
poly.o poly_set T
poly.o poly_set_to_zero T
poly.o poly_shiftmod T
poly.o poly_sqmod T
poly.o poly_sqmod_init T
poly.o poly_sqrtmod_init T
poly.o poly_syndrome_init T

Number of similar (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)