On Thu, Sep 18, 2025 at 10:10:59AM +0200, Thomas Monjalon wrote:
> 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.
>
Yes, this is probably the best approach 

Reply via email to