[PATCH 1/3] efd: fix AVX2 support
Thomas Monjalon
thomas at monjalon.net
Thu Sep 18 10:16:44 CEST 2025
18/09/2025 09:48, Bruce Richardson:
> On Thu, Sep 18, 2025 at 09:28:03AM +0200, Thomas Monjalon wrote:
> > -#if defined(RTE_ARCH_X86) && defined(CC_SUPPORT_AVX2)
> > +#if defined(RTE_ARCH_X86)
>
> Ok to remove this, because indeed all supported compilers have AVX2.
>
> However, given that the efd meson.build file doesn't check for compiler
> support and optionally build some extra files with the AVX2 flags, I wonder
> if this define should actually be changed to an __AVX2__ one, to detect if
> the build has AVX2 support rather than just the compiler.
Correct
> > @@ -19,7 +19,6 @@ efd_lookup_internal_avx2(const efd_hashfunc_t *group_hash_idx,
> > const efd_lookuptbl_t *group_lookup_table,
> > const uint32_t hash_val_a, const uint32_t hash_val_b)
> > {
> > -#ifdef __AVX2__
>
> This may not be safe to remove though, because AVX2 support may not
> actually be present in the build. For example, when doing a default build
> with -march=corei7, __AVX2__ will not be defined, because the target CPU
> doesn't support it, even though the compiler does.
Correct
I was sending you an email to explain I was at this point in this series,
but your review was too fast :)
Because compilers have the support, I suppose we could force AVX2
on this function with the impact of not being inline.
But given it was not used for years, I believe it is OK.
More information about the stable
mailing list