summaryrefslogtreecommitdiffstats
path: root/src/vppinfra/crc32.h
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2018-08-24 17:21:14 -0400
committerDamjan Marion <dmarion@me.com>2018-08-28 18:05:16 +0000
commit9466c45ceed735b0fc2820f0444ba0dfea03a8f1 (patch)
tree3ee1b355492659ceb0201715188b03f11a6a1ed0 /src/vppinfra/crc32.h
parent4638e94ac3993b93144874edee247cf327a6d65f (diff)
32/64 shmem bihash interoperability
Move the binary api segment above 4gb Change-Id: I40e8aa7a97722a32397f5a538b5ff8344c50d408 Signed-off-by: Dave Barach <dave@barachs.net>
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));