[PATCH 2/3] member: remove AVX2 build-time checks

Bruce Richardson bruce.richardson at intel.com
Thu Sep 18 09:49:49 CEST 2025


On Thu, Sep 18, 2025 at 09:28:04AM +0200, Thomas Monjalon wrote:
> Since all supported compilers can generate AVX2 code,
> no need to check for AVX2 support when x86 arch is already checked.
> 
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> ---
>  lib/member/rte_member_ht.c  | 14 +++++++-------
>  lib/member/rte_member_x86.h |  3 ---
>  2 files changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/lib/member/rte_member_ht.c b/lib/member/rte_member_ht.c
> index 738471b378..0a5b206778 100644
> --- a/lib/member/rte_member_ht.c
> +++ b/lib/member/rte_member_ht.c
> @@ -13,7 +13,7 @@
>  #include "rte_member.h"
>  #include "rte_member_ht.h"
>  
> -#if defined(RTE_ARCH_X86)
> +#ifdef RTE_ARCH_X86
>  #include "rte_member_x86.h"
>  #endif
>  
> @@ -113,7 +113,7 @@ rte_member_create_ht(struct rte_member_setsum *ss,
>  		for (j = 0; j < RTE_MEMBER_BUCKET_ENTRIES; j++)
>  			buckets[i].sets[j] = RTE_MEMBER_NO_MATCH;
>  	}
> -#if defined(RTE_ARCH_X86)
> +#ifdef RTE_ARCH_X86
>  	if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX2) &&
>  			RTE_MEMBER_BUCKET_ENTRIES == 16 &&
>  			rte_vect_get_max_simd_bitwidth() >= RTE_VECT_SIMD_256)
> @@ -179,7 +179,7 @@ rte_member_lookup_ht(const struct rte_member_setsum *ss,
>  	get_buckets_index(ss, key, &prim_bucket, &sec_bucket, &tmp_sig);
>  
>  	switch (ss->sig_cmp_fn) {
> -#if defined(RTE_ARCH_X86) && defined(__AVX2__)
> +#ifdef RTE_ARCH_X86
>  	case RTE_MEMBER_COMPARE_AVX2:
>  		if (search_bucket_single_avx(prim_bucket, tmp_sig, buckets,
>  				set_id) ||
> @@ -219,7 +219,7 @@ rte_member_lookup_bulk_ht(const struct rte_member_setsum *ss,
>  
>  	for (i = 0; i < num_keys; i++) {
>  		switch (ss->sig_cmp_fn) {
> -#if defined(RTE_ARCH_X86) && defined(__AVX2__)
> +#ifdef RTE_ARCH_X86

As with previous patch, the AVX2 flag cannot be removed here. Compiler
support does not mean build support.

/Bruce



More information about the dev mailing list