| Index: third_party/boringssl/win-x86_64/crypto/chacha/chacha-x86_64.asm
|
| diff --git a/third_party/boringssl/win-x86_64/crypto/chacha/chacha-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/chacha/chacha-x86_64.asm
|
| index afebd2e01a4aaa9308f13c2dee6bdcf004fd473c..ce6fdb926c0d825437c7a49609ca42a20c07e0b5 100644
|
| --- a/third_party/boringssl/win-x86_64/crypto/chacha/chacha-x86_64.asm
|
| +++ b/third_party/boringssl/win-x86_64/crypto/chacha/chacha-x86_64.asm
|
| @@ -27,6 +27,15 @@ DB 0x3,0x0,0x1,0x2,0x7,0x4,0x5,0x6,0xb,0x8,0x9,0xa,0xf,0xc,0xd,0xe
|
| $L$sigma:
|
| DB 101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107
|
| DB 0
|
| +ALIGN 64
|
| +$L$zeroz:
|
| + DD 0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0
|
| +$L$fourz:
|
| + DD 4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0
|
| +$L$incz:
|
| + DD 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
|
| +$L$sixteen:
|
| + DD 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16
|
| DB 67,104,97,67,104,97,50,48,32,102,111,114,32,120,56,54
|
| DB 95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32
|
| DB 98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115
|
| @@ -348,7 +357,7 @@ $L$do_sse3_after_all:
|
| movdqa XMMWORD[16+rsp],xmm1
|
| movdqa XMMWORD[32+rsp],xmm2
|
| movdqa XMMWORD[48+rsp],xmm3
|
| - mov ebp,10
|
| + mov r8,10
|
| jmp NEAR $L$oop_ssse3
|
|
|
| ALIGN 32
|
| @@ -358,7 +367,7 @@ $L$oop_outer_ssse3:
|
| movdqa xmm1,XMMWORD[16+rsp]
|
| movdqa xmm2,XMMWORD[32+rsp]
|
| paddd xmm3,XMMWORD[48+rsp]
|
| - mov ebp,10
|
| + mov r8,10
|
| movdqa XMMWORD[48+rsp],xmm3
|
| jmp NEAR $L$oop_ssse3
|
|
|
| @@ -407,7 +416,7 @@ DB 102,15,56,0,223
|
| pshufd xmm2,xmm2,78
|
| pshufd xmm1,xmm1,147
|
| pshufd xmm3,xmm3,57
|
| - dec ebp
|
| + dec r8
|
| jnz NEAR $L$oop_ssse3
|
| paddd xmm0,XMMWORD[rsp]
|
| paddd xmm1,XMMWORD[16+rsp]
|
| @@ -444,27 +453,21 @@ $L$tail_ssse3:
|
| movdqa XMMWORD[16+rsp],xmm1
|
| movdqa XMMWORD[32+rsp],xmm2
|
| movdqa XMMWORD[48+rsp],xmm3
|
| - xor rbx,rbx
|
| + xor r8,r8
|
|
|
| $L$oop_tail_ssse3:
|
| - movzx eax,BYTE[rbx*1+rsi]
|
| - movzx ecx,BYTE[rbx*1+rsp]
|
| - lea rbx,[1+rbx]
|
| + movzx eax,BYTE[r8*1+rsi]
|
| + movzx ecx,BYTE[r8*1+rsp]
|
| + lea r8,[1+r8]
|
| xor eax,ecx
|
| - mov BYTE[((-1))+rbx*1+rdi],al
|
| + mov BYTE[((-1))+r8*1+rdi],al
|
| dec rdx
|
| jnz NEAR $L$oop_tail_ssse3
|
|
|
| $L$done_ssse3:
|
| movaps xmm6,XMMWORD[((64+32))+rsp]
|
| movaps xmm7,XMMWORD[((64+48))+rsp]
|
| - add rsp,64+72
|
| - pop r15
|
| - pop r14
|
| - pop r13
|
| - pop r12
|
| - pop rbp
|
| - pop rbx
|
| + add rsp,64+72+48
|
| mov rdi,QWORD[8+rsp] ;WIN64 epilogue
|
| mov rsi,QWORD[16+rsp]
|
| DB 0F3h,0C3h ;repret
|
|
|