summaryrefslogtreecommitdiffstats
path: root/sys/sys
diff options
context:
space:
mode:
authormarkj <markj@FreeBSD.org>2017-04-19 16:16:41 +0000
committermarkj <markj@FreeBSD.org>2017-04-19 16:16:41 +0000
commit5653ed5a69d7d1b24ba99806151dc568e41f3cfd (patch)
tree70dd3c37ca8783d7262c1d62f51c3b4f1781d536 /sys/sys
parentb7aef29707b4ceb8e2e598038a1b6c6bedcd075e (diff)
downloadFreeBSD-src-5653ed5a69d7d1b24ba99806151dc568e41f3cfd.zip
FreeBSD-src-5653ed5a69d7d1b24ba99806151dc568e41f3cfd.tar.gz
MFC r313006 (by cem), r315983 (by bde):
Add an SSE4.2 implementation of crc32 for x86.
Diffstat (limited to 'sys/sys')
-rw-r--r--sys/sys/libkern.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/sys/libkern.h b/sys/sys/libkern.h
index 28ab3df..a960df8 100644
--- a/sys/sys/libkern.h
+++ b/sys/sys/libkern.h
@@ -178,6 +178,11 @@ crc32(const void *buf, size_t size)
uint32_t
calculate_crc32c(uint32_t crc32c, const unsigned char *buffer,
unsigned int length);
+#ifdef _KERNEL
+#if defined(__amd64__) || defined(__i386__)
+uint32_t sse42_crc32c(uint32_t, const unsigned char *, unsigned);
+#endif
+#endif
LIBKERN_INLINE void *memset(void *, int, size_t);
OpenPOWER on IntegriCloud