net/i40e: fix generic build on FreeBSD
authorLeyi Rong <leyi.rong@intel.com>
Tue, 19 Oct 2021 03:02:07 +0000 (11:02 +0800)
committerQi Zhang <qi.z.zhang@intel.com>
Tue, 19 Oct 2021 11:01:56 +0000 (13:01 +0200)
commitc454435d883e0dca981eb55e38835036c32d1984
tree13014ffaead0b421754717554ea2d42e536da2cf
parent292be511d2909c14db3c9ceaffa317f2beee67a0
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. In addition,
splitting AVX-specific code into the new i40e_rxtx_common_avx.h header
file to avoid such bugs.

Bugzilla ID: 788
Fixes: 0604b1f2208f ("net/i40e: fix crash in AVX512")
Cc: stable@dpdk.org
Signed-off-by: Leyi Rong <leyi.rong@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
drivers/net/i40e/i40e_rxtx_common_avx.h [new file with mode: 0644]
drivers/net/i40e/i40e_rxtx_vec_avx2.c
drivers/net/i40e/i40e_rxtx_vec_avx512.c
drivers/net/i40e/i40e_rxtx_vec_common.h