.text .globl sha512_block_data_order .type sha512_block_data_order,@function .align 16 sha512_block_data_order: pushq %rbx pushq %rbp pushq %r12 pushq %r13 pushq %r14 pushq %r15 movq %rsp,%r11 shlq $4,%rdx subq $128+32,%rsp leaq (%rsi,%rdx,8),%rdx andq $-64,%rsp movq %rdi,128+0(%rsp) movq %rsi,128+8(%rsp) movq %rdx,128+16(%rsp) movq %r11,128+24(%rsp) .Lprologue: leaq K512(%rip),%rbp movq 0(%rdi),%rax movq 8(%rdi),%rbx movq 16(%rdi),%rcx movq 24(%rdi),%rdx movq 32(%rdi),%r8 movq 40(%rdi),%r9 movq 48(%rdi),%r10 movq 56(%rdi),%r11 jmp .Lloop .align 16 .Lloop: xorq %rdi,%rdi movq 0(%rsi),%r12 movq %r8,%r13 movq %rax,%r14 bswapq %r12 rorq $23,%r13 movq %r9,%r15 movq %r12,0(%rsp) rorq $5,%r14 xorq %r8,%r13 xorq %r10,%r15 rorq $4,%r13 addq %r11,%r12 xorq %rax,%r14 addq (%rbp,%rdi,8),%r12 andq %r8,%r15 movq %rbx,%r11 rorq $6,%r14 xorq %r8,%r13 xorq %r10,%r15 xorq %rcx,%r11 xorq %rax,%r14 addq %r15,%r12 movq %rbx,%r15 rorq $14,%r13 andq %rax,%r11 andq %rcx,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r11 addq %r12,%rdx addq %r12,%r11 leaq 1(%rdi),%rdi addq %r14,%r11 movq 8(%rsi),%r12 movq %rdx,%r13 movq %r11,%r14 bswapq %r12 rorq $23,%r13 movq %r8,%r15 movq %r12,8(%rsp) rorq $5,%r14 xorq %rdx,%r13 xorq %r9,%r15 rorq $4,%r13 addq %r10,%r12 xorq %r11,%r14 addq (%rbp,%rdi,8),%r12 andq %rdx,%r15 movq %rax,%r10 rorq $6,%r14 xorq %rdx,%r13 xorq %r9,%r15 xorq %rbx,%r10 xorq %r11,%r14 addq %r15,%r12 movq %rax,%r15 rorq $14,%r13 andq %r11,%r10 andq %rbx,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r10 addq %r12,%rcx addq %r12,%r10 leaq 1(%rdi),%rdi addq %r14,%r10 movq 16(%rsi),%r12 movq %rcx,%r13 movq %r10,%r14 bswapq %r12 rorq $23,%r13 movq %rdx,%r15 movq %r12,16(%rsp) rorq $5,%r14 xorq %rcx,%r13 xorq %r8,%r15 rorq $4,%r13 addq %r9,%r12 xorq %r10,%r14 addq (%rbp,%rdi,8),%r12 andq %rcx,%r15 movq %r11,%r9 rorq $6,%r14 xorq %rcx,%r13 xorq %r8,%r15 xorq %rax,%r9 xorq %r10,%r14 addq %r15,%r12 movq %r11,%r15 rorq $14,%r13 andq %r10,%r9 andq %rax,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r9 addq %r12,%rbx addq %r12,%r9 leaq 1(%rdi),%rdi addq %r14,%r9 movq 24(%rsi),%r12 movq %rbx,%r13 movq %r9,%r14 bswapq %r12 rorq $23,%r13 movq %rcx,%r15 movq %r12,24(%rsp) rorq $5,%r14 xorq %rbx,%r13 xorq %rdx,%r15 rorq $4,%r13 addq %r8,%r12 xorq %r9,%r14 addq (%rbp,%rdi,8),%r12 andq %rbx,%r15 movq %r10,%r8 rorq $6,%r14 xorq %rbx,%r13 xorq %rdx,%r15 xorq %r11,%r8 xorq %r9,%r14 addq %r15,%r12 movq %r10,%r15 rorq $14,%r13 andq %r9,%r8 andq %r11,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r8 addq %r12,%rax addq %r12,%r8 leaq 1(%rdi),%rdi addq %r14,%r8 movq 32(%rsi),%r12 movq %rax,%r13 movq %r8,%r14 bswapq %r12 rorq $23,%r13 movq %rbx,%r15 movq %r12,32(%rsp) rorq $5,%r14 xorq %rax,%r13 xorq %rcx,%r15 rorq $4,%r13 addq %rdx,%r12 xorq %r8,%r14 addq (%rbp,%rdi,8),%r12 andq %rax,%r15 movq %r9,%rdx rorq $6,%r14 xorq %rax,%r13 xorq %rcx,%r15 xorq %r10,%rdx xorq %r8,%r14 addq %r15,%r12 movq %r9,%r15 rorq $14,%r13 andq %r8,%rdx andq %r10,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rdx addq %r12,%r11 addq %r12,%rdx leaq 1(%rdi),%rdi addq %r14,%rdx movq 40(%rsi),%r12 movq %r11,%r13 movq %rdx,%r14 bswapq %r12 rorq $23,%r13 movq %rax,%r15 movq %r12,40(%rsp) rorq $5,%r14 xorq %r11,%r13 xorq %rbx,%r15 rorq $4,%r13 addq %rcx,%r12 xorq %rdx,%r14 addq (%rbp,%rdi,8),%r12 andq %r11,%r15 movq %r8,%rcx rorq $6,%r14 xorq %r11,%r13 xorq %rbx,%r15 xorq %r9,%rcx xorq %rdx,%r14 addq %r15,%r12 movq %r8,%r15 rorq $14,%r13 andq %rdx,%rcx andq %r9,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rcx addq %r12,%r10 addq %r12,%rcx leaq 1(%rdi),%rdi addq %r14,%rcx movq 48(%rsi),%r12 movq %r10,%r13 movq %rcx,%r14 bswapq %r12 rorq $23,%r13 movq %r11,%r15 movq %r12,48(%rsp) rorq $5,%r14 xorq %r10,%r13 xorq %rax,%r15 rorq $4,%r13 addq %rbx,%r12 xorq %rcx,%r14 addq (%rbp,%rdi,8),%r12 andq %r10,%r15 movq %rdx,%rbx rorq $6,%r14 xorq %r10,%r13 xorq %rax,%r15 xorq %r8,%rbx xorq %rcx,%r14 addq %r15,%r12 movq %rdx,%r15 rorq $14,%r13 andq %rcx,%rbx andq %r8,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rbx addq %r12,%r9 addq %r12,%rbx leaq 1(%rdi),%rdi addq %r14,%rbx movq 56(%rsi),%r12 movq %r9,%r13 movq %rbx,%r14 bswapq %r12 rorq $23,%r13 movq %r10,%r15 movq %r12,56(%rsp) rorq $5,%r14 xorq %r9,%r13 xorq %r11,%r15 rorq $4,%r13 addq %rax,%r12 xorq %rbx,%r14 addq (%rbp,%rdi,8),%r12 andq %r9,%r15 movq %rcx,%rax rorq $6,%r14 xorq %r9,%r13 xorq %r11,%r15 xorq %rdx,%rax xorq %rbx,%r14 addq %r15,%r12 movq %rcx,%r15 rorq $14,%r13 andq %rbx,%rax andq %rdx,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rax addq %r12,%r8 addq %r12,%rax leaq 1(%rdi),%rdi addq %r14,%rax movq 64(%rsi),%r12 movq %r8,%r13 movq %rax,%r14 bswapq %r12 rorq $23,%r13 movq %r9,%r15 movq %r12,64(%rsp) rorq $5,%r14 xorq %r8,%r13 xorq %r10,%r15 rorq $4,%r13 addq %r11,%r12 xorq %rax,%r14 addq (%rbp,%rdi,8),%r12 andq %r8,%r15 movq %rbx,%r11 rorq $6,%r14 xorq %r8,%r13 xorq %r10,%r15 xorq %rcx,%r11 xorq %rax,%r14 addq %r15,%r12 movq %rbx,%r15 rorq $14,%r13 andq %rax,%r11 andq %rcx,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r11 addq %r12,%rdx addq %r12,%r11 leaq 1(%rdi),%rdi addq %r14,%r11 movq 72(%rsi),%r12 movq %rdx,%r13 movq %r11,%r14 bswapq %r12 rorq $23,%r13 movq %r8,%r15 movq %r12,72(%rsp) rorq $5,%r14 xorq %rdx,%r13 xorq %r9,%r15 rorq $4,%r13 addq %r10,%r12 xorq %r11,%r14 addq (%rbp,%rdi,8),%r12 andq %rdx,%r15 movq %rax,%r10 rorq $6,%r14 xorq %rdx,%r13 xorq %r9,%r15 xorq %rbx,%r10 xorq %r11,%r14 addq %r15,%r12 movq %rax,%r15 rorq $14,%r13 andq %r11,%r10 andq %rbx,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r10 addq %r12,%rcx addq %r12,%r10 leaq 1(%rdi),%rdi addq %r14,%r10 movq 80(%rsi),%r12 movq %rcx,%r13 movq %r10,%r14 bswapq %r12 rorq $23,%r13 movq %rdx,%r15 movq %r12,80(%rsp) rorq $5,%r14 xorq %rcx,%r13 xorq %r8,%r15 rorq $4,%r13 addq %r9,%r12 xorq %r10,%r14 addq (%rbp,%rdi,8),%r12 andq %rcx,%r15 movq %r11,%r9 rorq $6,%r14 xorq %rcx,%r13 xorq %r8,%r15 xorq %rax,%r9 xorq %r10,%r14 addq %r15,%r12 movq %r11,%r15 rorq $14,%r13 andq %r10,%r9 andq %rax,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r9 addq %r12,%rbx addq %r12,%r9 leaq 1(%rdi),%rdi addq %r14,%r9 movq 88(%rsi),%r12 movq %rbx,%r13 movq %r9,%r14 bswapq %r12 rorq $23,%r13 movq %rcx,%r15 movq %r12,88(%rsp) rorq $5,%r14 xorq %rbx,%r13 xorq %rdx,%r15 rorq $4,%r13 addq %r8,%r12 xorq %r9,%r14 addq (%rbp,%rdi,8),%r12 andq %rbx,%r15 movq %r10,%r8 rorq $6,%r14 xorq %rbx,%r13 xorq %rdx,%r15 xorq %r11,%r8 xorq %r9,%r14 addq %r15,%r12 movq %r10,%r15 rorq $14,%r13 andq %r9,%r8 andq %r11,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r8 addq %r12,%rax addq %r12,%r8 leaq 1(%rdi),%rdi addq %r14,%r8 movq 96(%rsi),%r12 movq %rax,%r13 movq %r8,%r14 bswapq %r12 rorq $23,%r13 movq %rbx,%r15 movq %r12,96(%rsp) rorq $5,%r14 xorq %rax,%r13 xorq %rcx,%r15 rorq $4,%r13 addq %rdx,%r12 xorq %r8,%r14 addq (%rbp,%rdi,8),%r12 andq %rax,%r15 movq %r9,%rdx rorq $6,%r14 xorq %rax,%r13 xorq %rcx,%r15 xorq %r10,%rdx xorq %r8,%r14 addq %r15,%r12 movq %r9,%r15 rorq $14,%r13 andq %r8,%rdx andq %r10,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rdx addq %r12,%r11 addq %r12,%rdx leaq 1(%rdi),%rdi addq %r14,%rdx movq 104(%rsi),%r12 movq %r11,%r13 movq %rdx,%r14 bswapq %r12 rorq $23,%r13 movq %rax,%r15 movq %r12,104(%rsp) rorq $5,%r14 xorq %r11,%r13 xorq %rbx,%r15 rorq $4,%r13 addq %rcx,%r12 xorq %rdx,%r14 addq (%rbp,%rdi,8),%r12 andq %r11,%r15 movq %r8,%rcx rorq $6,%r14 xorq %r11,%r13 xorq %rbx,%r15 xorq %r9,%rcx xorq %rdx,%r14 addq %r15,%r12 movq %r8,%r15 rorq $14,%r13 andq %rdx,%rcx andq %r9,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rcx addq %r12,%r10 addq %r12,%rcx leaq 1(%rdi),%rdi addq %r14,%rcx movq 112(%rsi),%r12 movq %r10,%r13 movq %rcx,%r14 bswapq %r12 rorq $23,%r13 movq %r11,%r15 movq %r12,112(%rsp) rorq $5,%r14 xorq %r10,%r13 xorq %rax,%r15 rorq $4,%r13 addq %rbx,%r12 xorq %rcx,%r14 addq (%rbp,%rdi,8),%r12 andq %r10,%r15 movq %rdx,%rbx rorq $6,%r14 xorq %r10,%r13 xorq %rax,%r15 xorq %r8,%rbx xorq %rcx,%r14 addq %r15,%r12 movq %rdx,%r15 rorq $14,%r13 andq %rcx,%rbx andq %r8,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rbx addq %r12,%r9 addq %r12,%rbx leaq 1(%rdi),%rdi addq %r14,%rbx movq 120(%rsi),%r12 movq %r9,%r13 movq %rbx,%r14 bswapq %r12 rorq $23,%r13 movq %r10,%r15 movq %r12,120(%rsp) rorq $5,%r14 xorq %r9,%r13 xorq %r11,%r15 rorq $4,%r13 addq %rax,%r12 xorq %rbx,%r14 addq (%rbp,%rdi,8),%r12 andq %r9,%r15 movq %rcx,%rax rorq $6,%r14 xorq %r9,%r13 xorq %r11,%r15 xorq %rdx,%rax xorq %rbx,%r14 addq %r15,%r12 movq %rcx,%r15 rorq $14,%r13 andq %rbx,%rax andq %rdx,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rax addq %r12,%r8 addq %r12,%rax leaq 1(%rdi),%rdi addq %r14,%rax jmp .Lrounds_16_xx .align 16 .Lrounds_16_xx: movq 8(%rsp),%r13 movq 112(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 72(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 0(%rsp),%r12 movq %r8,%r13 addq %r14,%r12 movq %rax,%r14 rorq $23,%r13 movq %r9,%r15 movq %r12,0(%rsp) rorq $5,%r14 xorq %r8,%r13 xorq %r10,%r15 rorq $4,%r13 addq %r11,%r12 xorq %rax,%r14 addq (%rbp,%rdi,8),%r12 andq %r8,%r15 movq %rbx,%r11 rorq $6,%r14 xorq %r8,%r13 xorq %r10,%r15 xorq %rcx,%r11 xorq %rax,%r14 addq %r15,%r12 movq %rbx,%r15 rorq $14,%r13 andq %rax,%r11 andq %rcx,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r11 addq %r12,%rdx addq %r12,%r11 leaq 1(%rdi),%rdi addq %r14,%r11 movq 16(%rsp),%r13 movq 120(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 80(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 8(%rsp),%r12 movq %rdx,%r13 addq %r14,%r12 movq %r11,%r14 rorq $23,%r13 movq %r8,%r15 movq %r12,8(%rsp) rorq $5,%r14 xorq %rdx,%r13 xorq %r9,%r15 rorq $4,%r13 addq %r10,%r12 xorq %r11,%r14 addq (%rbp,%rdi,8),%r12 andq %rdx,%r15 movq %rax,%r10 rorq $6,%r14 xorq %rdx,%r13 xorq %r9,%r15 xorq %rbx,%r10 xorq %r11,%r14 addq %r15,%r12 movq %rax,%r15 rorq $14,%r13 andq %r11,%r10 andq %rbx,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r10 addq %r12,%rcx addq %r12,%r10 leaq 1(%rdi),%rdi addq %r14,%r10 movq 24(%rsp),%r13 movq 0(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 88(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 16(%rsp),%r12 movq %rcx,%r13 addq %r14,%r12 movq %r10,%r14 rorq $23,%r13 movq %rdx,%r15 movq %r12,16(%rsp) rorq $5,%r14 xorq %rcx,%r13 xorq %r8,%r15 rorq $4,%r13 addq %r9,%r12 xorq %r10,%r14 addq (%rbp,%rdi,8),%r12 andq %rcx,%r15 movq %r11,%r9 rorq $6,%r14 xorq %rcx,%r13 xorq %r8,%r15 xorq %rax,%r9 xorq %r10,%r14 addq %r15,%r12 movq %r11,%r15 rorq $14,%r13 andq %r10,%r9 andq %rax,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r9 addq %r12,%rbx addq %r12,%r9 leaq 1(%rdi),%rdi addq %r14,%r9 movq 32(%rsp),%r13 movq 8(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 96(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 24(%rsp),%r12 movq %rbx,%r13 addq %r14,%r12 movq %r9,%r14 rorq $23,%r13 movq %rcx,%r15 movq %r12,24(%rsp) rorq $5,%r14 xorq %rbx,%r13 xorq %rdx,%r15 rorq $4,%r13 addq %r8,%r12 xorq %r9,%r14 addq (%rbp,%rdi,8),%r12 andq %rbx,%r15 movq %r10,%r8 rorq $6,%r14 xorq %rbx,%r13 xorq %rdx,%r15 xorq %r11,%r8 xorq %r9,%r14 addq %r15,%r12 movq %r10,%r15 rorq $14,%r13 andq %r9,%r8 andq %r11,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r8 addq %r12,%rax addq %r12,%r8 leaq 1(%rdi),%rdi addq %r14,%r8 movq 40(%rsp),%r13 movq 16(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 104(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 32(%rsp),%r12 movq %rax,%r13 addq %r14,%r12 movq %r8,%r14 rorq $23,%r13 movq %rbx,%r15 movq %r12,32(%rsp) rorq $5,%r14 xorq %rax,%r13 xorq %rcx,%r15 rorq $4,%r13 addq %rdx,%r12 xorq %r8,%r14 addq (%rbp,%rdi,8),%r12 andq %rax,%r15 movq %r9,%rdx rorq $6,%r14 xorq %rax,%r13 xorq %rcx,%r15 xorq %r10,%rdx xorq %r8,%r14 addq %r15,%r12 movq %r9,%r15 rorq $14,%r13 andq %r8,%rdx andq %r10,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rdx addq %r12,%r11 addq %r12,%rdx leaq 1(%rdi),%rdi addq %r14,%rdx movq 48(%rsp),%r13 movq 24(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 112(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 40(%rsp),%r12 movq %r11,%r13 addq %r14,%r12 movq %rdx,%r14 rorq $23,%r13 movq %rax,%r15 movq %r12,40(%rsp) rorq $5,%r14 xorq %r11,%r13 xorq %rbx,%r15 rorq $4,%r13 addq %rcx,%r12 xorq %rdx,%r14 addq (%rbp,%rdi,8),%r12 andq %r11,%r15 movq %r8,%rcx rorq $6,%r14 xorq %r11,%r13 xorq %rbx,%r15 xorq %r9,%rcx xorq %rdx,%r14 addq %r15,%r12 movq %r8,%r15 rorq $14,%r13 andq %rdx,%rcx andq %r9,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rcx addq %r12,%r10 addq %r12,%rcx leaq 1(%rdi),%rdi addq %r14,%rcx movq 56(%rsp),%r13 movq 32(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 120(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 48(%rsp),%r12 movq %r10,%r13 addq %r14,%r12 movq %rcx,%r14 rorq $23,%r13 movq %r11,%r15 movq %r12,48(%rsp) rorq $5,%r14 xorq %r10,%r13 xorq %rax,%r15 rorq $4,%r13 addq %rbx,%r12 xorq %rcx,%r14 addq (%rbp,%rdi,8),%r12 andq %r10,%r15 movq %rdx,%rbx rorq $6,%r14 xorq %r10,%r13 xorq %rax,%r15 xorq %r8,%rbx xorq %rcx,%r14 addq %r15,%r12 movq %rdx,%r15 rorq $14,%r13 andq %rcx,%rbx andq %r8,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rbx addq %r12,%r9 addq %r12,%rbx leaq 1(%rdi),%rdi addq %r14,%rbx movq 64(%rsp),%r13 movq 40(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 0(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 56(%rsp),%r12 movq %r9,%r13 addq %r14,%r12 movq %rbx,%r14 rorq $23,%r13 movq %r10,%r15 movq %r12,56(%rsp) rorq $5,%r14 xorq %r9,%r13 xorq %r11,%r15 rorq $4,%r13 addq %rax,%r12 xorq %rbx,%r14 addq (%rbp,%rdi,8),%r12 andq %r9,%r15 movq %rcx,%rax rorq $6,%r14 xorq %r9,%r13 xorq %r11,%r15 xorq %rdx,%rax xorq %rbx,%r14 addq %r15,%r12 movq %rcx,%r15 rorq $14,%r13 andq %rbx,%rax andq %rdx,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rax addq %r12,%r8 addq %r12,%rax leaq 1(%rdi),%rdi addq %r14,%rax movq 72(%rsp),%r13 movq 48(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 8(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 64(%rsp),%r12 movq %r8,%r13 addq %r14,%r12 movq %rax,%r14 rorq $23,%r13 movq %r9,%r15 movq %r12,64(%rsp) rorq $5,%r14 xorq %r8,%r13 xorq %r10,%r15 rorq $4,%r13 addq %r11,%r12 xorq %rax,%r14 addq (%rbp,%rdi,8),%r12 andq %r8,%r15 movq %rbx,%r11 rorq $6,%r14 xorq %r8,%r13 xorq %r10,%r15 xorq %rcx,%r11 xorq %rax,%r14 addq %r15,%r12 movq %rbx,%r15 rorq $14,%r13 andq %rax,%r11 andq %rcx,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r11 addq %r12,%rdx addq %r12,%r11 leaq 1(%rdi),%rdi addq %r14,%r11 movq 80(%rsp),%r13 movq 56(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 16(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 72(%rsp),%r12 movq %rdx,%r13 addq %r14,%r12 movq %r11,%r14 rorq $23,%r13 movq %r8,%r15 movq %r12,72(%rsp) rorq $5,%r14 xorq %rdx,%r13 xorq %r9,%r15 rorq $4,%r13 addq %r10,%r12 xorq %r11,%r14 addq (%rbp,%rdi,8),%r12 andq %rdx,%r15 movq %rax,%r10 rorq $6,%r14 xorq %rdx,%r13 xorq %r9,%r15 xorq %rbx,%r10 xorq %r11,%r14 addq %r15,%r12 movq %rax,%r15 rorq $14,%r13 andq %r11,%r10 andq %rbx,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r10 addq %r12,%rcx addq %r12,%r10 leaq 1(%rdi),%rdi addq %r14,%r10 movq 88(%rsp),%r13 movq 64(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 24(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 80(%rsp),%r12 movq %rcx,%r13 addq %r14,%r12 movq %r10,%r14 rorq $23,%r13 movq %rdx,%r15 movq %r12,80(%rsp) rorq $5,%r14 xorq %rcx,%r13 xorq %r8,%r15 rorq $4,%r13 addq %r9,%r12 xorq %r10,%r14 addq (%rbp,%rdi,8),%r12 andq %rcx,%r15 movq %r11,%r9 rorq $6,%r14 xorq %rcx,%r13 xorq %r8,%r15 xorq %rax,%r9 xorq %r10,%r14 addq %r15,%r12 movq %r11,%r15 rorq $14,%r13 andq %r10,%r9 andq %rax,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r9 addq %r12,%rbx addq %r12,%r9 leaq 1(%rdi),%rdi addq %r14,%r9 movq 96(%rsp),%r13 movq 72(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 32(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 88(%rsp),%r12 movq %rbx,%r13 addq %r14,%r12 movq %r9,%r14 rorq $23,%r13 movq %rcx,%r15 movq %r12,88(%rsp) rorq $5,%r14 xorq %rbx,%r13 xorq %rdx,%r15 rorq $4,%r13 addq %r8,%r12 xorq %r9,%r14 addq (%rbp,%rdi,8),%r12 andq %rbx,%r15 movq %r10,%r8 rorq $6,%r14 xorq %rbx,%r13 xorq %rdx,%r15 xorq %r11,%r8 xorq %r9,%r14 addq %r15,%r12 movq %r10,%r15 rorq $14,%r13 andq %r9,%r8 andq %r11,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%r8 addq %r12,%rax addq %r12,%r8 leaq 1(%rdi),%rdi addq %r14,%r8 movq 104(%rsp),%r13 movq 80(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 40(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 96(%rsp),%r12 movq %rax,%r13 addq %r14,%r12 movq %r8,%r14 rorq $23,%r13 movq %rbx,%r15 movq %r12,96(%rsp) rorq $5,%r14 xorq %rax,%r13 xorq %rcx,%r15 rorq $4,%r13 addq %rdx,%r12 xorq %r8,%r14 addq (%rbp,%rdi,8),%r12 andq %rax,%r15 movq %r9,%rdx rorq $6,%r14 xorq %rax,%r13 xorq %rcx,%r15 xorq %r10,%rdx xorq %r8,%r14 addq %r15,%r12 movq %r9,%r15 rorq $14,%r13 andq %r8,%rdx andq %r10,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rdx addq %r12,%r11 addq %r12,%rdx leaq 1(%rdi),%rdi addq %r14,%rdx movq 112(%rsp),%r13 movq 88(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 48(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 104(%rsp),%r12 movq %r11,%r13 addq %r14,%r12 movq %rdx,%r14 rorq $23,%r13 movq %rax,%r15 movq %r12,104(%rsp) rorq $5,%r14 xorq %r11,%r13 xorq %rbx,%r15 rorq $4,%r13 addq %rcx,%r12 xorq %rdx,%r14 addq (%rbp,%rdi,8),%r12 andq %r11,%r15 movq %r8,%rcx rorq $6,%r14 xorq %r11,%r13 xorq %rbx,%r15 xorq %r9,%rcx xorq %rdx,%r14 addq %r15,%r12 movq %r8,%r15 rorq $14,%r13 andq %rdx,%rcx andq %r9,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rcx addq %r12,%r10 addq %r12,%rcx leaq 1(%rdi),%rdi addq %r14,%rcx movq 120(%rsp),%r13 movq 96(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 56(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 112(%rsp),%r12 movq %r10,%r13 addq %r14,%r12 movq %rcx,%r14 rorq $23,%r13 movq %r11,%r15 movq %r12,112(%rsp) rorq $5,%r14 xorq %r10,%r13 xorq %rax,%r15 rorq $4,%r13 addq %rbx,%r12 xorq %rcx,%r14 addq (%rbp,%rdi,8),%r12 andq %r10,%r15 movq %rdx,%rbx rorq $6,%r14 xorq %r10,%r13 xorq %rax,%r15 xorq %r8,%rbx xorq %rcx,%r14 addq %r15,%r12 movq %rdx,%r15 rorq $14,%r13 andq %rcx,%rbx andq %r8,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rbx addq %r12,%r9 addq %r12,%rbx leaq 1(%rdi),%rdi addq %r14,%rbx movq 0(%rsp),%r13 movq 104(%rsp),%r14 movq %r13,%r12 movq %r14,%r15 rorq $7,%r12 xorq %r13,%r12 shrq $7,%r13 rorq $1,%r12 xorq %r12,%r13 movq 64(%rsp),%r12 rorq $42,%r15 xorq %r14,%r15 shrq $6,%r14 rorq $19,%r15 addq %r13,%r12 xorq %r15,%r14 addq 120(%rsp),%r12 movq %r9,%r13 addq %r14,%r12 movq %rbx,%r14 rorq $23,%r13 movq %r10,%r15 movq %r12,120(%rsp) rorq $5,%r14 xorq %r9,%r13 xorq %r11,%r15 rorq $4,%r13 addq %rax,%r12 xorq %rbx,%r14 addq (%rbp,%rdi,8),%r12 andq %r9,%r15 movq %rcx,%rax rorq $6,%r14 xorq %r9,%r13 xorq %r11,%r15 xorq %rdx,%rax xorq %rbx,%r14 addq %r15,%r12 movq %rcx,%r15 rorq $14,%r13 andq %rbx,%rax andq %rdx,%r15 rorq $28,%r14 addq %r13,%r12 addq %r15,%rax addq %r12,%r8 addq %r12,%rax leaq 1(%rdi),%rdi addq %r14,%rax cmpq $80,%rdi jb .Lrounds_16_xx movq 128+0(%rsp),%rdi leaq 128(%rsi),%rsi addq 0(%rdi),%rax addq 8(%rdi),%rbx addq 16(%rdi),%rcx addq 24(%rdi),%rdx addq 32(%rdi),%r8 addq 40(%rdi),%r9 addq 48(%rdi),%r10 addq 56(%rdi),%r11 cmpq 128+16(%rsp),%rsi movq %rax,0(%rdi) movq %rbx,8(%rdi) movq %rcx,16(%rdi) movq %rdx,24(%rdi) movq %r8,32(%rdi) movq %r9,40(%rdi) movq %r10,48(%rdi) movq %r11,56(%rdi) jb .Lloop movq 128+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 .Lepilogue: .byte 0xf3,0xc3 .size sha512_block_data_order,.-sha512_block_data_order .align 64 .type K512,@object K512: .quad 0x428a2f98d728ae22,0x7137449123ef65cd .quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc .quad 0x3956c25bf348b538,0x59f111f1b605d019 .quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118 .quad 0xd807aa98a3030242,0x12835b0145706fbe .quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2 .quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1 .quad 0x9bdc06a725c71235,0xc19bf174cf692694 .quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3 .quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65 .quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483 .quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5 .quad 0x983e5152ee66dfab,0xa831c66d2db43210 .quad 0xb00327c898fb213f,0xbf597fc7beef0ee4 .quad 0xc6e00bf33da88fc2,0xd5a79147930aa725 .quad 0x06ca6351e003826f,0x142929670a0e6e70 .quad 0x27b70a8546d22ffc,0x2e1b21385c26c926 .quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df .quad 0x650a73548baf63de,0x766a0abb3c77b2a8 .quad 0x81c2c92e47edaee6,0x92722c851482353b .quad 0xa2bfe8a14cf10364,0xa81a664bbc423001 .quad 0xc24b8b70d0f89791,0xc76c51a30654be30 .quad 0xd192e819d6ef5218,0xd69906245565a910 .quad 0xf40e35855771202a,0x106aa07032bbd1b8 .quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53 .quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8 .quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb .quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3 .quad 0x748f82ee5defb2fc,0x78a5636f43172f60 .quad 0x84c87814a1f0ab72,0x8cc702081a6439ec .quad 0x90befffa23631e28,0xa4506cebde82bde9 .quad 0xbef9a3f7b2c67915,0xc67178f2e372532b .quad 0xca273eceea26619c,0xd186b8c721c0c207 .quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178 .quad 0x06f067aa72176fba,0x0a637dc5a2c898a6 .quad 0x113f9804bef90dae,0x1b710b35131c471b .quad 0x28db77f523047d84,0x32caab7b40c72493 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817