[PATCH 0/3] lib: fix AVX2 checks and macro exposure

Thomas Monjalon thomas at monjalon.net
Thu Sep 18 10:10:59 CEST 2025


18/09/2025 09:28, Thomas Monjalon:
> These are fixes for AVX2 in efd and member libraries.
> While at it, I've hidden a macro which was wrongly exported in the API
> without having a correct prefix.
> 
> Thomas Monjalon (3):
>   efd: fix AVX2 support
>   member: remove AVX2 build-time checks
>   member: hide internal macro

The AVX2 changes break the compilation of "x86-generic" with these messages:

lib/member/rte_member_x86.h: In function 'search_bucket_single_avx':
lib/member/rte_member_x86.h:35:28: error: AVX vector return without AVX enabled changes the ABI [-Werror=psabi]
   35 |         uint32_t hitmask = _mm256_movemask_epi8((__m256i)_mm256_cmpeq_epi16(

lib/efd/rte_efd_x86.h: In function 'efd_lookup_internal_avx2':
lib/efd/rte_efd_x86.h:24:17: error: AVX vector return without AVX enabled changes the ABI [-Werror=psabi]
   24 |         __m256i vhash_val_a = _mm256_set1_epi32(hash_val_a);

AVX2 must be forced on these headers.
The solution is probably to move these functions in .c files
declared as sources_avx2 in meson.build.




More information about the dev mailing list