summaryrefslogtreecommitdiffstats
path: root/vppinfra/vppinfra/vector.h
diff options
context:
space:
mode:
authorChristophe Fontaine <christophe.fontaine@qosmos.com>2016-12-19 14:41:52 +0100
committerChristophe Fontaine <christophe.fontaine@qosmos.com>2016-12-21 15:16:44 +0100
commit33e81950cf937ab081c7c591f06e8871b0f00e93 (patch)
tree6589eb085e89c2631b9dc7dcc3126a66c368f604 /vppinfra/vppinfra/vector.h
parent7e9e6e1f1c1b9f41547899aeff5a05a5a7421103 (diff)
aarch64 compatibility
- lb plugin: compatibility for non x86 platforms. - Add vector_neon.h to support simd instructions, especially 'u16x8_zero_byte_mask' used in "vnet/vnet/ip/ip4_source_and_port_range_check.c" Change-Id: I395546b0e2d5748e73daffa51269a200ef8d1235 Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
Diffstat (limited to 'vppinfra/vppinfra/vector.h')
-rw-r--r--vppinfra/vppinfra/vector.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/vppinfra/vppinfra/vector.h b/vppinfra/vppinfra/vector.h
index 58fc808abcc..491e7cfe547 100644
--- a/vppinfra/vppinfra/vector.h
+++ b/vppinfra/vppinfra/vector.h
@@ -42,7 +42,7 @@
/* Vector types. */
-#if defined (__MMX__) || defined (__IWMMXT__)
+#if defined (__MMX__) || defined (__IWMMXT__) || defined (__aarch64__)
#define CLIB_HAVE_VEC64
#endif
@@ -63,6 +63,10 @@
#if defined (__aarch64__) || defined (__arm__)
typedef unsigned int u32x4 _vector_size (16);
+typedef u8 u8x16 _vector_size (16);
+typedef u16 u16x8 _vector_size (16);
+typedef u32 u32x4 _vector_size (16);
+typedef u64 u64x2 _vector_size (16);
#endif
#ifdef CLIB_HAVE_VEC64
@@ -245,6 +249,10 @@ _(i64, 2);
#include <vppinfra/vector_iwmmxt.h>
#endif
+#if defined (__aarch64__)
+#include <vppinfra/vector_neon.h>
+#endif
+
#if (defined(CLIB_HAVE_VEC128) || defined(CLIB_HAVE_VEC64))
#include <vppinfra/vector_funcs.h>
#endif