fixed Panama x64 MASM code not saving RDI

This commit is contained in:
weidai 2009-03-29 21:41:30 +00:00
parent 3be02e9a1a
commit 26666baa38
2 changed files with 8 additions and 4 deletions

View File

@ -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

View File

@ -1341,7 +1341,8 @@ ret
Sosemanuk_OperateKeystream ENDP
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
@ -1555,7 +1556,8 @@ movdqa xmmword ptr [rdx+0*16], xmm0
label5:
movdqa xmm6, [rsp + 0h]
movdqa xmm7, [rsp + 10h]
add rsp, 2*16+8
add rsp, 2*16
pop rdi
ret
Panama_SSE2_Pull ENDP