[openssl] master update
Richard Levitte
levitte at openssl.org
Tue Feb 19 18:15:41 UTC 2019
The branch master has been updated
via 7dec815ecde29c1eabed6b5832c7025c4eafad19 (commit)
from 8e981051ceecd10754f8f6d1291414a7453c8fac (commit)
- Log -----------------------------------------------------------------
commit 7dec815ecde29c1eabed6b5832c7025c4eafad19
Author: Andy Polyakov <appro at openssl.org>
Date: Sun Feb 17 18:10:12 2019 +0100
sha/keccak1600.c: subscribe more platforms for "complementing" optimization.
E.g. on MIPS64 it gives >20% improvement...
Reviewed-by: Matt Caswell <matt at openssl.org>
Reviewed-by: Richard Levitte <levitte at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8261)
-----------------------------------------------------------------------
Summary of changes:
crypto/sha/keccak1600.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/crypto/sha/keccak1600.c b/crypto/sha/keccak1600.c
index c49c4b3..7aa0755 100644
--- a/crypto/sha/keccak1600.c
+++ b/crypto/sha/keccak1600.c
@@ -25,7 +25,14 @@ void SHA3_squeeze(uint64_t A[5][5], unsigned char *out, size_t len, size_t r);
# define KECCAK_2X /* default to KECCAK_2X variant */
#endif
-#if defined(__i386) || defined(__i386__) || defined(_M_IX86)
+#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
+ (defined(__x86_64) && !defined(__BMI__)) || defined(_M_X64) || \
+ defined(__mips) || defined(__riscv) || defined(__s390__) || \
+ defined(__EMSCRIPTEN__)
+/*
+ * These don't have "and with complement" instruction, so minimize amount
+ * of "not"-s. Implemented only in the [default] KECCAK_2X variant.
+ */
# define KECCAK_COMPLEMENTING_TRANSFORM
#endif
More information about the openssl-commits
mailing list