Implementation notes: amd64, h6sandy, crypto_kem/hqc128

Computer: h6sandy
Microarchitecture: amd64; Sandy Bridge (206a7)
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_kem
Primitive: hqc128

Compiler output

Implementation: T:avx
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx

Compiler output

Implementation: T:avx
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx

Compiler output

Implementation: T:avx
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
bch.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
bch.c: from bch.c:14:
bch.c: bch.c: In function 'compute_syndromes':
bch.c: /usr/lib/gcc/x86_64-linux-gnu/11/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:29: 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/11/include/immintrin.h:47,
bch.c: from bch.c:14:
bch.c: /usr/lib/gcc/x86_64-linux-gnu/11/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:21: 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/11/include/immintrin.h:47,
bch.c: from bch.c:14:
bch.c: /usr/lib/gcc/x86_64-linux-gnu/11/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:29: note: called from here
bch.c: 296 | z[i >> 2] = _mm256_and_si256(y, mask_two);
bch.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bch.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx