fixed Panama x64 MASM code not saving RDI
parent
3be02e9a1a
commit
26666baa38
|
|
@ -31,7 +31,8 @@ void Panama_SSE2_Pull(size_t count, word32 *state, word32 *z, const word32 *y);
|
||||||
|
|
||||||
#ifdef CRYPTOPP_GENERATE_X64_MASM
|
#ifdef CRYPTOPP_GENERATE_X64_MASM
|
||||||
Panama_SSE2_Pull PROC FRAME
|
Panama_SSE2_Pull PROC FRAME
|
||||||
alloc_stack(2*16+8)
|
rex_push_reg rdi
|
||||||
|
alloc_stack(2*16)
|
||||||
save_xmm128 xmm6, 0h
|
save_xmm128 xmm6, 0h
|
||||||
save_xmm128 xmm7, 10h
|
save_xmm128 xmm7, 10h
|
||||||
.endprolog
|
.endprolog
|
||||||
|
|
@ -300,7 +301,8 @@ void CRYPTOPP_NOINLINE Panama_SSE2_Pull(size_t count, word32 *state, word32 *z,
|
||||||
#ifdef CRYPTOPP_GENERATE_X64_MASM
|
#ifdef CRYPTOPP_GENERATE_X64_MASM
|
||||||
movdqa xmm6, [rsp + 0h]
|
movdqa xmm6, [rsp + 0h]
|
||||||
movdqa xmm7, [rsp + 10h]
|
movdqa xmm7, [rsp + 10h]
|
||||||
add rsp, 2*16+8
|
add rsp, 2*16
|
||||||
|
pop rdi
|
||||||
ret
|
ret
|
||||||
Panama_SSE2_Pull ENDP
|
Panama_SSE2_Pull ENDP
|
||||||
#else
|
#else
|
||||||
|
|
|
||||||
|
|
@ -1341,7 +1341,8 @@ ret
|
||||||
Sosemanuk_OperateKeystream ENDP
|
Sosemanuk_OperateKeystream ENDP
|
||||||
|
|
||||||
Panama_SSE2_Pull PROC FRAME
|
Panama_SSE2_Pull PROC FRAME
|
||||||
alloc_stack(2*16+8)
|
rex_push_reg rdi
|
||||||
|
alloc_stack(2*16)
|
||||||
save_xmm128 xmm6, 0h
|
save_xmm128 xmm6, 0h
|
||||||
save_xmm128 xmm7, 10h
|
save_xmm128 xmm7, 10h
|
||||||
.endprolog
|
.endprolog
|
||||||
|
|
@ -1555,7 +1556,8 @@ movdqa xmmword ptr [rdx+0*16], xmm0
|
||||||
label5:
|
label5:
|
||||||
movdqa xmm6, [rsp + 0h]
|
movdqa xmm6, [rsp + 0h]
|
||||||
movdqa xmm7, [rsp + 10h]
|
movdqa xmm7, [rsp + 10h]
|
||||||
add rsp, 2*16+8
|
add rsp, 2*16
|
||||||
|
pop rdi
|
||||||
ret
|
ret
|
||||||
Panama_SSE2_Pull ENDP
|
Panama_SSE2_Pull ENDP
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue