FIB: encode the label stack in the FIB path during table dump
[vpp.git] / src / vppinfra / crc32.h
index 242278f..5f4d94f 100644 (file)
@@ -22,6 +22,9 @@
 #define clib_crc32c_uses_intrinsics
 #include <x86intrin.h>
 
+#define crc32_u64 _mm_crc32_u64
+#define crc32_u32 _mm_crc32_u32
+
 static_always_inline u32
 clib_crc32c (u8 * s, int len)
 {
@@ -33,7 +36,9 @@ clib_crc32c (u8 * s, int len)
 #else
   /* workaround weird GCC bug when using _mm_crc32_u32
      which happens with -O2 optimization */
+#if !defined (__i686__)
   volatile ("":::"memory");
+#endif
 #endif
 
   for (; len >= 4; len -= 4, s += 4)
@@ -52,6 +57,10 @@ clib_crc32c (u8 * s, int len)
 #define clib_crc32c_uses_intrinsics
 #include <arm_acle.h>
 
+
+#define crc32_u64 __crc32cd
+#define crc32_u32 __crc32cw
+
 static_always_inline u32
 clib_crc32c (u8 * s, int len)
 {