aboutsummaryrefslogtreecommitdiff
path: root/crypto/sha/sha512.c
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2008-11-01 12:46:18 +0000
committerAndy Polyakov <appro@openssl.org>2008-11-01 12:46:18 +0000
commit122396f2dbeda0f25e9af1bb069a324ec793da57 (patch)
tree0ff58eb4959f44bed590c8f9266bcb31e9e012e3 /crypto/sha/sha512.c
parent09a60c9833fa6800230e23a7e42a48832792e629 (diff)
downloadopenssl-122396f2dbeda0f25e9af1bb069a324ec793da57.zip
openssl-122396f2dbeda0f25e9af1bb069a324ec793da57.tar.gz
openssl-122396f2dbeda0f25e9af1bb069a324ec793da57.tar.bz2
Fix SHA512 and optimize BN for mingw64.
Diffstat (limited to 'crypto/sha/sha512.c')
-rw-r--r--crypto/sha/sha512.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/sha/sha512.c b/crypto/sha/sha512.c
index 2284eef..86115d8 100644
--- a/crypto/sha/sha512.c
+++ b/crypto/sha/sha512.c
@@ -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)