return ((*((u32 *) mac) == 0) && (*((u16 *) (mac + 4)) == 0));
}
+#ifdef CLIB_HAVE_VEC128
static const u16x8 tagged_ethertypes = {
(u16) ETHERNET_TYPE_VLAN,
(u16) ETHERNET_TYPE_DOT1AD,
(u16) ETHERNET_TYPE_VLAN_9200,
(u16) ETHERNET_TYPE_VLAN_9200
};
+#endif
static_always_inline int
ethernet_frame_is_tagged (u16 type)
#define CLIB_HAVE_VEC128
#endif
-#if defined (__SSE2__) && __GNUC__ >= 4
+#if defined (__SSE4_2__) && __GNUC__ >= 4
#define CLIB_HAVE_VEC128
#endif
#define _vector_size(n) __attribute__ ((vector_size (n)))
-#ifdef CLIB_HAVE_VEC64
/* Signed 64 bit. */
typedef char i8x8 _vector_size (8);
typedef short i16x4 _vector_size (8);
/* Floating point 64 bit. */
typedef float f32x2 _vector_size (8);
-#endif /* CLIB_HAVE_VEC64 */
-#ifdef CLIB_HAVE_VEC128
/* Signed 128 bit. */
typedef i8 i8x16 _vector_size (16);
typedef i16 i16x8 _vector_size (16);
typedef f32 f32x8 _vector_size (32);
typedef f64 f64x4 _vector_size (32);
-#endif /* CLIB_HAVE_VEC128 */
-#ifdef CLIB_HAVE_VEC512
/* Signed 512 bit. */
typedef i8 i8x64 _vector_size (64);
typedef i16 i16x32 _vector_size (64);
typedef f32 f32x16 _vector_size (64);
typedef f64 f64x8 _vector_size (64);
-#endif /* CLIB_HAVE_VEC512 */
/* Vector word sized types. */
#ifndef CLIB_VECTOR_WORD_BITS
#endif
-#if defined (__SSE2__) && __GNUC__ >= 4
-#include <vppinfra/vector_sse2.h>
+#if defined (__SSE4_2__) && __GNUC__ >= 4
+#include <vppinfra/vector_sse42.h>
#endif
#if defined (__ALTIVEC__)