summaryrefslogtreecommitdiffstats
path: root/src/vppinfra/crc32.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vppinfra/crc32.h')
-rw-r--r--src/vppinfra/crc32.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/vppinfra/crc32.h b/src/vppinfra/crc32.h
index 7361129ed55..5f4d94f3847 100644
--- a/src/vppinfra/crc32.h
+++ b/src/vppinfra/crc32.h
@@ -36,8 +36,10 @@ 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)
v = _mm_crc32_u32 (v, *((u32 *) s));