Commit 122396f2 authored by Andy Polyakov's avatar Andy Polyakov
Browse files

Fix SHA512 and optimize BN for mingw64.

parent 09a60c98
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -255,7 +255,8 @@ extern "C" {
	     : "r"(a), "r"(b));		\
	ret;			})
#  endif	/* compiler */
# elif defined(__x86_64) && defined(SIXTY_FOUR_BIT_LONG)
# elif (defined(__x86_64) || defined(__x86_64__)) && \
       (defined(SIXTY_FOUR_BIT_LONG) || defined(SIXTY_FOUR_BIT))
#  if defined(__GNUC__)
#   define BN_UMULT_HIGH(a,b)	({	\
	register BN_ULONG ret,discard;	\
+2 −1
Original line number Diff line number Diff line
@@ -350,7 +350,7 @@ static const SHA_LONG64 K512[80] = {
#ifndef PEDANTIC
# if defined(__GNUC__) && __GNUC__>=2 && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM)
#  if defined(__x86_64) || defined(__x86_64__)
#   define ROTR(a,n)	({ unsigned long ret;		\
#   define ROTR(a,n)	({ SHA_LONG64 ret;		\
				asm ("rorq %1,%0"	\
				: "=r"(ret)		\
				: "J"(n),"0"(a)		\
@@ -387,6 +387,7 @@ static const SHA_LONG64 K512[80] = {
#  endif
# elif defined(_MSC_VER)
#  if defined(_WIN64)	/* applies to both IA-64 and AMD64 */
#   pragma intrinsic(_rotr64)
#   define ROTR(a,n)	_rotr64((a),n)
#  endif
#  if defined(_M_IX86) && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM)