You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3642 lines
64 KiB
3642 lines
64 KiB
.text |
|
|
|
|
|
.globl sha1_block_data_order |
|
.type sha1_block_data_order,@function |
|
.align 16 |
|
sha1_block_data_order: |
|
movl OPENSSL_ia32cap_P+0(%rip),%r9d |
|
movl OPENSSL_ia32cap_P+4(%rip),%r8d |
|
testl $512,%r8d |
|
jz .Lialu |
|
andl $268435456,%r8d |
|
andl $1073741824,%r9d |
|
orl %r9d,%r8d |
|
cmpl $1342177280,%r8d |
|
je _avx_shortcut |
|
jmp _ssse3_shortcut |
|
|
|
.align 16 |
|
.Lialu: |
|
pushq %rbx |
|
pushq %rbp |
|
pushq %r12 |
|
pushq %r13 |
|
movq %rsp,%r11 |
|
movq %rdi,%r8 |
|
subq $72,%rsp |
|
movq %rsi,%r9 |
|
andq $-64,%rsp |
|
movq %rdx,%r10 |
|
movq %r11,64(%rsp) |
|
.Lprologue: |
|
|
|
movl 0(%r8),%esi |
|
movl 4(%r8),%edi |
|
movl 8(%r8),%r11d |
|
movl 12(%r8),%r12d |
|
movl 16(%r8),%r13d |
|
jmp .Lloop |
|
|
|
.align 16 |
|
.Lloop: |
|
movl 0(%r9),%edx |
|
bswapl %edx |
|
movl %edx,0(%rsp) |
|
movl %r11d,%eax |
|
movl 4(%r9),%ebp |
|
movl %esi,%ecx |
|
xorl %r12d,%eax |
|
bswapl %ebp |
|
roll $5,%ecx |
|
leal 1518500249(%rdx,%r13,1),%r13d |
|
andl %edi,%eax |
|
movl %ebp,4(%rsp) |
|
addl %ecx,%r13d |
|
xorl %r12d,%eax |
|
roll $30,%edi |
|
addl %eax,%r13d |
|
movl %edi,%eax |
|
movl 8(%r9),%edx |
|
movl %r13d,%ecx |
|
xorl %r11d,%eax |
|
bswapl %edx |
|
roll $5,%ecx |
|
leal 1518500249(%rbp,%r12,1),%r12d |
|
andl %esi,%eax |
|
movl %edx,8(%rsp) |
|
addl %ecx,%r12d |
|
xorl %r11d,%eax |
|
roll $30,%esi |
|
addl %eax,%r12d |
|
movl %esi,%eax |
|
movl 12(%r9),%ebp |
|
movl %r12d,%ecx |
|
xorl %edi,%eax |
|
bswapl %ebp |
|
roll $5,%ecx |
|
leal 1518500249(%rdx,%r11,1),%r11d |
|
andl %r13d,%eax |
|
movl %ebp,12(%rsp) |
|
addl %ecx,%r11d |
|
xorl %edi,%eax |
|
roll $30,%r13d |
|
addl %eax,%r11d |
|
movl %r13d,%eax |
|
movl 16(%r9),%edx |
|
movl %r11d,%ecx |
|
xorl %esi,%eax |
|
bswapl %edx |
|
roll $5,%ecx |
|
leal 1518500249(%rbp,%rdi,1),%edi |
|
andl %r12d,%eax |
|
movl %edx,16(%rsp) |
|
addl %ecx,%edi |
|
xorl %esi,%eax |
|
roll $30,%r12d |
|
addl %eax,%edi |
|
movl %r12d,%eax |
|
movl 20(%r9),%ebp |
|
movl %edi,%ecx |
|
xorl %r13d,%eax |
|
bswapl %ebp |
|
roll $5,%ecx |
|
leal 1518500249(%rdx,%rsi,1),%esi |
|
andl %r11d,%eax |
|
movl %ebp,20(%rsp) |
|
addl %ecx,%esi |
|
xorl %r13d,%eax |
|
roll $30,%r11d |
|
addl %eax,%esi |
|
movl %r11d,%eax |
|
movl 24(%r9),%edx |
|
movl %esi,%ecx |
|
xorl %r12d,%eax |
|
bswapl %edx |
|
roll $5,%ecx |
|
leal 1518500249(%rbp,%r13,1),%r13d |
|
andl %edi,%eax |
|
movl %edx,24(%rsp) |
|
addl %ecx,%r13d |
|
xorl %r12d,%eax |
|
roll $30,%edi |
|
addl %eax,%r13d |
|
movl %edi,%eax |
|
movl 28(%r9),%ebp |
|
movl %r13d,%ecx |
|
xorl %r11d,%eax |
|
bswapl %ebp |
|
roll $5,%ecx |
|
leal 1518500249(%rdx,%r12,1),%r12d |
|
andl %esi,%eax |
|
movl %ebp,28(%rsp) |
|
addl %ecx,%r12d |
|
xorl %r11d,%eax |
|
roll $30,%esi |
|
addl %eax,%r12d |
|
movl %esi,%eax |
|
movl 32(%r9),%edx |
|
movl %r12d,%ecx |
|
xorl %edi,%eax |
|
bswapl %edx |
|
roll $5,%ecx |
|
leal 1518500249(%rbp,%r11,1),%r11d |
|
andl %r13d,%eax |
|
movl %edx,32(%rsp) |
|
addl %ecx,%r11d |
|
xorl %edi,%eax |
|
roll $30,%r13d |
|
addl %eax,%r11d |
|
movl %r13d,%eax |
|
movl 36(%r9),%ebp |
|
movl %r11d,%ecx |
|
xorl %esi,%eax |
|
bswapl %ebp |
|
roll $5,%ecx |
|
leal 1518500249(%rdx,%rdi,1),%edi |
|
andl %r12d,%eax |
|
movl %ebp,36(%rsp) |
|
addl %ecx,%edi |
|
xorl %esi,%eax |
|
roll $30,%r12d |
|
addl %eax,%edi |
|
movl %r12d,%eax |
|
movl 40(%r9),%edx |
|
movl %edi,%ecx |
|
xorl %r13d,%eax |
|
bswapl %edx |
|
roll $5,%ecx |
|
leal 1518500249(%rbp,%rsi,1),%esi |
|
andl %r11d,%eax |
|
movl %edx,40(%rsp) |
|
addl %ecx,%esi |
|
xorl %r13d,%eax |
|
roll $30,%r11d |
|
addl %eax,%esi |
|
movl %r11d,%eax |
|
movl 44(%r9),%ebp |
|
movl %esi,%ecx |
|
xorl %r12d,%eax |
|
bswapl %ebp |
|
roll $5,%ecx |
|
leal 1518500249(%rdx,%r13,1),%r13d |
|
andl %edi,%eax |
|
movl %ebp,44(%rsp) |
|
addl %ecx,%r13d |
|
xorl %r12d,%eax |
|
roll $30,%edi |
|
addl %eax,%r13d |
|
movl %edi,%eax |
|
movl 48(%r9),%edx |
|
movl %r13d,%ecx |
|
xorl %r11d,%eax |
|
bswapl %edx |
|
roll $5,%ecx |
|
leal 1518500249(%rbp,%r12,1),%r12d |
|
andl %esi,%eax |
|
movl %edx,48(%rsp) |
|
addl %ecx,%r12d |
|
xorl %r11d,%eax |
|
roll $30,%esi |
|
addl %eax,%r12d |
|
movl %esi,%eax |
|
movl 52(%r9),%ebp |
|
movl %r12d,%ecx |
|
xorl %edi,%eax |
|
bswapl %ebp |
|
roll $5,%ecx |
|
leal 1518500249(%rdx,%r11,1),%r11d |
|
andl %r13d,%eax |
|
movl %ebp,52(%rsp) |
|
addl %ecx,%r11d |
|
xorl %edi,%eax |
|
roll $30,%r13d |
|
addl %eax,%r11d |
|
movl %r13d,%eax |
|
movl 56(%r9),%edx |
|
movl %r11d,%ecx |
|
xorl %esi,%eax |
|
bswapl %edx |
|
roll $5,%ecx |
|
leal 1518500249(%rbp,%rdi,1),%edi |
|
andl %r12d,%eax |
|
movl %edx,56(%rsp) |
|
addl %ecx,%edi |
|
xorl %esi,%eax |
|
roll $30,%r12d |
|
addl %eax,%edi |
|
movl %r12d,%eax |
|
movl 60(%r9),%ebp |
|
movl %edi,%ecx |
|
xorl %r13d,%eax |
|
bswapl %ebp |
|
roll $5,%ecx |
|
leal 1518500249(%rdx,%rsi,1),%esi |
|
andl %r11d,%eax |
|
movl %ebp,60(%rsp) |
|
addl %ecx,%esi |
|
xorl %r13d,%eax |
|
roll $30,%r11d |
|
addl %eax,%esi |
|
movl 0(%rsp),%edx |
|
movl %r11d,%eax |
|
movl %esi,%ecx |
|
xorl 8(%rsp),%edx |
|
xorl %r12d,%eax |
|
roll $5,%ecx |
|
xorl 32(%rsp),%edx |
|
andl %edi,%eax |
|
leal 1518500249(%rbp,%r13,1),%r13d |
|
xorl 52(%rsp),%edx |
|
xorl %r12d,%eax |
|
roll $1,%edx |
|
addl %ecx,%r13d |
|
roll $30,%edi |
|
movl %edx,0(%rsp) |
|
addl %eax,%r13d |
|
movl 4(%rsp),%ebp |
|
movl %edi,%eax |
|
movl %r13d,%ecx |
|
xorl 12(%rsp),%ebp |
|
xorl %r11d,%eax |
|
roll $5,%ecx |
|
xorl 36(%rsp),%ebp |
|
andl %esi,%eax |
|
leal 1518500249(%rdx,%r12,1),%r12d |
|
xorl 56(%rsp),%ebp |
|
xorl %r11d,%eax |
|
roll $1,%ebp |
|
addl %ecx,%r12d |
|
roll $30,%esi |
|
movl %ebp,4(%rsp) |
|
addl %eax,%r12d |
|
movl 8(%rsp),%edx |
|
movl %esi,%eax |
|
movl %r12d,%ecx |
|
xorl 16(%rsp),%edx |
|
xorl %edi,%eax |
|
roll $5,%ecx |
|
xorl 40(%rsp),%edx |
|
andl %r13d,%eax |
|
leal 1518500249(%rbp,%r11,1),%r11d |
|
xorl 60(%rsp),%edx |
|
xorl %edi,%eax |
|
roll $1,%edx |
|
addl %ecx,%r11d |
|
roll $30,%r13d |
|
movl %edx,8(%rsp) |
|
addl %eax,%r11d |
|
movl 12(%rsp),%ebp |
|
movl %r13d,%eax |
|
movl %r11d,%ecx |
|
xorl 20(%rsp),%ebp |
|
xorl %esi,%eax |
|
roll $5,%ecx |
|
xorl 44(%rsp),%ebp |
|
andl %r12d,%eax |
|
leal 1518500249(%rdx,%rdi,1),%edi |
|
xorl 0(%rsp),%ebp |
|
xorl %esi,%eax |
|
roll $1,%ebp |
|
addl %ecx,%edi |
|
roll $30,%r12d |
|
movl %ebp,12(%rsp) |
|
addl %eax,%edi |
|
movl 16(%rsp),%edx |
|
movl %r12d,%eax |
|
movl %edi,%ecx |
|
xorl 24(%rsp),%edx |
|
xorl %r13d,%eax |
|
roll $5,%ecx |
|
xorl 48(%rsp),%edx |
|
andl %r11d,%eax |
|
leal 1518500249(%rbp,%rsi,1),%esi |
|
xorl 4(%rsp),%edx |
|
xorl %r13d,%eax |
|
roll $1,%edx |
|
addl %ecx,%esi |
|
roll $30,%r11d |
|
movl %edx,16(%rsp) |
|
addl %eax,%esi |
|
movl 20(%rsp),%ebp |
|
movl %r11d,%eax |
|
movl %esi,%ecx |
|
xorl 28(%rsp),%ebp |
|
xorl %edi,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rdx,%r13,1),%r13d |
|
xorl 52(%rsp),%ebp |
|
xorl %r12d,%eax |
|
addl %ecx,%r13d |
|
xorl 8(%rsp),%ebp |
|
roll $30,%edi |
|
addl %eax,%r13d |
|
roll $1,%ebp |
|
movl %ebp,20(%rsp) |
|
movl 24(%rsp),%edx |
|
movl %edi,%eax |
|
movl %r13d,%ecx |
|
xorl 32(%rsp),%edx |
|
xorl %esi,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rbp,%r12,1),%r12d |
|
xorl 56(%rsp),%edx |
|
xorl %r11d,%eax |
|
addl %ecx,%r12d |
|
xorl 12(%rsp),%edx |
|
roll $30,%esi |
|
addl %eax,%r12d |
|
roll $1,%edx |
|
movl %edx,24(%rsp) |
|
movl 28(%rsp),%ebp |
|
movl %esi,%eax |
|
movl %r12d,%ecx |
|
xorl 36(%rsp),%ebp |
|
xorl %r13d,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rdx,%r11,1),%r11d |
|
xorl 60(%rsp),%ebp |
|
xorl %edi,%eax |
|
addl %ecx,%r11d |
|
xorl 16(%rsp),%ebp |
|
roll $30,%r13d |
|
addl %eax,%r11d |
|
roll $1,%ebp |
|
movl %ebp,28(%rsp) |
|
movl 32(%rsp),%edx |
|
movl %r13d,%eax |
|
movl %r11d,%ecx |
|
xorl 40(%rsp),%edx |
|
xorl %r12d,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rbp,%rdi,1),%edi |
|
xorl 0(%rsp),%edx |
|
xorl %esi,%eax |
|
addl %ecx,%edi |
|
xorl 20(%rsp),%edx |
|
roll $30,%r12d |
|
addl %eax,%edi |
|
roll $1,%edx |
|
movl %edx,32(%rsp) |
|
movl 36(%rsp),%ebp |
|
movl %r12d,%eax |
|
movl %edi,%ecx |
|
xorl 44(%rsp),%ebp |
|
xorl %r11d,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rdx,%rsi,1),%esi |
|
xorl 4(%rsp),%ebp |
|
xorl %r13d,%eax |
|
addl %ecx,%esi |
|
xorl 24(%rsp),%ebp |
|
roll $30,%r11d |
|
addl %eax,%esi |
|
roll $1,%ebp |
|
movl %ebp,36(%rsp) |
|
movl 40(%rsp),%edx |
|
movl %r11d,%eax |
|
movl %esi,%ecx |
|
xorl 48(%rsp),%edx |
|
xorl %edi,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rbp,%r13,1),%r13d |
|
xorl 8(%rsp),%edx |
|
xorl %r12d,%eax |
|
addl %ecx,%r13d |
|
xorl 28(%rsp),%edx |
|
roll $30,%edi |
|
addl %eax,%r13d |
|
roll $1,%edx |
|
movl %edx,40(%rsp) |
|
movl 44(%rsp),%ebp |
|
movl %edi,%eax |
|
movl %r13d,%ecx |
|
xorl 52(%rsp),%ebp |
|
xorl %esi,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rdx,%r12,1),%r12d |
|
xorl 12(%rsp),%ebp |
|
xorl %r11d,%eax |
|
addl %ecx,%r12d |
|
xorl 32(%rsp),%ebp |
|
roll $30,%esi |
|
addl %eax,%r12d |
|
roll $1,%ebp |
|
movl %ebp,44(%rsp) |
|
movl 48(%rsp),%edx |
|
movl %esi,%eax |
|
movl %r12d,%ecx |
|
xorl 56(%rsp),%edx |
|
xorl %r13d,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rbp,%r11,1),%r11d |
|
xorl 16(%rsp),%edx |
|
xorl %edi,%eax |
|
addl %ecx,%r11d |
|
xorl 36(%rsp),%edx |
|
roll $30,%r13d |
|
addl %eax,%r11d |
|
roll $1,%edx |
|
movl %edx,48(%rsp) |
|
movl 52(%rsp),%ebp |
|
movl %r13d,%eax |
|
movl %r11d,%ecx |
|
xorl 60(%rsp),%ebp |
|
xorl %r12d,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rdx,%rdi,1),%edi |
|
xorl 20(%rsp),%ebp |
|
xorl %esi,%eax |
|
addl %ecx,%edi |
|
xorl 40(%rsp),%ebp |
|
roll $30,%r12d |
|
addl %eax,%edi |
|
roll $1,%ebp |
|
movl %ebp,52(%rsp) |
|
movl 56(%rsp),%edx |
|
movl %r12d,%eax |
|
movl %edi,%ecx |
|
xorl 0(%rsp),%edx |
|
xorl %r11d,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rbp,%rsi,1),%esi |
|
xorl 24(%rsp),%edx |
|
xorl %r13d,%eax |
|
addl %ecx,%esi |
|
xorl 44(%rsp),%edx |
|
roll $30,%r11d |
|
addl %eax,%esi |
|
roll $1,%edx |
|
movl %edx,56(%rsp) |
|
movl 60(%rsp),%ebp |
|
movl %r11d,%eax |
|
movl %esi,%ecx |
|
xorl 4(%rsp),%ebp |
|
xorl %edi,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rdx,%r13,1),%r13d |
|
xorl 28(%rsp),%ebp |
|
xorl %r12d,%eax |
|
addl %ecx,%r13d |
|
xorl 48(%rsp),%ebp |
|
roll $30,%edi |
|
addl %eax,%r13d |
|
roll $1,%ebp |
|
movl %ebp,60(%rsp) |
|
movl 0(%rsp),%edx |
|
movl %edi,%eax |
|
movl %r13d,%ecx |
|
xorl 8(%rsp),%edx |
|
xorl %esi,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rbp,%r12,1),%r12d |
|
xorl 32(%rsp),%edx |
|
xorl %r11d,%eax |
|
addl %ecx,%r12d |
|
xorl 52(%rsp),%edx |
|
roll $30,%esi |
|
addl %eax,%r12d |
|
roll $1,%edx |
|
movl %edx,0(%rsp) |
|
movl 4(%rsp),%ebp |
|
movl %esi,%eax |
|
movl %r12d,%ecx |
|
xorl 12(%rsp),%ebp |
|
xorl %r13d,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rdx,%r11,1),%r11d |
|
xorl 36(%rsp),%ebp |
|
xorl %edi,%eax |
|
addl %ecx,%r11d |
|
xorl 56(%rsp),%ebp |
|
roll $30,%r13d |
|
addl %eax,%r11d |
|
roll $1,%ebp |
|
movl %ebp,4(%rsp) |
|
movl 8(%rsp),%edx |
|
movl %r13d,%eax |
|
movl %r11d,%ecx |
|
xorl 16(%rsp),%edx |
|
xorl %r12d,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rbp,%rdi,1),%edi |
|
xorl 40(%rsp),%edx |
|
xorl %esi,%eax |
|
addl %ecx,%edi |
|
xorl 60(%rsp),%edx |
|
roll $30,%r12d |
|
addl %eax,%edi |
|
roll $1,%edx |
|
movl %edx,8(%rsp) |
|
movl 12(%rsp),%ebp |
|
movl %r12d,%eax |
|
movl %edi,%ecx |
|
xorl 20(%rsp),%ebp |
|
xorl %r11d,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rdx,%rsi,1),%esi |
|
xorl 44(%rsp),%ebp |
|
xorl %r13d,%eax |
|
addl %ecx,%esi |
|
xorl 0(%rsp),%ebp |
|
roll $30,%r11d |
|
addl %eax,%esi |
|
roll $1,%ebp |
|
movl %ebp,12(%rsp) |
|
movl 16(%rsp),%edx |
|
movl %r11d,%eax |
|
movl %esi,%ecx |
|
xorl 24(%rsp),%edx |
|
xorl %edi,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rbp,%r13,1),%r13d |
|
xorl 48(%rsp),%edx |
|
xorl %r12d,%eax |
|
addl %ecx,%r13d |
|
xorl 4(%rsp),%edx |
|
roll $30,%edi |
|
addl %eax,%r13d |
|
roll $1,%edx |
|
movl %edx,16(%rsp) |
|
movl 20(%rsp),%ebp |
|
movl %edi,%eax |
|
movl %r13d,%ecx |
|
xorl 28(%rsp),%ebp |
|
xorl %esi,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rdx,%r12,1),%r12d |
|
xorl 52(%rsp),%ebp |
|
xorl %r11d,%eax |
|
addl %ecx,%r12d |
|
xorl 8(%rsp),%ebp |
|
roll $30,%esi |
|
addl %eax,%r12d |
|
roll $1,%ebp |
|
movl %ebp,20(%rsp) |
|
movl 24(%rsp),%edx |
|
movl %esi,%eax |
|
movl %r12d,%ecx |
|
xorl 32(%rsp),%edx |
|
xorl %r13d,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rbp,%r11,1),%r11d |
|
xorl 56(%rsp),%edx |
|
xorl %edi,%eax |
|
addl %ecx,%r11d |
|
xorl 12(%rsp),%edx |
|
roll $30,%r13d |
|
addl %eax,%r11d |
|
roll $1,%edx |
|
movl %edx,24(%rsp) |
|
movl 28(%rsp),%ebp |
|
movl %r13d,%eax |
|
movl %r11d,%ecx |
|
xorl 36(%rsp),%ebp |
|
xorl %r12d,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rdx,%rdi,1),%edi |
|
xorl 60(%rsp),%ebp |
|
xorl %esi,%eax |
|
addl %ecx,%edi |
|
xorl 16(%rsp),%ebp |
|
roll $30,%r12d |
|
addl %eax,%edi |
|
roll $1,%ebp |
|
movl %ebp,28(%rsp) |
|
movl 32(%rsp),%edx |
|
movl %r12d,%eax |
|
movl %edi,%ecx |
|
xorl 40(%rsp),%edx |
|
xorl %r11d,%eax |
|
roll $5,%ecx |
|
leal 1859775393(%rbp,%rsi,1),%esi |
|
xorl 0(%rsp),%edx |
|
xorl %r13d,%eax |
|
addl %ecx,%esi |
|
xorl 20(%rsp),%edx |
|
roll $30,%r11d |
|
addl %eax,%esi |
|
roll $1,%edx |
|
movl %edx,32(%rsp) |
|
movl 36(%rsp),%ebp |
|
movl %r11d,%eax |
|
movl %r11d,%ebx |
|
xorl 44(%rsp),%ebp |
|
andl %r12d,%eax |
|
movl %esi,%ecx |
|
xorl 4(%rsp),%ebp |
|
xorl %r12d,%ebx |
|
leal -1894007588(%rdx,%r13,1),%r13d |
|
roll $5,%ecx |
|
xorl 24(%rsp),%ebp |
|
addl %eax,%r13d |
|
andl %edi,%ebx |
|
roll $1,%ebp |
|
addl %ebx,%r13d |
|
roll $30,%edi |
|
movl %ebp,36(%rsp) |
|
addl %ecx,%r13d |
|
movl 40(%rsp),%edx |
|
movl %edi,%eax |
|
movl %edi,%ebx |
|
xorl 48(%rsp),%edx |
|
andl %r11d,%eax |
|
movl %r13d,%ecx |
|
xorl 8(%rsp),%edx |
|
xorl %r11d,%ebx |
|
leal -1894007588(%rbp,%r12,1),%r12d |
|
roll $5,%ecx |
|
xorl 28(%rsp),%edx |
|
addl %eax,%r12d |
|
andl %esi,%ebx |
|
roll $1,%edx |
|
addl %ebx,%r12d |
|
roll $30,%esi |
|
movl %edx,40(%rsp) |
|
addl %ecx,%r12d |
|
movl 44(%rsp),%ebp |
|
movl %esi,%eax |
|
movl %esi,%ebx |
|
xorl 52(%rsp),%ebp |
|
andl %edi,%eax |
|
movl %r12d,%ecx |
|
xorl 12(%rsp),%ebp |
|
xorl %edi,%ebx |
|
leal -1894007588(%rdx,%r11,1),%r11d |
|
roll $5,%ecx |
|
xorl 32(%rsp),%ebp |
|
addl %eax,%r11d |
|
andl %r13d,%ebx |
|
roll $1,%ebp |
|
addl %ebx,%r11d |
|
roll $30,%r13d |
|
movl %ebp,44(%rsp) |
|
addl %ecx,%r11d |
|
movl 48(%rsp),%edx |
|
movl %r13d,%eax |
|
movl %r13d,%ebx |
|
xorl 56(%rsp),%edx |
|
andl %esi,%eax |
|
movl %r11d,%ecx |
|
xorl 16(%rsp),%edx |
|
xorl %esi,%ebx |
|
leal -1894007588(%rbp,%rdi,1),%edi |
|
roll $5,%ecx |
|
xorl 36(%rsp),%edx |
|
addl %eax,%edi |
|
andl %r12d,%ebx |
|
roll $1,%edx |
|
addl %ebx,%edi |
|
roll $30,%r12d |
|
movl %edx,48(%rsp) |
|
addl %ecx,%edi |
|
movl 52(%rsp),%ebp |
|
movl %r12d,%eax |
|
movl %r12d,%ebx |
|
xorl 60(%rsp),%ebp |
|
andl %r13d,%eax |
|
movl %edi,%ecx |
|
xorl 20(%rsp),%ebp |
|
xorl %r13d,%ebx |
|
leal -1894007588(%rdx,%rsi,1),%esi |
|
roll $5,%ecx |
|
xorl 40(%rsp),%ebp |
|
addl %eax,%esi |
|
andl %r11d,%ebx |
|
roll $1,%ebp |
|
addl %ebx,%esi |
|
roll $30,%r11d |
|
movl %ebp,52(%rsp) |
|
addl %ecx,%esi |
|
movl 56(%rsp),%edx |
|
movl %r11d,%eax |
|
movl %r11d,%ebx |
|
xorl 0(%rsp),%edx |
|
andl %r12d,%eax |
|
movl %esi,%ecx |
|
xorl 24(%rsp),%edx |
|
xorl %r12d,%ebx |
|
leal -1894007588(%rbp,%r13,1),%r13d |
|
roll $5,%ecx |
|
xorl 44(%rsp),%edx |
|
addl %eax,%r13d |
|
andl %edi,%ebx |
|
roll $1,%edx |
|
addl %ebx,%r13d |
|
roll $30,%edi |
|
movl %edx,56(%rsp) |
|
addl %ecx,%r13d |
|
movl 60(%rsp),%ebp |
|
movl %edi,%eax |
|
movl %edi,%ebx |
|
xorl 4(%rsp),%ebp |
|
andl %r11d,%eax |
|
movl %r13d,%ecx |
|
xorl 28(%rsp),%ebp |
|
xorl %r11d,%ebx |
|
leal -1894007588(%rdx,%r12,1),%r12d |
|
roll $5,%ecx |
|
xorl 48(%rsp),%ebp |
|
addl %eax,%r12d |
|
andl %esi,%ebx |
|
roll $1,%ebp |
|
addl %ebx,%r12d |
|
roll $30,%esi |
|
movl %ebp,60(%rsp) |
|
addl %ecx,%r12d |
|
movl 0(%rsp),%edx |
|
movl %esi,%eax |
|
movl %esi,%ebx |
|
xorl 8(%rsp),%edx |
|
andl %edi,%eax |
|
movl %r12d,%ecx |
|
xorl 32(%rsp),%edx |
|
xorl %edi,%ebx |
|
leal -1894007588(%rbp,%r11,1),%r11d |
|
roll $5,%ecx |
|
xorl 52(%rsp),%edx |
|
addl %eax,%r11d |
|
andl %r13d,%ebx |
|
roll $1,%edx |
|
addl %ebx,%r11d |
|
roll $30,%r13d |
|
movl %edx,0(%rsp) |
|
addl %ecx,%r11d |
|
movl 4(%rsp),%ebp |
|
movl %r13d,%eax |
|
movl %r13d,%ebx |
|
xorl 12(%rsp),%ebp |
|
andl %esi,%eax |
|
movl %r11d,%ecx |
|
xorl 36(%rsp),%ebp |
|
xorl %esi,%ebx |
|
leal -1894007588(%rdx,%rdi,1),%edi |
|
roll $5,%ecx |
|
xorl 56(%rsp),%ebp |
|
addl %eax,%edi |
|
andl %r12d,%ebx |
|
roll $1,%ebp |
|
addl %ebx,%edi |
|
roll $30,%r12d |
|
movl %ebp,4(%rsp) |
|
addl %ecx,%edi |
|
movl 8(%rsp),%edx |
|
movl %r12d,%eax |
|
movl %r12d,%ebx |
|
xorl 16(%rsp),%edx |
|
andl %r13d,%eax |
|
movl %edi,%ecx |
|
xorl 40(%rsp),%edx |
|
xorl %r13d,%ebx |
|
leal -1894007588(%rbp,%rsi,1),%esi |
|
roll $5,%ecx |
|
xorl 60(%rsp),%edx |
|
addl %eax,%esi |
|
andl %r11d,%ebx |
|
roll $1,%edx |
|
addl %ebx,%esi |
|
roll $30,%r11d |
|
movl %edx,8(%rsp) |
|
addl %ecx,%esi |
|
movl 12(%rsp),%ebp |
|
movl %r11d,%eax |
|
movl %r11d,%ebx |
|
xorl 20(%rsp),%ebp |
|
andl %r12d,%eax |
|
movl %esi,%ecx |
|
xorl 44(%rsp),%ebp |
|
xorl %r12d,%ebx |
|
leal -1894007588(%rdx,%r13,1),%r13d |
|
roll $5,%ecx |
|
xorl 0(%rsp),%ebp |
|
addl %eax,%r13d |
|
andl %edi,%ebx |
|
roll $1,%ebp |
|
addl %ebx,%r13d |
|
roll $30,%edi |
|
movl %ebp,12(%rsp) |
|
addl %ecx,%r13d |
|
movl 16(%rsp),%edx |
|
movl %edi,%eax |
|
movl %edi,%ebx |
|
xorl 24(%rsp),%edx |
|
andl %r11d,%eax |
|
movl %r13d,%ecx |
|
xorl 48(%rsp),%edx |
|
xorl %r11d,%ebx |
|
leal -1894007588(%rbp,%r12,1),%r12d |
|
roll $5,%ecx |
|
xorl 4(%rsp),%edx |
|
addl %eax,%r12d |
|
andl %esi,%ebx |
|
roll $1,%edx |
|
addl %ebx,%r12d |
|
roll $30,%esi |
|
movl %edx,16(%rsp) |
|
addl %ecx,%r12d |
|
movl 20(%rsp),%ebp |
|
movl %esi,%eax |
|
movl %esi,%ebx |
|
xorl 28(%rsp),%ebp |
|
andl %edi,%eax |
|
movl %r12d,%ecx |
|
xorl 52(%rsp),%ebp |
|
xorl %edi,%ebx |
|
leal -1894007588(%rdx,%r11,1),%r11d |
|
roll $5,%ecx |
|
xorl 8(%rsp),%ebp |
|
addl %eax,%r11d |
|
andl %r13d,%ebx |
|
roll $1,%ebp |
|
addl %ebx,%r11d |
|
roll $30,%r13d |
|
movl %ebp,20(%rsp) |
|
addl %ecx,%r11d |
|
movl 24(%rsp),%edx |
|
movl %r13d,%eax |
|
movl %r13d,%ebx |
|
xorl 32(%rsp),%edx |
|
andl %esi,%eax |
|
movl %r11d,%ecx |
|
xorl 56(%rsp),%edx |
|
xorl %esi,%ebx |
|
leal -1894007588(%rbp,%rdi,1),%edi |
|
roll $5,%ecx |
|
xorl 12(%rsp),%edx |
|
addl %eax,%edi |
|
andl %r12d,%ebx |
|
roll $1,%edx |
|
addl %ebx,%edi |
|
roll $30,%r12d |
|
movl %edx,24(%rsp) |
|
addl %ecx,%edi |
|
movl 28(%rsp),%ebp |
|
movl %r12d,%eax |
|
movl %r12d,%ebx |
|
xorl 36(%rsp),%ebp |
|
andl %r13d,%eax |
|
movl %edi,%ecx |
|
xorl 60(%rsp),%ebp |
|
xorl %r13d,%ebx |
|
leal -1894007588(%rdx,%rsi,1),%esi |
|
roll $5,%ecx |
|
xorl 16(%rsp),%ebp |
|
addl %eax,%esi |
|
andl %r11d,%ebx |
|
roll $1,%ebp |
|
addl %ebx,%esi |
|
roll $30,%r11d |
|
movl %ebp,28(%rsp) |
|
addl %ecx,%esi |
|
movl 32(%rsp),%edx |
|
movl %r11d,%eax |
|
movl %r11d,%ebx |
|
xorl 40(%rsp),%edx |
|
andl %r12d,%eax |
|
movl %esi,%ecx |
|
xorl 0(%rsp),%edx |
|
xorl %r12d,%ebx |
|
leal -1894007588(%rbp,%r13,1),%r13d |
|
roll $5,%ecx |
|
xorl 20(%rsp),%edx |
|
addl %eax,%r13d |
|
andl %edi,%ebx |
|
roll $1,%edx |
|
addl %ebx,%r13d |
|
roll $30,%edi |
|
movl %edx,32(%rsp) |
|
addl %ecx,%r13d |
|
movl 36(%rsp),%ebp |
|
movl %edi,%eax |
|
movl %edi,%ebx |
|
xorl 44(%rsp),%ebp |
|
andl %r11d,%eax |
|
movl %r13d,%ecx |
|
xorl 4(%rsp),%ebp |
|
xorl %r11d,%ebx |
|
leal -1894007588(%rdx,%r12,1),%r12d |
|
roll $5,%ecx |
|
xorl 24(%rsp),%ebp |
|
addl %eax,%r12d |
|
andl %esi,%ebx |
|
roll $1,%ebp |
|
addl %ebx,%r12d |
|
roll $30,%esi |
|
movl %ebp,36(%rsp) |
|
addl %ecx,%r12d |
|
movl 40(%rsp),%edx |
|
movl %esi,%eax |
|
movl %esi,%ebx |
|
xorl 48(%rsp),%edx |
|
andl %edi,%eax |
|
movl %r12d,%ecx |
|
xorl 8(%rsp),%edx |
|
xorl %edi,%ebx |
|
leal -1894007588(%rbp,%r11,1),%r11d |
|
roll $5,%ecx |
|
xorl 28(%rsp),%edx |
|
addl %eax,%r11d |
|
andl %r13d,%ebx |
|
roll $1,%edx |
|
addl %ebx,%r11d |
|
roll $30,%r13d |
|
movl %edx,40(%rsp) |
|
addl %ecx,%r11d |
|
movl 44(%rsp),%ebp |
|
movl %r13d,%eax |
|
movl %r13d,%ebx |
|
xorl 52(%rsp),%ebp |
|
andl %esi,%eax |
|
movl %r11d,%ecx |
|
xorl 12(%rsp),%ebp |
|
xorl %esi,%ebx |
|
leal -1894007588(%rdx,%rdi,1),%edi |
|
roll $5,%ecx |
|
xorl 32(%rsp),%ebp |
|
addl %eax,%edi |
|
andl %r12d,%ebx |
|
roll $1,%ebp |
|
addl %ebx,%edi |
|
roll $30,%r12d |
|
movl %ebp,44(%rsp) |
|
addl %ecx,%edi |
|
movl 48(%rsp),%edx |
|
movl %r12d,%eax |
|
movl %r12d,%ebx |
|
xorl 56(%rsp),%edx |
|
andl %r13d,%eax |
|
movl %edi,%ecx |
|
xorl 16(%rsp),%edx |
|
xorl %r13d,%ebx |
|
leal -1894007588(%rbp,%rsi,1),%esi |
|
roll $5,%ecx |
|
xorl 36(%rsp),%edx |
|
addl %eax,%esi |
|
andl %r11d,%ebx |
|
roll $1,%edx |
|
addl %ebx,%esi |
|
roll $30,%r11d |
|
movl %edx,48(%rsp) |
|
addl %ecx,%esi |
|
movl 52(%rsp),%ebp |
|
movl %r11d,%eax |
|
movl %esi,%ecx |
|
xorl 60(%rsp),%ebp |
|
xorl %edi,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rdx,%r13,1),%r13d |
|
xorl 20(%rsp),%ebp |
|
xorl %r12d,%eax |
|
addl %ecx,%r13d |
|
xorl 40(%rsp),%ebp |
|
roll $30,%edi |
|
addl %eax,%r13d |
|
roll $1,%ebp |
|
movl %ebp,52(%rsp) |
|
movl 56(%rsp),%edx |
|
movl %edi,%eax |
|
movl %r13d,%ecx |
|
xorl 0(%rsp),%edx |
|
xorl %esi,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rbp,%r12,1),%r12d |
|
xorl 24(%rsp),%edx |
|
xorl %r11d,%eax |
|
addl %ecx,%r12d |
|
xorl 44(%rsp),%edx |
|
roll $30,%esi |
|
addl %eax,%r12d |
|
roll $1,%edx |
|
movl %edx,56(%rsp) |
|
movl 60(%rsp),%ebp |
|
movl %esi,%eax |
|
movl %r12d,%ecx |
|
xorl 4(%rsp),%ebp |
|
xorl %r13d,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rdx,%r11,1),%r11d |
|
xorl 28(%rsp),%ebp |
|
xorl %edi,%eax |
|
addl %ecx,%r11d |
|
xorl 48(%rsp),%ebp |
|
roll $30,%r13d |
|
addl %eax,%r11d |
|
roll $1,%ebp |
|
movl %ebp,60(%rsp) |
|
movl 0(%rsp),%edx |
|
movl %r13d,%eax |
|
movl %r11d,%ecx |
|
xorl 8(%rsp),%edx |
|
xorl %r12d,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rbp,%rdi,1),%edi |
|
xorl 32(%rsp),%edx |
|
xorl %esi,%eax |
|
addl %ecx,%edi |
|
xorl 52(%rsp),%edx |
|
roll $30,%r12d |
|
addl %eax,%edi |
|
roll $1,%edx |
|
movl %edx,0(%rsp) |
|
movl 4(%rsp),%ebp |
|
movl %r12d,%eax |
|
movl %edi,%ecx |
|
xorl 12(%rsp),%ebp |
|
xorl %r11d,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rdx,%rsi,1),%esi |
|
xorl 36(%rsp),%ebp |
|
xorl %r13d,%eax |
|
addl %ecx,%esi |
|
xorl 56(%rsp),%ebp |
|
roll $30,%r11d |
|
addl %eax,%esi |
|
roll $1,%ebp |
|
movl %ebp,4(%rsp) |
|
movl 8(%rsp),%edx |
|
movl %r11d,%eax |
|
movl %esi,%ecx |
|
xorl 16(%rsp),%edx |
|
xorl %edi,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rbp,%r13,1),%r13d |
|
xorl 40(%rsp),%edx |
|
xorl %r12d,%eax |
|
addl %ecx,%r13d |
|
xorl 60(%rsp),%edx |
|
roll $30,%edi |
|
addl %eax,%r13d |
|
roll $1,%edx |
|
movl %edx,8(%rsp) |
|
movl 12(%rsp),%ebp |
|
movl %edi,%eax |
|
movl %r13d,%ecx |
|
xorl 20(%rsp),%ebp |
|
xorl %esi,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rdx,%r12,1),%r12d |
|
xorl 44(%rsp),%ebp |
|
xorl %r11d,%eax |
|
addl %ecx,%r12d |
|
xorl 0(%rsp),%ebp |
|
roll $30,%esi |
|
addl %eax,%r12d |
|
roll $1,%ebp |
|
movl %ebp,12(%rsp) |
|
movl 16(%rsp),%edx |
|
movl %esi,%eax |
|
movl %r12d,%ecx |
|
xorl 24(%rsp),%edx |
|
xorl %r13d,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rbp,%r11,1),%r11d |
|
xorl 48(%rsp),%edx |
|
xorl %edi,%eax |
|
addl %ecx,%r11d |
|
xorl 4(%rsp),%edx |
|
roll $30,%r13d |
|
addl %eax,%r11d |
|
roll $1,%edx |
|
movl %edx,16(%rsp) |
|
movl 20(%rsp),%ebp |
|
movl %r13d,%eax |
|
movl %r11d,%ecx |
|
xorl 28(%rsp),%ebp |
|
xorl %r12d,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rdx,%rdi,1),%edi |
|
xorl 52(%rsp),%ebp |
|
xorl %esi,%eax |
|
addl %ecx,%edi |
|
xorl 8(%rsp),%ebp |
|
roll $30,%r12d |
|
addl %eax,%edi |
|
roll $1,%ebp |
|
movl %ebp,20(%rsp) |
|
movl 24(%rsp),%edx |
|
movl %r12d,%eax |
|
movl %edi,%ecx |
|
xorl 32(%rsp),%edx |
|
xorl %r11d,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rbp,%rsi,1),%esi |
|
xorl 56(%rsp),%edx |
|
xorl %r13d,%eax |
|
addl %ecx,%esi |
|
xorl 12(%rsp),%edx |
|
roll $30,%r11d |
|
addl %eax,%esi |
|
roll $1,%edx |
|
movl %edx,24(%rsp) |
|
movl 28(%rsp),%ebp |
|
movl %r11d,%eax |
|
movl %esi,%ecx |
|
xorl 36(%rsp),%ebp |
|
xorl %edi,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rdx,%r13,1),%r13d |
|
xorl 60(%rsp),%ebp |
|
xorl %r12d,%eax |
|
addl %ecx,%r13d |
|
xorl 16(%rsp),%ebp |
|
roll $30,%edi |
|
addl %eax,%r13d |
|
roll $1,%ebp |
|
movl %ebp,28(%rsp) |
|
movl 32(%rsp),%edx |
|
movl %edi,%eax |
|
movl %r13d,%ecx |
|
xorl 40(%rsp),%edx |
|
xorl %esi,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rbp,%r12,1),%r12d |
|
xorl 0(%rsp),%edx |
|
xorl %r11d,%eax |
|
addl %ecx,%r12d |
|
xorl 20(%rsp),%edx |
|
roll $30,%esi |
|
addl %eax,%r12d |
|
roll $1,%edx |
|
movl %edx,32(%rsp) |
|
movl 36(%rsp),%ebp |
|
movl %esi,%eax |
|
movl %r12d,%ecx |
|
xorl 44(%rsp),%ebp |
|
xorl %r13d,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rdx,%r11,1),%r11d |
|
xorl 4(%rsp),%ebp |
|
xorl %edi,%eax |
|
addl %ecx,%r11d |
|
xorl 24(%rsp),%ebp |
|
roll $30,%r13d |
|
addl %eax,%r11d |
|
roll $1,%ebp |
|
movl %ebp,36(%rsp) |
|
movl 40(%rsp),%edx |
|
movl %r13d,%eax |
|
movl %r11d,%ecx |
|
xorl 48(%rsp),%edx |
|
xorl %r12d,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rbp,%rdi,1),%edi |
|
xorl 8(%rsp),%edx |
|
xorl %esi,%eax |
|
addl %ecx,%edi |
|
xorl 28(%rsp),%edx |
|
roll $30,%r12d |
|
addl %eax,%edi |
|
roll $1,%edx |
|
movl %edx,40(%rsp) |
|
movl 44(%rsp),%ebp |
|
movl %r12d,%eax |
|
movl %edi,%ecx |
|
xorl 52(%rsp),%ebp |
|
xorl %r11d,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rdx,%rsi,1),%esi |
|
xorl 12(%rsp),%ebp |
|
xorl %r13d,%eax |
|
addl %ecx,%esi |
|
xorl 32(%rsp),%ebp |
|
roll $30,%r11d |
|
addl %eax,%esi |
|
roll $1,%ebp |
|
movl %ebp,44(%rsp) |
|
movl 48(%rsp),%edx |
|
movl %r11d,%eax |
|
movl %esi,%ecx |
|
xorl 56(%rsp),%edx |
|
xorl %edi,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rbp,%r13,1),%r13d |
|
xorl 16(%rsp),%edx |
|
xorl %r12d,%eax |
|
addl %ecx,%r13d |
|
xorl 36(%rsp),%edx |
|
roll $30,%edi |
|
addl %eax,%r13d |
|
roll $1,%edx |
|
movl %edx,48(%rsp) |
|
movl 52(%rsp),%ebp |
|
movl %edi,%eax |
|
movl %r13d,%ecx |
|
xorl 60(%rsp),%ebp |
|
xorl %esi,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rdx,%r12,1),%r12d |
|
xorl 20(%rsp),%ebp |
|
xorl %r11d,%eax |
|
addl %ecx,%r12d |
|
xorl 40(%rsp),%ebp |
|
roll $30,%esi |
|
addl %eax,%r12d |
|
roll $1,%ebp |
|
movl 56(%rsp),%edx |
|
movl %esi,%eax |
|
movl %r12d,%ecx |
|
xorl 0(%rsp),%edx |
|
xorl %r13d,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rbp,%r11,1),%r11d |
|
xorl 24(%rsp),%edx |
|
xorl %edi,%eax |
|
addl %ecx,%r11d |
|
xorl 44(%rsp),%edx |
|
roll $30,%r13d |
|
addl %eax,%r11d |
|
roll $1,%edx |
|
movl 60(%rsp),%ebp |
|
movl %r13d,%eax |
|
movl %r11d,%ecx |
|
xorl 4(%rsp),%ebp |
|
xorl %r12d,%eax |
|
roll $5,%ecx |
|
leal -899497514(%rdx,%rdi,1),%edi |
|
xorl 28(%rsp),%ebp |
|
xorl %esi,%eax |
|
addl %ecx,%edi |
|
xorl 48(%rsp),%ebp |
|
roll $30,%r12d |
|
addl %eax,%edi |
|
roll $1,%ebp |
|
movl %r12d,%eax |
|
movl %edi,%ecx |
|
xorl %r11d,%eax |
|
leal -899497514(%rbp,%rsi,1),%esi |
|
roll $5,%ecx |
|
xorl %r13d,%eax |
|
addl %ecx,%esi |
|
roll $30,%r11d |
|
addl %eax,%esi |
|
addl 0(%r8),%esi |
|
addl 4(%r8),%edi |
|
addl 8(%r8),%r11d |
|
addl 12(%r8),%r12d |
|
addl 16(%r8),%r13d |
|
movl %esi,0(%r8) |
|
movl %edi,4(%r8) |
|
movl %r11d,8(%r8) |
|
movl %r12d,12(%r8) |
|
movl %r13d,16(%r8) |
|
|
|
subq $1,%r10 |
|
leaq 64(%r9),%r9 |
|
jnz .Lloop |
|
|
|
movq 64(%rsp),%rsi |
|
movq (%rsi),%r13 |
|
movq 8(%rsi),%r12 |
|
movq 16(%rsi),%rbp |
|
movq 24(%rsi),%rbx |
|
leaq 32(%rsi),%rsp |
|
.Lepilogue: |
|
.byte 0xf3,0xc3 |
|
.size sha1_block_data_order,.-sha1_block_data_order |
|
.type sha1_block_data_order_ssse3,@function |
|
.align 16 |
|
sha1_block_data_order_ssse3: |
|
_ssse3_shortcut: |
|
pushq %rbx |
|
pushq %rbp |
|
pushq %r12 |
|
leaq -64(%rsp),%rsp |
|
movq %rdi,%r8 |
|
movq %rsi,%r9 |
|
movq %rdx,%r10 |
|
|
|
shlq $6,%r10 |
|
addq %r9,%r10 |
|
leaq K_XX_XX(%rip),%r11 |
|
|
|
movl 0(%r8),%eax |
|
movl 4(%r8),%ebx |
|
movl 8(%r8),%ecx |
|
movl 12(%r8),%edx |
|
movl %ebx,%esi |
|
movl 16(%r8),%ebp |
|
|
|
movdqa 64(%r11),%xmm6 |
|
movdqa 0(%r11),%xmm9 |
|
movdqu 0(%r9),%xmm0 |
|
movdqu 16(%r9),%xmm1 |
|
movdqu 32(%r9),%xmm2 |
|
movdqu 48(%r9),%xmm3 |
|
.byte 102,15,56,0,198 |
|
addq $64,%r9 |
|
.byte 102,15,56,0,206 |
|
.byte 102,15,56,0,214 |
|
.byte 102,15,56,0,222 |
|
paddd %xmm9,%xmm0 |
|
paddd %xmm9,%xmm1 |
|
paddd %xmm9,%xmm2 |
|
movdqa %xmm0,0(%rsp) |
|
psubd %xmm9,%xmm0 |
|
movdqa %xmm1,16(%rsp) |
|
psubd %xmm9,%xmm1 |
|
movdqa %xmm2,32(%rsp) |
|
psubd %xmm9,%xmm2 |
|
jmp .Loop_ssse3 |
|
.align 16 |
|
.Loop_ssse3: |
|
movdqa %xmm1,%xmm4 |
|
addl 0(%rsp),%ebp |
|
xorl %edx,%ecx |
|
movdqa %xmm3,%xmm8 |
|
.byte 102,15,58,15,224,8 |
|
movl %eax,%edi |
|
roll $5,%eax |
|
paddd %xmm3,%xmm9 |
|
andl %ecx,%esi |
|
xorl %edx,%ecx |
|
psrldq $4,%xmm8 |
|
xorl %edx,%esi |
|
addl %eax,%ebp |
|
pxor %xmm0,%xmm4 |
|
rorl $2,%ebx |
|
addl %esi,%ebp |
|
pxor %xmm2,%xmm8 |
|
addl 4(%rsp),%edx |
|
xorl %ecx,%ebx |
|
movl %ebp,%esi |
|
roll $5,%ebp |
|
pxor %xmm8,%xmm4 |
|
andl %ebx,%edi |
|
xorl %ecx,%ebx |
|
movdqa %xmm9,48(%rsp) |
|
xorl %ecx,%edi |
|
addl %ebp,%edx |
|
movdqa %xmm4,%xmm10 |
|
movdqa %xmm4,%xmm8 |
|
rorl $7,%eax |
|
addl %edi,%edx |
|
addl 8(%rsp),%ecx |
|
xorl %ebx,%eax |
|
pslldq $12,%xmm10 |
|
paddd %xmm4,%xmm4 |
|
movl %edx,%edi |
|
roll $5,%edx |
|
andl %eax,%esi |
|
xorl %ebx,%eax |
|
psrld $31,%xmm8 |
|
xorl %ebx,%esi |
|
addl %edx,%ecx |
|
movdqa %xmm10,%xmm9 |
|
rorl $7,%ebp |
|
addl %esi,%ecx |
|
psrld $30,%xmm10 |
|
por %xmm8,%xmm4 |
|
addl 12(%rsp),%ebx |
|
xorl %eax,%ebp |
|
movl %ecx,%esi |
|
roll $5,%ecx |
|
pslld $2,%xmm9 |
|
pxor %xmm10,%xmm4 |
|
andl %ebp,%edi |
|
xorl %eax,%ebp |
|
movdqa 0(%r11),%xmm10 |
|
xorl %eax,%edi |
|
addl %ecx,%ebx |
|
pxor %xmm9,%xmm4 |
|
rorl $7,%edx |
|
addl %edi,%ebx |
|
movdqa %xmm2,%xmm5 |
|
addl 16(%rsp),%eax |
|
xorl %ebp,%edx |
|
movdqa %xmm4,%xmm9 |
|
.byte 102,15,58,15,233,8 |
|
movl %ebx,%edi |
|
roll $5,%ebx |
|
paddd %xmm4,%xmm10 |
|
andl %edx,%esi |
|
xorl %ebp,%edx |
|
psrldq $4,%xmm9 |
|
xorl %ebp,%esi |
|
addl %ebx,%eax |
|
pxor %xmm1,%xmm5 |
|
rorl $7,%ecx |
|
addl %esi,%eax |
|
pxor %xmm3,%xmm9 |
|
addl 20(%rsp),%ebp |
|
xorl %edx,%ecx |
|
movl %eax,%esi |
|
roll $5,%eax |
|
pxor %xmm9,%xmm5 |
|
andl %ecx,%edi |
|
xorl %edx,%ecx |
|
movdqa %xmm10,0(%rsp) |
|
xorl %edx,%edi |
|
addl %eax,%ebp |
|
movdqa %xmm5,%xmm8 |
|
movdqa %xmm5,%xmm9 |
|
rorl $7,%ebx |
|
addl %edi,%ebp |
|
addl 24(%rsp),%edx |
|
xorl %ecx,%ebx |
|
pslldq $12,%xmm8 |
|
paddd %xmm5,%xmm5 |
|
movl %ebp,%edi |
|
roll $5,%ebp |
|
andl %ebx,%esi |
|
xorl %ecx,%ebx |
|
psrld $31,%xmm9 |
|
xorl %ecx,%esi |
|
addl %ebp,%edx |
|
movdqa %xmm8,%xmm10 |
|
rorl $7,%eax |
|
addl %esi,%edx |
|
psrld $30,%xmm8 |
|
por %xmm9,%xmm5 |
|
addl 28(%rsp),%ecx |
|
xorl %ebx,%eax |
|
movl %edx,%esi |
|
roll $5,%edx |
|
pslld $2,%xmm10 |
|
pxor %xmm8,%xmm5 |
|
andl %eax,%edi |
|
xorl %ebx,%eax |
|
movdqa 16(%r11),%xmm8 |
|
xorl %ebx,%edi |
|
addl %edx,%ecx |
|
pxor %xmm10,%xmm5 |
|
rorl $7,%ebp |
|
addl %edi,%ecx |
|
movdqa %xmm3,%xmm6 |
|
addl 32(%rsp),%ebx |
|
xorl %eax,%ebp |
|
movdqa %xmm5,%xmm10 |
|
.byte 102,15,58,15,242,8 |
|
movl %ecx,%edi |
|
roll $5,%ecx |
|
paddd %xmm5,%xmm8 |
|
andl %ebp,%esi |
|
xorl %eax,%ebp |
|
psrldq $4,%xmm10 |
|
xorl %eax,%esi |
|
addl %ecx,%ebx |
|
pxor %xmm2,%xmm6 |
|
rorl $7,%edx |
|
addl %esi,%ebx |
|
pxor %xmm4,%xmm10 |
|
addl 36(%rsp),%eax |
|
xorl %ebp,%edx |
|
movl %ebx,%esi |
|
roll $5,%ebx |
|
pxor %xmm10,%xmm6 |
|
andl %edx,%edi |
|
xorl %ebp,%edx |
|
movdqa %xmm8,16(%rsp) |
|
xorl %ebp,%edi |
|
addl %ebx,%eax |
|
movdqa %xmm6,%xmm9 |
|
movdqa %xmm6,%xmm10 |
|
rorl $7,%ecx |
|
addl %edi,%eax |
|
addl 40(%rsp),%ebp |
|
xorl %edx,%ecx |
|
pslldq $12,%xmm9 |
|
paddd %xmm6,%xmm6 |
|
movl %eax,%edi |
|
roll $5,%eax |
|
andl %ecx,%esi |
|
xorl %edx,%ecx |
|
psrld $31,%xmm10 |
|
xorl %edx,%esi |
|
addl %eax,%ebp |
|
movdqa %xmm9,%xmm8 |
|
rorl $7,%ebx |
|
addl %esi,%ebp |
|
psrld $30,%xmm9 |
|
por %xmm10,%xmm6 |
|
addl 44(%rsp),%edx |
|
xorl %ecx,%ebx |
|
movl %ebp,%esi |
|
roll $5,%ebp |
|
pslld $2,%xmm8 |
|
pxor %xmm9,%xmm6 |
|
andl %ebx,%edi |
|
xorl %ecx,%ebx |
|
movdqa 16(%r11),%xmm9 |
|
xorl %ecx,%edi |
|
addl %ebp,%edx |
|
pxor %xmm8,%xmm6 |
|
rorl $7,%eax |
|
addl %edi,%edx |
|
movdqa %xmm4,%xmm7 |
|
addl 48(%rsp),%ecx |
|
xorl %ebx,%eax |
|
movdqa %xmm6,%xmm8 |
|
.byte 102,15,58,15,251,8 |
|
movl %edx,%edi |
|
roll $5,%edx |
|
paddd %xmm6,%xmm9 |
|
andl %eax,%esi |
|
xorl %ebx,%eax |
|
psrldq $4,%xmm8 |
|
xorl %ebx,%esi |
|
addl %edx,%ecx |
|
pxor %xmm3,%xmm7 |
|
rorl $7,%ebp |
|
addl %esi,%ecx |
|
pxor %xmm5,%xmm8 |
|
addl 52(%rsp),%ebx |
|
xorl %eax,%ebp |
|
movl %ecx,%esi |
|
roll $5,%ecx |
|
pxor %xmm8,%xmm7 |
|
andl %ebp,%edi |
|
xorl %eax,%ebp |
|
movdqa %xmm9,32(%rsp) |
|
xorl %eax,%edi |
|
addl %ecx,%ebx |
|
movdqa %xmm7,%xmm10 |
|
movdqa %xmm7,%xmm8 |
|
rorl $7,%edx |
|
addl %edi,%ebx |
|
addl 56(%rsp),%eax |
|
xorl %ebp,%edx |
|
pslldq $12,%xmm10 |
|
paddd %xmm7,%xmm7 |
|
movl %ebx,%edi |
|
roll $5,%ebx |
|
andl %edx,%esi |
|
xorl %ebp,%edx |
|
psrld $31,%xmm8 |
|
xorl %ebp,%esi |
|
addl %ebx,%eax |
|
movdqa %xmm10,%xmm9 |
|
rorl $7,%ecx |
|
addl %esi,%eax |
|
psrld $30,%xmm10 |
|
por %xmm8,%xmm7 |
|
addl 60(%rsp),%ebp |
|
xorl %edx,%ecx |
|
movl %eax,%esi |
|
roll $5,%eax |
|
pslld $2,%xmm9 |
|
pxor %xmm10,%xmm7 |
|
andl %ecx,%edi |
|
xorl %edx,%ecx |
|
movdqa 16(%r11),%xmm10 |
|
xorl %edx,%edi |
|
addl %eax,%ebp |
|
pxor %xmm9,%xmm7 |
|
rorl $7,%ebx |
|
addl %edi,%ebp |
|
movdqa %xmm7,%xmm9 |
|
addl 0(%rsp),%edx |
|
pxor %xmm4,%xmm0 |
|
.byte 102,68,15,58,15,206,8 |
|
xorl %ecx,%ebx |
|
movl %ebp,%edi |
|
roll $5,%ebp |
|
pxor %xmm1,%xmm0 |
|
andl %ebx,%esi |
|
xorl %ecx,%ebx |
|
movdqa %xmm10,%xmm8 |
|
paddd %xmm7,%xmm10 |
|
xorl %ecx,%esi |
|
addl %ebp,%edx |
|
pxor %xmm9,%xmm0 |
|
rorl $7,%eax |
|
addl %esi,%edx |
|
addl 4(%rsp),%ecx |
|
xorl %ebx,%eax |
|
movdqa %xmm0,%xmm9 |
|
movdqa %xmm10,48(%rsp) |
|
movl %edx,%esi |
|
roll $5,%edx |
|
andl %eax,%edi |
|
xorl %ebx,%eax |
|
pslld $2,%xmm0 |
|
xorl %ebx,%edi |
|
addl %edx,%ecx |
|
psrld $30,%xmm9 |
|
rorl $7,%ebp |
|
addl %edi,%ecx |
|
addl 8(%rsp),%ebx |
|
xorl %eax,%ebp |
|
movl %ecx,%edi |
|
roll $5,%ecx |
|
por %xmm9,%xmm0 |
|
andl %ebp,%esi |
|
xorl %eax,%ebp |
|
movdqa %xmm0,%xmm10 |
|
xorl %eax,%esi |
|
addl %ecx,%ebx |
|
rorl $7,%edx |
|
addl %esi,%ebx |
|
addl 12(%rsp),%eax |
|
xorl %ebp,%edx |
|
movl %ebx,%esi |
|
roll $5,%ebx |
|
andl %edx,%edi |
|
xorl %ebp,%edx |
|
xorl %ebp,%edi |
|
addl %ebx,%eax |
|
rorl $7,%ecx |
|
addl %edi,%eax |
|
addl 16(%rsp),%ebp |
|
pxor %xmm5,%xmm1 |
|
.byte 102,68,15,58,15,215,8 |
|
xorl %edx,%esi |
|
movl %eax,%edi |
|
roll $5,%eax |
|
pxor %xmm2,%xmm1 |
|
xorl %ecx,%esi |
|
addl %eax,%ebp |
|
movdqa %xmm8,%xmm9 |
|
paddd %xmm0,%xmm8 |
|
rorl $7,%ebx |
|
addl %esi,%ebp |
|
pxor %xmm10,%xmm1 |
|
addl 20(%rsp),%edx |
|
xorl %ecx,%edi |
|
movl %ebp,%esi |
|
roll $5,%ebp |
|
movdqa %xmm1,%xmm10 |
|
movdqa %xmm8,0(%rsp) |
|
xorl %ebx,%edi |
|
addl %ebp,%edx |
|
rorl $7,%eax |
|
addl %edi,%edx |
|
pslld $2,%xmm1 |
|
addl 24(%rsp),%ecx |
|
xorl %ebx,%esi |
|
psrld $30,%xmm10 |
|
movl %edx,%edi |
|
roll $5,%edx |
|
xorl %eax,%esi |
|
addl %edx,%ecx |
|
rorl $7,%ebp |
|
addl %esi,%ecx |
|
por %xmm10,%xmm1 |
|
addl 28(%rsp),%ebx |
|
xorl %eax,%edi |
|
movdqa %xmm1,%xmm8 |
|
movl %ecx,%esi |
|
roll $5,%ecx |
|
xorl %ebp,%edi |
|
addl %ecx,%ebx |
|
rorl $7,%edx |
|
addl %edi,%ebx |
|
addl 32(%rsp),%eax |
|
pxor %xmm6,%xmm2 |
|
.byte 102,68,15,58,15,192,8 |
|
xorl %ebp,%esi |
|
movl %ebx,%edi |
|
roll $5,%ebx |
|
pxor %xmm3,%xmm2 |
|
xorl %edx,%esi |
|
addl %ebx,%eax |
|
movdqa 32(%r11),%xmm10 |
|
paddd %xmm1,%xmm9 |
|
rorl $7,%ecx |
|
addl %esi,%eax |
|
pxor %xmm8,%xmm2 |
|
addl 36(%rsp),%ebp |
|
xorl %edx,%edi |
|
movl %eax,%esi |
|
roll $5,%eax |
|
movdqa %xmm2,%xmm8 |
|
movdqa %xmm9,16(%rsp) |
|
xorl %ecx,%edi |
|
addl %eax,%ebp |
|
rorl $7,%ebx |
|
addl %edi,%ebp |
|
pslld $2,%xmm2 |
|
addl 40(%rsp),%edx |
|
xorl %ecx,%esi |
|
psrld $30,%xmm8 |
|
movl %ebp,%edi |
|
roll $5,%ebp |
|
xorl %ebx,%esi |
|
addl %ebp,%edx |
|
rorl $7,%eax |
|
addl %esi,%edx |
|
por %xmm8,%xmm2 |
|
addl 44(%rsp),%ecx |
|
xorl %ebx,%edi |
|
movdqa %xmm2,%xmm9 |
|
movl %edx,%esi |
|
roll $5,%edx |
|
xorl %eax,%edi |
|
addl %edx,%ecx |
|
rorl $7,%ebp |
|
addl %edi,%ecx |
|
addl 48(%rsp),%ebx |
|
pxor %xmm7,%xmm3 |
|
.byte 102,68,15,58,15,201,8 |
|
xorl %eax,%esi |
|
movl %ecx,%edi |
|
roll $5,%ecx |
|
pxor %xmm4,%xmm3 |
|
xorl %ebp,%esi |
|
addl %ecx,%ebx |
|
movdqa %xmm10,%xmm8 |
|
paddd %xmm2,%xmm10 |
|
rorl $7,%edx |
|
addl %esi,%ebx |
|
pxor %xmm9,%xmm3 |
|
addl 52(%rsp),%eax |
|
xorl %ebp,%edi |
|
movl %ebx,%esi |
|
roll $5,%ebx |
|
movdqa %xmm3,%xmm9 |
|
movdqa %xmm10,32(%rsp) |
|
xorl %edx,%edi |
|
addl %ebx,%eax |
|
rorl $7,%ecx |
|
addl %edi,%eax |
|
pslld $2,%xmm3 |
|
addl 56(%rsp),%ebp |
|
xorl %edx,%esi |
|
psrld $30,%xmm9 |
|
movl %eax,%edi |
|
roll $5,%eax |
|
xorl %ecx,%esi |
|
addl %eax,%ebp |
|
rorl $7,%ebx |
|
addl %esi,%ebp |
|
por %xmm9,%xmm3 |
|
addl 60(%rsp),%edx |
|
xorl %ecx,%edi |
|
movdqa %xmm3,%xmm10 |
|
movl %ebp,%esi |
|
roll $5,%ebp |
|
xorl %ebx,%edi |
|
addl %ebp,%edx |
|
rorl $7,%eax |
|
addl %edi,%edx |
|
addl 0(%rsp),%ecx |
|
pxor %xmm0,%xmm4 |
|
.byte 102,68,15,58,15,210,8 |
|
xorl %ebx,%esi |
|
movl %edx,%edi |
|
roll $5,%edx |
|
pxor %xmm5,%xmm4 |
|
xorl %eax,%esi |
|
addl %edx,%ecx |
|
movdqa %xmm8,%xmm9 |
|
paddd %xmm3,%xmm8 |
|
rorl $7,%ebp |
|
addl %esi,%ecx |
|
pxor %xmm10,%xmm4 |
|
addl 4(%rsp),%ebx |
|
xorl %eax,%edi |
|
movl %ecx,%esi |
|
roll $5,%ecx |
|
movdqa %xmm4,%xmm10 |
|
movdqa %xmm8,48(%rsp) |
|
xorl %ebp,%edi |
|
addl %ecx,%ebx |
|
rorl $7,%edx |
|
addl %edi,%ebx |
|
pslld $2,%xmm4 |
|
addl 8(%rsp),%eax |
|
xorl %ebp,%esi |
|
psrld $30,%xmm10 |
|
movl %ebx,%edi |
|
roll $5,%ebx |
|
xorl %edx,%esi |
|
addl %ebx,%eax |
|
rorl $7,%ecx |
|
addl %esi,%eax |
|
por %xmm10,%xmm4 |
|
addl 12(%rsp),%ebp |
|
xorl %edx,%edi |
|
movdqa %xmm4,%xmm8 |
|
movl %eax,%esi |
|
roll $5,%eax |
|
xorl %ecx,%edi |
|
addl %eax,%ebp |
|
rorl $7,%ebx |
|
addl %edi,%ebp |
|
addl 16(%rsp),%edx |
|
pxor %xmm1,%xmm5 |
|
.byte 102,68,15,58,15,195,8 |
|
xorl %ecx,%esi |
|
movl %ebp,%edi |
|
roll $5,%ebp |
|
pxor %xmm6,%xmm5 |
|
xorl %ebx,%esi |
|
addl %ebp,%edx |
|
movdqa %xmm9,%xmm10 |
|
paddd %xmm4,%xmm9 |
|
rorl $7,%eax |
|
addl %esi,%edx |
|
pxor %xmm8,%xmm5 |
|
addl 20(%rsp),%ecx |
|
xorl %ebx,%edi |
|
movl %edx,%esi |
|
roll $5,%edx |
|
movdqa %xmm5,%xmm8 |
|
movdqa %xmm9,0(%rsp) |
|
xorl %eax,%edi |
|
addl %edx,%ecx |
|
rorl $7,%ebp |
|
addl %edi,%ecx |
|
pslld $2,%xmm5 |
|
addl 24(%rsp),%ebx |
|
xorl %eax,%esi |
|
psrld $30,%xmm8 |
|
movl %ecx,%edi |
|
roll $5,%ecx |
|
xorl %ebp,%esi |
|
addl %ecx,%ebx |
|
rorl $7,%edx |
|
addl %esi,%ebx |
|
por %xmm8,%xmm5 |
|
addl 28(%rsp),%eax |
|
xorl %ebp,%edi |
|
movdqa %xmm5,%xmm9 |
|
movl %ebx,%esi |
|
roll $5,%ebx |
|
xorl %edx,%edi |
|
addl %ebx,%eax |
|
rorl $7,%ecx |
|
addl %edi,%eax |
|
movl %ecx,%edi |
|
pxor %xmm2,%xmm6 |
|
.byte 102,68,15,58,15,204,8 |
|
xorl %edx,%ecx |
|
addl 32(%rsp),%ebp |
|
andl %edx,%edi |
|
pxor %xmm7,%xmm6 |
|
andl %ecx,%esi |
|
rorl $7,%ebx |
|
movdqa %xmm10,%xmm8 |
|
paddd %xmm5,%xmm10 |
|
addl %edi,%ebp |
|
movl %eax,%edi |
|
pxor %xmm9,%xmm6 |
|
roll $5,%eax |
|
addl %esi,%ebp |
|
xorl %edx,%ecx |
|
addl %eax,%ebp |
|
movdqa %xmm6,%xmm9 |
|
movdqa %xmm10,16(%rsp) |
|
movl %ebx,%esi |
|
xorl %ecx,%ebx |
|
addl 36(%rsp),%edx |
|
andl %ecx,%esi |
|
pslld $2,%xmm6 |
|
andl %ebx,%edi |
|
rorl $7,%eax |
|
psrld $30,%xmm9 |
|
addl %esi,%edx |
|
movl %ebp,%esi |
|
roll $5,%ebp |
|
addl %edi,%edx |
|
xorl %ecx,%ebx |
|
addl %ebp,%edx |
|
por %xmm9,%xmm6 |
|
movl %eax,%edi |
|
xorl %ebx,%eax |
|
movdqa %xmm6,%xmm10 |
|
addl 40(%rsp),%ecx |
|
andl %ebx,%edi |
|
andl %eax,%esi |
|
rorl $7,%ebp |
|
addl %edi,%ecx |
|
movl %edx,%edi |
|
roll $5,%edx |
|
addl %esi,%ecx |
|
xorl %ebx,%eax |
|
addl %edx,%ecx |
|
movl %ebp,%esi |
|
xorl %eax,%ebp |
|
addl 44(%rsp),%ebx |
|
andl %eax,%esi |
|
andl %ebp,%edi |
|
rorl $7,%edx |
|
addl %esi,%ebx |
|
movl %ecx,%esi |
|
roll $5,%ecx |
|
addl %edi,%ebx |
|
xorl %eax,%ebp |
|
addl %ecx,%ebx |
|
movl %edx,%edi |
|
pxor %xmm3,%xmm7 |
|
.byte 102,68,15,58,15,213,8 |
|
xorl %ebp,%edx |
|
addl 48(%rsp),%eax |
|
andl %ebp,%edi |
|
pxor %xmm0,%xmm7 |
|
andl %edx,%esi |
|
rorl $7,%ecx |
|
movdqa 48(%r11),%xmm9 |
|
paddd %xmm6,%xmm8 |
|
addl %edi,%eax |
|
movl %ebx,%edi |
|
pxor %xmm10,%xmm7 |
|
roll $5,%ebx |
|
addl %esi,%eax |
|
xorl %ebp,%edx |
|
addl %ebx,%eax |
|
movdqa %xmm7,%xmm10 |
|
movdqa %xmm8,32(%rsp) |
|
movl %ecx,%esi |
|
xorl %edx,%ecx |
|
addl 52(%rsp),%ebp |
|
andl %edx,%esi |
|
pslld $2,%xmm7 |
|
andl %ecx,%edi |
|
rorl $7,%ebx |
|
psrld $30,%xmm10 |
|
addl %esi,%ebp |
|
movl %eax,%esi |
|
roll $5,%eax |
|
addl %edi,%ebp |
|
xorl %edx,%ecx |
|
addl %eax,%ebp |
|
por %xmm10,%xmm7 |
|
movl %ebx,%edi |
|
xorl %ecx,%ebx |
|
movdqa %xmm7,%xmm8 |
|
addl 56(%rsp),%edx |
|
andl %ecx,%edi |
|
andl %ebx,%esi |
|
rorl $7,%eax |
|
addl %edi,%edx |
|
movl %ebp,%edi |
|
roll $5,%ebp |
|
addl %esi,%edx |
|
xorl %ecx,%ebx |
|
addl %ebp,%edx |
|
movl %eax,%esi |
|
xorl %ebx,%eax |
|
addl 60(%rsp),%ecx |
|
andl %ebx,%esi |
|
andl %eax,%edi |
|
rorl $7,%ebp |
|
addl %esi,%ecx |
|
movl %edx,%esi |
|
roll $5,%edx |
|
addl %edi,%ecx |
|
xorl %ebx,%eax |
|
addl %edx,%ecx |
|
movl %ebp,%edi |
|
pxor %xmm4,%xmm0 |
|
.byte 102,68,15,58,15,198,8 |
|
xorl %eax,%ebp |
|
addl 0(%rsp),%ebx |
|
andl %eax,%edi |
|
pxor %xmm1,%xmm0 |
|
andl %ebp,%esi |
|
rorl $7,%edx |
|
movdqa %xmm9,%xmm10 |
|
paddd %xmm7,%xmm9 |
|
addl %edi,%ebx |
|
movl %ecx,%edi |
|
pxor %xmm8,%xmm0 |
|
roll $5,%ecx |
|
addl %esi,%ebx |
|
xorl %eax,%ebp |
|
addl %ecx,%ebx |
|
movdqa %xmm0,%xmm8 |
|
movdqa %xmm9,48(%rsp) |
|
movl %edx,%esi |
|
xorl %ebp,%edx |
|
addl 4(%rsp),%eax |
|
andl %ebp,%esi |
|
pslld $2,%xmm0 |
|
andl %edx,%edi |
|
rorl $7,%ecx |
|
psrld $30,%xmm8 |
|
addl %esi,%eax |
|
movl %ebx,%esi |
|
roll $5,%ebx |
|
addl %edi,%eax |
|
xorl %ebp,%edx |
|
addl %ebx,%eax |
|
por %xmm8,%xmm0 |
|
movl %ecx,%edi |
|
xorl %edx,%ecx |
|
movdqa %xmm0,%xmm9 |
|
addl 8(%rsp),%ebp |
|
andl %edx,%edi |
|
andl %ecx,%esi |
|
rorl $7,%ebx |
|
addl %edi,%ebp |
|
movl %eax,%edi |
|
roll $5,%eax |
|
addl %esi,%ebp |
|
xorl %edx,%ecx |
|
addl %eax,%ebp |
|
movl %ebx,%esi |
|
xorl %ecx,%ebx |
|
addl 12(%rsp),%edx |
|
andl %ecx,%esi |
|
andl %ebx,%edi |
|
rorl $7,%eax |
|
addl %esi,%edx |
|
movl %ebp,%esi |
|
roll $5,%ebp |
|
addl %edi,%edx |
|
xorl %ecx,%ebx |
|
addl %ebp,%edx |
|
movl %eax,%edi |
|
pxor %xmm5,%xmm1 |
|
.byte 102,68,15,58,15,207,8 |
|
xorl %ebx,%eax |
|
addl 16(%rsp),%ecx |
|
andl %ebx,%edi |
|
pxor %xmm2,%xmm1 |
|
andl %eax,%esi |
|
rorl $7,%ebp |
|
movdqa %xmm10,%xmm8 |
|
paddd %xmm0,%xmm10 |
|
addl %edi,%ecx |
|
movl %edx,%edi |
|
pxor %xmm9,%xmm1 |
|
roll $5,%edx |
|
addl %esi,%ecx |
|
xorl %ebx,%eax |
|
addl %edx,%ecx |
|
movdqa %xmm1,%xmm9 |
|
movdqa %xmm10,0(%rsp) |
|
movl %ebp,%esi |
|
xorl %eax,%ebp |
|
addl 20(%rsp),%ebx |
|
andl %eax,%esi |
|
pslld $2,%xmm1 |
|
andl %ebp,%edi |
|
rorl $7,%edx |
|
psrld $30,%xmm9 |
|
addl %esi,%ebx |
|
movl %ecx,%esi |
|
roll $5,%ecx |
|
addl %edi,%ebx |
|
xorl %eax,%ebp |
|
addl %ecx,%ebx |
|
por %xmm9,%xmm1 |
|
movl %edx,%edi |
|
xorl %ebp,%edx |
|
movdqa %xmm1,%xmm10 |
|
addl 24(%rsp),%eax |
|
andl %ebp,%edi |
|
andl %edx,%esi |
|
rorl $7,%ecx |
|
addl %edi,%eax |
|
movl %ebx,%edi |
|
roll $5,%ebx |
|
addl %esi,%eax |
|
xorl %ebp,%edx |
|
addl %ebx,%eax |
|
movl %ecx,%esi |
|
xorl %edx,%ecx |
|
addl 28(%rsp),%ebp |
|
andl %edx,%esi |
|
andl %ecx,%edi |
|
rorl $7,%ebx |
|
addl %esi,%ebp |
|
movl %eax,%esi |
|
roll $5,%eax |
|
addl %edi,%ebp |
|
xorl %edx,%ecx |
|
addl %eax,%ebp |
|
movl %ebx,%edi |
|
pxor %xmm6,%xmm2 |
|
.byte 102,68,15,58,15,208,8 |
|
xorl %ecx,%ebx |
|
addl 32(%rsp),%edx |
|
andl %ecx,%edi |
|
pxor %xmm3,%xmm2 |
|
andl %ebx,%esi |
|
rorl $7,%eax |
|
movdqa %xmm8,%xmm9 |
|
paddd %xmm1,%xmm8 |
|
addl %edi,%edx |
|
movl %ebp,%edi |
|
pxor %xmm10,%xmm2 |
|
roll $5,%ebp |
|
addl %esi,%edx |
|
xorl %ecx,%ebx |
|
addl %ebp,%edx |
|
movdqa %xmm2,%xmm10 |
|
movdqa %xmm8,16(%rsp) |
|
movl %eax,%esi |
|
xorl %ebx,%eax |
|
addl 36(%rsp),%ecx |
|
andl %ebx,%esi |
|
pslld $2,%xmm2 |
|
andl %eax,%edi |
|
rorl $7,%ebp |
|
psrld $30,%xmm10 |
|
addl %esi,%ecx |
|
movl %edx,%esi |
|
roll $5,%edx |
|
addl %edi,%ecx |
|
xorl %ebx,%eax |
|
addl %edx,%ecx |
|
por %xmm10,%xmm2 |
|
movl %ebp,%edi |
|
xorl %eax,%ebp |
|
movdqa %xmm2,%xmm8 |
|
addl 40(%rsp),%ebx |
|
andl %eax,%edi |
|
andl %ebp,%esi |
|
rorl $7,%edx |
|
addl %edi,%ebx |
|
movl %ecx,%edi |
|
roll $5,%ecx |
|
addl %esi,%ebx |
|
xorl %eax,%ebp |
|
addl %ecx,%ebx |
|
movl %edx,%esi |
|
xorl %ebp,%edx |
|
addl 44(%rsp),%eax |
|
andl %ebp,%esi |
|
andl %edx,%edi |
|
rorl $7,%ecx |
|
addl %esi,%eax |
|
movl %ebx,%esi |
|
roll $5,%ebx |
|
addl %edi,%eax |
|
xorl %ebp,%edx |
|
addl %ebx,%eax |
|
addl 48(%rsp),%ebp |
|
pxor %xmm7,%xmm3 |
|
.byte 102,68,15,58,15,193,8 |
|
xorl %edx,%esi |
|
movl %eax,%edi |
|
roll $5,%eax |
|
pxor %xmm4,%xmm3 |
|
xorl %ecx,%esi |
|
addl %eax,%ebp |
|
movdqa %xmm9,%xmm10 |
|
paddd %xmm2,%xmm9 |
|
rorl $7,%ebx |
|
addl %esi,%ebp |
|
pxor %xmm8,%xmm3 |
|
addl 52(%rsp),%edx |
|
xorl %ecx,%edi |
|
movl %ebp,%esi |
|
roll $5,%ebp |
|
movdqa %xmm3,%xmm8 |
|
movdqa %xmm9,32(%rsp) |
|
xorl %ebx,%edi |
|
addl %ebp,%edx |
|
rorl $7,%eax |
|
addl %edi,%edx |
|
pslld $2,%xmm3 |
|
addl 56(%rsp),%ecx |
|
xorl %ebx,%esi |
|
psrld $30,%xmm8 |
|
movl %edx,%edi |
|
roll $5,%edx |
|
xorl %eax,%esi |
|
addl %edx,%ecx |
|
rorl $7,%ebp |
|
addl %esi,%ecx |
|
por %xmm8,%xmm3 |
|
addl 60(%rsp),%ebx |
|
xorl %eax,%edi |
|
movl %ecx,%esi |
|
roll $5,%ecx |
|
xorl %ebp,%edi |
|
addl %ecx,%ebx |
|
rorl $7,%edx |
|
addl %edi,%ebx |
|
addl 0(%rsp),%eax |
|
paddd %xmm3,%xmm10 |
|
xorl %ebp,%esi |
|
movl %ebx,%edi |
|
roll $5,%ebx |
|
xorl %edx,%esi |
|
movdqa %xmm10,48(%rsp) |
|
addl %ebx,%eax |
|
rorl $7,%ecx |
|
addl %esi,%eax |
|
addl 4(%rsp),%ebp |
|
xorl %edx,%edi |
|
movl %eax,%esi |
|
roll $5,%eax |
|
xorl %ecx,%edi |
|
addl %eax,%ebp |
|
rorl $7,%ebx |
|
addl %edi,%ebp |
|
addl 8(%rsp),%edx |
|
xorl %ecx,%esi |
|
movl %ebp,%edi |
|
roll $5,%ebp |
|
xorl %ebx,%esi |
|
addl %ebp,%edx |
|
rorl $7,%eax |
|
addl %esi,%edx |
|
addl 12(%rsp),%ecx |
|
xorl %ebx,%edi |
|
movl %edx,%esi |
|
roll $5,%edx |
|
xorl %eax,%edi |
|
addl %edx,%ecx |
|
rorl $7,%ebp |
|
addl %edi,%ecx |
|
cmpq %r10,%r9 |
|
je .Ldone_ssse3 |
|
movdqa 64(%r11),%xmm6 |
|
movdqa 0(%r11),%xmm9 |
|
movdqu 0(%r9),%xmm0 |
|
movdqu 16(%r9),%xmm1 |
|
movdqu 32(%r9),%xmm2 |
|
movdqu 48(%r9),%xmm3 |
|
.byte 102,15,56,0,198 |
|
addq $64,%r9 |
|
addl 16(%rsp),%ebx |
|
xorl %eax,%esi |
|
.byte 102,15,56,0,206 |
|
movl %ecx,%edi |
|
roll $5,%ecx |
|
paddd %xmm9,%xmm0 |
|
xorl %ebp,%esi |
|
addl %ecx,%ebx |
|
rorl $7,%edx |
|
addl %esi,%ebx |
|
movdqa %xmm0,0(%rsp) |
|
addl 20(%rsp),%eax |
|
xorl %ebp,%edi |
|
psubd %xmm9,%xmm0 |
|
movl %ebx,%esi |
|
roll $5,%ebx |
|
xorl %edx,%edi |
|
addl %ebx,%eax |
|
rorl $7,%ecx |
|
addl %edi,%eax |
|
addl 24(%rsp),%ebp |
|
xorl %edx,%esi |
|
movl %eax,%edi |
|
roll $5,%eax |
|
xorl %ecx,%esi |
|
addl %eax,%ebp |
|
rorl $7,%ebx |
|
addl %esi,%ebp |
|
addl 28(%rsp),%edx |
|
xorl %ecx,%edi |
|
movl %ebp,%esi |
|
roll $5,%ebp |
|
xorl %ebx,%edi |
|
addl %ebp,%edx |
|
rorl $7,%eax |
|
addl %edi,%edx |
|
addl 32(%rsp),%ecx |
|
xorl %ebx,%esi |
|
.byte 102,15,56,0,214 |
|
movl %edx,%edi |
|
roll $5,%edx |
|
paddd %xmm9,%xmm1 |
|
xorl %eax,%esi |
|
addl %edx,%ecx |
|
rorl $7,%ebp |
|
addl %esi,%ecx |
|
movdqa %xmm1,16(%rsp) |
|
addl 36(%rsp),%ebx |
|
xorl %eax,%edi |
|
psubd %xmm9,%xmm1 |
|
movl %ecx,%esi |
|
roll $5,%ecx |
|
xorl %ebp,%edi |
|
addl %ecx,%ebx |
|
rorl $7,%edx |
|
addl %edi,%ebx |
|
addl 40(%rsp),%eax |
|
xorl %ebp,%esi |
|
movl %ebx,%edi |
|
roll $5,%ebx |
|
xorl %edx,%esi |
|
addl %ebx,%eax |
|
rorl $7,%ecx |
|
addl %esi,%eax |
|
addl 44(%rsp),%ebp |
|
xorl %edx,%edi |
|
movl %eax,%esi |
|
roll $5,%eax |
|
xorl %ecx,%edi |
|
addl %eax,%ebp |
|
rorl $7,%ebx |
|
addl %edi,%ebp |
|
addl 48(%rsp),%edx |
|
xorl %ecx,%esi |
|
.byte 102,15,56,0,222 |
|
movl %ebp,%edi |
|
roll $5,%ebp |
|
paddd %xmm9,%xmm2 |
|
xorl %ebx,%esi |
|
addl %ebp,%edx |
|
rorl $7,%eax |
|
addl %esi,%edx |
|
movdqa %xmm2,32(%rsp) |
|
addl 52(%rsp),%ecx |
|
xorl %ebx,%edi |
|
psubd %xmm9,%xmm2 |
|
movl %edx,%esi |
|
roll $5,%edx |
|
xorl %eax,%edi |
|
addl %edx,%ecx |
|
rorl $7,%ebp |
|
addl %edi,%ecx |
|
addl 56(%rsp),%ebx |
|
xorl %eax,%esi |
|
movl %ecx,%edi |
|
roll $5,%ecx |
|
xorl %ebp,%esi |
|
addl %ecx,%ebx |
|
rorl $7,%edx |
|
addl %esi,%ebx |
|
addl 60(%rsp),%eax |
|
xorl %ebp,%edi |
|
movl %ebx,%esi |
|
roll $5,%ebx |
|
xorl %edx,%edi |
|
addl %ebx,%eax |
|
rorl $7,%ecx |
|
addl %edi,%eax |
|
addl 0(%r8),%eax |
|
addl 4(%r8),%esi |
|
addl 8(%r8),%ecx |
|
addl 12(%r8),%edx |
|
movl %eax,0(%r8) |
|
addl 16(%r8),%ebp |
|
movl %esi,4(%r8) |
|
movl %esi,%ebx |
|
movl %ecx,8(%r8) |
|
movl %edx,12(%r8) |
|
movl %ebp,16(%r8) |
|
jmp .Loop_ssse3 |
|
|
|
.align 16 |
|
.Ldone_ssse3: |
|
addl 16(%rsp),%ebx |
|
xorl %eax,%esi |
|
movl %ecx,%edi |
|
roll $5,%ecx |
|
xorl %ebp,%esi |
|
addl %ecx,%ebx |
|
rorl $7,%edx |
|
addl %esi,%ebx |
|
addl 20(%rsp),%eax |
|
xorl %ebp,%edi |
|
movl %ebx,%esi |
|
roll $5,%ebx |
|
xorl %edx,%edi |
|
addl %ebx,%eax |
|
rorl $7,%ecx |
|
addl %edi,%eax |
|
addl 24(%rsp),%ebp |
|
xorl %edx,%esi |
|
movl %eax,%edi |
|
roll $5,%eax |
|
xorl %ecx,%esi |
|
addl %eax,%ebp |
|
rorl $7,%ebx |
|
addl %esi,%ebp |
|
addl 28(%rsp),%edx |
|
xorl %ecx,%edi |
|
movl %ebp,%esi |
|
roll $5,%ebp |
|
xorl %ebx,%edi |
|
addl %ebp,%edx |
|
rorl $7,%eax |
|
addl %edi,%edx |
|
addl 32(%rsp),%ecx |
|
xorl %ebx,%esi |
|
movl %edx,%edi |
|
roll $5,%edx |
|
xorl %eax,%esi |
|
addl %edx,%ecx |
|
rorl $7,%ebp |
|
addl %esi,%ecx |
|
addl 36(%rsp),%ebx |
|
xorl %eax,%edi |
|
movl %ecx,%esi |
|
roll $5,%ecx |
|
xorl %ebp,%edi |
|
addl %ecx,%ebx |
|
rorl $7,%edx |
|
addl %edi,%ebx |
|
addl 40(%rsp),%eax |
|
xorl %ebp,%esi |
|
movl %ebx,%edi |
|
roll $5,%ebx |
|
xorl %edx,%esi |
|
addl %ebx,%eax |
|
rorl $7,%ecx |
|
addl %esi,%eax |
|
addl 44(%rsp),%ebp |
|
xorl %edx,%edi |
|
movl %eax,%esi |
|
roll $5,%eax |
|
xorl %ecx,%edi |
|
addl %eax,%ebp |
|
rorl $7,%ebx |
|
addl %edi,%ebp |
|
addl 48(%rsp),%edx |
|
xorl %ecx,%esi |
|
movl %ebp,%edi |
|
roll $5,%ebp |
|
xorl %ebx,%esi |
|
addl %ebp,%edx |
|
rorl $7,%eax |
|
addl %esi,%edx |
|
addl 52(%rsp),%ecx |
|
xorl %ebx,%edi |
|
movl %edx,%esi |
|
roll $5,%edx |
|
xorl %eax,%edi |
|
addl %edx,%ecx |
|
rorl $7,%ebp |
|
addl %edi,%ecx |
|
addl 56(%rsp),%ebx |
|
xorl %eax,%esi |
|
movl %ecx,%edi |
|
roll $5,%ecx |
|
xorl %ebp,%esi |
|
addl %ecx,%ebx |
|
rorl $7,%edx |
|
addl %esi,%ebx |
|
addl 60(%rsp),%eax |
|
xorl %ebp,%edi |
|
movl %ebx,%esi |
|
roll $5,%ebx |
|
xorl %edx,%edi |
|
addl %ebx,%eax |
|
rorl $7,%ecx |
|
addl %edi,%eax |
|
addl 0(%r8),%eax |
|
addl 4(%r8),%esi |
|
addl 8(%r8),%ecx |
|
movl %eax,0(%r8) |
|
addl 12(%r8),%edx |
|
movl %esi,4(%r8) |
|
addl 16(%r8),%ebp |
|
movl %ecx,8(%r8) |
|
movl %edx,12(%r8) |
|
movl %ebp,16(%r8) |
|
leaq 64(%rsp),%rsi |
|
movq 0(%rsi),%r12 |
|
movq 8(%rsi),%rbp |
|
movq 16(%rsi),%rbx |
|
leaq 24(%rsi),%rsp |
|
.Lepilogue_ssse3: |
|
.byte 0xf3,0xc3 |
|
.size sha1_block_data_order_ssse3,.-sha1_block_data_order_ssse3 |
|
.type sha1_block_data_order_avx,@function |
|
.align 16 |
|
sha1_block_data_order_avx: |
|
_avx_shortcut: |
|
pushq %rbx |
|
pushq %rbp |
|
pushq %r12 |
|
leaq -64(%rsp),%rsp |
|
movq %rdi,%r8 |
|
movq %rsi,%r9 |
|
movq %rdx,%r10 |
|
vzeroupper |
|
|
|
shlq $6,%r10 |
|
addq %r9,%r10 |
|
leaq K_XX_XX(%rip),%r11 |
|
|
|
movl 0(%r8),%eax |
|
movl 4(%r8),%ebx |
|
movl 8(%r8),%ecx |
|
movl 12(%r8),%edx |
|
movl %ebx,%esi |
|
movl 16(%r8),%ebp |
|
|
|
vmovdqa 64(%r11),%xmm6 |
|
vmovdqa 0(%r11),%xmm9 |
|
vmovdqu 0(%r9),%xmm0 |
|
vmovdqu 16(%r9),%xmm1 |
|
vmovdqu 32(%r9),%xmm2 |
|
vmovdqu 48(%r9),%xmm3 |
|
vpshufb %xmm6,%xmm0,%xmm0 |
|
addq $64,%r9 |
|
vpshufb %xmm6,%xmm1,%xmm1 |
|
vpshufb %xmm6,%xmm2,%xmm2 |
|
vpshufb %xmm6,%xmm3,%xmm3 |
|
vpaddd %xmm9,%xmm0,%xmm4 |
|
vpaddd %xmm9,%xmm1,%xmm5 |
|
vpaddd %xmm9,%xmm2,%xmm6 |
|
vmovdqa %xmm4,0(%rsp) |
|
vmovdqa %xmm5,16(%rsp) |
|
vmovdqa %xmm6,32(%rsp) |
|
jmp .Loop_avx |
|
.align 16 |
|
.Loop_avx: |
|
addl 0(%rsp),%ebp |
|
xorl %edx,%ecx |
|
vpalignr $8,%xmm0,%xmm1,%xmm4 |
|
movl %eax,%edi |
|
shldl $5,%eax,%eax |
|
vpaddd %xmm3,%xmm9,%xmm9 |
|
andl %ecx,%esi |
|
xorl %edx,%ecx |
|
vpsrldq $4,%xmm3,%xmm8 |
|
xorl %edx,%esi |
|
addl %eax,%ebp |
|
vpxor %xmm0,%xmm4,%xmm4 |
|
shrdl $2,%ebx,%ebx |
|
addl %esi,%ebp |
|
vpxor %xmm2,%xmm8,%xmm8 |
|
addl 4(%rsp),%edx |
|
xorl %ecx,%ebx |
|
movl %ebp,%esi |
|
shldl $5,%ebp,%ebp |
|
vpxor %xmm8,%xmm4,%xmm4 |
|
andl %ebx,%edi |
|
xorl %ecx,%ebx |
|
vmovdqa %xmm9,48(%rsp) |
|
xorl %ecx,%edi |
|
addl %ebp,%edx |
|
vpsrld $31,%xmm4,%xmm8 |
|
shrdl $7,%eax,%eax |
|
addl %edi,%edx |
|
addl 8(%rsp),%ecx |
|
xorl %ebx,%eax |
|
vpslldq $12,%xmm4,%xmm10 |
|
vpaddd %xmm4,%xmm4,%xmm4 |
|
movl %edx,%edi |
|
shldl $5,%edx,%edx |
|
andl %eax,%esi |
|
xorl %ebx,%eax |
|
vpsrld $30,%xmm10,%xmm9 |
|
vpor %xmm8,%xmm4,%xmm4 |
|
xorl %ebx,%esi |
|
addl %edx,%ecx |
|
shrdl $7,%ebp,%ebp |
|
addl %esi,%ecx |
|
vpslld $2,%xmm10,%xmm10 |
|
vpxor %xmm9,%xmm4,%xmm4 |
|
addl 12(%rsp),%ebx |
|
xorl %eax,%ebp |
|
movl %ecx,%esi |
|
shldl $5,%ecx,%ecx |
|
vpxor %xmm10,%xmm4,%xmm4 |
|
andl %ebp,%edi |
|
xorl %eax,%ebp |
|
vmovdqa 0(%r11),%xmm10 |
|
xorl %eax,%edi |
|
addl %ecx,%ebx |
|
shrdl $7,%edx,%edx |
|
addl %edi,%ebx |
|
addl 16(%rsp),%eax |
|
xorl %ebp,%edx |
|
vpalignr $8,%xmm1,%xmm2,%xmm5 |
|
movl %ebx,%edi |
|
shldl $5,%ebx,%ebx |
|
vpaddd %xmm4,%xmm10,%xmm10 |
|
andl %edx,%esi |
|
xorl %ebp,%edx |
|
vpsrldq $4,%xmm4,%xmm9 |
|
xorl %ebp,%esi |
|
addl %ebx,%eax |
|
vpxor %xmm1,%xmm5,%xmm5 |
|
shrdl $7,%ecx,%ecx |
|
addl %esi,%eax |
|
vpxor %xmm3,%xmm9,%xmm9 |
|
addl 20(%rsp),%ebp |
|
xorl %edx,%ecx |
|
movl %eax,%esi |
|
shldl $5,%eax,%eax |
|
vpxor %xmm9,%xmm5,%xmm5 |
|
andl %ecx,%edi |
|
xorl %edx,%ecx |
|
vmovdqa %xmm10,0(%rsp) |
|
xorl %edx,%edi |
|
addl %eax,%ebp |
|
vpsrld $31,%xmm5,%xmm9 |
|
shrdl $7,%ebx,%ebx |
|
addl %edi,%ebp |
|
addl 24(%rsp),%edx |
|
xorl %ecx,%ebx |
|
vpslldq $12,%xmm5,%xmm8 |
|
vpaddd %xmm5,%xmm5,%xmm5 |
|
movl %ebp,%edi |
|
shldl $5,%ebp,%ebp |
|
andl %ebx,%esi |
|
xorl %ecx,%ebx |
|
vpsrld $30,%xmm8,%xmm10 |
|
vpor %xmm9,%xmm5,%xmm5 |
|
xorl %ecx,%esi |
|
addl %ebp,%edx |
|
shrdl $7,%eax,%eax |
|
addl %esi,%edx |
|
vpslld $2,%xmm8,%xmm8 |
|
vpxor %xmm10,%xmm5,%xmm5 |
|
addl 28(%rsp),%ecx |
|
xorl %ebx,%eax |
|
movl %edx,%esi |
|
shldl $5,%edx,%edx |
|
vpxor %xmm8,%xmm5,%xmm5 |
|
andl %eax,%edi |
|
xorl %ebx,%eax |
|
vmovdqa 16(%r11),%xmm8 |
|
xorl %ebx,%edi |
|
addl %edx,%ecx |
|
shrdl $7,%ebp,%ebp |
|
addl %edi,%ecx |
|
addl 32(%rsp),%ebx |
|
xorl %eax,%ebp |
|
vpalignr $8,%xmm2,%xmm3,%xmm6 |
|
movl %ecx,%edi |
|
shldl $5,%ecx,%ecx |
|
vpaddd %xmm5,%xmm8,%xmm8 |
|
andl %ebp,%esi |
|
xorl %eax,%ebp |
|
vpsrldq $4,%xmm5,%xmm10 |
|
xorl %eax,%esi |
|
addl %ecx,%ebx |
|
vpxor %xmm2,%xmm6,%xmm6 |
|
shrdl $7,%edx,%edx |
|
addl %esi,%ebx |
|
vpxor %xmm4,%xmm10,%xmm10 |
|
addl 36(%rsp),%eax |
|
xorl %ebp,%edx |
|
movl %ebx,%esi |
|
shldl $5,%ebx,%ebx |
|
vpxor %xmm10,%xmm6,%xmm6 |
|
andl %edx,%edi |
|
xorl %ebp,%edx |
|
vmovdqa %xmm8,16(%rsp) |
|
xorl %ebp,%edi |
|
addl %ebx,%eax |
|
vpsrld $31,%xmm6,%xmm10 |
|
shrdl $7,%ecx,%ecx |
|
addl %edi,%eax |
|
addl 40(%rsp),%ebp |
|
xorl %edx,%ecx |
|
vpslldq $12,%xmm6,%xmm9 |
|
vpaddd %xmm6,%xmm6,%xmm6 |
|
movl %eax,%edi |
|
shldl $5,%eax,%eax |
|
andl %ecx,%esi |
|
xorl %edx,%ecx |
|
vpsrld $30,%xmm9,%xmm8 |
|
vpor %xmm10,%xmm6,%xmm6 |
|
xorl %edx,%esi |
|
addl %eax,%ebp |
|
shrdl $7,%ebx,%ebx |
|
addl %esi,%ebp |
|
vpslld $2,%xmm9,%xmm9 |
|
vpxor %xmm8,%xmm6,%xmm6 |
|
addl 44(%rsp),%edx |
|
xorl %ecx,%ebx |
|
movl %ebp,%esi |
|
shldl $5,%ebp,%ebp |
|
vpxor %xmm9,%xmm6,%xmm6 |
|
andl %ebx,%edi |
|
xorl %ecx,%ebx |
|
vmovdqa 16(%r11),%xmm9 |
|
xorl %ecx,%edi |
|
addl %ebp,%edx |
|
shrdl $7,%eax,%eax |
|
addl %edi,%edx |
|
addl 48(%rsp),%ecx |
|
xorl %ebx,%eax |
|
vpalignr $8,%xmm3,%xmm4,%xmm7 |
|
movl %edx,%edi |
|
shldl $5,%edx,%edx |
|
vpaddd %xmm6,%xmm9,%xmm9 |
|
andl %eax,%esi |
|
xorl %ebx,%eax |
|
vpsrldq $4,%xmm6,%xmm8 |
|
xorl %ebx,%esi |
|
addl %edx,%ecx |
|
vpxor %xmm3,%xmm7,%xmm7 |
|
shrdl $7,%ebp,%ebp |
|
addl %esi,%ecx |
|
vpxor %xmm5,%xmm8,%xmm8 |
|
addl 52(%rsp),%ebx |
|
xorl %eax,%ebp |
|
movl %ecx,%esi |
|
shldl $5,%ecx,%ecx |
|
vpxor %xmm8,%xmm7,%xmm7 |
|
andl %ebp,%edi |
|
xorl %eax,%ebp |
|
vmovdqa %xmm9,32(%rsp) |
|
xorl %eax,%edi |
|
addl %ecx,%ebx |
|
vpsrld $31,%xmm7,%xmm8 |
|
shrdl $7,%edx,%edx |
|
addl %edi,%ebx |
|
addl 56(%rsp),%eax |
|
xorl %ebp,%edx |
|
vpslldq $12,%xmm7,%xmm10 |
|
vpaddd %xmm7,%xmm7,%xmm7 |
|
movl %ebx,%edi |
|
shldl $5,%ebx,%ebx |
|
andl %edx,%esi |
|
xorl %ebp,%edx |
|
vpsrld $30,%xmm10,%xmm9 |
|
vpor %xmm8,%xmm7,%xmm7 |
|
xorl %ebp,%esi |
|
addl %ebx,%eax |
|
shrdl $7,%ecx,%ecx |
|
addl %esi,%eax |
|
vpslld $2,%xmm10,%xmm10 |
|
vpxor %xmm9,%xmm7,%xmm7 |
|
addl 60(%rsp),%ebp |
|
xorl %edx,%ecx |
|
movl %eax,%esi |
|
shldl $5,%eax,%eax |
|
vpxor %xmm10,%xmm7,%xmm7 |
|
andl %ecx,%edi |
|
xorl %edx,%ecx |
|
vmovdqa 16(%r11),%xmm10 |
|
xorl %edx,%edi |
|
addl %eax,%ebp |
|
shrdl $7,%ebx,%ebx |
|
addl %edi,%ebp |
|
vpalignr $8,%xmm6,%xmm7,%xmm9 |
|
vpxor %xmm4,%xmm0,%xmm0 |
|
addl 0(%rsp),%edx |
|
xorl %ecx,%ebx |
|
movl %ebp,%edi |
|
shldl $5,%ebp,%ebp |
|
vpxor %xmm1,%xmm0,%xmm0 |
|
andl %ebx,%esi |
|
xorl %ecx,%ebx |
|
vmovdqa %xmm10,%xmm8 |
|
vpaddd %xmm7,%xmm10,%xmm10 |
|
xorl %ecx,%esi |
|
addl %ebp,%edx |
|
vpxor %xmm9,%xmm0,%xmm0 |
|
shrdl $7,%eax,%eax |
|
addl %esi,%edx |
|
addl 4(%rsp),%ecx |
|
xorl %ebx,%eax |
|
vpsrld $30,%xmm0,%xmm9 |
|
vmovdqa %xmm10,48(%rsp) |
|
movl %edx,%esi |
|
shldl $5,%edx,%edx |
|
andl %eax,%edi |
|
xorl %ebx,%eax |
|
vpslld $2,%xmm0,%xmm0 |
|
xorl %ebx,%edi |
|
addl %edx,%ecx |
|
shrdl $7,%ebp,%ebp |
|
addl %edi,%ecx |
|
addl 8(%rsp),%ebx |
|
xorl %eax,%ebp |
|
movl %ecx,%edi |
|
shldl $5,%ecx,%ecx |
|
vpor %xmm9,%xmm0,%xmm0 |
|
andl %ebp,%esi |
|
xorl %eax,%ebp |
|
vmovdqa %xmm0,%xmm10 |
|
xorl %eax,%esi |
|
addl %ecx,%ebx |
|
shrdl $7,%edx,%edx |
|
addl %esi,%ebx |
|
addl 12(%rsp),%eax |
|
xorl %ebp,%edx |
|
movl %ebx,%esi |
|
shldl $5,%ebx,%ebx |
|
andl %edx,%edi |
|
xorl %ebp,%edx |
|
xorl %ebp,%edi |
|
addl %ebx,%eax |
|
shrdl $7,%ecx,%ecx |
|
addl %edi,%eax |
|
vpalignr $8,%xmm7,%xmm0,%xmm10 |
|
vpxor %xmm5,%xmm1,%xmm1 |
|
addl 16(%rsp),%ebp |
|
xorl %edx,%esi |
|
movl %eax,%edi |
|
shldl $5,%eax,%eax |
|
vpxor %xmm2,%xmm1,%xmm1 |
|
xorl %ecx,%esi |
|
addl %eax,%ebp |
|
vmovdqa %xmm8,%xmm9 |
|
vpaddd %xmm0,%xmm8,%xmm8 |
|
shrdl $7,%ebx,%ebx |
|
addl %esi,%ebp |
|
vpxor %xmm10,%xmm1,%xmm1 |
|
addl 20(%rsp),%edx |
|
xorl %ecx,%edi |
|
movl %ebp,%esi |
|
shldl $5,%ebp,%ebp |
|
vpsrld $30,%xmm1,%xmm10 |
|
vmovdqa %xmm8,0(%rsp) |
|
xorl %ebx,%edi |
|
addl %ebp,%edx |
|
shrdl $7,%eax,%eax |
|
addl %edi,%edx |
|
vpslld $2,%xmm1,%xmm1 |
|
addl 24(%rsp),%ecx |
|
xorl %ebx,%esi |
|
movl %edx,%edi |
|
shldl $5,%edx,%edx |
|
xorl %eax,%esi |
|
addl %edx,%ecx |
|
shrdl $7,%ebp,%ebp |
|
addl %esi,%ecx |
|
vpor %xmm10,%xmm1,%xmm1 |
|
addl 28(%rsp),%ebx |
|
xorl %eax,%edi |
|
vmovdqa %xmm1,%xmm8 |
|
movl %ecx,%esi |
|
shldl $5,%ecx,%ecx |
|
xorl %ebp,%edi |
|
addl %ecx,%ebx |
|
shrdl $7,%edx,%edx |
|
addl %edi,%ebx |
|
vpalignr $8,%xmm0,%xmm1,%xmm8 |
|
vpxor %xmm6,%xmm2,%xmm2 |
|
addl 32(%rsp),%eax |
|
xorl %ebp,%esi |
|
movl %ebx,%edi |
|
shldl $5,%ebx,%ebx |
|
vpxor %xmm3,%xmm2,%xmm2 |
|
xorl %edx,%esi |
|
addl %ebx,%eax |
|
vmovdqa 32(%r11),%xmm10 |
|
vpaddd %xmm1,%xmm9,%xmm9 |
|
shrdl $7,%ecx,%ecx |
|
addl %esi,%eax |
|
vpxor %xmm8,%xmm2,%xmm2 |
|
addl 36(%rsp),%ebp |
|
xorl %edx,%edi |
|
movl %eax,%esi |
|
shldl $5,%eax,%eax |
|
vpsrld $30,%xmm2,%xmm8 |
|
vmovdqa %xmm9,16(%rsp) |
|
xorl %ecx,%edi |
|
addl %eax,%ebp |
|
shrdl $7,%ebx,%ebx |
|
addl %edi,%ebp |
|
vpslld $2,%xmm2,%xmm2 |
|
addl 40(%rsp),%edx |
|
xorl %ecx,%esi |
|
movl %ebp,%edi |
|
shldl $5,%ebp,%ebp |
|
xorl %ebx,%esi |
|
addl %ebp,%edx |
|
shrdl $7,%eax,%eax |
|
addl %esi,%edx |
|
vpor %xmm8,%xmm2,%xmm2 |
|
addl 44(%rsp),%ecx |
|
xorl %ebx,%edi |
|
vmovdqa %xmm2,%xmm9 |
|
movl %edx,%esi |
|
shldl $5,%edx,%edx |
|
xorl %eax,%edi |
|
addl %edx,%ecx |
|
shrdl $7,%ebp,%ebp |
|
addl %edi,%ecx |
|
vpalignr $8,%xmm1,%xmm2,%xmm9 |
|
vpxor %xmm7,%xmm3,%xmm3 |
|
addl 48(%rsp),%ebx |
|
xorl %eax,%esi |
|
movl %ecx,%edi |
|
shldl $5,%ecx,%ecx |
|
vpxor %xmm4,%xmm3,%xmm3 |
|
xorl %ebp,%esi |
|
addl %ecx,%ebx |
|
vmovdqa %xmm10,%xmm8 |
|
vpaddd %xmm2,%xmm10,%xmm10 |
|
shrdl $7,%edx,%edx |
|
addl %esi,%ebx |
|
vpxor %xmm9,%xmm3,%xmm3 |
|
addl 52(%rsp),%eax |
|
xorl %ebp,%edi |
|
movl %ebx,%esi |
|
shldl $5,%ebx,%ebx |
|
vpsrld $30,%xmm3,%xmm9 |
|
vmovdqa %xmm10,32(%rsp) |
|
xorl %edx,%edi |
|
addl %ebx,%eax |
|
shrdl $7,%ecx,%ecx |
|
addl %edi,%eax |
|
vpslld $2,%xmm3,%xmm3 |
|
addl 56(%rsp),%ebp |
|
xorl %edx,%esi |
|
movl %eax,%edi |
|
shldl $5,%eax,%eax |
|
xorl %ecx,%esi |
|
addl %eax,%ebp |
|
shrdl $7,%ebx,%ebx |
|
addl %esi,%ebp |
|
vpor %xmm9,%xmm3,%xmm3 |
|
addl 60(%rsp),%edx |
|
xorl %ecx,%edi |
|
vmovdqa %xmm3,%xmm10 |
|
movl %ebp,%esi |
|
shldl $5,%ebp,%ebp |
|
xorl %ebx,%edi |
|
addl %ebp,%edx |
|
shrdl $7,%eax,%eax |
|
addl %edi,%edx |
|
vpalignr $8,%xmm2,%xmm3,%xmm10 |
|
vpxor %xmm0,%xmm4,%xmm4 |
|
addl 0(%rsp),%ecx |
|
xorl %ebx,%esi |
|
movl %edx,%edi |
|
shldl $5,%edx,%edx |
|
vpxor %xmm5,%xmm4,%xmm4 |
|
xorl %eax,%esi |
|
addl %edx,%ecx |
|
vmovdqa %xmm8,%xmm9 |
|
vpaddd %xmm3,%xmm8,%xmm8 |
|
shrdl $7,%ebp,%ebp |
|
addl %esi,%ecx |
|
vpxor %xmm10,%xmm4,%xmm4 |
|
addl 4(%rsp),%ebx |
|
xorl %eax,%edi |
|
movl %ecx,%esi |
|
shldl $5,%ecx,%ecx |
|
vpsrld $30,%xmm4,%xmm10 |
|
vmovdqa %xmm8,48(%rsp) |
|
xorl %ebp,%edi |
|
addl %ecx,%ebx |
|
shrdl $7,%edx,%edx |
|
addl %edi,%ebx |
|
vpslld $2,%xmm4,%xmm4 |
|
addl 8(%rsp),%eax |
|
xorl %ebp,%esi |
|
movl %ebx,%edi |
|
shldl $5,%ebx,%ebx |
|
xorl %edx,%esi |
|
addl %ebx,%eax |
|
shrdl $7,%ecx,%ecx |
|
addl %esi,%eax |
|
vpor %xmm10,%xmm4,%xmm4 |
|
addl 12(%rsp),%ebp |
|
xorl %edx,%edi |
|
vmovdqa %xmm4,%xmm8 |
|
movl %eax,%esi |
|
shldl $5,%eax,%eax |
|
xorl %ecx,%edi |
|
addl %eax,%ebp |
|
shrdl $7,%ebx,%ebx |
|
addl %edi,%ebp |
|
vpalignr $8,%xmm3,%xmm4,%xmm8 |
|
vpxor %xmm1,%xmm5,%xmm5 |
|
addl 16(%rsp),%edx |
|
xorl %ecx,%esi |
|
movl %ebp,%edi |
|
shldl $5,%ebp,%ebp |
|
vpxor %xmm6,%xmm5,%xmm5 |
|
xorl %ebx,%esi |
|
addl %ebp,%edx |
|
vmovdqa %xmm9,%xmm10 |
|
vpaddd %xmm4,%xmm9,%xmm9 |
|
shrdl $7,%eax,%eax |
|
addl %esi,%edx |
|
vpxor %xmm8,%xmm5,%xmm5 |
|
addl 20(%rsp),%ecx |
|
xorl %ebx,%edi |
|
movl %edx,%esi |
|
shldl $5,%edx,%edx |
|
vpsrld $30,%xmm5,%xmm8 |
|
vmovdqa %xmm9,0(%rsp) |
|
xorl %eax,%edi |
|
addl %edx,%ecx |
|
shrdl $7,%ebp,%ebp |
|
addl %edi,%ecx |
|
vpslld $2,%xmm5,%xmm5 |
|
addl 24(%rsp),%ebx |
|
xorl %eax,%esi |
|
movl %ecx,%edi |
|
shldl $5,%ecx,%ecx |
|
xorl %ebp,%esi |
|
addl %ecx,%ebx |
|
shrdl $7,%edx,%edx |
|
addl %esi,%ebx |
|
vpor %xmm8,%xmm5,%xmm5 |
|
addl 28(%rsp),%eax |
|
xorl %ebp,%edi |
|
vmovdqa %xmm5,%xmm9 |
|
movl %ebx,%esi |
|
shldl $5,%ebx,%ebx |
|
xorl %edx,%edi |
|
addl %ebx,%eax |
|
shrdl $7,%ecx,%ecx |
|
addl %edi,%eax |
|
vpalignr $8,%xmm4,%xmm5,%xmm9 |
|
vpxor %xmm2,%xmm6,%xmm6 |
|
movl %ecx,%edi |
|
xorl %edx,%ecx |
|
addl 32(%rsp),%ebp |
|
andl %edx,%edi |
|
vpxor %xmm7,%xmm6,%xmm6 |
|
andl %ecx,%esi |
|
shrdl $7,%ebx,%ebx |
|
vmovdqa %xmm10,%xmm8 |
|
vpaddd %xmm5,%xmm10,%xmm10 |
|
addl %edi,%ebp |
|
movl %eax,%edi |
|
vpxor %xmm9,%xmm6,%xmm6 |
|
shldl $5,%eax,%eax |
|
addl %esi,%ebp |
|
xorl %edx,%ecx |
|
addl %eax,%ebp |
|
vpsrld $30,%xmm6,%xmm9 |
|
vmovdqa %xmm10,16(%rsp) |
|
movl %ebx,%esi |
|
xorl %ecx,%ebx |
|
addl 36(%rsp),%edx |
|
andl %ecx,%esi |
|
vpslld $2,%xmm6,%xmm6 |
|
andl %ebx,%edi |
|
shrdl $7,%eax,%eax |
|
addl %esi,%edx |
|
movl %ebp,%esi |
|
shldl $5,%ebp,%ebp |
|
addl %edi,%edx |
|
xorl %ecx,%ebx |
|
addl %ebp,%edx |
|
vpor %xmm9,%xmm6,%xmm6 |
|
movl %eax,%edi |
|
xorl %ebx,%eax |
|
vmovdqa %xmm6,%xmm10 |
|
addl 40(%rsp),%ecx |
|
andl %ebx,%edi |
|
andl %eax,%esi |
|
shrdl $7,%ebp,%ebp |
|
addl %edi,%ecx |
|
movl %edx,%edi |
|
shldl $5,%edx,%edx |
|
addl %esi,%ecx |
|
xorl %ebx,%eax |
|
addl %edx,%ecx |
|
movl %ebp,%esi |
|
xorl %eax,%ebp |
|
addl 44(%rsp),%ebx |
|
andl %eax,%esi |
|
andl %ebp,%edi |
|
shrdl $7,%edx,%edx |
|
addl %esi,%ebx |
|
movl %ecx,%esi |
|
shldl $5,%ecx,%ecx |
|
addl %edi,%ebx |
|
xorl %eax,%ebp |
|
addl %ecx,%ebx |
|
vpalignr $8,%xmm5,%xmm6,%xmm10 |
|
vpxor %xmm3,%xmm7,%xmm7 |
|
movl %edx,%edi |
|
xorl %ebp,%edx |
|
addl 48(%rsp),%eax |
|
andl %ebp,%edi |
|
vpxor %xmm0,%xmm7,%xmm7 |
|
andl %edx,%esi |
|
shrdl $7,%ecx,%ecx |
|
vmovdqa 48(%r11),%xmm9 |
|
vpaddd %xmm6,%xmm8,%xmm8 |
|
addl %edi,%eax |
|
movl %ebx,%edi |
|
vpxor %xmm10,%xmm7,%xmm7 |
|
shldl $5,%ebx,%ebx |
|
addl %esi,%eax |
|
xorl %ebp,%edx |
|
addl %ebx,%eax |
|
vpsrld $30,%xmm7,%xmm10 |
|
vmovdqa %xmm8,32(%rsp) |
|
movl %ecx,%esi |
|
xorl %edx,%ecx |
|
addl 52(%rsp),%ebp |
|
andl %edx,%esi |
|
vpslld $2,%xmm7,%xmm7 |
|
andl %ecx,%edi |
|
shrdl $7,%ebx,%ebx |
|
addl %esi,%ebp |
|
movl %eax,%esi |
|
shldl $5,%eax,%eax |
|
addl %edi,%ebp |
|
xorl %edx,%ecx |
|
addl %eax,%ebp |
|
vpor %xmm10,%xmm7,%xmm7 |
|
movl %ebx,%edi |
|
xorl %ecx,%ebx |
|
vmovdqa %xmm7,%xmm8 |
|
addl 56(%rsp),%edx |
|
andl %ecx,%edi |
|
andl %ebx,%esi |
|
shrdl $7,%eax,%eax |
|
addl %edi,%edx |
|
movl %ebp,%edi |
|
shldl $5,%ebp,%ebp |
|
addl %esi,%edx |
|
xorl %ecx,%ebx |
|
addl %ebp,%edx |
|
movl %eax,%esi |
|
xorl %ebx,%eax |
|
addl 60(%rsp),%ecx |
|
andl %ebx,%esi |
|
andl %eax,%edi |
|
shrdl $7,%ebp,%ebp |
|
addl %esi,%ecx |
|
movl %edx,%esi |
|
shldl $5,%edx,%edx |
|
addl %edi,%ecx |
|
xorl %ebx,%eax |
|
addl %edx,%ecx |
|
vpalignr $8,%xmm6,%xmm7,%xmm8 |
|
vpxor %xmm4,%xmm0,%xmm0 |
|
movl %ebp,%edi |
|
xorl %eax,%ebp |
|
addl 0(%rsp),%ebx |
|
andl %eax,%edi |
|
vpxor %xmm1,%xmm0,%xmm0 |
|
andl %ebp,%esi |
|
shrdl $7,%edx,%edx |
|
vmovdqa %xmm9,%xmm10 |
|
vpaddd %xmm7,%xmm9,%xmm9 |
|
addl %edi,%ebx |
|
movl %ecx,%edi |
|
vpxor %xmm8,%xmm0,%xmm0 |
|
shldl $5,%ecx,%ecx |
|
addl %esi,%ebx |
|
xorl %eax,%ebp |
|
addl %ecx,%ebx |
|
vpsrld $30,%xmm0,%xmm8 |
|
vmovdqa %xmm9,48(%rsp) |
|
movl %edx,%esi |
|
xorl %ebp,%edx |
|
addl 4(%rsp),%eax |
|
andl %ebp,%esi |
|
vpslld $2,%xmm0,%xmm0 |
|
andl %edx,%edi |
|
shrdl $7,%ecx,%ecx |
|
addl %esi,%eax |
|
movl %ebx,%esi |
|
shldl $5,%ebx,%ebx |
|
addl %edi,%eax |
|
xorl %ebp,%edx |
|
addl %ebx,%eax |
|
vpor %xmm8,%xmm0,%xmm0 |
|
movl %ecx,%edi |
|
xorl %edx,%ecx |
|
vmovdqa %xmm0,%xmm9 |
|
addl 8(%rsp),%ebp |
|
andl %edx,%edi |
|
andl %ecx,%esi |
|
shrdl $7,%ebx,%ebx |
|
addl %edi,%ebp |
|
movl %eax,%edi |
|
shldl $5,%eax,%eax |
|
addl %esi,%ebp |
|
xorl %edx,%ecx |
|
addl %eax,%ebp |
|
movl %ebx,%esi |
|
xorl %ecx,%ebx |
|
addl 12(%rsp),%edx |
|
andl %ecx,%esi |
|
andl %ebx,%edi |
|
shrdl $7,%eax,%eax |
|
addl %esi,%edx |
|
movl %ebp,%esi |
|
shldl $5,%ebp,%ebp |
|
addl %edi,%edx |
|
xorl %ecx,%ebx |
|
addl %ebp,%edx |
|
vpalignr $8,%xmm7,%xmm0,%xmm9 |
|
vpxor %xmm5,%xmm1,%xmm1 |
|
movl %eax,%edi |
|
xorl %ebx,%eax |
|
addl 16(%rsp),%ecx |
|
andl %ebx,%edi |
|
vpxor %xmm2,%xmm1,%xmm1 |
|
andl %eax,%esi |
|
shrdl $7,%ebp,%ebp |
|
vmovdqa %xmm10,%xmm8 |
|
vpaddd %xmm0,%xmm10,%xmm10 |
|
addl %edi,%ecx |
|
movl %edx,%edi |
|
vpxor %xmm9,%xmm1,%xmm1 |
|
shldl $5,%edx,%edx |
|
addl %esi,%ecx |
|
xorl %ebx,%eax |
|
addl %edx,%ecx |
|
vpsrld $30,%xmm1,%xmm9 |
|
vmovdqa %xmm10,0(%rsp) |
|
movl %ebp,%esi |
|
xorl %eax,%ebp |
|
addl 20(%rsp),%ebx |
|
andl %eax,%esi |
|
vpslld $2,%xmm1,%xmm1 |
|
andl %ebp,%edi |
|
shrdl $7,%edx,%edx |
|
addl %esi,%ebx |
|
movl %ecx,%esi |
|
shldl $5,%ecx,%ecx |
|
addl %edi,%ebx |
|
xorl %eax,%ebp |
|
addl %ecx,%ebx |
|
vpor %xmm9,%xmm1,%xmm1 |
|
movl %edx,%edi |
|
xorl %ebp,%edx |
|
vmovdqa %xmm1,%xmm10 |
|
addl 24(%rsp),%eax |
|
andl %ebp,%edi |
|
andl %edx,%esi |
|
shrdl $7,%ecx,%ecx |
|
addl %edi,%eax |
|
movl %ebx,%edi |
|
shldl $5,%ebx,%ebx |
|
addl %esi,%eax |
|
xorl %ebp,%edx |
|
addl %ebx,%eax |
|
movl %ecx,%esi |
|
xorl %edx,%ecx |
|
addl 28(%rsp),%ebp |
|
andl %edx,%esi |
|
andl %ecx,%edi |
|
shrdl $7,%ebx,%ebx |
|
addl %esi,%ebp |
|
movl %eax,%esi |
|
shldl $5,%eax,%eax |
|
addl %edi,%ebp |
|
xorl %edx,%ecx |
|
addl %eax,%ebp |
|
vpalignr $8,%xmm0,%xmm1,%xmm10 |
|
vpxor %xmm6,%xmm2,%xmm2 |
|
movl %ebx,%edi |
|
xorl %ecx,%ebx |
|
addl 32(%rsp),%edx |
|
andl %ecx,%edi |
|
vpxor %xmm3,%xmm2,%xmm2 |
|
andl %ebx,%esi |
|
shrdl $7,%eax,%eax |
|
vmovdqa %xmm8,%xmm9 |
|
vpaddd %xmm1,%xmm8,%xmm8 |
|
addl %edi,%edx |
|
movl %ebp,%edi |
|
vpxor %xmm10,%xmm2,%xmm2 |
|
shldl $5,%ebp,%ebp |
|
addl %esi,%edx |
|
xorl %ecx,%ebx |
|
addl %ebp,%edx |
|
vpsrld $30,%xmm2,%xmm10 |
|
vmovdqa %xmm8,16(%rsp) |
|
movl %eax,%esi |
|
xorl %ebx,%eax |
|
addl 36(%rsp),%ecx |
|
andl %ebx,%esi |
|
vpslld $2,%xmm2,%xmm2 |
|
andl %eax,%edi |
|
shrdl $7,%ebp,%ebp |
|
addl %esi,%ecx |
|
movl %edx,%esi |
|
shldl $5,%edx,%edx |
|
addl %edi,%ecx |
|
xorl %ebx,%eax |
|
addl %edx,%ecx |
|
vpor %xmm10,%xmm2,%xmm2 |
|
movl %ebp,%edi |
|
xorl %eax,%ebp |
|
vmovdqa %xmm2,%xmm8 |
|
addl 40(%rsp),%ebx |
|
andl %eax,%edi |
|
andl %ebp,%esi |
|
shrdl $7,%edx,%edx |
|
addl %edi,%ebx |
|
movl %ecx,%edi |
|
shldl $5,%ecx,%ecx |
|
addl %esi,%ebx |
|
xorl %eax,%ebp |
|
addl %ecx,%ebx |
|
movl %edx,%esi |
|
xorl %ebp,%edx |
|
addl 44(%rsp),%eax |
|
andl %ebp,%esi |
|
andl %edx,%edi |
|
shrdl $7,%ecx,%ecx |
|
addl %esi,%eax |
|
movl %ebx,%esi |
|
shldl $5,%ebx,%ebx |
|
addl %edi,%eax |
|
xorl %ebp,%edx |
|
addl %ebx,%eax |
|
vpalignr $8,%xmm1,%xmm2,%xmm8 |
|
vpxor %xmm7,%xmm3,%xmm3 |
|
addl 48(%rsp),%ebp |
|
xorl %edx,%esi |
|
movl %eax,%edi |
|
shldl $5,%eax,%eax |
|
vpxor %xmm4,%xmm3,%xmm3 |
|
xorl %ecx,%esi |
|
addl %eax,%ebp |
|
vmovdqa %xmm9,%xmm10 |
|
vpaddd %xmm2,%xmm9,%xmm9 |
|
shrdl $7,%ebx,%ebx |
|
addl %esi,%ebp |
|
vpxor %xmm8,%xmm3,%xmm3 |
|
addl 52(%rsp),%edx |
|
xorl %ecx,%edi |
|
movl %ebp,%esi |
|
shldl $5,%ebp,%ebp |
|
vpsrld $30,%xmm3,%xmm8 |
|
vmovdqa %xmm9,32(%rsp) |
|
xorl %ebx,%edi |
|
addl %ebp,%edx |
|
shrdl $7,%eax,%eax |
|
addl %edi,%edx |
|
vpslld $2,%xmm3,%xmm3 |
|
addl 56(%rsp),%ecx |
|
xorl %ebx,%esi |
|
movl %edx,%edi |
|
shldl $5,%edx,%edx |
|
xorl %eax,%esi |
|
addl %edx,%ecx |
|
shrdl $7,%ebp,%ebp |
|
addl %esi,%ecx |
|
vpor %xmm8,%xmm3,%xmm3 |
|
addl 60(%rsp),%ebx |
|
xorl %eax,%edi |
|
movl %ecx,%esi |
|
shldl $5,%ecx,%ecx |
|
xorl %ebp,%edi |
|
addl %ecx,%ebx |
|
shrdl $7,%edx,%edx |
|
addl %edi,%ebx |
|
addl 0(%rsp),%eax |
|
vpaddd %xmm3,%xmm10,%xmm10 |
|
xorl %ebp,%esi |
|
movl %ebx,%edi |
|
shldl $5,%ebx,%ebx |
|
xorl %edx,%esi |
|
movdqa %xmm10,48(%rsp) |
|
addl %ebx,%eax |
|
shrdl $7,%ecx,%ecx |
|
addl %esi,%eax |
|
addl 4(%rsp),%ebp |
|
xorl %edx,%edi |
|
movl %eax,%esi |
|
shldl $5,%eax,%eax |
|
xorl %ecx,%edi |
|
addl %eax,%ebp |
|
shrdl $7,%ebx,%ebx |
|
addl %edi,%ebp |
|
addl 8(%rsp),%edx |
|
xorl %ecx,%esi |
|
movl %ebp,%edi |
|
shldl $5,%ebp,%ebp |
|
xorl %ebx,%esi |
|
addl %ebp,%edx |
|
shrdl $7,%eax,%eax |
|
addl %esi,%edx |
|
addl 12(%rsp),%ecx |
|
xorl %ebx,%edi |
|
movl %edx,%esi |
|
shldl $5,%edx,%edx |
|
xorl %eax,%edi |
|
addl %edx,%ecx |
|
shrdl $7,%ebp,%ebp |
|
addl %edi,%ecx |
|
cmpq %r10,%r9 |
|
je .Ldone_avx |
|
vmovdqa 64(%r11),%xmm6 |
|
vmovdqa 0(%r11),%xmm9 |
|
vmovdqu 0(%r9),%xmm0 |
|
vmovdqu 16(%r9),%xmm1 |
|
vmovdqu 32(%r9),%xmm2 |
|
vmovdqu 48(%r9),%xmm3 |
|
vpshufb %xmm6,%xmm0,%xmm0 |
|
addq $64,%r9 |
|
addl 16(%rsp),%ebx |
|
xorl %eax,%esi |
|
vpshufb %xmm6,%xmm1,%xmm1 |
|
movl %ecx,%edi |
|
shldl $5,%ecx,%ecx |
|
vpaddd %xmm9,%xmm0,%xmm4 |
|
xorl %ebp,%esi |
|
addl %ecx,%ebx |
|
shrdl $7,%edx,%edx |
|
addl %esi,%ebx |
|
vmovdqa %xmm4,0(%rsp) |
|
addl 20(%rsp),%eax |
|
xorl %ebp,%edi |
|
movl %ebx,%esi |
|
shldl $5,%ebx,%ebx |
|
xorl %edx,%edi |
|
addl %ebx,%eax |
|
shrdl $7,%ecx,%ecx |
|
addl %edi,%eax |
|
addl 24(%rsp),%ebp |
|
xorl %edx,%esi |
|
movl %eax,%edi |
|
shldl $5,%eax,%eax |
|
xorl %ecx,%esi |
|
addl %eax,%ebp |
|
shrdl $7,%ebx,%ebx |
|
addl %esi,%ebp |
|
addl 28(%rsp),%edx |
|
xorl %ecx,%edi |
|
movl %ebp,%esi |
|
shldl $5,%ebp,%ebp |
|
xorl %ebx,%edi |
|
addl %ebp,%edx |
|
shrdl $7,%eax,%eax |
|
addl %edi,%edx |
|
addl 32(%rsp),%ecx |
|
xorl %ebx,%esi |
|
vpshufb %xmm6,%xmm2,%xmm2 |
|
movl %edx,%edi |
|
shldl $5,%edx,%edx |
|
vpaddd %xmm9,%xmm1,%xmm5 |
|
xorl %eax,%esi |
|
addl %edx,%ecx |
|
shrdl $7,%ebp,%ebp |
|
addl %esi,%ecx |
|
vmovdqa %xmm5,16(%rsp) |
|
addl 36(%rsp),%ebx |
|
xorl %eax,%edi |
|
movl %ecx,%esi |
|
shldl $5,%ecx,%ecx |
|
xorl %ebp,%edi |
|
addl %ecx,%ebx |
|
shrdl $7,%edx,%edx |
|
addl %edi,%ebx |
|
addl 40(%rsp),%eax |
|
xorl %ebp,%esi |
|
movl %ebx,%edi |
|
shldl $5,%ebx,%ebx |
|
xorl %edx,%esi |
|
addl %ebx,%eax |
|
shrdl $7,%ecx,%ecx |
|
addl %esi,%eax |
|
addl 44(%rsp),%ebp |
|
xorl %edx,%edi |
|
movl %eax,%esi |
|
shldl $5,%eax,%eax |
|
xorl %ecx,%edi |
|
addl %eax,%ebp |
|
shrdl $7,%ebx,%ebx |
|
addl %edi,%ebp |
|
addl 48(%rsp),%edx |
|
xorl %ecx,%esi |
|
vpshufb %xmm6,%xmm3,%xmm3 |
|
movl %ebp,%edi |
|
shldl $5,%ebp,%ebp |
|
vpaddd %xmm9,%xmm2,%xmm6 |
|
xorl %ebx,%esi |
|
addl %ebp,%edx |
|
shrdl $7,%eax,%eax |
|
addl %esi,%edx |
|
vmovdqa %xmm6,32(%rsp) |
|
addl 52(%rsp),%ecx |
|
xorl %ebx,%edi |
|
movl %edx,%esi |
|
shldl $5,%edx,%edx |
|
xorl %eax,%edi |
|
addl %edx,%ecx |
|
shrdl $7,%ebp,%ebp |
|
addl %edi,%ecx |
|
addl 56(%rsp),%ebx |
|
xorl %eax,%esi |
|
movl %ecx,%edi |
|
shldl $5,%ecx,%ecx |
|
xorl %ebp,%esi |
|
addl %ecx,%ebx |
|
shrdl $7,%edx,%edx |
|
addl %esi,%ebx |
|
addl 60(%rsp),%eax |
|
xorl %ebp,%edi |
|
movl %ebx,%esi |
|
shldl $5,%ebx,%ebx |
|
xorl %edx,%edi |
|
addl %ebx,%eax |
|
shrdl $7,%ecx,%ecx |
|
addl %edi,%eax |
|
addl 0(%r8),%eax |
|
addl 4(%r8),%esi |
|
addl 8(%r8),%ecx |
|
addl 12(%r8),%edx |
|
movl %eax,0(%r8) |
|
addl 16(%r8),%ebp |
|
movl %esi,4(%r8) |
|
movl %esi,%ebx |
|
movl %ecx,8(%r8) |
|
movl %edx,12(%r8) |
|
movl %ebp,16(%r8) |
|
jmp .Loop_avx |
|
|
|
.align 16 |
|
.Ldone_avx: |
|
addl 16(%rsp),%ebx |
|
xorl %eax,%esi |
|
movl %ecx,%edi |
|
shldl $5,%ecx,%ecx |
|
xorl %ebp,%esi |
|
addl %ecx,%ebx |
|
shrdl $7,%edx,%edx |
|
addl %esi,%ebx |
|
addl 20(%rsp),%eax |
|
xorl %ebp,%edi |
|
movl %ebx,%esi |
|
shldl $5,%ebx,%ebx |
|
xorl %edx,%edi |
|
addl %ebx,%eax |
|
shrdl $7,%ecx,%ecx |
|
addl %edi,%eax |
|
addl 24(%rsp),%ebp |
|
xorl %edx,%esi |
|
movl %eax,%edi |
|
shldl $5,%eax,%eax |
|
xorl %ecx,%esi |
|
addl %eax,%ebp |
|
shrdl $7,%ebx,%ebx |
|
addl %esi,%ebp |
|
addl 28(%rsp),%edx |
|
xorl %ecx,%edi |
|
movl %ebp,%esi |
|
shldl $5,%ebp,%ebp |
|
xorl %ebx,%edi |
|
addl %ebp,%edx |
|
shrdl $7,%eax,%eax |
|
addl %edi,%edx |
|
addl 32(%rsp),%ecx |
|
xorl %ebx,%esi |
|
movl %edx,%edi |
|
shldl $5,%edx,%edx |
|
xorl %eax,%esi |
|
addl %edx,%ecx |
|
shrdl $7,%ebp,%ebp |
|
addl %esi,%ecx |
|
addl 36(%rsp),%ebx |
|
xorl %eax,%edi |
|
movl %ecx,%esi |
|
shldl $5,%ecx,%ecx |
|
xorl %ebp,%edi |
|
addl %ecx,%ebx |
|
shrdl $7,%edx,%edx |
|
addl %edi,%ebx |
|
addl 40(%rsp),%eax |
|
xorl %ebp,%esi |
|
movl %ebx,%edi |
|
shldl $5,%ebx,%ebx |
|
xorl %edx,%esi |
|
addl %ebx,%eax |
|
shrdl $7,%ecx,%ecx |
|
addl %esi,%eax |
|
addl 44(%rsp),%ebp |
|
xorl %edx,%edi |
|
movl %eax,%esi |
|
shldl $5,%eax,%eax |
|
xorl %ecx,%edi |
|
addl %eax,%ebp |
|
shrdl $7,%ebx,%ebx |
|
addl %edi,%ebp |
|
addl 48(%rsp),%edx |
|
xorl %ecx,%esi |
|
movl %ebp,%edi |
|
shldl $5,%ebp,%ebp |
|
xorl %ebx,%esi |
|
addl %ebp,%edx |
|
shrdl $7,%eax,%eax |
|
addl %esi,%edx |
|
addl 52(%rsp),%ecx |
|
xorl %ebx,%edi |
|
movl %edx,%esi |
|
shldl $5,%edx,%edx |
|
xorl %eax,%edi |
|
addl %edx,%ecx |
|
shrdl $7,%ebp,%ebp |
|
addl %edi,%ecx |
|
addl 56(%rsp),%ebx |
|
xorl %eax,%esi |
|
movl %ecx,%edi |
|
shldl $5,%ecx,%ecx |
|
xorl %ebp,%esi |
|
addl %ecx,%ebx |
|
shrdl $7,%edx,%edx |
|
addl %esi,%ebx |
|
addl 60(%rsp),%eax |
|
xorl %ebp,%edi |
|
movl %ebx,%esi |
|
shldl $5,%ebx,%ebx |
|
xorl %edx,%edi |
|
addl %ebx,%eax |
|
shrdl $7,%ecx,%ecx |
|
addl %edi,%eax |
|
vzeroupper |
|
|
|
addl 0(%r8),%eax |
|
addl 4(%r8),%esi |
|
addl 8(%r8),%ecx |
|
movl %eax,0(%r8) |
|
addl 12(%r8),%edx |
|
movl %esi,4(%r8) |
|
addl 16(%r8),%ebp |
|
movl %ecx,8(%r8) |
|
movl %edx,12(%r8) |
|
movl %ebp,16(%r8) |
|
leaq 64(%rsp),%rsi |
|
movq 0(%rsi),%r12 |
|
movq 8(%rsi),%rbp |
|
movq 16(%rsi),%rbx |
|
leaq 24(%rsi),%rsp |
|
.Lepilogue_avx: |
|
.byte 0xf3,0xc3 |
|
.size sha1_block_data_order_avx,.-sha1_block_data_order_avx |
|
.align 64 |
|
K_XX_XX: |
|
.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 |
|
.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 |
|
.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc |
|
.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 |
|
.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f |
|
.byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 |
|
.align 64
|
|
|