net/hns3: check max SIMD bitwidth
authorChengwen Feng <fengchengwen@huawei.com>
Thu, 15 Apr 2021 03:52:02 +0000 (11:52 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 19 Apr 2021 17:15:45 +0000 (19:15 +0200)
This patch supports check max SIMD bitwidth when choosing NEON and SVE
vector path.

Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
drivers/net/hns3/hns3_rxtx.c

index b8d8d15..3881a72 100644 (file)
@@ -13,6 +13,7 @@
 #include <rte_malloc.h>
 #if defined(RTE_ARCH_ARM64)
 #include <rte_cpuflags.h>
+#include <rte_vect.h>
 #endif
 
 #include "hns3_ethdev.h"
@@ -2790,6 +2791,8 @@ static bool
 hns3_get_default_vec_support(void)
 {
 #if defined(RTE_ARCH_ARM64)
+       if (rte_vect_get_max_simd_bitwidth() < RTE_VECT_SIMD_128)
+               return false;
        if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_NEON))
                return true;
 #endif
@@ -2800,6 +2803,8 @@ static bool
 hns3_get_sve_support(void)
 {
 #if defined(RTE_ARCH_ARM64) && defined(__ARM_FEATURE_SVE)
+       if (rte_vect_get_max_simd_bitwidth() < RTE_VECT_SIMD_256)
+               return false;
        if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_SVE))
                return true;
 #endif