Implementation notes: amd64, jasper2, crypto_kem/hqc192round4

Computer: jasper2
Microarchitecture: amd64; Tremont (906c0)
Architecture: amd64
CPU ID: GenuineIntel-000906c0-20-bfebfbff
SUPERCOP version: 20240425
Operation: crypto_kem
Primitive: hqc192round4

Compiler output

Implementation: T:avx
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
gf.c: gf.c:107:18: error: '__builtin_ia32_vextractf128_si256' needs target feature avx
gf.c: __m128i al = _mm256_extractf128_si256(a, 0);
gf.c: ^
gf.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/avxintrin.h:4749:12: note: expanded from macro '_mm256_extractf128_si256'
gf.c: (__m128i)__builtin_ia32_vextractf128_si256((__v8si)(__m256i)(V), (int)(M))
gf.c: ^
gf.c: gf.c:108:18: error: '__builtin_ia32_vextractf128_si256' needs target feature avx
gf.c: __m128i ah = _mm256_extractf128_si256(a, 1);
gf.c: ^
gf.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/avxintrin.h:4749:12: note: expanded from macro '_mm256_extractf128_si256'
gf.c: (__m128i)__builtin_ia32_vextractf128_si256((__v8si)(__m256i)(V), (int)(M))
gf.c: ^
gf.c: gf.c:109:18: error: '__builtin_ia32_vextractf128_si256' needs target feature avx
gf.c: __m128i bl = _mm256_extractf128_si256(b, 0);
gf.c: ^
gf.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/avxintrin.h:4749:12: note: expanded from macro '_mm256_extractf128_si256'
gf.c: (__m128i)__builtin_ia32_vextractf128_si256((__v8si)(__m256i)(V), (int)(M))
gf.c: ^
gf.c: gf.c:110:18: error: '__builtin_ia32_vextractf128_si256' needs target feature avx
gf.c: __m128i bh = _mm256_extractf128_si256(b, 1);
gf.c: ^
gf.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/avxintrin.h:4749:12: note: expanded from macro '_mm256_extractf128_si256'
gf.c: (__m128i)__builtin_ia32_vextractf128_si256((__v8si)(__m256i)(V), (int)(M))
gf.c: ^
gf.c: gf.c:134:19: error: '__builtin_ia32_vinsertf128_si256' needs target feature avx
gf.c: ...

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
gf.c: gf.c:91:19: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
gf.c: __m128i vab = _mm_clmulepi64_si128(va, vb, 0);
gf.c: ^
gf.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
gf.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
gf.c: ^
gf.c: 1 error generated.

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
gf.c: gf.c: In function 'gf_mul_vect':
gf.c: gf.c:106:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
gf.c: 106 | __m256i gf_mul_vect(__m256i a, __m256i b) {
gf.c: | ^~~~~~~
gf.c: gf.c:106:9: note: the ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
gf.c: 106 | __m256i gf_mul_vect(__m256i a, __m256i b) {
gf.c: | ^~~~~~~~~~~
gf.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:107,
gf.c: from gf.h:11,
gf.c: from gf.c:6:
gf.c: gf.c: In function 'gf_reduce':
gf.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/bmiintrin.h:38:1: error: inlining failed in call to 'always_inline' '__tzcnt_u16': target specific option mismatch
gf.c: 38 | __tzcnt_u16 (unsigned short __X)
gf.c: | ^~~~~~~~~~~
gf.c: gf.c:68:18: note: called from here
gf.c: 68 | z2 = __tzcnt_u16(rmdr);
gf.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