summaryrefslogtreecommitdiff
path: root/cpu.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2017-01-13 05:44:19 -0500
committerJeffrey Walton <noloader@gmail.com>2017-01-13 05:44:19 -0500
commitd3bb0e13def80a4bf59ea324eed80becdf0045ce (patch)
treec043bc9ed60bfaa959a12b5c88d83a2415e123c5 /cpu.h
parent52f13eca9b9a3fd086dda30c3b5b78b3505e6cd1 (diff)
downloadcryptopp-git-d3bb0e13def80a4bf59ea324eed80becdf0045ce.tar.gz
Add ARM SHA extensions for SHA1
Benchmarking on ARMv8/Aarch64 dev-board shows SHA-1 speeds up by 2.5x
Diffstat (limited to 'cpu.h')
-rw-r--r--cpu.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/cpu.h b/cpu.h
index 0d817d4c..7f299a05 100644
--- a/cpu.h
+++ b/cpu.h
@@ -1,8 +1,9 @@
// cpu.h - written and placed in the public domain by Wei Dai
+// updated for ARM by Jeffrey Walton
//! \file cpu.h
//! \brief Functions for CPU features and intrinsics
-//! \details The functions are used in X86/X32/X64 and NEON code paths
+//! \details The functions are used in X86/X32/X64 and ARM code paths
#ifndef CRYPTOPP_CPU_H
#define CRYPTOPP_CPU_H
@@ -21,11 +22,13 @@
# if defined(__GNUC__)
# include <stdint.h>
# endif
-# if CRYPTOPP_BOOL_NEON_INTRINSICS_AVAILABLE || defined(__ARM_NEON)
+# if defined(__ARM_NEON)
# include <arm_neon.h>
# endif
-# if (CRYPTOPP_BOOL_ARM_CRYPTO_INTRINSICS_AVAILABLE || CRYPTOPP_BOOL_ARM_CRC32_INTRINSICS_AVAILABLE) || defined(__ARM_ACLE)
-# include <arm_acle.h>
+# if defined(__GNUC__) && !defined(__clang__)
+# if defined(__ARM_ACLE) || defined(__ARM_FEATURE_CRC32) || defined(__ARM_FEATURE_CRYPTO)
+# include <arm_acle.h>
+# endif
# endif
#endif // ARM32 and ARM64 Headers