Implementation notes: amd64, panther, crypto_kem/hqc1921

Computer: panther
Microarchitecture: amd64; Tiger Lake (806c1)
Architecture: amd64
CPU ID: GenuineIntel-000806c1-00-bfebfbff
SUPERCOP version: 20240716
Operation: crypto_kem
Primitive: hqc1921
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
167255633832 0 5262728 884 1848T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
244647313897 0 5240800 884 1848T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
265239333930 32 551519516 3460 6904T:refg++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
273872112729 0 5238814 876 1848T:optgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
279278828689 32 551625914 3500 6840T:refclang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
288880833606 32 551630842 3500 6840T:refclang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
293761110282 0 5235344 876 1816T:optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
311980214150 32 551497853 3460 6904T:refg++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
332889912811 32 551610768 3500 6808T:refclang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
336410212495 32 551609826 3484 6808T:refclang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
348416010600 32 551492474 3452 6872T:refg++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716
351509213053 32 551495964 3452 6904T:refg++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072120240716

Compiler output


gf2x_avx2.c: gf2x_avx2.c:87:19: error: use of unknown builtin '__builtin_shuffle' [-Wimplicit-function-declaration]
gf2x_avx2.c:     rightVector = __builtin_shuffle(
gf2x_avx2.c:                   ^
gf2x_avx2.c: gf2x_avx2.c:87:17: error: assigning to 'v8uint32' (vector of 8 'uint32_t' values) from incompatible type 'int'
gf2x_avx2.c:     rightVector = __builtin_shuffle(
gf2x_avx2.c:                 ^ ~~~~~~~~~~~~~~~~~~
gf2x_avx2.c: gf2x_avx2.c:89:16: error: assigning to 'v8uint32' (vector of 8 'uint32_t' values) from incompatible type 'int'
gf2x_avx2.c:     leftVector = __builtin_shuffle(
gf2x_avx2.c:                ^ ~~~~~~~~~~~~~~~~~~
gf2x_avx2.c: 3 errors 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


rng.c: rng.c: In function 'AES256_ECB':
rng.c: rng.c:123:9: warning: variable 'ciphertext_len' set but not used [-Wunused-but-set-variable]
rng.c:   123 |     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


rng.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]

Number of similar (implementation,compiler) pairs: 4, 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)

Compiler output


rng.c: rng.c: In function 'int seedexpander(AES_XOF_struct*, unsigned char*, long unsigned int)':
rng.c: rng.c:75:19: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
rng.c:    75 |         if ( xlen <= (16-ctx->buffer_pos) ) { // buffer has what we need
rng.c:       |              ~~~~~^~~~~~~~~~~~~~~~~~~~~~~
rng.c: rng.c: In function 'void AES256_ECB(unsigned char*, unsigned char*, unsigned char*)':
rng.c: rng.c:123:9: warning: variable 'ciphertext_len' set but not used [-Wunused-but-set-variable]
rng.c:   123 |     int ciphertext_len;
rng.c:       |         ^~~~~~~~~~~~~~

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

Namespace violations


bch.o array_to_codeword T
bch.o bch_code_decode T
bch.o bch_code_encode T
bch.o chien_search T
bch.o compute_generator_poly T
bch.o cyclotomic_clear T
bch.o cyclotomic_gen T
bch.o cyclotomic_init T
bch.o error_poly_gen T
bch.o get_error_location_poly T
bch.o get_generator_poly T
bch.o gf_generation T
bch.o gf_get_antilog T
bch.o gf_get_log T
bch.o gf_mod T
bch.o gf_mult T
bch.o gf_tables_clear T
bch.o gf_tables_init T
bch.o lfsr_encoder T
bch.o message_from_codeword T
bch.o message_to_array T
bch.o polynomial_hex T
bch.o sigma_poly_clear T
bch.o sigma_poly_copy T
bch.o sigma_poly_init T
bch.o syndrome_clear T
bch.o syndrome_gen T
bch.o syndrome_init T
gf2x_avx2.o shiftXor T
gf2x_avx2.o sparse_dense_mul T
gf2x_avx2.o vect_sparse_from_bytes 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 array_to_rep_codeword T
repetition.o repetition_code_decode T
repetition.o repetition_code_encode T
rng.o AES256_ECB T
rng.o DRBG_ctx B
rng.o handleErrors T
rng.o seedexpander T
rng.o seedexpander_init T
tensor.o tensor_code_decode T
tensor.o tensor_code_encode T
vector.o vect_add T
vector.o vect_compare T
vector.o vect_fixed_weight T
vector.o vect_print T
vector.o vect_resize T
vector.o vect_set_random T
vector.o vect_set_random_from_randombytes T

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)