Implementation notes: amd64, hunsnivy, crypto_kem/hqc128

Computer: hunsnivy
Microarchitecture: amd64; Ivy Bridge+AES (306a9)
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_kem
Primitive: hqc128

Compiler output


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: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: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: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:                         L = _mm256_and_si256(L,tmp_repeat);
bch.c:                             ^
bch.c: bch.c:310:8: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'compute_syndromes' that is compiled without support for 'avx2'
bch.c:                         S = _mm256_xor_si256(L,S);
bch.c:                             ^
bch.c: 5 errors generated.

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:avxclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:avxclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:avxclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:avxclang -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:
ImplementationCompiler
T:avxclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


bch.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:53,
bch.c:                  from bch.c:14:
bch.c: bch.c: In function 'compute_syndromes':
bch.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avx2intrin.h:179:1: error: inlining failed in call to 'always_inline' '_mm256_and_si256': target specific option mismatch
bch.c:   179 | _mm256_and_si256 (__m256i __A, __m256i __B)
bch.c:       | ^~~~~~~~~~~~~~~~
bch.c: bch.c:296:15: note: called from here
bch.c:   296 |   z[i >> 2] = _mm256_and_si256(y, mask_two);
bch.c:       |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bch.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:53,
bch.c:                  from bch.c:14:
bch.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avx2intrin.h:588:1: error: inlining failed in call to 'always_inline' '_mm256_shuffle_epi8': target specific option mismatch
bch.c:   588 | _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
bch.c:       | ^~~~~~~~~~~~~~~~~~~
bch.c: bch.c:294:7: note: called from here
bch.c:   294 |   y = _mm256_shuffle_epi8(y, mask_one);
bch.c:       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bch.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:53,
bch.c:                  from bch.c:14:
bch.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avx2intrin.h:179:1: error: inlining failed in call to 'always_inline' '_mm256_and_si256': target specific option mismatch
bch.c:   179 | _mm256_and_si256 (__m256i __A, __m256i __B)
bch.c:       | ^~~~~~~~~~~~~~~~
bch.c: bch.c:296:15: note: called from here
bch.c:   296 |   z[i >> 2] = _mm256_and_si256(y, mask_two);
bch.c:       |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bch.c: ...

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