diff options
author | Jeffrey Walton <noloader@gmail.com> | 2018-07-21 06:36:15 -0400 |
---|---|---|
committer | Jeffrey Walton <noloader@gmail.com> | 2018-07-21 06:36:15 -0400 |
commit | 61f1456a5ac5487ee3e927cbaeea0ee87db117f9 (patch) | |
tree | 97465d7f01e45e0fab7740d0e515e955a7e58ee1 /tiger.cpp | |
parent | d4f86d73209c123fdcec1a91a619478c79362334 (diff) | |
download | cryptopp-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.cpp | 10 |
1 files changed, 1 insertions, 9 deletions
@@ -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)
|