Implementation notes: amd64, dali, crypto_kem/hqc192
Computer: dali
Microarchitecture: amd64; Zen (820f01)
Architecture: amd64
CPU ID: AuthenticAMD-00820f01-178bfbff
SUPERCOP version: 20240808
Operation: crypto_kem
Primitive: hqc192
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
2082127 | 39719 212424 70068 | 93619 213316 71832 | T:avx | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
2368517 | 22713 212424 70068 | 74891 213316 71832 | T:avx | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
2385584 | 23471 212424 70068 | 76395 213316 71832 | T:avx | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
2506460 | 19171 212424 70068 | 70331 213308 71800 | T:avx | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
Test failure
error 111
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:avx | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
bch.c: bch.c:291:7: error: always_inline function '_mm256_set1_epi32' requires target feature 'avx', but would be inlined into function 'compute_syndromes' that is compiled without support for 'avx'
bch.c: y = _mm256_set1_epi32(*aux);
bch.c: ^
bch.c: bch.c:291:7: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bch.c: bch.c:294:7: error: always_inline function '_mm256_shuffle_epi8' requires target feature 'avx2', but would be inlined into function 'compute_syndromes' that is compiled without support for 'avx2'
bch.c: y = _mm256_shuffle_epi8(y, mask_one);
bch.c: ^
bch.c: bch.c:294:7: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bch.c: bch.c:296:15: error: always_inline function '_mm256_and_si256' requires target feature 'avx2', but would be inlined into function 'compute_syndromes' that is compiled without support for 'avx2'
bch.c: z[i >> 2] = _mm256_and_si256(y, mask_two);
bch.c: ^
bch.c: bch.c:296:15: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bch.c: bch.c:306:17: error: always_inline function '_mm256_set1_epi64x' requires target feature 'avx', but would be inlined into function 'compute_syndromes' that is compiled without support for 'avx'
bch.c: tmp_repeat = _mm256_set1_epi64x((long long)(tmp_array[i]!=0));
bch.c: ^
bch.c: bch.c:306:17: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bch.c: bch.c:307:8: error: always_inline function '_mm256_cmpeq_epi64' requires target feature 'avx2', but would be inlined into function 'compute_syndromes' that is compiled without support for 'avx2'
bch.c: L = _mm256_cmpeq_epi64(tmp_repeat,un_256);
bch.c: ^
bch.c: bch.c:307:8: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bch.c: bch.c:308:17: error: always_inline function '_mm256_lddqu_si256' requires target feature 'avx', but would be inlined into function 'compute_syndromes' that is compiled without support for 'avx'
bch.c: tmp_repeat = _mm256_lddqu_si256((__m256i *)(alpha_tmp + i * (PARAM_DELTA << 1)));
bch.c: ^
bch.c: bch.c:308:17: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bch.c: bch.c:309:8: error: always_inline function '_mm256_and_si256' requires target feature 'avx2', but would be inlined into function 'compute_syndromes' that is compiled without support for 'avx2'
bch.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:avx | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
gf2x.c: gf2x.c: In function 'TOOM3Mult':
gf2x.c: gf2x.c:438:8: 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:53: note: while referencing 'U1'
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:8: 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:89: note: while referencing 'U2'
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:8: 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:71: note: while referencing 'V1'
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:8: 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:107: note: while referencing 'V2'
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:
Implementation | Compiler |
T:avx | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:avx | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:avx | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
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: 1, namely:
Implementation | Compiler |
T:avx | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
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: 4, namely:
Implementation | Compiler |
T:avx | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:avx | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:avx | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:avx | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |