summaryrefslogtreecommitdiff
path: root/config_int.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2019-10-18 17:00:17 -0400
committerJeffrey Walton <noloader@gmail.com>2019-10-18 17:00:17 -0400
commit5499cefb8b5421eee16b3b65a90f14ca8151b3fd (patch)
treede6ad34bf691201e1700aec22ffaa4a1f8045f95 /config_int.h
parent59bfcd5454edb9206c6e781a1e0bbcc3b0a0b138 (diff)
downloadcryptopp-git-5499cefb8b5421eee16b3b65a90f14ca8151b3fd.tar.gz
Use umulh for Aarch64 multiply
This saves about 30% on the Integer multiply operations. For example, RSA 1024 encryption goes from 0.068 to 0.044 ms/op. RSA 2048 goes from 0.170 to 0.100 ms/op. We should have taken this sooner. Ugh...
Diffstat (limited to 'config_int.h')
-rw-r--r--config_int.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/config_int.h b/config_int.h
index 205deb7a..49568bc4 100644
--- a/config_int.h
+++ b/config_int.h
@@ -66,7 +66,7 @@ const lword LWORD_MAX = W64LIT(0xffffffffffffffff);
typedef word64 word;
#else
#define CRYPTOPP_NATIVE_DWORD_AVAILABLE 1
- #if defined(__alpha__) || defined(__ia64__) || defined(_ARCH_PPC64) || defined(__x86_64__) || defined(__mips64) || defined(__sparc64__)
+ #if defined(__alpha__) || defined(__ia64__) || defined(_ARCH_PPC64) || defined(__x86_64__) || defined(__mips64) || defined(__sparc64__) || defined(__aarch64__)
#if ((CRYPTOPP_GCC_VERSION >= 30400) || (CRYPTOPP_LLVM_CLANG_VERSION >= 30000) || (CRYPTOPP_APPLE_CLANG_VERSION >= 40300)) && (__SIZEOF_INT128__ >= 16)
// GCC 4.0.1 on MacOS X is missing __umodti3 and __udivti3
// GCC 4.8.3 and bad uint128_t ops on PPC64/POWER7 (Issue 421)