summaryrefslogtreecommitdiff
path: root/tiger.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2018-07-21 06:36:15 -0400
committerJeffrey Walton <noloader@gmail.com>2018-07-21 06:36:15 -0400
commit61f1456a5ac5487ee3e927cbaeea0ee87db117f9 (patch)
tree97465d7f01e45e0fab7740d0e515e955a7e58ee1 /tiger.cpp
parentd4f86d73209c123fdcec1a91a619478c79362334 (diff)
downloadcryptopp-git-61f1456a5ac5487ee3e927cbaeea0ee87db117f9.tar.gz
Disable X32 inline ASM for Tiger
See Peter Cordes comments at Issue 686
Diffstat (limited to 'tiger.cpp')
-rw-r--r--tiger.cpp10
1 files changed, 1 insertions, 9 deletions
diff --git a/tiger.cpp b/tiger.cpp
index a4a1f291..77e2a27c 100644
--- a/tiger.cpp
+++ b/tiger.cpp
@@ -42,7 +42,7 @@ void Tiger::TruncatedFinal(byte *hash, size_t size)
void Tiger::Transform (word64 *digest, const word64 *X)
{
-#if CRYPTOPP_SSE2_ASM_AVAILABLE && (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32)
+#if CRYPTOPP_SSE2_ASM_AVAILABLE && CRYPTOPP_BOOL_X86
if (HasSSE2())
{
#ifdef __GNUC__
@@ -182,19 +182,11 @@ void Tiger::Transform (word64 *digest, const word64 *X)
AS2( psubq mm3, mm4)\
AS2( movq [Y+7*8], mm3)
-#if CRYPTOPP_BOOL_X32
- SSE2_pass(mm0, mm1, mm2, 5, esi)
- SSE2_key_schedule(esp+8, esi)
- SSE2_pass(mm2, mm0, mm1, 7, esp+8)
- SSE2_key_schedule(esp+8, esp+8)
- SSE2_pass(mm1, mm2, mm0, 9, esp+8)
-#else
SSE2_pass(mm0, mm1, mm2, 5, esi)
SSE2_key_schedule(esp+4, esi)
SSE2_pass(mm2, mm0, mm1, 7, esp+4)
SSE2_key_schedule(esp+4, esp+4)
SSE2_pass(mm1, mm2, mm0, 9, esp+4)
-#endif
AS2( pxor mm0, [eax+0*8])
AS2( movq [eax+0*8], mm0)