[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