examples/l3fwd: add AltiVec for ppc64
authorGowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Thu, 8 Sep 2016 16:48:05 +0000 (22:18 +0530)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 9 Sep 2016 15:56:20 +0000 (17:56 +0200)
This patch adds ppc64le port for em_mask_key function.

Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
examples/l3fwd/l3fwd_em.c

index def5a02..6053a62 100644 (file)
@@ -259,8 +259,16 @@ em_mask_key(void *key, xmm_t mask)
 
        return vandq_s32(data, mask);
 }
+#elif defined(RTE_MACHINE_CPUFLAG_ALTIVEC)
+static inline xmm_t
+em_mask_key(void *key, xmm_t mask)
+{
+       xmm_t data = vec_ld(0, (xmm_t *)(key));
+
+       return vec_and(data, mask);
+}
 #else
-#error No vector engine (SSE, NEON) available, check your toolchain
+#error No vector engine (SSE, NEON, ALTIVEC) available, check your toolchain
 #endif
 
 static inline uint8_t