net/i40e: add AVX2 Tx function
[dpdk.git] / drivers / net / i40e / Makefile
index 4b9634d..5663f5b 100644 (file)
@@ -86,6 +86,25 @@ SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_flow.c
 SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += rte_pmd_i40e.c
 SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_tm.c
 
+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 | \
+       grep -q AVX2 && echo 1)
+       ifeq ($(CC_AVX2_SUPPORT), 1)
+               ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
+                       CFLAGS_i40e_rxtx_vec_avx2.o += -march=core-avx2
+               else
+                       CFLAGS_i40e_rxtx_vec_avx2.o += -mavx2
+               endif
+       endif
+endif
+
+ifeq ($(CC_AVX2_SUPPORT), 1)
+       SRCS-$(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR) += i40e_rxtx_vec_avx2.c
+endif
+
 # install this header file
 SYMLINK-$(CONFIG_RTE_LIBRTE_I40E_PMD)-include := rte_pmd_i40e.h