[PATCH v2 1/4] efd: fix AVX2 support
Thomas Monjalon
thomas at monjalon.net
Thu Sep 18 11:47:41 CEST 2025
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.
More information about the stable
mailing list