Commit b3e02d06 authored by Andy Polyakov's avatar Andy Polyakov
Browse files

ec/curve25519.c: resolve regression with Android NDK's arm64 gcc.



Unlike "upstream", Android NDK's arm64 gcc [but not clang] performs
64x64=128-bit multiplications with library calls, which appears to
have devastating impact on performance. [The condition is reduced to
__ANDROID__ [&& !__clang__], because x86_64 has corresponding
assembly module.]

Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5589)
parent 7747a49f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -13,7 +13,8 @@

#if defined(X25519_ASM) \
    || ( (defined(__SIZEOF_INT128__) && __SIZEOF_INT128__ == 16) \
         && !defined(__sparc__) )
         && !defined(__sparc__) \
         && !(defined(__ANDROID__) && !defined(__clang__)) )
/*
 * Base 2^51 implementation.
 */