Implementation notes: amd64, hertz, crypto_kem/hqc192

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_kem
Primitive: hqc192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
233683144167 212424 70068130350 213356 71912T:avxgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
239426128141 212424 70068112317 213364 71880T:avxgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
242530620762 212424 70068103301 213356 71848T:avxgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716

Test failure


error 111

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

Compiler output


rng.c: rng.c:126:9: warning: variable 'ciphertext_len' set but not used [-Wunused-but-set-variable]
rng.c:   126 |     int ciphertext_len;
rng.c:       |         ^
rng.c: 1 warning generated.

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

Compiler output


gf2x.c: gf2x.c: In function 'TOOM3Mult':
gf2x.c: gf2x.c:438:15: warning: array subscript 0 is outside array bounds of '__m256i[64]' [-Warray-bounds=]
gf2x.c:   438 |         U1_64 = ((uint64_t *) U1) - 1;
gf2x.c:       |         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
gf2x.c: gf2x.c:388:60: note: at offset -8 into object 'U1' of size 2048
gf2x.c:   388 |         static __m256i U0[T_TM3_3W_256], V0[T_TM3_3W_256], U1[T_TM3_3W_256], V1[T_TM3_3W_256], U2[T_TM3_3W_256], V2[T_TM3_3W_256];
gf2x.c:       |                                                            ^~
gf2x.c: gf2x.c:439:15: warning: array subscript 0 is outside array bounds of '__m256i[64]' [-Warray-bounds=]
gf2x.c:   439 |         U2_64 = ((uint64_t *) U2) - 2;
gf2x.c:       |         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
gf2x.c: gf2x.c:388:96: note: at offset -16 into object 'U2' of size 2048
gf2x.c:   388 |         static __m256i U0[T_TM3_3W_256], V0[T_TM3_3W_256], U1[T_TM3_3W_256], V1[T_TM3_3W_256], U2[T_TM3_3W_256], V2[T_TM3_3W_256];
gf2x.c:       |                                                                                                ^~
gf2x.c: gf2x.c:441:15: warning: array subscript 0 is outside array bounds of '__m256i[64]' [-Warray-bounds=]
gf2x.c:   441 |         V1_64 = ((uint64_t *) V1) - 1;
gf2x.c:       |         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
gf2x.c: gf2x.c:388:78: note: at offset -8 into object 'V1' of size 2048
gf2x.c:   388 |         static __m256i U0[T_TM3_3W_256], V0[T_TM3_3W_256], U1[T_TM3_3W_256], V1[T_TM3_3W_256], U2[T_TM3_3W_256], V2[T_TM3_3W_256];
gf2x.c:       |                                                                              ^~
gf2x.c: gf2x.c:442:15: warning: array subscript 0 is outside array bounds of '__m256i[64]' [-Warray-bounds=]
gf2x.c:   442 |         V2_64 = ((uint64_t *) V2) - 2;
gf2x.c:       |         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
gf2x.c: gf2x.c:388:114: note: at offset -16 into object 'V2' of size 2048
gf2x.c:   388 |         static __m256i U0[T_TM3_3W_256], V0[T_TM3_3W_256], U1[T_TM3_3W_256], V1[T_TM3_3W_256], U2[T_TM3_3W_256], V2[T_TM3_3W_256];
gf2x.c:       |                                                                                                                  ^~
rng.c: rng.c: In function 'AES256_ECB':
rng.c: rng.c:126:9: warning: variable 'ciphertext_len' set but not used [-Wunused-but-set-variable]
rng.c:   126 |     int ciphertext_len;
rng.c:       |         ^~~~~~~~~~~~~~

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

Namespace violations


bch.o bch_code_decode T
bch.o compute_bch_poly T
bch.o table_alphaij_generation T
code.o code_decode T
code.o code_encode T
code.o gen_matrix D
fft.o fft T
fft.o fft_retrieve_bch_error_poly T
gf.o gf_exp T
gf.o gf_generate T
gf.o gf_inverse T
gf.o gf_log T
gf.o gf_mod T
gf.o gf_mul T
gf.o gf_quad T
gf.o gf_reduce T
gf.o gf_square T
gf2x.o TOOM3Mult T
gf2x.o a1_times_a2 B
gf2x.o bit64 B
gf2x.o bloc64 B
gf2x.o o256 D
gf2x.o tmp_reduce B
gf2x.o vect_mul T
hqc.o hqc_pke_decrypt T
hqc.o hqc_pke_encrypt T
hqc.o hqc_pke_keygen T
parsing.o hqc_ciphertext_from_string T
parsing.o hqc_ciphertext_to_string T
parsing.o hqc_public_key_from_string T
parsing.o hqc_public_key_to_string T
parsing.o hqc_secret_key_from_string T
parsing.o hqc_secret_key_to_string T
repetition.o repetition_code_decode T
rng.o AES256_CTR_DRBG_Update T
rng.o AES256_ECB T
rng.o DRBG_ctx B
rng.o handleErrors T
rng.o seedexpander T
rng.o seedexpander_init T
vector.o vect_add T
vector.o vect_compare T
vector.o vect_print T
vector.o vect_print_sparse T
vector.o vect_resize T
vector.o vect_set_random T
vector.o vect_set_random_fixed_weight T
vector.o vect_set_random_from_randombytes T

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