# Copyright (c) 2011-2013, Andy Polyakov # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # * Redistributions of source code must retain copyright notices, # this list of conditions and the following disclaimer. # # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials # provided with the distribution. # # * Neither the name of the Andy Polyakov nor the names of its # copyright holder and contributors may be used to endorse or # promote products derived from this software without specific # prior written permission. # # ALTERNATIVELY, provided that this notice is retained in full, this # product may be distributed under the terms of the GNU General Public # License (GPL), in which case the provisions of the GPL apply INSTEAD OF # those given above. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # *** This file is auto-generated *** # .text .globl _sha256_block_data_order .p2align 4 _sha256_block_data_order: leaq __gnutls_x86_cpuid_s(%rip),%r11 movl 0(%r11),%r9d movl 4(%r11),%r10d movl 8(%r11),%r11d testl $512,%r10d jnz L$ssse3_shortcut pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 movq %rsp,%r11 shlq $4,%rdx subq $64+32,%rsp leaq (%rsi,%rdx,4),%rdx andq $-64,%rsp movq %rdi,64+0(%rsp) movq %rsi,64+8(%rsp) movq %rdx,64+16(%rsp) movq %r11,64+24(%rsp) L$prologue: movl 0(%rdi),%eax movl 4(%rdi),%ebx movl 8(%rdi),%ecx movl 12(%rdi),%edx movl 16(%rdi),%r8d movl 20(%rdi),%r9d movl 24(%rdi),%r10d movl 28(%rdi),%r11d jmp L$loop .p2align 4 L$loop: movl %ebx,%edi leaq K256(%rip),%rbp xorl %ecx,%edi movl 0(%rsi),%r12d movl %r8d,%r13d movl %eax,%r14d bswapl %r12d rorl $14,%r13d movl %r9d,%r15d rorl $9,%r14d xorl %r8d,%r13d xorl %r10d,%r15d movl %r12d,0(%rsp) xorl %eax,%r14d andl %r8d,%r15d rorl $5,%r13d addl %r11d,%r12d xorl %r10d,%r15d rorl $11,%r14d xorl %r8d,%r13d addl %r15d,%r12d movl %eax,%r15d addl (%rbp),%r12d xorl %eax,%r14d rorl $6,%r13d xorl %ebx,%r15d movl %ebx,%r11d rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%r11d addl %r12d,%edx addl %r12d,%r11d leaq 4(%rbp),%rbp addl %r14d,%r11d movl 4(%rsi),%r12d movl %edx,%r13d movl %r11d,%r14d bswapl %r12d rorl $14,%r13d movl %r8d,%edi rorl $9,%r14d xorl %edx,%r13d xorl %r9d,%edi movl %r12d,4(%rsp) xorl %r11d,%r14d andl %edx,%edi rorl $5,%r13d addl %r10d,%r12d xorl %r9d,%edi rorl $11,%r14d xorl %edx,%r13d addl %edi,%r12d movl %r11d,%edi addl (%rbp),%r12d xorl %r11d,%r14d rorl $6,%r13d xorl %eax,%edi movl %eax,%r10d rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%r10d addl %r12d,%ecx addl %r12d,%r10d leaq 4(%rbp),%rbp addl %r14d,%r10d movl 8(%rsi),%r12d movl %ecx,%r13d movl %r10d,%r14d bswapl %r12d rorl $14,%r13d movl %edx,%r15d rorl $9,%r14d xorl %ecx,%r13d xorl %r8d,%r15d movl %r12d,8(%rsp) xorl %r10d,%r14d andl %ecx,%r15d rorl $5,%r13d addl %r9d,%r12d xorl %r8d,%r15d rorl $11,%r14d xorl %ecx,%r13d addl %r15d,%r12d movl %r10d,%r15d addl (%rbp),%r12d xorl %r10d,%r14d rorl $6,%r13d xorl %r11d,%r15d movl %r11d,%r9d rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%r9d addl %r12d,%ebx addl %r12d,%r9d leaq 4(%rbp),%rbp addl %r14d,%r9d movl 12(%rsi),%r12d movl %ebx,%r13d movl %r9d,%r14d bswapl %r12d rorl $14,%r13d movl %ecx,%edi rorl $9,%r14d xorl %ebx,%r13d xorl %edx,%edi movl %r12d,12(%rsp) xorl %r9d,%r14d andl %ebx,%edi rorl $5,%r13d addl %r8d,%r12d xorl %edx,%edi rorl $11,%r14d xorl %ebx,%r13d addl %edi,%r12d movl %r9d,%edi addl (%rbp),%r12d xorl %r9d,%r14d rorl $6,%r13d xorl %r10d,%edi movl %r10d,%r8d rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%r8d addl %r12d,%eax addl %r12d,%r8d leaq 20(%rbp),%rbp addl %r14d,%r8d movl 16(%rsi),%r12d movl %eax,%r13d movl %r8d,%r14d bswapl %r12d rorl $14,%r13d movl %ebx,%r15d rorl $9,%r14d xorl %eax,%r13d xorl %ecx,%r15d movl %r12d,16(%rsp) xorl %r8d,%r14d andl %eax,%r15d rorl $5,%r13d addl %edx,%r12d xorl %ecx,%r15d rorl $11,%r14d xorl %eax,%r13d addl %r15d,%r12d movl %r8d,%r15d addl (%rbp),%r12d xorl %r8d,%r14d rorl $6,%r13d xorl %r9d,%r15d movl %r9d,%edx rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%edx addl %r12d,%r11d addl %r12d,%edx leaq 4(%rbp),%rbp addl %r14d,%edx movl 20(%rsi),%r12d movl %r11d,%r13d movl %edx,%r14d bswapl %r12d rorl $14,%r13d movl %eax,%edi rorl $9,%r14d xorl %r11d,%r13d xorl %ebx,%edi movl %r12d,20(%rsp) xorl %edx,%r14d andl %r11d,%edi rorl $5,%r13d addl %ecx,%r12d xorl %ebx,%edi rorl $11,%r14d xorl %r11d,%r13d addl %edi,%r12d movl %edx,%edi addl (%rbp),%r12d xorl %edx,%r14d rorl $6,%r13d xorl %r8d,%edi movl %r8d,%ecx rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%ecx addl %r12d,%r10d addl %r12d,%ecx leaq 4(%rbp),%rbp addl %r14d,%ecx movl 24(%rsi),%r12d movl %r10d,%r13d movl %ecx,%r14d bswapl %r12d rorl $14,%r13d movl %r11d,%r15d rorl $9,%r14d xorl %r10d,%r13d xorl %eax,%r15d movl %r12d,24(%rsp) xorl %ecx,%r14d andl %r10d,%r15d rorl $5,%r13d addl %ebx,%r12d xorl %eax,%r15d rorl $11,%r14d xorl %r10d,%r13d addl %r15d,%r12d movl %ecx,%r15d addl (%rbp),%r12d xorl %ecx,%r14d rorl $6,%r13d xorl %edx,%r15d movl %edx,%ebx rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%ebx addl %r12d,%r9d addl %r12d,%ebx leaq 4(%rbp),%rbp addl %r14d,%ebx movl 28(%rsi),%r12d movl %r9d,%r13d movl %ebx,%r14d bswapl %r12d rorl $14,%r13d movl %r10d,%edi rorl $9,%r14d xorl %r9d,%r13d xorl %r11d,%edi movl %r12d,28(%rsp) xorl %ebx,%r14d andl %r9d,%edi rorl $5,%r13d addl %eax,%r12d xorl %r11d,%edi rorl $11,%r14d xorl %r9d,%r13d addl %edi,%r12d movl %ebx,%edi addl (%rbp),%r12d xorl %ebx,%r14d rorl $6,%r13d xorl %ecx,%edi movl %ecx,%eax rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%eax addl %r12d,%r8d addl %r12d,%eax leaq 20(%rbp),%rbp addl %r14d,%eax movl 32(%rsi),%r12d movl %r8d,%r13d movl %eax,%r14d bswapl %r12d rorl $14,%r13d movl %r9d,%r15d rorl $9,%r14d xorl %r8d,%r13d xorl %r10d,%r15d movl %r12d,32(%rsp) xorl %eax,%r14d andl %r8d,%r15d rorl $5,%r13d addl %r11d,%r12d xorl %r10d,%r15d rorl $11,%r14d xorl %r8d,%r13d addl %r15d,%r12d movl %eax,%r15d addl (%rbp),%r12d xorl %eax,%r14d rorl $6,%r13d xorl %ebx,%r15d movl %ebx,%r11d rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%r11d addl %r12d,%edx addl %r12d,%r11d leaq 4(%rbp),%rbp addl %r14d,%r11d movl 36(%rsi),%r12d movl %edx,%r13d movl %r11d,%r14d bswapl %r12d rorl $14,%r13d movl %r8d,%edi rorl $9,%r14d xorl %edx,%r13d xorl %r9d,%edi movl %r12d,36(%rsp) xorl %r11d,%r14d andl %edx,%edi rorl $5,%r13d addl %r10d,%r12d xorl %r9d,%edi rorl $11,%r14d xorl %edx,%r13d addl %edi,%r12d movl %r11d,%edi addl (%rbp),%r12d xorl %r11d,%r14d rorl $6,%r13d xorl %eax,%edi movl %eax,%r10d rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%r10d addl %r12d,%ecx addl %r12d,%r10d leaq 4(%rbp),%rbp addl %r14d,%r10d movl 40(%rsi),%r12d movl %ecx,%r13d movl %r10d,%r14d bswapl %r12d rorl $14,%r13d movl %edx,%r15d rorl $9,%r14d xorl %ecx,%r13d xorl %r8d,%r15d movl %r12d,40(%rsp) xorl %r10d,%r14d andl %ecx,%r15d rorl $5,%r13d addl %r9d,%r12d xorl %r8d,%r15d rorl $11,%r14d xorl %ecx,%r13d addl %r15d,%r12d movl %r10d,%r15d addl (%rbp),%r12d xorl %r10d,%r14d rorl $6,%r13d xorl %r11d,%r15d movl %r11d,%r9d rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%r9d addl %r12d,%ebx addl %r12d,%r9d leaq 4(%rbp),%rbp addl %r14d,%r9d movl 44(%rsi),%r12d movl %ebx,%r13d movl %r9d,%r14d bswapl %r12d rorl $14,%r13d movl %ecx,%edi rorl $9,%r14d xorl %ebx,%r13d xorl %edx,%edi movl %r12d,44(%rsp) xorl %r9d,%r14d andl %ebx,%edi rorl $5,%r13d addl %r8d,%r12d xorl %edx,%edi rorl $11,%r14d xorl %ebx,%r13d addl %edi,%r12d movl %r9d,%edi addl (%rbp),%r12d xorl %r9d,%r14d rorl $6,%r13d xorl %r10d,%edi movl %r10d,%r8d rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%r8d addl %r12d,%eax addl %r12d,%r8d leaq 20(%rbp),%rbp addl %r14d,%r8d movl 48(%rsi),%r12d movl %eax,%r13d movl %r8d,%r14d bswapl %r12d rorl $14,%r13d movl %ebx,%r15d rorl $9,%r14d xorl %eax,%r13d xorl %ecx,%r15d movl %r12d,48(%rsp) xorl %r8d,%r14d andl %eax,%r15d rorl $5,%r13d addl %edx,%r12d xorl %ecx,%r15d rorl $11,%r14d xorl %eax,%r13d addl %r15d,%r12d movl %r8d,%r15d addl (%rbp),%r12d xorl %r8d,%r14d rorl $6,%r13d xorl %r9d,%r15d movl %r9d,%edx rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%edx addl %r12d,%r11d addl %r12d,%edx leaq 4(%rbp),%rbp addl %r14d,%edx movl 52(%rsi),%r12d movl %r11d,%r13d movl %edx,%r14d bswapl %r12d rorl $14,%r13d movl %eax,%edi rorl $9,%r14d xorl %r11d,%r13d xorl %ebx,%edi movl %r12d,52(%rsp) xorl %edx,%r14d andl %r11d,%edi rorl $5,%r13d addl %ecx,%r12d xorl %ebx,%edi rorl $11,%r14d xorl %r11d,%r13d addl %edi,%r12d movl %edx,%edi addl (%rbp),%r12d xorl %edx,%r14d rorl $6,%r13d xorl %r8d,%edi movl %r8d,%ecx rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%ecx addl %r12d,%r10d addl %r12d,%ecx leaq 4(%rbp),%rbp addl %r14d,%ecx movl 56(%rsi),%r12d movl %r10d,%r13d movl %ecx,%r14d bswapl %r12d rorl $14,%r13d movl %r11d,%r15d rorl $9,%r14d xorl %r10d,%r13d xorl %eax,%r15d movl %r12d,56(%rsp) xorl %ecx,%r14d andl %r10d,%r15d rorl $5,%r13d addl %ebx,%r12d xorl %eax,%r15d rorl $11,%r14d xorl %r10d,%r13d addl %r15d,%r12d movl %ecx,%r15d addl (%rbp),%r12d xorl %ecx,%r14d rorl $6,%r13d xorl %edx,%r15d movl %edx,%ebx rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%ebx addl %r12d,%r9d addl %r12d,%ebx leaq 4(%rbp),%rbp addl %r14d,%ebx movl 60(%rsi),%r12d movl %r9d,%r13d movl %ebx,%r14d bswapl %r12d rorl $14,%r13d movl %r10d,%edi rorl $9,%r14d xorl %r9d,%r13d xorl %r11d,%edi movl %r12d,60(%rsp) xorl %ebx,%r14d andl %r9d,%edi rorl $5,%r13d addl %eax,%r12d xorl %r11d,%edi rorl $11,%r14d xorl %r9d,%r13d addl %edi,%r12d movl %ebx,%edi addl (%rbp),%r12d xorl %ebx,%r14d rorl $6,%r13d xorl %ecx,%edi movl %ecx,%eax rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%eax addl %r12d,%r8d addl %r12d,%eax movl 4(%rsp),%r13d leaq 20(%rbp),%rbp addl %r14d,%eax jmp L$rounds_16_xx .p2align 4 L$rounds_16_xx: movl 56(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%r15d rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %r15d,%r14d shrl $10,%r15d xorl %r13d,%r12d rorl $17,%r14d addl 36(%rsp),%r12d xorl %r15d,%r14d addl 0(%rsp),%r12d movl %r8d,%r13d addl %r14d,%r12d movl %eax,%r14d rorl $14,%r13d movl %r9d,%r15d rorl $9,%r14d xorl %r8d,%r13d xorl %r10d,%r15d movl %r12d,0(%rsp) xorl %eax,%r14d andl %r8d,%r15d rorl $5,%r13d addl %r11d,%r12d xorl %r10d,%r15d rorl $11,%r14d xorl %r8d,%r13d addl %r15d,%r12d movl %eax,%r15d addl (%rbp),%r12d xorl %eax,%r14d rorl $6,%r13d xorl %ebx,%r15d movl %ebx,%r11d rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%r11d addl %r12d,%edx addl %r12d,%r11d movl 8(%rsp),%r13d leaq 4(%rbp),%rbp addl %r14d,%r11d movl 60(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%edi rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %edi,%r14d shrl $10,%edi xorl %r13d,%r12d rorl $17,%r14d addl 40(%rsp),%r12d xorl %edi,%r14d addl 4(%rsp),%r12d movl %edx,%r13d addl %r14d,%r12d movl %r11d,%r14d rorl $14,%r13d movl %r8d,%edi rorl $9,%r14d xorl %edx,%r13d xorl %r9d,%edi movl %r12d,4(%rsp) xorl %r11d,%r14d andl %edx,%edi rorl $5,%r13d addl %r10d,%r12d xorl %r9d,%edi rorl $11,%r14d xorl %edx,%r13d addl %edi,%r12d movl %r11d,%edi addl (%rbp),%r12d xorl %r11d,%r14d rorl $6,%r13d xorl %eax,%edi movl %eax,%r10d rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%r10d addl %r12d,%ecx addl %r12d,%r10d movl 12(%rsp),%r13d leaq 4(%rbp),%rbp addl %r14d,%r10d movl 0(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%r15d rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %r15d,%r14d shrl $10,%r15d xorl %r13d,%r12d rorl $17,%r14d addl 44(%rsp),%r12d xorl %r15d,%r14d addl 8(%rsp),%r12d movl %ecx,%r13d addl %r14d,%r12d movl %r10d,%r14d rorl $14,%r13d movl %edx,%r15d rorl $9,%r14d xorl %ecx,%r13d xorl %r8d,%r15d movl %r12d,8(%rsp) xorl %r10d,%r14d andl %ecx,%r15d rorl $5,%r13d addl %r9d,%r12d xorl %r8d,%r15d rorl $11,%r14d xorl %ecx,%r13d addl %r15d,%r12d movl %r10d,%r15d addl (%rbp),%r12d xorl %r10d,%r14d rorl $6,%r13d xorl %r11d,%r15d movl %r11d,%r9d rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%r9d addl %r12d,%ebx addl %r12d,%r9d movl 16(%rsp),%r13d leaq 4(%rbp),%rbp addl %r14d,%r9d movl 4(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%edi rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %edi,%r14d shrl $10,%edi xorl %r13d,%r12d rorl $17,%r14d addl 48(%rsp),%r12d xorl %edi,%r14d addl 12(%rsp),%r12d movl %ebx,%r13d addl %r14d,%r12d movl %r9d,%r14d rorl $14,%r13d movl %ecx,%edi rorl $9,%r14d xorl %ebx,%r13d xorl %edx,%edi movl %r12d,12(%rsp) xorl %r9d,%r14d andl %ebx,%edi rorl $5,%r13d addl %r8d,%r12d xorl %edx,%edi rorl $11,%r14d xorl %ebx,%r13d addl %edi,%r12d movl %r9d,%edi addl (%rbp),%r12d xorl %r9d,%r14d rorl $6,%r13d xorl %r10d,%edi movl %r10d,%r8d rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%r8d addl %r12d,%eax addl %r12d,%r8d movl 20(%rsp),%r13d leaq 20(%rbp),%rbp addl %r14d,%r8d movl 8(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%r15d rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %r15d,%r14d shrl $10,%r15d xorl %r13d,%r12d rorl $17,%r14d addl 52(%rsp),%r12d xorl %r15d,%r14d addl 16(%rsp),%r12d movl %eax,%r13d addl %r14d,%r12d movl %r8d,%r14d rorl $14,%r13d movl %ebx,%r15d rorl $9,%r14d xorl %eax,%r13d xorl %ecx,%r15d movl %r12d,16(%rsp) xorl %r8d,%r14d andl %eax,%r15d rorl $5,%r13d addl %edx,%r12d xorl %ecx,%r15d rorl $11,%r14d xorl %eax,%r13d addl %r15d,%r12d movl %r8d,%r15d addl (%rbp),%r12d xorl %r8d,%r14d rorl $6,%r13d xorl %r9d,%r15d movl %r9d,%edx rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%edx addl %r12d,%r11d addl %r12d,%edx movl 24(%rsp),%r13d leaq 4(%rbp),%rbp addl %r14d,%edx movl 12(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%edi rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %edi,%r14d shrl $10,%edi xorl %r13d,%r12d rorl $17,%r14d addl 56(%rsp),%r12d xorl %edi,%r14d addl 20(%rsp),%r12d movl %r11d,%r13d addl %r14d,%r12d movl %edx,%r14d rorl $14,%r13d movl %eax,%edi rorl $9,%r14d xorl %r11d,%r13d xorl %ebx,%edi movl %r12d,20(%rsp) xorl %edx,%r14d andl %r11d,%edi rorl $5,%r13d addl %ecx,%r12d xorl %ebx,%edi rorl $11,%r14d xorl %r11d,%r13d addl %edi,%r12d movl %edx,%edi addl (%rbp),%r12d xorl %edx,%r14d rorl $6,%r13d xorl %r8d,%edi movl %r8d,%ecx rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%ecx addl %r12d,%r10d addl %r12d,%ecx movl 28(%rsp),%r13d leaq 4(%rbp),%rbp addl %r14d,%ecx movl 16(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%r15d rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %r15d,%r14d shrl $10,%r15d xorl %r13d,%r12d rorl $17,%r14d addl 60(%rsp),%r12d xorl %r15d,%r14d addl 24(%rsp),%r12d movl %r10d,%r13d addl %r14d,%r12d movl %ecx,%r14d rorl $14,%r13d movl %r11d,%r15d rorl $9,%r14d xorl %r10d,%r13d xorl %eax,%r15d movl %r12d,24(%rsp) xorl %ecx,%r14d andl %r10d,%r15d rorl $5,%r13d addl %ebx,%r12d xorl %eax,%r15d rorl $11,%r14d xorl %r10d,%r13d addl %r15d,%r12d movl %ecx,%r15d addl (%rbp),%r12d xorl %ecx,%r14d rorl $6,%r13d xorl %edx,%r15d movl %edx,%ebx rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%ebx addl %r12d,%r9d addl %r12d,%ebx movl 32(%rsp),%r13d leaq 4(%rbp),%rbp addl %r14d,%ebx movl 20(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%edi rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %edi,%r14d shrl $10,%edi xorl %r13d,%r12d rorl $17,%r14d addl 0(%rsp),%r12d xorl %edi,%r14d addl 28(%rsp),%r12d movl %r9d,%r13d addl %r14d,%r12d movl %ebx,%r14d rorl $14,%r13d movl %r10d,%edi rorl $9,%r14d xorl %r9d,%r13d xorl %r11d,%edi movl %r12d,28(%rsp) xorl %ebx,%r14d andl %r9d,%edi rorl $5,%r13d addl %eax,%r12d xorl %r11d,%edi rorl $11,%r14d xorl %r9d,%r13d addl %edi,%r12d movl %ebx,%edi addl (%rbp),%r12d xorl %ebx,%r14d rorl $6,%r13d xorl %ecx,%edi movl %ecx,%eax rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%eax addl %r12d,%r8d addl %r12d,%eax movl 36(%rsp),%r13d leaq 20(%rbp),%rbp addl %r14d,%eax movl 24(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%r15d rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %r15d,%r14d shrl $10,%r15d xorl %r13d,%r12d rorl $17,%r14d addl 4(%rsp),%r12d xorl %r15d,%r14d addl 32(%rsp),%r12d movl %r8d,%r13d addl %r14d,%r12d movl %eax,%r14d rorl $14,%r13d movl %r9d,%r15d rorl $9,%r14d xorl %r8d,%r13d xorl %r10d,%r15d movl %r12d,32(%rsp) xorl %eax,%r14d andl %r8d,%r15d rorl $5,%r13d addl %r11d,%r12d xorl %r10d,%r15d rorl $11,%r14d xorl %r8d,%r13d addl %r15d,%r12d movl %eax,%r15d addl (%rbp),%r12d xorl %eax,%r14d rorl $6,%r13d xorl %ebx,%r15d movl %ebx,%r11d rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%r11d addl %r12d,%edx addl %r12d,%r11d movl 40(%rsp),%r13d leaq 4(%rbp),%rbp addl %r14d,%r11d movl 28(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%edi rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %edi,%r14d shrl $10,%edi xorl %r13d,%r12d rorl $17,%r14d addl 8(%rsp),%r12d xorl %edi,%r14d addl 36(%rsp),%r12d movl %edx,%r13d addl %r14d,%r12d movl %r11d,%r14d rorl $14,%r13d movl %r8d,%edi rorl $9,%r14d xorl %edx,%r13d xorl %r9d,%edi movl %r12d,36(%rsp) xorl %r11d,%r14d andl %edx,%edi rorl $5,%r13d addl %r10d,%r12d xorl %r9d,%edi rorl $11,%r14d xorl %edx,%r13d addl %edi,%r12d movl %r11d,%edi addl (%rbp),%r12d xorl %r11d,%r14d rorl $6,%r13d xorl %eax,%edi movl %eax,%r10d rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%r10d addl %r12d,%ecx addl %r12d,%r10d movl 44(%rsp),%r13d leaq 4(%rbp),%rbp addl %r14d,%r10d movl 32(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%r15d rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %r15d,%r14d shrl $10,%r15d xorl %r13d,%r12d rorl $17,%r14d addl 12(%rsp),%r12d xorl %r15d,%r14d addl 40(%rsp),%r12d movl %ecx,%r13d addl %r14d,%r12d movl %r10d,%r14d rorl $14,%r13d movl %edx,%r15d rorl $9,%r14d xorl %ecx,%r13d xorl %r8d,%r15d movl %r12d,40(%rsp) xorl %r10d,%r14d andl %ecx,%r15d rorl $5,%r13d addl %r9d,%r12d xorl %r8d,%r15d rorl $11,%r14d xorl %ecx,%r13d addl %r15d,%r12d movl %r10d,%r15d addl (%rbp),%r12d xorl %r10d,%r14d rorl $6,%r13d xorl %r11d,%r15d movl %r11d,%r9d rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%r9d addl %r12d,%ebx addl %r12d,%r9d movl 48(%rsp),%r13d leaq 4(%rbp),%rbp addl %r14d,%r9d movl 36(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%edi rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %edi,%r14d shrl $10,%edi xorl %r13d,%r12d rorl $17,%r14d addl 16(%rsp),%r12d xorl %edi,%r14d addl 44(%rsp),%r12d movl %ebx,%r13d addl %r14d,%r12d movl %r9d,%r14d rorl $14,%r13d movl %ecx,%edi rorl $9,%r14d xorl %ebx,%r13d xorl %edx,%edi movl %r12d,44(%rsp) xorl %r9d,%r14d andl %ebx,%edi rorl $5,%r13d addl %r8d,%r12d xorl %edx,%edi rorl $11,%r14d xorl %ebx,%r13d addl %edi,%r12d movl %r9d,%edi addl (%rbp),%r12d xorl %r9d,%r14d rorl $6,%r13d xorl %r10d,%edi movl %r10d,%r8d rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%r8d addl %r12d,%eax addl %r12d,%r8d movl 52(%rsp),%r13d leaq 20(%rbp),%rbp addl %r14d,%r8d movl 40(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%r15d rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %r15d,%r14d shrl $10,%r15d xorl %r13d,%r12d rorl $17,%r14d addl 20(%rsp),%r12d xorl %r15d,%r14d addl 48(%rsp),%r12d movl %eax,%r13d addl %r14d,%r12d movl %r8d,%r14d rorl $14,%r13d movl %ebx,%r15d rorl $9,%r14d xorl %eax,%r13d xorl %ecx,%r15d movl %r12d,48(%rsp) xorl %r8d,%r14d andl %eax,%r15d rorl $5,%r13d addl %edx,%r12d xorl %ecx,%r15d rorl $11,%r14d xorl %eax,%r13d addl %r15d,%r12d movl %r8d,%r15d addl (%rbp),%r12d xorl %r8d,%r14d rorl $6,%r13d xorl %r9d,%r15d movl %r9d,%edx rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%edx addl %r12d,%r11d addl %r12d,%edx movl 56(%rsp),%r13d leaq 4(%rbp),%rbp addl %r14d,%edx movl 44(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%edi rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %edi,%r14d shrl $10,%edi xorl %r13d,%r12d rorl $17,%r14d addl 24(%rsp),%r12d xorl %edi,%r14d addl 52(%rsp),%r12d movl %r11d,%r13d addl %r14d,%r12d movl %edx,%r14d rorl $14,%r13d movl %eax,%edi rorl $9,%r14d xorl %r11d,%r13d xorl %ebx,%edi movl %r12d,52(%rsp) xorl %edx,%r14d andl %r11d,%edi rorl $5,%r13d addl %ecx,%r12d xorl %ebx,%edi rorl $11,%r14d xorl %r11d,%r13d addl %edi,%r12d movl %edx,%edi addl (%rbp),%r12d xorl %edx,%r14d rorl $6,%r13d xorl %r8d,%edi movl %r8d,%ecx rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%ecx addl %r12d,%r10d addl %r12d,%ecx movl 60(%rsp),%r13d leaq 4(%rbp),%rbp addl %r14d,%ecx movl 48(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%r15d rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %r15d,%r14d shrl $10,%r15d xorl %r13d,%r12d rorl $17,%r14d addl 28(%rsp),%r12d xorl %r15d,%r14d addl 56(%rsp),%r12d movl %r10d,%r13d addl %r14d,%r12d movl %ecx,%r14d rorl $14,%r13d movl %r11d,%r15d rorl $9,%r14d xorl %r10d,%r13d xorl %eax,%r15d movl %r12d,56(%rsp) xorl %ecx,%r14d andl %r10d,%r15d rorl $5,%r13d addl %ebx,%r12d xorl %eax,%r15d rorl $11,%r14d xorl %r10d,%r13d addl %r15d,%r12d movl %ecx,%r15d addl (%rbp),%r12d xorl %ecx,%r14d rorl $6,%r13d xorl %edx,%r15d movl %edx,%ebx rorl $2,%r14d andl %r15d,%edi addl %r13d,%r12d xorl %edi,%ebx addl %r12d,%r9d addl %r12d,%ebx movl 0(%rsp),%r13d leaq 4(%rbp),%rbp addl %r14d,%ebx movl 52(%rsp),%r14d movl %r13d,%r12d rorl $11,%r13d movl %r14d,%edi rorl $2,%r14d xorl %r12d,%r13d shrl $3,%r12d rorl $7,%r13d xorl %edi,%r14d shrl $10,%edi xorl %r13d,%r12d rorl $17,%r14d addl 32(%rsp),%r12d xorl %edi,%r14d addl 60(%rsp),%r12d movl %r9d,%r13d addl %r14d,%r12d movl %ebx,%r14d rorl $14,%r13d movl %r10d,%edi rorl $9,%r14d xorl %r9d,%r13d xorl %r11d,%edi movl %r12d,60(%rsp) xorl %ebx,%r14d andl %r9d,%edi rorl $5,%r13d addl %eax,%r12d xorl %r11d,%edi rorl $11,%r14d xorl %r9d,%r13d addl %edi,%r12d movl %ebx,%edi addl (%rbp),%r12d xorl %ebx,%r14d rorl $6,%r13d xorl %ecx,%edi movl %ecx,%eax rorl $2,%r14d andl %edi,%r15d addl %r13d,%r12d xorl %r15d,%eax addl %r12d,%r8d addl %r12d,%eax movl 4(%rsp),%r13d leaq 20(%rbp),%rbp addl %r14d,%eax cmpb $0,3(%rbp) jnz L$rounds_16_xx movq 64+0(%rsp),%rdi leaq 64(%rsi),%rsi addl 0(%rdi),%eax addl 4(%rdi),%ebx addl 8(%rdi),%ecx addl 12(%rdi),%edx addl 16(%rdi),%r8d addl 20(%rdi),%r9d addl 24(%rdi),%r10d addl 28(%rdi),%r11d cmpq 64+16(%rsp),%rsi movl %eax,0(%rdi) movl %ebx,4(%rdi) movl %ecx,8(%rdi) movl %edx,12(%rdi) movl %r8d,16(%rdi) movl %r9d,20(%rdi) movl %r10d,24(%rdi) movl %r11d,28(%rdi) jb L$loop movq 64+24(%rsp),%rsi movq (%rsi),%r15 movq 8(%rsi),%r14 movq 16(%rsi),%r13 movq 24(%rsi),%r12 movq 32(%rsi),%rbp movq 40(%rsi),%rbx leaq 48(%rsi),%rsp L$epilogue: .byte 0xf3,0xc3 .p2align 6 K256: .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908 .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908 .byte 83,72,65,50,53,54,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 .p2align 6 sha256_block_data_order_ssse3: L$ssse3_shortcut: pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 movq %rsp,%r11 shlq $4,%rdx subq $96,%rsp leaq (%rsi,%rdx,4),%rdx andq $-64,%rsp movq %rdi,64+0(%rsp) movq %rsi,64+8(%rsp) movq %rdx,64+16(%rsp) movq %r11,64+24(%rsp) L$prologue_ssse3: movl 0(%rdi),%eax movl 4(%rdi),%ebx movl 8(%rdi),%ecx movl 12(%rdi),%edx movl 16(%rdi),%r8d movl 20(%rdi),%r9d movl 24(%rdi),%r10d movl 28(%rdi),%r11d movdqa K256+512+32(%rip),%xmm8 movdqa K256+512+64(%rip),%xmm9 jmp L$loop_ssse3 .p2align 4 L$loop_ssse3: movdqa K256+512(%rip),%xmm7 movdqu 0(%rsi),%xmm0 movdqu 16(%rsi),%xmm1 movdqu 32(%rsi),%xmm2 movdqu 48(%rsi),%xmm3 .byte 102,15,56,0,199 leaq K256(%rip),%rbp .byte 102,15,56,0,207 movdqa 0(%rbp),%xmm4 .byte 102,15,56,0,215 movdqa 32(%rbp),%xmm5 paddd %xmm0,%xmm4 movdqa 64(%rbp),%xmm6 .byte 102,15,56,0,223 movdqa 96(%rbp),%xmm7 paddd %xmm1,%xmm5 paddd %xmm2,%xmm6 paddd %xmm3,%xmm7 movdqa %xmm4,0(%rsp) movl %eax,%r14d movdqa %xmm5,16(%rsp) movl %ebx,%edi movdqa %xmm6,32(%rsp) xorl %ecx,%edi movdqa %xmm7,48(%rsp) movl %r8d,%r13d jmp L$ssse3_00_47 .p2align 4 L$ssse3_00_47: subq $-32*4,%rbp rorl $14,%r13d movl %r14d,%eax movdqa %xmm1,%xmm4 movl %r9d,%r12d movdqa %xmm3,%xmm7 xorl %r8d,%r13d rorl $9,%r14d xorl %r10d,%r12d .byte 102,15,58,15,224,4 rorl $5,%r13d xorl %eax,%r14d .byte 102,15,58,15,250,4 andl %r8d,%r12d xorl %r8d,%r13d addl 0(%rsp),%r11d movl %eax,%r15d rorl $11,%r14d xorl %r10d,%r12d movdqa %xmm4,%xmm5 xorl %ebx,%r15d movdqa %xmm4,%xmm6 rorl $6,%r13d addl %r12d,%r11d andl %r15d,%edi psrld $3,%xmm4 xorl %eax,%r14d addl %r13d,%r11d xorl %ebx,%edi paddd %xmm7,%xmm0 addl %r11d,%edx rorl $2,%r14d addl %edi,%r11d psrld $7,%xmm6 movl %edx,%r13d addl %r11d,%r14d rorl $14,%r13d movl %r14d,%r11d pshufd $250,%xmm3,%xmm7 movl %r8d,%r12d pslld $14,%xmm5 xorl %edx,%r13d pxor %xmm6,%xmm4 rorl $9,%r14d xorl %r9d,%r12d psrld $11,%xmm6 rorl $5,%r13d xorl %r11d,%r14d pxor %xmm5,%xmm4 andl %edx,%r12d xorl %edx,%r13d pslld $11,%xmm5 addl 4(%rsp),%r10d pxor %xmm6,%xmm4 movl %r11d,%edi rorl $11,%r14d xorl %r9d,%r12d movdqa %xmm7,%xmm6 xorl %eax,%edi rorl $6,%r13d addl %r12d,%r10d pxor %xmm5,%xmm4 andl %edi,%r15d xorl %r11d,%r14d psrld $10,%xmm7 addl %r13d,%r10d xorl %eax,%r15d paddd %xmm4,%xmm0 addl %r10d,%ecx rorl $2,%r14d addl %r15d,%r10d movl %ecx,%r13d psrlq $17,%xmm6 addl %r10d,%r14d rorl $14,%r13d movl %r14d,%r10d movl %edx,%r12d pxor %xmm6,%xmm7 xorl %ecx,%r13d rorl $9,%r14d psrlq $2,%xmm6 xorl %r8d,%r12d rorl $5,%r13d xorl %r10d,%r14d pxor %xmm6,%xmm7 andl %ecx,%r12d xorl %ecx,%r13d addl 8(%rsp),%r9d .byte 102,65,15,56,0,248 movl %r10d,%r15d rorl $11,%r14d xorl %r8d,%r12d xorl %r11d,%r15d rorl $6,%r13d paddd %xmm7,%xmm0 addl %r12d,%r9d pshufd $80,%xmm0,%xmm7 andl %r15d,%edi xorl %r10d,%r14d addl %r13d,%r9d xorl %r11d,%edi movdqa %xmm7,%xmm6 addl %r9d,%ebx rorl $2,%r14d addl %edi,%r9d psrld $10,%xmm7 movl %ebx,%r13d psrlq $17,%xmm6 addl %r9d,%r14d rorl $14,%r13d movl %r14d,%r9d movl %ecx,%r12d pxor %xmm6,%xmm7 xorl %ebx,%r13d rorl $9,%r14d xorl %edx,%r12d psrlq $2,%xmm6 rorl $5,%r13d xorl %r9d,%r14d andl %ebx,%r12d xorl %ebx,%r13d pxor %xmm6,%xmm7 addl 12(%rsp),%r8d movl %r9d,%edi movdqa 0(%rbp),%xmm6 rorl $11,%r14d xorl %edx,%r12d .byte 102,65,15,56,0,249 xorl %r10d,%edi rorl $6,%r13d addl %r12d,%r8d andl %edi,%r15d xorl %r9d,%r14d paddd %xmm7,%xmm0 addl %r13d,%r8d xorl %r10d,%r15d addl %r8d,%eax paddd %xmm0,%xmm6 rorl $2,%r14d addl %r15d,%r8d movl %eax,%r13d addl %r8d,%r14d movdqa %xmm6,0(%rsp) rorl $14,%r13d movl %r14d,%r8d movdqa %xmm2,%xmm4 movl %ebx,%r12d movdqa %xmm0,%xmm7 xorl %eax,%r13d rorl $9,%r14d xorl %ecx,%r12d .byte 102,15,58,15,225,4 rorl $5,%r13d xorl %r8d,%r14d .byte 102,15,58,15,251,4 andl %eax,%r12d xorl %eax,%r13d addl 16(%rsp),%edx movl %r8d,%r15d rorl $11,%r14d xorl %ecx,%r12d movdqa %xmm4,%xmm5 xorl %r9d,%r15d movdqa %xmm4,%xmm6 rorl $6,%r13d addl %r12d,%edx andl %r15d,%edi psrld $3,%xmm4 xorl %r8d,%r14d addl %r13d,%edx xorl %r9d,%edi paddd %xmm7,%xmm1 addl %edx,%r11d rorl $2,%r14d addl %edi,%edx psrld $7,%xmm6 movl %r11d,%r13d addl %edx,%r14d rorl $14,%r13d movl %r14d,%edx pshufd $250,%xmm0,%xmm7 movl %eax,%r12d pslld $14,%xmm5 xorl %r11d,%r13d pxor %xmm6,%xmm4 rorl $9,%r14d xorl %ebx,%r12d psrld $11,%xmm6 rorl $5,%r13d xorl %edx,%r14d pxor %xmm5,%xmm4 andl %r11d,%r12d xorl %r11d,%r13d pslld $11,%xmm5 addl 20(%rsp),%ecx pxor %xmm6,%xmm4 movl %edx,%edi rorl $11,%r14d xorl %ebx,%r12d movdqa %xmm7,%xmm6 xorl %r8d,%edi rorl $6,%r13d addl %r12d,%ecx pxor %xmm5,%xmm4 andl %edi,%r15d xorl %edx,%r14d psrld $10,%xmm7 addl %r13d,%ecx xorl %r8d,%r15d paddd %xmm4,%xmm1 addl %ecx,%r10d rorl $2,%r14d addl %r15d,%ecx movl %r10d,%r13d psrlq $17,%xmm6 addl %ecx,%r14d rorl $14,%r13d movl %r14d,%ecx movl %r11d,%r12d pxor %xmm6,%xmm7 xorl %r10d,%r13d rorl $9,%r14d psrlq $2,%xmm6 xorl %eax,%r12d rorl $5,%r13d xorl %ecx,%r14d pxor %xmm6,%xmm7 andl %r10d,%r12d xorl %r10d,%r13d addl 24(%rsp),%ebx .byte 102,65,15,56,0,248 movl %ecx,%r15d rorl $11,%r14d xorl %eax,%r12d xorl %edx,%r15d rorl $6,%r13d paddd %xmm7,%xmm1 addl %r12d,%ebx pshufd $80,%xmm1,%xmm7 andl %r15d,%edi xorl %ecx,%r14d addl %r13d,%ebx xorl %edx,%edi movdqa %xmm7,%xmm6 addl %ebx,%r9d rorl $2,%r14d addl %edi,%ebx psrld $10,%xmm7 movl %r9d,%r13d psrlq $17,%xmm6 addl %ebx,%r14d rorl $14,%r13d movl %r14d,%ebx movl %r10d,%r12d pxor %xmm6,%xmm7 xorl %r9d,%r13d rorl $9,%r14d xorl %r11d,%r12d psrlq $2,%xmm6 rorl $5,%r13d xorl %ebx,%r14d andl %r9d,%r12d xorl %r9d,%r13d pxor %xmm6,%xmm7 addl 28(%rsp),%eax movl %ebx,%edi movdqa 32(%rbp),%xmm6 rorl $11,%r14d xorl %r11d,%r12d .byte 102,65,15,56,0,249 xorl %ecx,%edi rorl $6,%r13d addl %r12d,%eax andl %edi,%r15d xorl %ebx,%r14d paddd %xmm7,%xmm1 addl %r13d,%eax xorl %ecx,%r15d addl %eax,%r8d paddd %xmm1,%xmm6 rorl $2,%r14d addl %r15d,%eax movl %r8d,%r13d addl %eax,%r14d movdqa %xmm6,16(%rsp) rorl $14,%r13d movl %r14d,%eax movdqa %xmm3,%xmm4 movl %r9d,%r12d movdqa %xmm1,%xmm7 xorl %r8d,%r13d rorl $9,%r14d xorl %r10d,%r12d .byte 102,15,58,15,226,4 rorl $5,%r13d xorl %eax,%r14d .byte 102,15,58,15,248,4 andl %r8d,%r12d xorl %r8d,%r13d addl 32(%rsp),%r11d movl %eax,%r15d rorl $11,%r14d xorl %r10d,%r12d movdqa %xmm4,%xmm5 xorl %ebx,%r15d movdqa %xmm4,%xmm6 rorl $6,%r13d addl %r12d,%r11d andl %r15d,%edi psrld $3,%xmm4 xorl %eax,%r14d addl %r13d,%r11d xorl %ebx,%edi paddd %xmm7,%xmm2 addl %r11d,%edx rorl $2,%r14d addl %edi,%r11d psrld $7,%xmm6 movl %edx,%r13d addl %r11d,%r14d rorl $14,%r13d movl %r14d,%r11d pshufd $250,%xmm1,%xmm7 movl %r8d,%r12d pslld $14,%xmm5 xorl %edx,%r13d pxor %xmm6,%xmm4 rorl $9,%r14d xorl %r9d,%r12d psrld $11,%xmm6 rorl $5,%r13d xorl %r11d,%r14d pxor %xmm5,%xmm4 andl %edx,%r12d xorl %edx,%r13d pslld $11,%xmm5 addl 36(%rsp),%r10d pxor %xmm6,%xmm4 movl %r11d,%edi rorl $11,%r14d xorl %r9d,%r12d movdqa %xmm7,%xmm6 xorl %eax,%edi rorl $6,%r13d addl %r12d,%r10d pxor %xmm5,%xmm4 andl %edi,%r15d xorl %r11d,%r14d psrld $10,%xmm7 addl %r13d,%r10d xorl %eax,%r15d paddd %xmm4,%xmm2 addl %r10d,%ecx rorl $2,%r14d addl %r15d,%r10d movl %ecx,%r13d psrlq $17,%xmm6 addl %r10d,%r14d rorl $14,%r13d movl %r14d,%r10d movl %edx,%r12d pxor %xmm6,%xmm7 xorl %ecx,%r13d rorl $9,%r14d psrlq $2,%xmm6 xorl %r8d,%r12d rorl $5,%r13d xorl %r10d,%r14d pxor %xmm6,%xmm7 andl %ecx,%r12d xorl %ecx,%r13d addl 40(%rsp),%r9d .byte 102,65,15,56,0,248 movl %r10d,%r15d rorl $11,%r14d xorl %r8d,%r12d xorl %r11d,%r15d rorl $6,%r13d paddd %xmm7,%xmm2 addl %r12d,%r9d pshufd $80,%xmm2,%xmm7 andl %r15d,%edi xorl %r10d,%r14d addl %r13d,%r9d xorl %r11d,%edi movdqa %xmm7,%xmm6 addl %r9d,%ebx rorl $2,%r14d addl %edi,%r9d psrld $10,%xmm7 movl %ebx,%r13d psrlq $17,%xmm6 addl %r9d,%r14d rorl $14,%r13d movl %r14d,%r9d movl %ecx,%r12d pxor %xmm6,%xmm7 xorl %ebx,%r13d rorl $9,%r14d xorl %edx,%r12d psrlq $2,%xmm6 rorl $5,%r13d xorl %r9d,%r14d andl %ebx,%r12d xorl %ebx,%r13d pxor %xmm6,%xmm7 addl 44(%rsp),%r8d movl %r9d,%edi movdqa 64(%rbp),%xmm6 rorl $11,%r14d xorl %edx,%r12d .byte 102,65,15,56,0,249 xorl %r10d,%edi rorl $6,%r13d addl %r12d,%r8d andl %edi,%r15d xorl %r9d,%r14d paddd %xmm7,%xmm2 addl %r13d,%r8d xorl %r10d,%r15d addl %r8d,%eax paddd %xmm2,%xmm6 rorl $2,%r14d addl %r15d,%r8d movl %eax,%r13d addl %r8d,%r14d movdqa %xmm6,32(%rsp) rorl $14,%r13d movl %r14d,%r8d movdqa %xmm0,%xmm4 movl %ebx,%r12d movdqa %xmm2,%xmm7 xorl %eax,%r13d rorl $9,%r14d xorl %ecx,%r12d .byte 102,15,58,15,227,4 rorl $5,%r13d xorl %r8d,%r14d .byte 102,15,58,15,249,4 andl %eax,%r12d xorl %eax,%r13d addl 48(%rsp),%edx movl %r8d,%r15d rorl $11,%r14d xorl %ecx,%r12d movdqa %xmm4,%xmm5 xorl %r9d,%r15d movdqa %xmm4,%xmm6 rorl $6,%r13d addl %r12d,%edx andl %r15d,%edi psrld $3,%xmm4 xorl %r8d,%r14d addl %r13d,%edx xorl %r9d,%edi paddd %xmm7,%xmm3 addl %edx,%r11d rorl $2,%r14d addl %edi,%edx psrld $7,%xmm6 movl %r11d,%r13d addl %edx,%r14d rorl $14,%r13d movl %r14d,%edx pshufd $250,%xmm2,%xmm7 movl %eax,%r12d pslld $14,%xmm5 xorl %r11d,%r13d pxor %xmm6,%xmm4 rorl $9,%r14d xorl %ebx,%r12d psrld $11,%xmm6 rorl $5,%r13d xorl %edx,%r14d pxor %xmm5,%xmm4 andl %r11d,%r12d xorl %r11d,%r13d pslld $11,%xmm5 addl 52(%rsp),%ecx pxor %xmm6,%xmm4 movl %edx,%edi rorl $11,%r14d xorl %ebx,%r12d movdqa %xmm7,%xmm6 xorl %r8d,%edi rorl $6,%r13d addl %r12d,%ecx pxor %xmm5,%xmm4 andl %edi,%r15d xorl %edx,%r14d psrld $10,%xmm7 addl %r13d,%ecx xorl %r8d,%r15d paddd %xmm4,%xmm3 addl %ecx,%r10d rorl $2,%r14d addl %r15d,%ecx movl %r10d,%r13d psrlq $17,%xmm6 addl %ecx,%r14d rorl $14,%r13d movl %r14d,%ecx movl %r11d,%r12d pxor %xmm6,%xmm7 xorl %r10d,%r13d rorl $9,%r14d psrlq $2,%xmm6 xorl %eax,%r12d rorl $5,%r13d xorl %ecx,%r14d pxor %xmm6,%xmm7 andl %r10d,%r12d xorl %r10d,%r13d addl 56(%rsp),%ebx .byte 102,65,15,56,0,248 movl %ecx,%r15d rorl $11,%r14d xorl %eax,%r12d xorl %edx,%r15d rorl $6,%r13d paddd %xmm7,%xmm3 addl %r12d,%ebx pshufd $80,%xmm3,%xmm7 andl %r15d,%edi xorl %ecx,%r14d addl %r13d,%ebx xorl %edx,%edi movdqa %xmm7,%xmm6 addl %ebx,%r9d rorl $2,%r14d addl %edi,%ebx psrld $10,%xmm7 movl %r9d,%r13d psrlq $17,%xmm6 addl %ebx,%r14d rorl $14,%r13d movl %r14d,%ebx movl %r10d,%r12d pxor %xmm6,%xmm7 xorl %r9d,%r13d rorl $9,%r14d xorl %r11d,%r12d psrlq $2,%xmm6 rorl $5,%r13d xorl %ebx,%r14d andl %r9d,%r12d xorl %r9d,%r13d pxor %xmm6,%xmm7 addl 60(%rsp),%eax movl %ebx,%edi movdqa 96(%rbp),%xmm6 rorl $11,%r14d xorl %r11d,%r12d .byte 102,65,15,56,0,249 xorl %ecx,%edi rorl $6,%r13d addl %r12d,%eax andl %edi,%r15d xorl %ebx,%r14d paddd %xmm7,%xmm3 addl %r13d,%eax xorl %ecx,%r15d addl %eax,%r8d paddd %xmm3,%xmm6 rorl $2,%r14d addl %r15d,%eax movl %r8d,%r13d addl %eax,%r14d movdqa %xmm6,48(%rsp) cmpb $0,131(%rbp) jne L$ssse3_00_47 rorl $14,%r13d movl %r14d,%eax movl %r9d,%r12d xorl %r8d,%r13d rorl $9,%r14d xorl %r10d,%r12d rorl $5,%r13d xorl %eax,%r14d andl %r8d,%r12d xorl %r8d,%r13d addl 0(%rsp),%r11d movl %eax,%r15d rorl $11,%r14d xorl %r10d,%r12d xorl %ebx,%r15d rorl $6,%r13d addl %r12d,%r11d andl %r15d,%edi xorl %eax,%r14d addl %r13d,%r11d xorl %ebx,%edi addl %r11d,%edx rorl $2,%r14d addl %edi,%r11d movl %edx,%r13d addl %r11d,%r14d rorl $14,%r13d movl %r14d,%r11d movl %r8d,%r12d xorl %edx,%r13d rorl $9,%r14d xorl %r9d,%r12d rorl $5,%r13d xorl %r11d,%r14d andl %edx,%r12d xorl %edx,%r13d addl 4(%rsp),%r10d movl %r11d,%edi rorl $11,%r14d xorl %r9d,%r12d xorl %eax,%edi rorl $6,%r13d addl %r12d,%r10d andl %edi,%r15d xorl %r11d,%r14d addl %r13d,%r10d xorl %eax,%r15d addl %r10d,%ecx rorl $2,%r14d addl %r15d,%r10d movl %ecx,%r13d addl %r10d,%r14d rorl $14,%r13d movl %r14d,%r10d movl %edx,%r12d xorl %ecx,%r13d rorl $9,%r14d xorl %r8d,%r12d rorl $5,%r13d xorl %r10d,%r14d andl %ecx,%r12d xorl %ecx,%r13d addl 8(%rsp),%r9d movl %r10d,%r15d rorl $11,%r14d xorl %r8d,%r12d xorl %r11d,%r15d rorl $6,%r13d addl %r12d,%r9d andl %r15d,%edi xorl %r10d,%r14d addl %r13d,%r9d xorl %r11d,%edi addl %r9d,%ebx rorl $2,%r14d addl %edi,%r9d movl %ebx,%r13d addl %r9d,%r14d rorl $14,%r13d movl %r14d,%r9d movl %ecx,%r12d xorl %ebx,%r13d rorl $9,%r14d xorl %edx,%r12d rorl $5,%r13d xorl %r9d,%r14d andl %ebx,%r12d xorl %ebx,%r13d addl 12(%rsp),%r8d movl %r9d,%edi rorl $11,%r14d xorl %edx,%r12d xorl %r10d,%edi rorl $6,%r13d addl %r12d,%r8d andl %edi,%r15d xorl %r9d,%r14d addl %r13d,%r8d xorl %r10d,%r15d addl %r8d,%eax rorl $2,%r14d addl %r15d,%r8d movl %eax,%r13d addl %r8d,%r14d rorl $14,%r13d movl %r14d,%r8d movl %ebx,%r12d xorl %eax,%r13d rorl $9,%r14d xorl %ecx,%r12d rorl $5,%r13d xorl %r8d,%r14d andl %eax,%r12d xorl %eax,%r13d addl 16(%rsp),%edx movl %r8d,%r15d rorl $11,%r14d xorl %ecx,%r12d xorl %r9d,%r15d rorl $6,%r13d addl %r12d,%edx andl %r15d,%edi xorl %r8d,%r14d addl %r13d,%edx xorl %r9d,%edi addl %edx,%r11d rorl $2,%r14d addl %edi,%edx movl %r11d,%r13d addl %edx,%r14d rorl $14,%r13d movl %r14d,%edx movl %eax,%r12d xorl %r11d,%r13d rorl $9,%r14d xorl %ebx,%r12d rorl $5,%r13d xorl %edx,%r14d andl %r11d,%r12d xorl %r11d,%r13d addl 20(%rsp),%ecx movl %edx,%edi rorl $11,%r14d xorl %ebx,%r12d xorl %r8d,%edi rorl $6,%r13d addl %r12d,%ecx andl %edi,%r15d xorl %edx,%r14d addl %r13d,%ecx xorl %r8d,%r15d addl %ecx,%r10d rorl $2,%r14d addl %r15d,%ecx movl %r10d,%r13d addl %ecx,%r14d rorl $14,%r13d movl %r14d,%ecx movl %r11d,%r12d xorl %r10d,%r13d rorl $9,%r14d xorl %eax,%r12d rorl $5,%r13d xorl %ecx,%r14d andl %r10d,%r12d xorl %r10d,%r13d addl 24(%rsp),%ebx movl %ecx,%r15d rorl $11,%r14d xorl %eax,%r12d xorl %edx,%r15d rorl $6,%r13d addl %r12d,%ebx andl %r15d,%edi xorl %ecx,%r14d addl %r13d,%ebx xorl %edx,%edi addl %ebx,%r9d rorl $2,%r14d addl %edi,%ebx movl %r9d,%r13d addl %ebx,%r14d rorl $14,%r13d movl %r14d,%ebx movl %r10d,%r12d xorl %r9d,%r13d rorl $9,%r14d xorl %r11d,%r12d rorl $5,%r13d xorl %ebx,%r14d andl %r9d,%r12d xorl %r9d,%r13d addl 28(%rsp),%eax movl %ebx,%edi rorl $11,%r14d xorl %r11d,%r12d xorl %ecx,%edi rorl $6,%r13d addl %r12d,%eax andl %edi,%r15d xorl %ebx,%r14d addl %r13d,%eax xorl %ecx,%r15d addl %eax,%r8d rorl $2,%r14d addl %r15d,%eax movl %r8d,%r13d addl %eax,%r14d rorl $14,%r13d movl %r14d,%eax movl %r9d,%r12d xorl %r8d,%r13d rorl $9,%r14d xorl %r10d,%r12d rorl $5,%r13d xorl %eax,%r14d andl %r8d,%r12d xorl %r8d,%r13d addl 32(%rsp),%r11d movl %eax,%r15d rorl $11,%r14d xorl %r10d,%r12d xorl %ebx,%r15d rorl $6,%r13d addl %r12d,%r11d andl %r15d,%edi xorl %eax,%r14d addl %r13d,%r11d xorl %ebx,%edi addl %r11d,%edx rorl $2,%r14d addl %edi,%r11d movl %edx,%r13d addl %r11d,%r14d rorl $14,%r13d movl %r14d,%r11d movl %r8d,%r12d xorl %edx,%r13d rorl $9,%r14d xorl %r9d,%r12d rorl $5,%r13d xorl %r11d,%r14d andl %edx,%r12d xorl %edx,%r13d addl 36(%rsp),%r10d movl %r11d,%edi rorl $11,%r14d xorl %r9d,%r12d xorl %eax,%edi rorl $6,%r13d addl %r12d,%r10d andl %edi,%r15d xorl %r11d,%r14d addl %r13d,%r10d xorl %eax,%r15d addl %r10d,%ecx rorl $2,%r14d addl %r15d,%r10d movl %ecx,%r13d addl %r10d,%r14d rorl $14,%r13d movl %r14d,%r10d movl %edx,%r12d xorl %ecx,%r13d rorl $9,%r14d xorl %r8d,%r12d rorl $5,%r13d xorl %r10d,%r14d andl %ecx,%r12d xorl %ecx,%r13d addl 40(%rsp),%r9d movl %r10d,%r15d rorl $11,%r14d xorl %r8d,%r12d xorl %r11d,%r15d rorl $6,%r13d addl %r12d,%r9d andl %r15d,%edi xorl %r10d,%r14d addl %r13d,%r9d xorl %r11d,%edi addl %r9d,%ebx rorl $2,%r14d addl %edi,%r9d movl %ebx,%r13d addl %r9d,%r14d rorl $14,%r13d movl %r14d,%r9d movl %ecx,%r12d xorl %ebx,%r13d rorl $9,%r14d xorl %edx,%r12d rorl $5,%r13d xorl %r9d,%r14d andl %ebx,%r12d xorl %ebx,%r13d addl 44(%rsp),%r8d movl %r9d,%edi rorl $11,%r14d xorl %edx,%r12d xorl %r10d,%edi rorl $6,%r13d addl %r12d,%r8d andl %edi,%r15d xorl %r9d,%r14d addl %r13d,%r8d xorl %r10d,%r15d addl %r8d,%eax rorl $2,%r14d addl %r15d,%r8d movl %eax,%r13d addl %r8d,%r14d rorl $14,%r13d movl %r14d,%r8d movl %ebx,%r12d xorl %eax,%r13d rorl $9,%r14d xorl %ecx,%r12d rorl $5,%r13d xorl %r8d,%r14d andl %eax,%r12d xorl %eax,%r13d addl 48(%rsp),%edx movl %r8d,%r15d rorl $11,%r14d xorl %ecx,%r12d xorl %r9d,%r15d rorl $6,%r13d addl %r12d,%edx andl %r15d,%edi xorl %r8d,%r14d addl %r13d,%edx xorl %r9d,%edi addl %edx,%r11d rorl $2,%r14d addl %edi,%edx movl %r11d,%r13d addl %edx,%r14d rorl $14,%r13d movl %r14d,%edx movl %eax,%r12d xorl %r11d,%r13d rorl $9,%r14d xorl %ebx,%r12d rorl $5,%r13d xorl %edx,%r14d andl %r11d,%r12d xorl %r11d,%r13d addl 52(%rsp),%ecx movl %edx,%edi rorl $11,%r14d xorl %ebx,%r12d xorl %r8d,%edi rorl $6,%r13d addl %r12d,%ecx andl %edi,%r15d xorl %edx,%r14d addl %r13d,%ecx xorl %r8d,%r15d addl %ecx,%r10d rorl $2,%r14d addl %r15d,%ecx movl %r10d,%r13d addl %ecx,%r14d rorl $14,%r13d movl %r14d,%ecx movl %r11d,%r12d xorl %r10d,%r13d rorl $9,%r14d xorl %eax,%r12d rorl $5,%r13d xorl %ecx,%r14d andl %r10d,%r12d xorl %r10d,%r13d addl 56(%rsp),%ebx movl %ecx,%r15d rorl $11,%r14d xorl %eax,%r12d xorl %edx,%r15d rorl $6,%r13d addl %r12d,%ebx andl %r15d,%edi xorl %ecx,%r14d addl %r13d,%ebx xorl %edx,%edi addl %ebx,%r9d rorl $2,%r14d addl %edi,%ebx movl %r9d,%r13d addl %ebx,%r14d rorl $14,%r13d movl %r14d,%ebx movl %r10d,%r12d xorl %r9d,%r13d rorl $9,%r14d xorl %r11d,%r12d rorl $5,%r13d xorl %ebx,%r14d andl %r9d,%r12d xorl %r9d,%r13d addl 60(%rsp),%eax movl %ebx,%edi rorl $11,%r14d xorl %r11d,%r12d xorl %ecx,%edi rorl $6,%r13d addl %r12d,%eax andl %edi,%r15d xorl %ebx,%r14d addl %r13d,%eax xorl %ecx,%r15d addl %eax,%r8d rorl $2,%r14d addl %r15d,%eax movl %r8d,%r13d addl %eax,%r14d movq 64+0(%rsp),%rdi movl %r14d,%eax addl 0(%rdi),%eax leaq 64(%rsi),%rsi addl 4(%rdi),%ebx addl 8(%rdi),%ecx addl 12(%rdi),%edx addl 16(%rdi),%r8d addl 20(%rdi),%r9d addl 24(%rdi),%r10d addl 28(%rdi),%r11d cmpq 64+16(%rsp),%rsi movl %eax,0(%rdi) movl %ebx,4(%rdi) movl %ecx,8(%rdi) movl %edx,12(%rdi) movl %r8d,16(%rdi) movl %r9d,20(%rdi) movl %r10d,24(%rdi) movl %r11d,28(%rdi) jb L$loop_ssse3 movq 64+24(%rsp),%rsi movq (%rsi),%r15 movq 8(%rsi),%r14 movq 16(%rsi),%r13 movq 24(%rsi),%r12 movq 32(%rsi),%rbp movq 40(%rsi),%rbx leaq 48(%rsi),%rsp L$epilogue_ssse3: .byte 0xf3,0xc3