summaryrefslogtreecommitdiff
path: root/config.h.cmake
diff options
context:
space:
mode:
authorYuqi <yuqi.gu@arm.com>2019-05-24 22:20:27 +0800
committerSergey Vojtovich <svoj@mariadb.org>2019-05-24 18:20:27 +0400
commit0928596a8bd54c3ec85462eb4993464eac19f8f2 (patch)
treee36e8f59ef2b56026d89028d89e4b12a21e33fc1 /config.h.cmake
parenta74b01ea0e35c9c4a007c64609380844b36d2867 (diff)
downloadmariadb-git-0928596a8bd54c3ec85462eb4993464eac19f8f2.tar.gz
Armv8 CRC32 optimization (#772)
ARMv8 (AArch64) CPUs implement the CRC32 extension which is implemented by inline assembly , so they can also benefit from hardware acceleration in IO-intensive workloads. The patch optimizes crc32c calculate with the armv8 crypto instruction(Intrinsics) when available rather than original linear crc instructions. Change-Id: I05d36a64c726d910c47befad93390108f4e6567f Signed-off-by: Yuqi Gu <yuqi.gu@arm.com>
Diffstat (limited to 'config.h.cmake')
-rw-r--r--config.h.cmake5
1 files changed, 5 insertions, 0 deletions
diff --git a/config.h.cmake b/config.h.cmake
index b1092fa5df7..101dd767f86 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -107,6 +107,11 @@
#cmakedefine HAVE_SYSTEMD 1
#cmakedefine HAVE_CRC32_VPMSUM 1
+/* Support ARMv8 crc + crypto */
+#cmakedefine HAVE_ARMV8_CRC 1
+#cmakedefine HAVE_ARMV8_CRYPTO 1
+#cmakedefine HAVE_ARMV8_CRC_CRYPTO_INTRINSICS 1
+
/* Does "struct timespec" have a "sec" and "nsec" field? */
#cmakedefine HAVE_TIMESPEC_TS_SEC 1