18/09/2025 11:40, Thomas Monjalon:
> 18/09/2025 11:08, Thomas Monjalon:
> > When switching to Meson build, the compilation check on CC_SUPPORT_AVX2
> > became obsolete, thus the case EFD_LOOKUP_AVX2 became dead.
> > The function efd_lookup_internal_avx2() was never called,
> > and its header include rte_efd_x86.h has been removed later.
> > 
> > AVX2 is assumed to be always supported on x86 with supported compilers,
> > so the check for AVX2 is simply removed, and the include is added back.
> [...]
> > -#if defined(RTE_ARCH_X86) && defined(CC_SUPPORT_AVX2)
> > +#if defined(RTE_ARCH_X86)
> >     case EFD_LOOKUP_AVX2:
> >             return efd_lookup_internal_avx2(group->hash_idx,
> >                                     group->lookup_table,
> 
> I've forgotten to say that there is a runtime check:
> 
>     if (RTE_EFD_VALUE_NUM_BITS > 3
>             && rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX2)
>             && rte_vect_get_max_simd_bitwidth() >= RTE_VECT_SIMD_256)
>         table->lookup_fn = EFD_LOOKUP_AVX2;

So the end of the commit log must be changed with this explanation:

  EFD_LOOKUP_AVX2 is chosen at runtime after checking AVX2 availability,
  so the obsolete build-time check for AVX2 can be simply removed,
  and the missing include added back.



Reply via email to