[dpdk-dev] [PATCH] mk: Detect AVX2 capability based on the target CPU architecture

Ananyev, Konstantin konstantin.ananyev at intel.com
Sun Jul 22 11:19:02 CEST 2018



> -----Original Message-----
> From: Chaeyong Chong [mailto:cychong at gmail.com]
> Sent: Saturday, July 21, 2018 3:54 PM
> To: Ananyev, Konstantin <konstantin.ananyev at intel.com>
> Cc: dev at dpdk.org; Chaeyong Chong <cychong at samsung.com>; stable at dpdk.org
> Subject: [PATCH] mk: Detect AVX2 capability based on the target CPU architecture
> 
> From: Chaeyong Chong <cychong at samsung.com>
> 
> AVX2 support check should be based on the target CPU architecure.
> For this, -march option should be $(RTE_MACHINE) instead of core-avx2.

I don't really think it should.
The purpose is to build an AVX2 function even for 'default' target.
Then at runtime proper version of the code (SSE/AVX2/etc) could be selected.
So NACK.
Konstantin

> 
> Cc: stable at dpdk.org
> 
> Signed-off-by: Chaeyong Chong <cychong at samsung.com>
> ---
>  lib/librte_acl/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/librte_acl/Makefile b/lib/librte_acl/Makefile
> index ea5edf00a..c756eaeb2 100644
> --- a/lib/librte_acl/Makefile
> +++ b/lib/librte_acl/Makefile
> @@ -44,7 +44,7 @@ ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
>  	CC_AVX2_SUPPORT=1
>  else
>  	CC_AVX2_SUPPORT=\
> -	$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
> +	$(shell $(CC) -march=$(RTE_MACHINE) -dM -E - </dev/null 2>&1 | \
>  	grep -q AVX2 && echo 1)
>  	ifeq ($(CC_AVX2_SUPPORT), 1)
>  		ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
> --
> 2.18.0



More information about the dev mailing list