diff options
author | Jeffrey Walton <noloader@gmail.com> | 2019-05-19 16:29:45 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-19 16:29:45 -0400 |
commit | d38e5a954df411b0fa83d22479af85cdaa772adb (patch) | |
tree | 1ef9de0fd53b4eacc4516f1fe76c004f54ad4b12 /GNUmakefile-cross | |
parent | 4c9ca6b723b5ec5aab7eec720ad4d22598abe941 (diff) | |
download | cryptopp-git-d38e5a954df411b0fa83d22479af85cdaa772adb.tar.gz |
Add ARM SHA512 asm implementation from Cryptogams (GH #841, PR #843)
Cryptogams is Andy Polyakov's project used to create high speed crypto algorithms and share them with other developers. Cryptogams has a dual license. First is the OpenSSL license because Andy contributes to OpenSSL. Second is a BSD license for those who want a more permissive license.
Andy's implementation runs about 45% faster than C/C++ code. Testing on a 1.8 GHz Cortex-A17 shows Cryptograms at 45 cpb, and C++ at 79 cpb.
The integration instructions are documented at [Cryptogams SHA](https://wiki.openssl.org/index.php/Cryptogams_SHA) on the OpenSSL wiki.
Diffstat (limited to 'GNUmakefile-cross')
-rwxr-xr-x | GNUmakefile-cross | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/GNUmakefile-cross b/GNUmakefile-cross index 9ec0c1b9..dd6237e3 100755 --- a/GNUmakefile-cross +++ b/GNUmakefile-cross @@ -594,7 +594,7 @@ ifeq ($(IS_ARM32),1) ifneq ($(IS_IOS),1) CRYPTOGAMS_ARCH_FLAG = -march=armv7-a CRYPTOGAMS_ARCH_FLAG += -Wa,--noexecstack - SRCS += aes_armv4.S sha1_armv4.S sha256_armv4.S + SRCS += aes_armv4.S sha1_armv4.S sha256_armv4.S sha512_armv4.S endif endif @@ -873,6 +873,10 @@ sha1_armv4.o : sha1_armv4.S sha256_armv4.o : sha256_armv4.S $(CC) $(strip $(CXXFLAGS) $(CRYPTOGAMS_ARCH_FLAG) -c) $< +# Cryptogams ARM asm implementation. +sha512_armv4.o : sha512_armv4.S + $(CC) $(strip $(CXXFLAGS) $(CRYPTOGAMS_ARCH_FLAG) -c) $< + # SSE4.2/SHA-NI or ARMv8a available shacal2_simd.o : shacal2_simd.cpp $(CXX) $(strip $(CXXFLAGS) $(SHA_FLAG) -c) $< |