summaryrefslogtreecommitdiff
path: root/panama.cpp
diff options
context:
space:
mode:
authorweidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0>2009-03-29 21:41:30 +0000
committerweidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0>2009-03-29 21:41:30 +0000
commitfbba0d7c2165347cbab96bd5111c1732fb9f395b (patch)
tree36189d1e61a4dd014c9d392166aa0c24797a39ce /panama.cpp
parentfcec4bd3021b0124d8a38c19246735340a0e1cd0 (diff)
downloadcryptopp-fbba0d7c2165347cbab96bd5111c1732fb9f395b.tar.gz
fixed Panama x64 MASM code not saving RDI
git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@462 57ff6487-cd31-0410-9ec3-f628ee90f5f0
Diffstat (limited to 'panama.cpp')
-rw-r--r--panama.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/panama.cpp b/panama.cpp
index da84e36..7238f6c 100644
--- a/panama.cpp
+++ b/panama.cpp
@@ -31,7 +31,8 @@ void Panama_SSE2_Pull(size_t count, word32 *state, word32 *z, const word32 *y);
#ifdef CRYPTOPP_GENERATE_X64_MASM
Panama_SSE2_Pull PROC FRAME
- alloc_stack(2*16+8)
+ rex_push_reg rdi
+ alloc_stack(2*16)
save_xmm128 xmm6, 0h
save_xmm128 xmm7, 10h
.endprolog
@@ -300,7 +301,8 @@ void CRYPTOPP_NOINLINE Panama_SSE2_Pull(size_t count, word32 *state, word32 *z,
#ifdef CRYPTOPP_GENERATE_X64_MASM
movdqa xmm6, [rsp + 0h]
movdqa xmm7, [rsp + 10h]
- add rsp, 2*16+8
+ add rsp, 2*16
+ pop rdi
ret
Panama_SSE2_Pull ENDP
#else