> -----Original Message-----
> From: dev <dev-boun...@dpdk.org> On Behalf Of Bruce Richardson
> Sent: Thursday, August 19, 2021 12:38 AM
> To: dev@dpdk.org
> Cc: brian90...@gmail.com; Richardson, Bruce <bruce.richard...@intel.com>;
> Lu, Wenzhuo <wenzhuo...@intel.com>; sta...@dpdk.org; Xing, Beilei
> <beilei.x...@intel.com>
> Subject: [dpdk-dev] [PATCH 1/2] net/i40e: fix generic build on FreeBSD
>
> The common header file for vectorization is included in multiple files, and so
> must use macros for the current compilation unit, rather than the
> compiler-capability flag set for the whole driver. With the current,
> incorrect,
> macro, the AVX512 or AVX2 flags may be set when compiling up SSE code,
> leading to compilation errors. Changing from "CC_AVX*_SUPPORT"
> to the compiler-defined "__AVX*__" macros fixes this issue.
>
> Bugzilla ID: 788
> Fixes: 0604b1f2208f ("net/i40e: fix crash in AVX512")
> Cc: wenzhuo...@intel.com
> Cc: sta...@dpdk.org
>
> Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
> ---
> drivers/net/i40e/i40e_rxtx_vec_common.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h
> b/drivers/net/i40e/i40e_rxtx_vec_common.h
> index f52ed98d62..65715ed1ce 100644
> --- a/drivers/net/i40e/i40e_rxtx_vec_common.h
> +++ b/drivers/net/i40e/i40e_rxtx_vec_common.h
> @@ -268,7 +268,7 @@
> i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev)
> #endif }
>
> -#ifdef CC_AVX2_SUPPORT
> +#ifdef __AVX2__
> static __rte_always_inline void
> i40e_rxq_rearm_common(struct i40e_rx_queue *rxq, __rte_unused bool
> avx512) { @@ -329,7 +329,7 @@ i40e_rxq_rearm_common(struct
> i40e_rx_queue *rxq, __rte_unused bool avx512)
> _mm_store_si128((__m128i *)&rxdp++->read, dma_addr1);
> }
> #else
> -#ifdef CC_AVX512_SUPPORT
> +#ifdef __AVX512VL__
> if (avx512) {
> struct rte_mbuf *mb0, *mb1, *mb2, *mb3;
> struct rte_mbuf *mb4, *mb5, *mb6, *mb7;
> --
> 2.30.2
Applied to dpdk-next-net-intel.
Thanks
Qi