From df1ffe1e41f89222c379d982e543c2a32da78cbd Mon Sep 17 00:00:00 2001 From: weidai Date: Fri, 4 May 2007 15:24:09 +0000 Subject: fix compile for x64, DLL and VC 6 git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@332 57ff6487-cd31-0410-9ec3-f628ee90f5f0 --- tiger.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'tiger.cpp') diff --git a/tiger.cpp b/tiger.cpp index 332de2c..87ec74f 100644 --- a/tiger.cpp +++ b/tiger.cpp @@ -34,7 +34,7 @@ void Tiger::TruncatedFinal(byte *hash, size_t size) void Tiger::Transform (word64 *digest, const word64 *X) { -#if CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE +#if CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE && CRYPTOPP_BOOL_X86 if (HasSSE2()) { #ifdef __GNUC__ @@ -43,9 +43,14 @@ void Tiger::Transform (word64 *digest, const word64 *X) ".intel_syntax noprefix;" AS1( push ebx) #else + #if _MSC_VER < 1300 + const word64 *t = table; + AS2( mov edx, t) + #else + AS2( lea edx, [table]) + #endif AS2( mov eax, digest) AS2( mov esi, X) - AS2( lea edx, [table]) #endif AS2( movq mm0, [eax]) AS2( movq mm1, [eax+1*8]) -- cgit v1.2.1