Index: third_party/boringssl/linux-x86_64/crypto/sha/sha512-x86_64.S |
diff --git a/third_party/boringssl/linux-x86_64/crypto/sha/sha512-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/sha/sha512-x86_64.S |
index ca3a3a164420b563a18b156a9f144d3f52d4a9be..d65743fd5260d6f8101757d67d49ed6f9647ca16 100644 |
--- a/third_party/boringssl/linux-x86_64/crypto/sha/sha512-x86_64.S |
+++ b/third_party/boringssl/linux-x86_64/crypto/sha/sha512-x86_64.S |
@@ -8,6 +8,17 @@ |
.type sha512_block_data_order,@function |
.align 16 |
sha512_block_data_order: |
+ leaq OPENSSL_ia32cap_P(%rip),%r11 |
+ movl 0(%r11),%r9d |
+ movl 4(%r11),%r10d |
+ movl 8(%r11),%r11d |
+ testl $2048,%r10d |
+ jnz .Lxop_shortcut |
+ andl $1073741824,%r9d |
+ andl $268435968,%r10d |
+ orl %r9d,%r10d |
+ cmpl $1342177792,%r10d |
+ je .Lavx_shortcut |
pushq %rbx |
pushq %rbp |
pushq %r12 |
@@ -1784,4 +1795,2234 @@ K512: |
.quad 0x0001020304050607,0x08090a0b0c0d0e0f |
.quad 0x0001020304050607,0x08090a0b0c0d0e0f |
.byte 83,72,65,53,49,50,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 |
+.type sha512_block_data_order_xop,@function |
+.align 64 |
+sha512_block_data_order_xop: |
+.Lxop_shortcut: |
+ pushq %rbx |
+ pushq %rbp |
+ pushq %r12 |
+ pushq %r13 |
+ pushq %r14 |
+ pushq %r15 |
+ movq %rsp,%r11 |
+ shlq $4,%rdx |
+ subq $160,%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_xop: |
+ |
+ vzeroupper |
+ 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_xop |
+.align 16 |
+.Lloop_xop: |
+ vmovdqa K512+1280(%rip),%xmm11 |
+ vmovdqu 0(%rsi),%xmm0 |
+ leaq K512+128(%rip),%rbp |
+ vmovdqu 16(%rsi),%xmm1 |
+ vmovdqu 32(%rsi),%xmm2 |
+ vpshufb %xmm11,%xmm0,%xmm0 |
+ vmovdqu 48(%rsi),%xmm3 |
+ vpshufb %xmm11,%xmm1,%xmm1 |
+ vmovdqu 64(%rsi),%xmm4 |
+ vpshufb %xmm11,%xmm2,%xmm2 |
+ vmovdqu 80(%rsi),%xmm5 |
+ vpshufb %xmm11,%xmm3,%xmm3 |
+ vmovdqu 96(%rsi),%xmm6 |
+ vpshufb %xmm11,%xmm4,%xmm4 |
+ vmovdqu 112(%rsi),%xmm7 |
+ vpshufb %xmm11,%xmm5,%xmm5 |
+ vpaddq -128(%rbp),%xmm0,%xmm8 |
+ vpshufb %xmm11,%xmm6,%xmm6 |
+ vpaddq -96(%rbp),%xmm1,%xmm9 |
+ vpshufb %xmm11,%xmm7,%xmm7 |
+ vpaddq -64(%rbp),%xmm2,%xmm10 |
+ vpaddq -32(%rbp),%xmm3,%xmm11 |
+ vmovdqa %xmm8,0(%rsp) |
+ vpaddq 0(%rbp),%xmm4,%xmm8 |
+ vmovdqa %xmm9,16(%rsp) |
+ vpaddq 32(%rbp),%xmm5,%xmm9 |
+ vmovdqa %xmm10,32(%rsp) |
+ vpaddq 64(%rbp),%xmm6,%xmm10 |
+ vmovdqa %xmm11,48(%rsp) |
+ vpaddq 96(%rbp),%xmm7,%xmm11 |
+ vmovdqa %xmm8,64(%rsp) |
+ movq %rax,%r14 |
+ vmovdqa %xmm9,80(%rsp) |
+ movq %rbx,%rdi |
+ vmovdqa %xmm10,96(%rsp) |
+ xorq %rcx,%rdi |
+ vmovdqa %xmm11,112(%rsp) |
+ movq %r8,%r13 |
+ jmp .Lxop_00_47 |
+ |
+.align 16 |
+.Lxop_00_47: |
+ addq $256,%rbp |
+ vpalignr $8,%xmm0,%xmm1,%xmm8 |
+ rorq $23,%r13 |
+ movq %r14,%rax |
+ vpalignr $8,%xmm4,%xmm5,%xmm11 |
+ movq %r9,%r12 |
+ rorq $5,%r14 |
+.byte 143,72,120,195,200,56 |
+ xorq %r8,%r13 |
+ xorq %r10,%r12 |
+ vpsrlq $7,%xmm8,%xmm8 |
+ rorq $4,%r13 |
+ xorq %rax,%r14 |
+ vpaddq %xmm11,%xmm0,%xmm0 |
+ andq %r8,%r12 |
+ xorq %r8,%r13 |
+ addq 0(%rsp),%r11 |
+ movq %rax,%r15 |
+.byte 143,72,120,195,209,7 |
+ xorq %r10,%r12 |
+ rorq $6,%r14 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ xorq %rbx,%r15 |
+ addq %r12,%r11 |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+.byte 143,104,120,195,223,3 |
+ xorq %rax,%r14 |
+ addq %r13,%r11 |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %rbx,%rdi |
+ rorq $28,%r14 |
+ vpsrlq $6,%xmm7,%xmm10 |
+ addq %r11,%rdx |
+ addq %rdi,%r11 |
+ vpaddq %xmm8,%xmm0,%xmm0 |
+ movq %rdx,%r13 |
+ addq %r11,%r14 |
+.byte 143,72,120,195,203,42 |
+ rorq $23,%r13 |
+ movq %r14,%r11 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ movq %r8,%r12 |
+ rorq $5,%r14 |
+ xorq %rdx,%r13 |
+ xorq %r9,%r12 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ rorq $4,%r13 |
+ xorq %r11,%r14 |
+ andq %rdx,%r12 |
+ xorq %rdx,%r13 |
+ vpaddq %xmm11,%xmm0,%xmm0 |
+ addq 8(%rsp),%r10 |
+ movq %r11,%rdi |
+ xorq %r9,%r12 |
+ rorq $6,%r14 |
+ vpaddq -128(%rbp),%xmm0,%xmm10 |
+ xorq %rax,%rdi |
+ addq %r12,%r10 |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %r11,%r14 |
+ addq %r13,%r10 |
+ xorq %rax,%r15 |
+ rorq $28,%r14 |
+ addq %r10,%rcx |
+ addq %r15,%r10 |
+ movq %rcx,%r13 |
+ addq %r10,%r14 |
+ vmovdqa %xmm10,0(%rsp) |
+ vpalignr $8,%xmm1,%xmm2,%xmm8 |
+ rorq $23,%r13 |
+ movq %r14,%r10 |
+ vpalignr $8,%xmm5,%xmm6,%xmm11 |
+ movq %rdx,%r12 |
+ rorq $5,%r14 |
+.byte 143,72,120,195,200,56 |
+ xorq %rcx,%r13 |
+ xorq %r8,%r12 |
+ vpsrlq $7,%xmm8,%xmm8 |
+ rorq $4,%r13 |
+ xorq %r10,%r14 |
+ vpaddq %xmm11,%xmm1,%xmm1 |
+ andq %rcx,%r12 |
+ xorq %rcx,%r13 |
+ addq 16(%rsp),%r9 |
+ movq %r10,%r15 |
+.byte 143,72,120,195,209,7 |
+ xorq %r8,%r12 |
+ rorq $6,%r14 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ xorq %r11,%r15 |
+ addq %r12,%r9 |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+.byte 143,104,120,195,216,3 |
+ xorq %r10,%r14 |
+ addq %r13,%r9 |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %r11,%rdi |
+ rorq $28,%r14 |
+ vpsrlq $6,%xmm0,%xmm10 |
+ addq %r9,%rbx |
+ addq %rdi,%r9 |
+ vpaddq %xmm8,%xmm1,%xmm1 |
+ movq %rbx,%r13 |
+ addq %r9,%r14 |
+.byte 143,72,120,195,203,42 |
+ rorq $23,%r13 |
+ movq %r14,%r9 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ movq %rcx,%r12 |
+ rorq $5,%r14 |
+ xorq %rbx,%r13 |
+ xorq %rdx,%r12 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ rorq $4,%r13 |
+ xorq %r9,%r14 |
+ andq %rbx,%r12 |
+ xorq %rbx,%r13 |
+ vpaddq %xmm11,%xmm1,%xmm1 |
+ addq 24(%rsp),%r8 |
+ movq %r9,%rdi |
+ xorq %rdx,%r12 |
+ rorq $6,%r14 |
+ vpaddq -96(%rbp),%xmm1,%xmm10 |
+ xorq %r10,%rdi |
+ addq %r12,%r8 |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %r9,%r14 |
+ addq %r13,%r8 |
+ xorq %r10,%r15 |
+ rorq $28,%r14 |
+ addq %r8,%rax |
+ addq %r15,%r8 |
+ movq %rax,%r13 |
+ addq %r8,%r14 |
+ vmovdqa %xmm10,16(%rsp) |
+ vpalignr $8,%xmm2,%xmm3,%xmm8 |
+ rorq $23,%r13 |
+ movq %r14,%r8 |
+ vpalignr $8,%xmm6,%xmm7,%xmm11 |
+ movq %rbx,%r12 |
+ rorq $5,%r14 |
+.byte 143,72,120,195,200,56 |
+ xorq %rax,%r13 |
+ xorq %rcx,%r12 |
+ vpsrlq $7,%xmm8,%xmm8 |
+ rorq $4,%r13 |
+ xorq %r8,%r14 |
+ vpaddq %xmm11,%xmm2,%xmm2 |
+ andq %rax,%r12 |
+ xorq %rax,%r13 |
+ addq 32(%rsp),%rdx |
+ movq %r8,%r15 |
+.byte 143,72,120,195,209,7 |
+ xorq %rcx,%r12 |
+ rorq $6,%r14 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ xorq %r9,%r15 |
+ addq %r12,%rdx |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+.byte 143,104,120,195,217,3 |
+ xorq %r8,%r14 |
+ addq %r13,%rdx |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %r9,%rdi |
+ rorq $28,%r14 |
+ vpsrlq $6,%xmm1,%xmm10 |
+ addq %rdx,%r11 |
+ addq %rdi,%rdx |
+ vpaddq %xmm8,%xmm2,%xmm2 |
+ movq %r11,%r13 |
+ addq %rdx,%r14 |
+.byte 143,72,120,195,203,42 |
+ rorq $23,%r13 |
+ movq %r14,%rdx |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ movq %rax,%r12 |
+ rorq $5,%r14 |
+ xorq %r11,%r13 |
+ xorq %rbx,%r12 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ rorq $4,%r13 |
+ xorq %rdx,%r14 |
+ andq %r11,%r12 |
+ xorq %r11,%r13 |
+ vpaddq %xmm11,%xmm2,%xmm2 |
+ addq 40(%rsp),%rcx |
+ movq %rdx,%rdi |
+ xorq %rbx,%r12 |
+ rorq $6,%r14 |
+ vpaddq -64(%rbp),%xmm2,%xmm10 |
+ xorq %r8,%rdi |
+ addq %r12,%rcx |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %rdx,%r14 |
+ addq %r13,%rcx |
+ xorq %r8,%r15 |
+ rorq $28,%r14 |
+ addq %rcx,%r10 |
+ addq %r15,%rcx |
+ movq %r10,%r13 |
+ addq %rcx,%r14 |
+ vmovdqa %xmm10,32(%rsp) |
+ vpalignr $8,%xmm3,%xmm4,%xmm8 |
+ rorq $23,%r13 |
+ movq %r14,%rcx |
+ vpalignr $8,%xmm7,%xmm0,%xmm11 |
+ movq %r11,%r12 |
+ rorq $5,%r14 |
+.byte 143,72,120,195,200,56 |
+ xorq %r10,%r13 |
+ xorq %rax,%r12 |
+ vpsrlq $7,%xmm8,%xmm8 |
+ rorq $4,%r13 |
+ xorq %rcx,%r14 |
+ vpaddq %xmm11,%xmm3,%xmm3 |
+ andq %r10,%r12 |
+ xorq %r10,%r13 |
+ addq 48(%rsp),%rbx |
+ movq %rcx,%r15 |
+.byte 143,72,120,195,209,7 |
+ xorq %rax,%r12 |
+ rorq $6,%r14 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ xorq %rdx,%r15 |
+ addq %r12,%rbx |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+.byte 143,104,120,195,218,3 |
+ xorq %rcx,%r14 |
+ addq %r13,%rbx |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %rdx,%rdi |
+ rorq $28,%r14 |
+ vpsrlq $6,%xmm2,%xmm10 |
+ addq %rbx,%r9 |
+ addq %rdi,%rbx |
+ vpaddq %xmm8,%xmm3,%xmm3 |
+ movq %r9,%r13 |
+ addq %rbx,%r14 |
+.byte 143,72,120,195,203,42 |
+ rorq $23,%r13 |
+ movq %r14,%rbx |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ movq %r10,%r12 |
+ rorq $5,%r14 |
+ xorq %r9,%r13 |
+ xorq %r11,%r12 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ rorq $4,%r13 |
+ xorq %rbx,%r14 |
+ andq %r9,%r12 |
+ xorq %r9,%r13 |
+ vpaddq %xmm11,%xmm3,%xmm3 |
+ addq 56(%rsp),%rax |
+ movq %rbx,%rdi |
+ xorq %r11,%r12 |
+ rorq $6,%r14 |
+ vpaddq -32(%rbp),%xmm3,%xmm10 |
+ xorq %rcx,%rdi |
+ addq %r12,%rax |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %rbx,%r14 |
+ addq %r13,%rax |
+ xorq %rcx,%r15 |
+ rorq $28,%r14 |
+ addq %rax,%r8 |
+ addq %r15,%rax |
+ movq %r8,%r13 |
+ addq %rax,%r14 |
+ vmovdqa %xmm10,48(%rsp) |
+ vpalignr $8,%xmm4,%xmm5,%xmm8 |
+ rorq $23,%r13 |
+ movq %r14,%rax |
+ vpalignr $8,%xmm0,%xmm1,%xmm11 |
+ movq %r9,%r12 |
+ rorq $5,%r14 |
+.byte 143,72,120,195,200,56 |
+ xorq %r8,%r13 |
+ xorq %r10,%r12 |
+ vpsrlq $7,%xmm8,%xmm8 |
+ rorq $4,%r13 |
+ xorq %rax,%r14 |
+ vpaddq %xmm11,%xmm4,%xmm4 |
+ andq %r8,%r12 |
+ xorq %r8,%r13 |
+ addq 64(%rsp),%r11 |
+ movq %rax,%r15 |
+.byte 143,72,120,195,209,7 |
+ xorq %r10,%r12 |
+ rorq $6,%r14 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ xorq %rbx,%r15 |
+ addq %r12,%r11 |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+.byte 143,104,120,195,219,3 |
+ xorq %rax,%r14 |
+ addq %r13,%r11 |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %rbx,%rdi |
+ rorq $28,%r14 |
+ vpsrlq $6,%xmm3,%xmm10 |
+ addq %r11,%rdx |
+ addq %rdi,%r11 |
+ vpaddq %xmm8,%xmm4,%xmm4 |
+ movq %rdx,%r13 |
+ addq %r11,%r14 |
+.byte 143,72,120,195,203,42 |
+ rorq $23,%r13 |
+ movq %r14,%r11 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ movq %r8,%r12 |
+ rorq $5,%r14 |
+ xorq %rdx,%r13 |
+ xorq %r9,%r12 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ rorq $4,%r13 |
+ xorq %r11,%r14 |
+ andq %rdx,%r12 |
+ xorq %rdx,%r13 |
+ vpaddq %xmm11,%xmm4,%xmm4 |
+ addq 72(%rsp),%r10 |
+ movq %r11,%rdi |
+ xorq %r9,%r12 |
+ rorq $6,%r14 |
+ vpaddq 0(%rbp),%xmm4,%xmm10 |
+ xorq %rax,%rdi |
+ addq %r12,%r10 |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %r11,%r14 |
+ addq %r13,%r10 |
+ xorq %rax,%r15 |
+ rorq $28,%r14 |
+ addq %r10,%rcx |
+ addq %r15,%r10 |
+ movq %rcx,%r13 |
+ addq %r10,%r14 |
+ vmovdqa %xmm10,64(%rsp) |
+ vpalignr $8,%xmm5,%xmm6,%xmm8 |
+ rorq $23,%r13 |
+ movq %r14,%r10 |
+ vpalignr $8,%xmm1,%xmm2,%xmm11 |
+ movq %rdx,%r12 |
+ rorq $5,%r14 |
+.byte 143,72,120,195,200,56 |
+ xorq %rcx,%r13 |
+ xorq %r8,%r12 |
+ vpsrlq $7,%xmm8,%xmm8 |
+ rorq $4,%r13 |
+ xorq %r10,%r14 |
+ vpaddq %xmm11,%xmm5,%xmm5 |
+ andq %rcx,%r12 |
+ xorq %rcx,%r13 |
+ addq 80(%rsp),%r9 |
+ movq %r10,%r15 |
+.byte 143,72,120,195,209,7 |
+ xorq %r8,%r12 |
+ rorq $6,%r14 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ xorq %r11,%r15 |
+ addq %r12,%r9 |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+.byte 143,104,120,195,220,3 |
+ xorq %r10,%r14 |
+ addq %r13,%r9 |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %r11,%rdi |
+ rorq $28,%r14 |
+ vpsrlq $6,%xmm4,%xmm10 |
+ addq %r9,%rbx |
+ addq %rdi,%r9 |
+ vpaddq %xmm8,%xmm5,%xmm5 |
+ movq %rbx,%r13 |
+ addq %r9,%r14 |
+.byte 143,72,120,195,203,42 |
+ rorq $23,%r13 |
+ movq %r14,%r9 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ movq %rcx,%r12 |
+ rorq $5,%r14 |
+ xorq %rbx,%r13 |
+ xorq %rdx,%r12 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ rorq $4,%r13 |
+ xorq %r9,%r14 |
+ andq %rbx,%r12 |
+ xorq %rbx,%r13 |
+ vpaddq %xmm11,%xmm5,%xmm5 |
+ addq 88(%rsp),%r8 |
+ movq %r9,%rdi |
+ xorq %rdx,%r12 |
+ rorq $6,%r14 |
+ vpaddq 32(%rbp),%xmm5,%xmm10 |
+ xorq %r10,%rdi |
+ addq %r12,%r8 |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %r9,%r14 |
+ addq %r13,%r8 |
+ xorq %r10,%r15 |
+ rorq $28,%r14 |
+ addq %r8,%rax |
+ addq %r15,%r8 |
+ movq %rax,%r13 |
+ addq %r8,%r14 |
+ vmovdqa %xmm10,80(%rsp) |
+ vpalignr $8,%xmm6,%xmm7,%xmm8 |
+ rorq $23,%r13 |
+ movq %r14,%r8 |
+ vpalignr $8,%xmm2,%xmm3,%xmm11 |
+ movq %rbx,%r12 |
+ rorq $5,%r14 |
+.byte 143,72,120,195,200,56 |
+ xorq %rax,%r13 |
+ xorq %rcx,%r12 |
+ vpsrlq $7,%xmm8,%xmm8 |
+ rorq $4,%r13 |
+ xorq %r8,%r14 |
+ vpaddq %xmm11,%xmm6,%xmm6 |
+ andq %rax,%r12 |
+ xorq %rax,%r13 |
+ addq 96(%rsp),%rdx |
+ movq %r8,%r15 |
+.byte 143,72,120,195,209,7 |
+ xorq %rcx,%r12 |
+ rorq $6,%r14 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ xorq %r9,%r15 |
+ addq %r12,%rdx |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+.byte 143,104,120,195,221,3 |
+ xorq %r8,%r14 |
+ addq %r13,%rdx |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %r9,%rdi |
+ rorq $28,%r14 |
+ vpsrlq $6,%xmm5,%xmm10 |
+ addq %rdx,%r11 |
+ addq %rdi,%rdx |
+ vpaddq %xmm8,%xmm6,%xmm6 |
+ movq %r11,%r13 |
+ addq %rdx,%r14 |
+.byte 143,72,120,195,203,42 |
+ rorq $23,%r13 |
+ movq %r14,%rdx |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ movq %rax,%r12 |
+ rorq $5,%r14 |
+ xorq %r11,%r13 |
+ xorq %rbx,%r12 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ rorq $4,%r13 |
+ xorq %rdx,%r14 |
+ andq %r11,%r12 |
+ xorq %r11,%r13 |
+ vpaddq %xmm11,%xmm6,%xmm6 |
+ addq 104(%rsp),%rcx |
+ movq %rdx,%rdi |
+ xorq %rbx,%r12 |
+ rorq $6,%r14 |
+ vpaddq 64(%rbp),%xmm6,%xmm10 |
+ xorq %r8,%rdi |
+ addq %r12,%rcx |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %rdx,%r14 |
+ addq %r13,%rcx |
+ xorq %r8,%r15 |
+ rorq $28,%r14 |
+ addq %rcx,%r10 |
+ addq %r15,%rcx |
+ movq %r10,%r13 |
+ addq %rcx,%r14 |
+ vmovdqa %xmm10,96(%rsp) |
+ vpalignr $8,%xmm7,%xmm0,%xmm8 |
+ rorq $23,%r13 |
+ movq %r14,%rcx |
+ vpalignr $8,%xmm3,%xmm4,%xmm11 |
+ movq %r11,%r12 |
+ rorq $5,%r14 |
+.byte 143,72,120,195,200,56 |
+ xorq %r10,%r13 |
+ xorq %rax,%r12 |
+ vpsrlq $7,%xmm8,%xmm8 |
+ rorq $4,%r13 |
+ xorq %rcx,%r14 |
+ vpaddq %xmm11,%xmm7,%xmm7 |
+ andq %r10,%r12 |
+ xorq %r10,%r13 |
+ addq 112(%rsp),%rbx |
+ movq %rcx,%r15 |
+.byte 143,72,120,195,209,7 |
+ xorq %rax,%r12 |
+ rorq $6,%r14 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ xorq %rdx,%r15 |
+ addq %r12,%rbx |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+.byte 143,104,120,195,222,3 |
+ xorq %rcx,%r14 |
+ addq %r13,%rbx |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %rdx,%rdi |
+ rorq $28,%r14 |
+ vpsrlq $6,%xmm6,%xmm10 |
+ addq %rbx,%r9 |
+ addq %rdi,%rbx |
+ vpaddq %xmm8,%xmm7,%xmm7 |
+ movq %r9,%r13 |
+ addq %rbx,%r14 |
+.byte 143,72,120,195,203,42 |
+ rorq $23,%r13 |
+ movq %r14,%rbx |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ movq %r10,%r12 |
+ rorq $5,%r14 |
+ xorq %r9,%r13 |
+ xorq %r11,%r12 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ rorq $4,%r13 |
+ xorq %rbx,%r14 |
+ andq %r9,%r12 |
+ xorq %r9,%r13 |
+ vpaddq %xmm11,%xmm7,%xmm7 |
+ addq 120(%rsp),%rax |
+ movq %rbx,%rdi |
+ xorq %r11,%r12 |
+ rorq $6,%r14 |
+ vpaddq 96(%rbp),%xmm7,%xmm10 |
+ xorq %rcx,%rdi |
+ addq %r12,%rax |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %rbx,%r14 |
+ addq %r13,%rax |
+ xorq %rcx,%r15 |
+ rorq $28,%r14 |
+ addq %rax,%r8 |
+ addq %r15,%rax |
+ movq %r8,%r13 |
+ addq %rax,%r14 |
+ vmovdqa %xmm10,112(%rsp) |
+ cmpb $0,135(%rbp) |
+ jne .Lxop_00_47 |
+ rorq $23,%r13 |
+ movq %r14,%rax |
+ movq %r9,%r12 |
+ rorq $5,%r14 |
+ xorq %r8,%r13 |
+ xorq %r10,%r12 |
+ rorq $4,%r13 |
+ xorq %rax,%r14 |
+ andq %r8,%r12 |
+ xorq %r8,%r13 |
+ addq 0(%rsp),%r11 |
+ movq %rax,%r15 |
+ xorq %r10,%r12 |
+ rorq $6,%r14 |
+ xorq %rbx,%r15 |
+ addq %r12,%r11 |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+ xorq %rax,%r14 |
+ addq %r13,%r11 |
+ xorq %rbx,%rdi |
+ rorq $28,%r14 |
+ addq %r11,%rdx |
+ addq %rdi,%r11 |
+ movq %rdx,%r13 |
+ addq %r11,%r14 |
+ rorq $23,%r13 |
+ movq %r14,%r11 |
+ movq %r8,%r12 |
+ rorq $5,%r14 |
+ xorq %rdx,%r13 |
+ xorq %r9,%r12 |
+ rorq $4,%r13 |
+ xorq %r11,%r14 |
+ andq %rdx,%r12 |
+ xorq %rdx,%r13 |
+ addq 8(%rsp),%r10 |
+ movq %r11,%rdi |
+ xorq %r9,%r12 |
+ rorq $6,%r14 |
+ xorq %rax,%rdi |
+ addq %r12,%r10 |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %r11,%r14 |
+ addq %r13,%r10 |
+ xorq %rax,%r15 |
+ rorq $28,%r14 |
+ addq %r10,%rcx |
+ addq %r15,%r10 |
+ movq %rcx,%r13 |
+ addq %r10,%r14 |
+ rorq $23,%r13 |
+ movq %r14,%r10 |
+ movq %rdx,%r12 |
+ rorq $5,%r14 |
+ xorq %rcx,%r13 |
+ xorq %r8,%r12 |
+ rorq $4,%r13 |
+ xorq %r10,%r14 |
+ andq %rcx,%r12 |
+ xorq %rcx,%r13 |
+ addq 16(%rsp),%r9 |
+ movq %r10,%r15 |
+ xorq %r8,%r12 |
+ rorq $6,%r14 |
+ xorq %r11,%r15 |
+ addq %r12,%r9 |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+ xorq %r10,%r14 |
+ addq %r13,%r9 |
+ xorq %r11,%rdi |
+ rorq $28,%r14 |
+ addq %r9,%rbx |
+ addq %rdi,%r9 |
+ movq %rbx,%r13 |
+ addq %r9,%r14 |
+ rorq $23,%r13 |
+ movq %r14,%r9 |
+ movq %rcx,%r12 |
+ rorq $5,%r14 |
+ xorq %rbx,%r13 |
+ xorq %rdx,%r12 |
+ rorq $4,%r13 |
+ xorq %r9,%r14 |
+ andq %rbx,%r12 |
+ xorq %rbx,%r13 |
+ addq 24(%rsp),%r8 |
+ movq %r9,%rdi |
+ xorq %rdx,%r12 |
+ rorq $6,%r14 |
+ xorq %r10,%rdi |
+ addq %r12,%r8 |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %r9,%r14 |
+ addq %r13,%r8 |
+ xorq %r10,%r15 |
+ rorq $28,%r14 |
+ addq %r8,%rax |
+ addq %r15,%r8 |
+ movq %rax,%r13 |
+ addq %r8,%r14 |
+ rorq $23,%r13 |
+ movq %r14,%r8 |
+ movq %rbx,%r12 |
+ rorq $5,%r14 |
+ xorq %rax,%r13 |
+ xorq %rcx,%r12 |
+ rorq $4,%r13 |
+ xorq %r8,%r14 |
+ andq %rax,%r12 |
+ xorq %rax,%r13 |
+ addq 32(%rsp),%rdx |
+ movq %r8,%r15 |
+ xorq %rcx,%r12 |
+ rorq $6,%r14 |
+ xorq %r9,%r15 |
+ addq %r12,%rdx |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+ xorq %r8,%r14 |
+ addq %r13,%rdx |
+ xorq %r9,%rdi |
+ rorq $28,%r14 |
+ addq %rdx,%r11 |
+ addq %rdi,%rdx |
+ movq %r11,%r13 |
+ addq %rdx,%r14 |
+ rorq $23,%r13 |
+ movq %r14,%rdx |
+ movq %rax,%r12 |
+ rorq $5,%r14 |
+ xorq %r11,%r13 |
+ xorq %rbx,%r12 |
+ rorq $4,%r13 |
+ xorq %rdx,%r14 |
+ andq %r11,%r12 |
+ xorq %r11,%r13 |
+ addq 40(%rsp),%rcx |
+ movq %rdx,%rdi |
+ xorq %rbx,%r12 |
+ rorq $6,%r14 |
+ xorq %r8,%rdi |
+ addq %r12,%rcx |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %rdx,%r14 |
+ addq %r13,%rcx |
+ xorq %r8,%r15 |
+ rorq $28,%r14 |
+ addq %rcx,%r10 |
+ addq %r15,%rcx |
+ movq %r10,%r13 |
+ addq %rcx,%r14 |
+ rorq $23,%r13 |
+ movq %r14,%rcx |
+ movq %r11,%r12 |
+ rorq $5,%r14 |
+ xorq %r10,%r13 |
+ xorq %rax,%r12 |
+ rorq $4,%r13 |
+ xorq %rcx,%r14 |
+ andq %r10,%r12 |
+ xorq %r10,%r13 |
+ addq 48(%rsp),%rbx |
+ movq %rcx,%r15 |
+ xorq %rax,%r12 |
+ rorq $6,%r14 |
+ xorq %rdx,%r15 |
+ addq %r12,%rbx |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+ xorq %rcx,%r14 |
+ addq %r13,%rbx |
+ xorq %rdx,%rdi |
+ rorq $28,%r14 |
+ addq %rbx,%r9 |
+ addq %rdi,%rbx |
+ movq %r9,%r13 |
+ addq %rbx,%r14 |
+ rorq $23,%r13 |
+ movq %r14,%rbx |
+ movq %r10,%r12 |
+ rorq $5,%r14 |
+ xorq %r9,%r13 |
+ xorq %r11,%r12 |
+ rorq $4,%r13 |
+ xorq %rbx,%r14 |
+ andq %r9,%r12 |
+ xorq %r9,%r13 |
+ addq 56(%rsp),%rax |
+ movq %rbx,%rdi |
+ xorq %r11,%r12 |
+ rorq $6,%r14 |
+ xorq %rcx,%rdi |
+ addq %r12,%rax |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %rbx,%r14 |
+ addq %r13,%rax |
+ xorq %rcx,%r15 |
+ rorq $28,%r14 |
+ addq %rax,%r8 |
+ addq %r15,%rax |
+ movq %r8,%r13 |
+ addq %rax,%r14 |
+ rorq $23,%r13 |
+ movq %r14,%rax |
+ movq %r9,%r12 |
+ rorq $5,%r14 |
+ xorq %r8,%r13 |
+ xorq %r10,%r12 |
+ rorq $4,%r13 |
+ xorq %rax,%r14 |
+ andq %r8,%r12 |
+ xorq %r8,%r13 |
+ addq 64(%rsp),%r11 |
+ movq %rax,%r15 |
+ xorq %r10,%r12 |
+ rorq $6,%r14 |
+ xorq %rbx,%r15 |
+ addq %r12,%r11 |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+ xorq %rax,%r14 |
+ addq %r13,%r11 |
+ xorq %rbx,%rdi |
+ rorq $28,%r14 |
+ addq %r11,%rdx |
+ addq %rdi,%r11 |
+ movq %rdx,%r13 |
+ addq %r11,%r14 |
+ rorq $23,%r13 |
+ movq %r14,%r11 |
+ movq %r8,%r12 |
+ rorq $5,%r14 |
+ xorq %rdx,%r13 |
+ xorq %r9,%r12 |
+ rorq $4,%r13 |
+ xorq %r11,%r14 |
+ andq %rdx,%r12 |
+ xorq %rdx,%r13 |
+ addq 72(%rsp),%r10 |
+ movq %r11,%rdi |
+ xorq %r9,%r12 |
+ rorq $6,%r14 |
+ xorq %rax,%rdi |
+ addq %r12,%r10 |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %r11,%r14 |
+ addq %r13,%r10 |
+ xorq %rax,%r15 |
+ rorq $28,%r14 |
+ addq %r10,%rcx |
+ addq %r15,%r10 |
+ movq %rcx,%r13 |
+ addq %r10,%r14 |
+ rorq $23,%r13 |
+ movq %r14,%r10 |
+ movq %rdx,%r12 |
+ rorq $5,%r14 |
+ xorq %rcx,%r13 |
+ xorq %r8,%r12 |
+ rorq $4,%r13 |
+ xorq %r10,%r14 |
+ andq %rcx,%r12 |
+ xorq %rcx,%r13 |
+ addq 80(%rsp),%r9 |
+ movq %r10,%r15 |
+ xorq %r8,%r12 |
+ rorq $6,%r14 |
+ xorq %r11,%r15 |
+ addq %r12,%r9 |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+ xorq %r10,%r14 |
+ addq %r13,%r9 |
+ xorq %r11,%rdi |
+ rorq $28,%r14 |
+ addq %r9,%rbx |
+ addq %rdi,%r9 |
+ movq %rbx,%r13 |
+ addq %r9,%r14 |
+ rorq $23,%r13 |
+ movq %r14,%r9 |
+ movq %rcx,%r12 |
+ rorq $5,%r14 |
+ xorq %rbx,%r13 |
+ xorq %rdx,%r12 |
+ rorq $4,%r13 |
+ xorq %r9,%r14 |
+ andq %rbx,%r12 |
+ xorq %rbx,%r13 |
+ addq 88(%rsp),%r8 |
+ movq %r9,%rdi |
+ xorq %rdx,%r12 |
+ rorq $6,%r14 |
+ xorq %r10,%rdi |
+ addq %r12,%r8 |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %r9,%r14 |
+ addq %r13,%r8 |
+ xorq %r10,%r15 |
+ rorq $28,%r14 |
+ addq %r8,%rax |
+ addq %r15,%r8 |
+ movq %rax,%r13 |
+ addq %r8,%r14 |
+ rorq $23,%r13 |
+ movq %r14,%r8 |
+ movq %rbx,%r12 |
+ rorq $5,%r14 |
+ xorq %rax,%r13 |
+ xorq %rcx,%r12 |
+ rorq $4,%r13 |
+ xorq %r8,%r14 |
+ andq %rax,%r12 |
+ xorq %rax,%r13 |
+ addq 96(%rsp),%rdx |
+ movq %r8,%r15 |
+ xorq %rcx,%r12 |
+ rorq $6,%r14 |
+ xorq %r9,%r15 |
+ addq %r12,%rdx |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+ xorq %r8,%r14 |
+ addq %r13,%rdx |
+ xorq %r9,%rdi |
+ rorq $28,%r14 |
+ addq %rdx,%r11 |
+ addq %rdi,%rdx |
+ movq %r11,%r13 |
+ addq %rdx,%r14 |
+ rorq $23,%r13 |
+ movq %r14,%rdx |
+ movq %rax,%r12 |
+ rorq $5,%r14 |
+ xorq %r11,%r13 |
+ xorq %rbx,%r12 |
+ rorq $4,%r13 |
+ xorq %rdx,%r14 |
+ andq %r11,%r12 |
+ xorq %r11,%r13 |
+ addq 104(%rsp),%rcx |
+ movq %rdx,%rdi |
+ xorq %rbx,%r12 |
+ rorq $6,%r14 |
+ xorq %r8,%rdi |
+ addq %r12,%rcx |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %rdx,%r14 |
+ addq %r13,%rcx |
+ xorq %r8,%r15 |
+ rorq $28,%r14 |
+ addq %rcx,%r10 |
+ addq %r15,%rcx |
+ movq %r10,%r13 |
+ addq %rcx,%r14 |
+ rorq $23,%r13 |
+ movq %r14,%rcx |
+ movq %r11,%r12 |
+ rorq $5,%r14 |
+ xorq %r10,%r13 |
+ xorq %rax,%r12 |
+ rorq $4,%r13 |
+ xorq %rcx,%r14 |
+ andq %r10,%r12 |
+ xorq %r10,%r13 |
+ addq 112(%rsp),%rbx |
+ movq %rcx,%r15 |
+ xorq %rax,%r12 |
+ rorq $6,%r14 |
+ xorq %rdx,%r15 |
+ addq %r12,%rbx |
+ rorq $14,%r13 |
+ andq %r15,%rdi |
+ xorq %rcx,%r14 |
+ addq %r13,%rbx |
+ xorq %rdx,%rdi |
+ rorq $28,%r14 |
+ addq %rbx,%r9 |
+ addq %rdi,%rbx |
+ movq %r9,%r13 |
+ addq %rbx,%r14 |
+ rorq $23,%r13 |
+ movq %r14,%rbx |
+ movq %r10,%r12 |
+ rorq $5,%r14 |
+ xorq %r9,%r13 |
+ xorq %r11,%r12 |
+ rorq $4,%r13 |
+ xorq %rbx,%r14 |
+ andq %r9,%r12 |
+ xorq %r9,%r13 |
+ addq 120(%rsp),%rax |
+ movq %rbx,%rdi |
+ xorq %r11,%r12 |
+ rorq $6,%r14 |
+ xorq %rcx,%rdi |
+ addq %r12,%rax |
+ rorq $14,%r13 |
+ andq %rdi,%r15 |
+ xorq %rbx,%r14 |
+ addq %r13,%rax |
+ xorq %rcx,%r15 |
+ rorq $28,%r14 |
+ addq %rax,%r8 |
+ addq %r15,%rax |
+ movq %r8,%r13 |
+ addq %rax,%r14 |
+ movq 128+0(%rsp),%rdi |
+ movq %r14,%rax |
+ |
+ addq 0(%rdi),%rax |
+ leaq 128(%rsi),%rsi |
+ 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_xop |
+ |
+ movq 128+24(%rsp),%rsi |
+ vzeroupper |
+ 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_xop: |
+ .byte 0xf3,0xc3 |
+.size sha512_block_data_order_xop,.-sha512_block_data_order_xop |
+.type sha512_block_data_order_avx,@function |
+.align 64 |
+sha512_block_data_order_avx: |
+.Lavx_shortcut: |
+ pushq %rbx |
+ pushq %rbp |
+ pushq %r12 |
+ pushq %r13 |
+ pushq %r14 |
+ pushq %r15 |
+ movq %rsp,%r11 |
+ shlq $4,%rdx |
+ subq $160,%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_avx: |
+ |
+ vzeroupper |
+ 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_avx |
+.align 16 |
+.Lloop_avx: |
+ vmovdqa K512+1280(%rip),%xmm11 |
+ vmovdqu 0(%rsi),%xmm0 |
+ leaq K512+128(%rip),%rbp |
+ vmovdqu 16(%rsi),%xmm1 |
+ vmovdqu 32(%rsi),%xmm2 |
+ vpshufb %xmm11,%xmm0,%xmm0 |
+ vmovdqu 48(%rsi),%xmm3 |
+ vpshufb %xmm11,%xmm1,%xmm1 |
+ vmovdqu 64(%rsi),%xmm4 |
+ vpshufb %xmm11,%xmm2,%xmm2 |
+ vmovdqu 80(%rsi),%xmm5 |
+ vpshufb %xmm11,%xmm3,%xmm3 |
+ vmovdqu 96(%rsi),%xmm6 |
+ vpshufb %xmm11,%xmm4,%xmm4 |
+ vmovdqu 112(%rsi),%xmm7 |
+ vpshufb %xmm11,%xmm5,%xmm5 |
+ vpaddq -128(%rbp),%xmm0,%xmm8 |
+ vpshufb %xmm11,%xmm6,%xmm6 |
+ vpaddq -96(%rbp),%xmm1,%xmm9 |
+ vpshufb %xmm11,%xmm7,%xmm7 |
+ vpaddq -64(%rbp),%xmm2,%xmm10 |
+ vpaddq -32(%rbp),%xmm3,%xmm11 |
+ vmovdqa %xmm8,0(%rsp) |
+ vpaddq 0(%rbp),%xmm4,%xmm8 |
+ vmovdqa %xmm9,16(%rsp) |
+ vpaddq 32(%rbp),%xmm5,%xmm9 |
+ vmovdqa %xmm10,32(%rsp) |
+ vpaddq 64(%rbp),%xmm6,%xmm10 |
+ vmovdqa %xmm11,48(%rsp) |
+ vpaddq 96(%rbp),%xmm7,%xmm11 |
+ vmovdqa %xmm8,64(%rsp) |
+ movq %rax,%r14 |
+ vmovdqa %xmm9,80(%rsp) |
+ movq %rbx,%rdi |
+ vmovdqa %xmm10,96(%rsp) |
+ xorq %rcx,%rdi |
+ vmovdqa %xmm11,112(%rsp) |
+ movq %r8,%r13 |
+ jmp .Lavx_00_47 |
+ |
+.align 16 |
+.Lavx_00_47: |
+ addq $256,%rbp |
+ vpalignr $8,%xmm0,%xmm1,%xmm8 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rax |
+ vpalignr $8,%xmm4,%xmm5,%xmm11 |
+ movq %r9,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $1,%xmm8,%xmm10 |
+ xorq %r8,%r13 |
+ xorq %r10,%r12 |
+ vpaddq %xmm11,%xmm0,%xmm0 |
+ shrdq $4,%r13,%r13 |
+ xorq %rax,%r14 |
+ vpsrlq $7,%xmm8,%xmm11 |
+ andq %r8,%r12 |
+ xorq %r8,%r13 |
+ vpsllq $56,%xmm8,%xmm9 |
+ addq 0(%rsp),%r11 |
+ movq %rax,%r15 |
+ vpxor %xmm10,%xmm11,%xmm8 |
+ xorq %r10,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpsrlq $7,%xmm10,%xmm10 |
+ xorq %rbx,%r15 |
+ addq %r12,%r11 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ vpsllq $7,%xmm9,%xmm9 |
+ xorq %rax,%r14 |
+ addq %r13,%r11 |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %rbx,%rdi |
+ shrdq $28,%r14,%r14 |
+ vpsrlq $6,%xmm7,%xmm11 |
+ addq %r11,%rdx |
+ addq %rdi,%r11 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ movq %rdx,%r13 |
+ addq %r11,%r14 |
+ vpsllq $3,%xmm7,%xmm10 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r11 |
+ vpaddq %xmm8,%xmm0,%xmm0 |
+ movq %r8,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $19,%xmm7,%xmm9 |
+ xorq %rdx,%r13 |
+ xorq %r9,%r12 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ shrdq $4,%r13,%r13 |
+ xorq %r11,%r14 |
+ vpsllq $42,%xmm10,%xmm10 |
+ andq %rdx,%r12 |
+ xorq %rdx,%r13 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ addq 8(%rsp),%r10 |
+ movq %r11,%rdi |
+ vpsrlq $42,%xmm9,%xmm9 |
+ xorq %r9,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ xorq %rax,%rdi |
+ addq %r12,%r10 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ vpaddq %xmm11,%xmm0,%xmm0 |
+ xorq %r11,%r14 |
+ addq %r13,%r10 |
+ vpaddq -128(%rbp),%xmm0,%xmm10 |
+ xorq %rax,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %r10,%rcx |
+ addq %r15,%r10 |
+ movq %rcx,%r13 |
+ addq %r10,%r14 |
+ vmovdqa %xmm10,0(%rsp) |
+ vpalignr $8,%xmm1,%xmm2,%xmm8 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r10 |
+ vpalignr $8,%xmm5,%xmm6,%xmm11 |
+ movq %rdx,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $1,%xmm8,%xmm10 |
+ xorq %rcx,%r13 |
+ xorq %r8,%r12 |
+ vpaddq %xmm11,%xmm1,%xmm1 |
+ shrdq $4,%r13,%r13 |
+ xorq %r10,%r14 |
+ vpsrlq $7,%xmm8,%xmm11 |
+ andq %rcx,%r12 |
+ xorq %rcx,%r13 |
+ vpsllq $56,%xmm8,%xmm9 |
+ addq 16(%rsp),%r9 |
+ movq %r10,%r15 |
+ vpxor %xmm10,%xmm11,%xmm8 |
+ xorq %r8,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpsrlq $7,%xmm10,%xmm10 |
+ xorq %r11,%r15 |
+ addq %r12,%r9 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ vpsllq $7,%xmm9,%xmm9 |
+ xorq %r10,%r14 |
+ addq %r13,%r9 |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %r11,%rdi |
+ shrdq $28,%r14,%r14 |
+ vpsrlq $6,%xmm0,%xmm11 |
+ addq %r9,%rbx |
+ addq %rdi,%r9 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ movq %rbx,%r13 |
+ addq %r9,%r14 |
+ vpsllq $3,%xmm0,%xmm10 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r9 |
+ vpaddq %xmm8,%xmm1,%xmm1 |
+ movq %rcx,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $19,%xmm0,%xmm9 |
+ xorq %rbx,%r13 |
+ xorq %rdx,%r12 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ shrdq $4,%r13,%r13 |
+ xorq %r9,%r14 |
+ vpsllq $42,%xmm10,%xmm10 |
+ andq %rbx,%r12 |
+ xorq %rbx,%r13 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ addq 24(%rsp),%r8 |
+ movq %r9,%rdi |
+ vpsrlq $42,%xmm9,%xmm9 |
+ xorq %rdx,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ xorq %r10,%rdi |
+ addq %r12,%r8 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ vpaddq %xmm11,%xmm1,%xmm1 |
+ xorq %r9,%r14 |
+ addq %r13,%r8 |
+ vpaddq -96(%rbp),%xmm1,%xmm10 |
+ xorq %r10,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %r8,%rax |
+ addq %r15,%r8 |
+ movq %rax,%r13 |
+ addq %r8,%r14 |
+ vmovdqa %xmm10,16(%rsp) |
+ vpalignr $8,%xmm2,%xmm3,%xmm8 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r8 |
+ vpalignr $8,%xmm6,%xmm7,%xmm11 |
+ movq %rbx,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $1,%xmm8,%xmm10 |
+ xorq %rax,%r13 |
+ xorq %rcx,%r12 |
+ vpaddq %xmm11,%xmm2,%xmm2 |
+ shrdq $4,%r13,%r13 |
+ xorq %r8,%r14 |
+ vpsrlq $7,%xmm8,%xmm11 |
+ andq %rax,%r12 |
+ xorq %rax,%r13 |
+ vpsllq $56,%xmm8,%xmm9 |
+ addq 32(%rsp),%rdx |
+ movq %r8,%r15 |
+ vpxor %xmm10,%xmm11,%xmm8 |
+ xorq %rcx,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpsrlq $7,%xmm10,%xmm10 |
+ xorq %r9,%r15 |
+ addq %r12,%rdx |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ vpsllq $7,%xmm9,%xmm9 |
+ xorq %r8,%r14 |
+ addq %r13,%rdx |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %r9,%rdi |
+ shrdq $28,%r14,%r14 |
+ vpsrlq $6,%xmm1,%xmm11 |
+ addq %rdx,%r11 |
+ addq %rdi,%rdx |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ movq %r11,%r13 |
+ addq %rdx,%r14 |
+ vpsllq $3,%xmm1,%xmm10 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rdx |
+ vpaddq %xmm8,%xmm2,%xmm2 |
+ movq %rax,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $19,%xmm1,%xmm9 |
+ xorq %r11,%r13 |
+ xorq %rbx,%r12 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ shrdq $4,%r13,%r13 |
+ xorq %rdx,%r14 |
+ vpsllq $42,%xmm10,%xmm10 |
+ andq %r11,%r12 |
+ xorq %r11,%r13 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ addq 40(%rsp),%rcx |
+ movq %rdx,%rdi |
+ vpsrlq $42,%xmm9,%xmm9 |
+ xorq %rbx,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ xorq %r8,%rdi |
+ addq %r12,%rcx |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ vpaddq %xmm11,%xmm2,%xmm2 |
+ xorq %rdx,%r14 |
+ addq %r13,%rcx |
+ vpaddq -64(%rbp),%xmm2,%xmm10 |
+ xorq %r8,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %rcx,%r10 |
+ addq %r15,%rcx |
+ movq %r10,%r13 |
+ addq %rcx,%r14 |
+ vmovdqa %xmm10,32(%rsp) |
+ vpalignr $8,%xmm3,%xmm4,%xmm8 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rcx |
+ vpalignr $8,%xmm7,%xmm0,%xmm11 |
+ movq %r11,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $1,%xmm8,%xmm10 |
+ xorq %r10,%r13 |
+ xorq %rax,%r12 |
+ vpaddq %xmm11,%xmm3,%xmm3 |
+ shrdq $4,%r13,%r13 |
+ xorq %rcx,%r14 |
+ vpsrlq $7,%xmm8,%xmm11 |
+ andq %r10,%r12 |
+ xorq %r10,%r13 |
+ vpsllq $56,%xmm8,%xmm9 |
+ addq 48(%rsp),%rbx |
+ movq %rcx,%r15 |
+ vpxor %xmm10,%xmm11,%xmm8 |
+ xorq %rax,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpsrlq $7,%xmm10,%xmm10 |
+ xorq %rdx,%r15 |
+ addq %r12,%rbx |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ vpsllq $7,%xmm9,%xmm9 |
+ xorq %rcx,%r14 |
+ addq %r13,%rbx |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %rdx,%rdi |
+ shrdq $28,%r14,%r14 |
+ vpsrlq $6,%xmm2,%xmm11 |
+ addq %rbx,%r9 |
+ addq %rdi,%rbx |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ movq %r9,%r13 |
+ addq %rbx,%r14 |
+ vpsllq $3,%xmm2,%xmm10 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rbx |
+ vpaddq %xmm8,%xmm3,%xmm3 |
+ movq %r10,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $19,%xmm2,%xmm9 |
+ xorq %r9,%r13 |
+ xorq %r11,%r12 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ shrdq $4,%r13,%r13 |
+ xorq %rbx,%r14 |
+ vpsllq $42,%xmm10,%xmm10 |
+ andq %r9,%r12 |
+ xorq %r9,%r13 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ addq 56(%rsp),%rax |
+ movq %rbx,%rdi |
+ vpsrlq $42,%xmm9,%xmm9 |
+ xorq %r11,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ xorq %rcx,%rdi |
+ addq %r12,%rax |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ vpaddq %xmm11,%xmm3,%xmm3 |
+ xorq %rbx,%r14 |
+ addq %r13,%rax |
+ vpaddq -32(%rbp),%xmm3,%xmm10 |
+ xorq %rcx,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %rax,%r8 |
+ addq %r15,%rax |
+ movq %r8,%r13 |
+ addq %rax,%r14 |
+ vmovdqa %xmm10,48(%rsp) |
+ vpalignr $8,%xmm4,%xmm5,%xmm8 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rax |
+ vpalignr $8,%xmm0,%xmm1,%xmm11 |
+ movq %r9,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $1,%xmm8,%xmm10 |
+ xorq %r8,%r13 |
+ xorq %r10,%r12 |
+ vpaddq %xmm11,%xmm4,%xmm4 |
+ shrdq $4,%r13,%r13 |
+ xorq %rax,%r14 |
+ vpsrlq $7,%xmm8,%xmm11 |
+ andq %r8,%r12 |
+ xorq %r8,%r13 |
+ vpsllq $56,%xmm8,%xmm9 |
+ addq 64(%rsp),%r11 |
+ movq %rax,%r15 |
+ vpxor %xmm10,%xmm11,%xmm8 |
+ xorq %r10,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpsrlq $7,%xmm10,%xmm10 |
+ xorq %rbx,%r15 |
+ addq %r12,%r11 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ vpsllq $7,%xmm9,%xmm9 |
+ xorq %rax,%r14 |
+ addq %r13,%r11 |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %rbx,%rdi |
+ shrdq $28,%r14,%r14 |
+ vpsrlq $6,%xmm3,%xmm11 |
+ addq %r11,%rdx |
+ addq %rdi,%r11 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ movq %rdx,%r13 |
+ addq %r11,%r14 |
+ vpsllq $3,%xmm3,%xmm10 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r11 |
+ vpaddq %xmm8,%xmm4,%xmm4 |
+ movq %r8,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $19,%xmm3,%xmm9 |
+ xorq %rdx,%r13 |
+ xorq %r9,%r12 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ shrdq $4,%r13,%r13 |
+ xorq %r11,%r14 |
+ vpsllq $42,%xmm10,%xmm10 |
+ andq %rdx,%r12 |
+ xorq %rdx,%r13 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ addq 72(%rsp),%r10 |
+ movq %r11,%rdi |
+ vpsrlq $42,%xmm9,%xmm9 |
+ xorq %r9,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ xorq %rax,%rdi |
+ addq %r12,%r10 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ vpaddq %xmm11,%xmm4,%xmm4 |
+ xorq %r11,%r14 |
+ addq %r13,%r10 |
+ vpaddq 0(%rbp),%xmm4,%xmm10 |
+ xorq %rax,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %r10,%rcx |
+ addq %r15,%r10 |
+ movq %rcx,%r13 |
+ addq %r10,%r14 |
+ vmovdqa %xmm10,64(%rsp) |
+ vpalignr $8,%xmm5,%xmm6,%xmm8 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r10 |
+ vpalignr $8,%xmm1,%xmm2,%xmm11 |
+ movq %rdx,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $1,%xmm8,%xmm10 |
+ xorq %rcx,%r13 |
+ xorq %r8,%r12 |
+ vpaddq %xmm11,%xmm5,%xmm5 |
+ shrdq $4,%r13,%r13 |
+ xorq %r10,%r14 |
+ vpsrlq $7,%xmm8,%xmm11 |
+ andq %rcx,%r12 |
+ xorq %rcx,%r13 |
+ vpsllq $56,%xmm8,%xmm9 |
+ addq 80(%rsp),%r9 |
+ movq %r10,%r15 |
+ vpxor %xmm10,%xmm11,%xmm8 |
+ xorq %r8,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpsrlq $7,%xmm10,%xmm10 |
+ xorq %r11,%r15 |
+ addq %r12,%r9 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ vpsllq $7,%xmm9,%xmm9 |
+ xorq %r10,%r14 |
+ addq %r13,%r9 |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %r11,%rdi |
+ shrdq $28,%r14,%r14 |
+ vpsrlq $6,%xmm4,%xmm11 |
+ addq %r9,%rbx |
+ addq %rdi,%r9 |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ movq %rbx,%r13 |
+ addq %r9,%r14 |
+ vpsllq $3,%xmm4,%xmm10 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r9 |
+ vpaddq %xmm8,%xmm5,%xmm5 |
+ movq %rcx,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $19,%xmm4,%xmm9 |
+ xorq %rbx,%r13 |
+ xorq %rdx,%r12 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ shrdq $4,%r13,%r13 |
+ xorq %r9,%r14 |
+ vpsllq $42,%xmm10,%xmm10 |
+ andq %rbx,%r12 |
+ xorq %rbx,%r13 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ addq 88(%rsp),%r8 |
+ movq %r9,%rdi |
+ vpsrlq $42,%xmm9,%xmm9 |
+ xorq %rdx,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ xorq %r10,%rdi |
+ addq %r12,%r8 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ vpaddq %xmm11,%xmm5,%xmm5 |
+ xorq %r9,%r14 |
+ addq %r13,%r8 |
+ vpaddq 32(%rbp),%xmm5,%xmm10 |
+ xorq %r10,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %r8,%rax |
+ addq %r15,%r8 |
+ movq %rax,%r13 |
+ addq %r8,%r14 |
+ vmovdqa %xmm10,80(%rsp) |
+ vpalignr $8,%xmm6,%xmm7,%xmm8 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r8 |
+ vpalignr $8,%xmm2,%xmm3,%xmm11 |
+ movq %rbx,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $1,%xmm8,%xmm10 |
+ xorq %rax,%r13 |
+ xorq %rcx,%r12 |
+ vpaddq %xmm11,%xmm6,%xmm6 |
+ shrdq $4,%r13,%r13 |
+ xorq %r8,%r14 |
+ vpsrlq $7,%xmm8,%xmm11 |
+ andq %rax,%r12 |
+ xorq %rax,%r13 |
+ vpsllq $56,%xmm8,%xmm9 |
+ addq 96(%rsp),%rdx |
+ movq %r8,%r15 |
+ vpxor %xmm10,%xmm11,%xmm8 |
+ xorq %rcx,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpsrlq $7,%xmm10,%xmm10 |
+ xorq %r9,%r15 |
+ addq %r12,%rdx |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ vpsllq $7,%xmm9,%xmm9 |
+ xorq %r8,%r14 |
+ addq %r13,%rdx |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %r9,%rdi |
+ shrdq $28,%r14,%r14 |
+ vpsrlq $6,%xmm5,%xmm11 |
+ addq %rdx,%r11 |
+ addq %rdi,%rdx |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ movq %r11,%r13 |
+ addq %rdx,%r14 |
+ vpsllq $3,%xmm5,%xmm10 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rdx |
+ vpaddq %xmm8,%xmm6,%xmm6 |
+ movq %rax,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $19,%xmm5,%xmm9 |
+ xorq %r11,%r13 |
+ xorq %rbx,%r12 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ shrdq $4,%r13,%r13 |
+ xorq %rdx,%r14 |
+ vpsllq $42,%xmm10,%xmm10 |
+ andq %r11,%r12 |
+ xorq %r11,%r13 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ addq 104(%rsp),%rcx |
+ movq %rdx,%rdi |
+ vpsrlq $42,%xmm9,%xmm9 |
+ xorq %rbx,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ xorq %r8,%rdi |
+ addq %r12,%rcx |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ vpaddq %xmm11,%xmm6,%xmm6 |
+ xorq %rdx,%r14 |
+ addq %r13,%rcx |
+ vpaddq 64(%rbp),%xmm6,%xmm10 |
+ xorq %r8,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %rcx,%r10 |
+ addq %r15,%rcx |
+ movq %r10,%r13 |
+ addq %rcx,%r14 |
+ vmovdqa %xmm10,96(%rsp) |
+ vpalignr $8,%xmm7,%xmm0,%xmm8 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rcx |
+ vpalignr $8,%xmm3,%xmm4,%xmm11 |
+ movq %r11,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $1,%xmm8,%xmm10 |
+ xorq %r10,%r13 |
+ xorq %rax,%r12 |
+ vpaddq %xmm11,%xmm7,%xmm7 |
+ shrdq $4,%r13,%r13 |
+ xorq %rcx,%r14 |
+ vpsrlq $7,%xmm8,%xmm11 |
+ andq %r10,%r12 |
+ xorq %r10,%r13 |
+ vpsllq $56,%xmm8,%xmm9 |
+ addq 112(%rsp),%rbx |
+ movq %rcx,%r15 |
+ vpxor %xmm10,%xmm11,%xmm8 |
+ xorq %rax,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpsrlq $7,%xmm10,%xmm10 |
+ xorq %rdx,%r15 |
+ addq %r12,%rbx |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ vpsllq $7,%xmm9,%xmm9 |
+ xorq %rcx,%r14 |
+ addq %r13,%rbx |
+ vpxor %xmm10,%xmm8,%xmm8 |
+ xorq %rdx,%rdi |
+ shrdq $28,%r14,%r14 |
+ vpsrlq $6,%xmm6,%xmm11 |
+ addq %rbx,%r9 |
+ addq %rdi,%rbx |
+ vpxor %xmm9,%xmm8,%xmm8 |
+ movq %r9,%r13 |
+ addq %rbx,%r14 |
+ vpsllq $3,%xmm6,%xmm10 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rbx |
+ vpaddq %xmm8,%xmm7,%xmm7 |
+ movq %r10,%r12 |
+ shrdq $5,%r14,%r14 |
+ vpsrlq $19,%xmm6,%xmm9 |
+ xorq %r9,%r13 |
+ xorq %r11,%r12 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ shrdq $4,%r13,%r13 |
+ xorq %rbx,%r14 |
+ vpsllq $42,%xmm10,%xmm10 |
+ andq %r9,%r12 |
+ xorq %r9,%r13 |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ addq 120(%rsp),%rax |
+ movq %rbx,%rdi |
+ vpsrlq $42,%xmm9,%xmm9 |
+ xorq %r11,%r12 |
+ shrdq $6,%r14,%r14 |
+ vpxor %xmm10,%xmm11,%xmm11 |
+ xorq %rcx,%rdi |
+ addq %r12,%rax |
+ vpxor %xmm9,%xmm11,%xmm11 |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ vpaddq %xmm11,%xmm7,%xmm7 |
+ xorq %rbx,%r14 |
+ addq %r13,%rax |
+ vpaddq 96(%rbp),%xmm7,%xmm10 |
+ xorq %rcx,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %rax,%r8 |
+ addq %r15,%rax |
+ movq %r8,%r13 |
+ addq %rax,%r14 |
+ vmovdqa %xmm10,112(%rsp) |
+ cmpb $0,135(%rbp) |
+ jne .Lavx_00_47 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rax |
+ movq %r9,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %r8,%r13 |
+ xorq %r10,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %rax,%r14 |
+ andq %r8,%r12 |
+ xorq %r8,%r13 |
+ addq 0(%rsp),%r11 |
+ movq %rax,%r15 |
+ xorq %r10,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %rbx,%r15 |
+ addq %r12,%r11 |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ xorq %rax,%r14 |
+ addq %r13,%r11 |
+ xorq %rbx,%rdi |
+ shrdq $28,%r14,%r14 |
+ addq %r11,%rdx |
+ addq %rdi,%r11 |
+ movq %rdx,%r13 |
+ addq %r11,%r14 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r11 |
+ movq %r8,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %rdx,%r13 |
+ xorq %r9,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %r11,%r14 |
+ andq %rdx,%r12 |
+ xorq %rdx,%r13 |
+ addq 8(%rsp),%r10 |
+ movq %r11,%rdi |
+ xorq %r9,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %rax,%rdi |
+ addq %r12,%r10 |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ xorq %r11,%r14 |
+ addq %r13,%r10 |
+ xorq %rax,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %r10,%rcx |
+ addq %r15,%r10 |
+ movq %rcx,%r13 |
+ addq %r10,%r14 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r10 |
+ movq %rdx,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %rcx,%r13 |
+ xorq %r8,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %r10,%r14 |
+ andq %rcx,%r12 |
+ xorq %rcx,%r13 |
+ addq 16(%rsp),%r9 |
+ movq %r10,%r15 |
+ xorq %r8,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %r11,%r15 |
+ addq %r12,%r9 |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ xorq %r10,%r14 |
+ addq %r13,%r9 |
+ xorq %r11,%rdi |
+ shrdq $28,%r14,%r14 |
+ addq %r9,%rbx |
+ addq %rdi,%r9 |
+ movq %rbx,%r13 |
+ addq %r9,%r14 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r9 |
+ movq %rcx,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %rbx,%r13 |
+ xorq %rdx,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %r9,%r14 |
+ andq %rbx,%r12 |
+ xorq %rbx,%r13 |
+ addq 24(%rsp),%r8 |
+ movq %r9,%rdi |
+ xorq %rdx,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %r10,%rdi |
+ addq %r12,%r8 |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ xorq %r9,%r14 |
+ addq %r13,%r8 |
+ xorq %r10,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %r8,%rax |
+ addq %r15,%r8 |
+ movq %rax,%r13 |
+ addq %r8,%r14 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r8 |
+ movq %rbx,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %rax,%r13 |
+ xorq %rcx,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %r8,%r14 |
+ andq %rax,%r12 |
+ xorq %rax,%r13 |
+ addq 32(%rsp),%rdx |
+ movq %r8,%r15 |
+ xorq %rcx,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %r9,%r15 |
+ addq %r12,%rdx |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ xorq %r8,%r14 |
+ addq %r13,%rdx |
+ xorq %r9,%rdi |
+ shrdq $28,%r14,%r14 |
+ addq %rdx,%r11 |
+ addq %rdi,%rdx |
+ movq %r11,%r13 |
+ addq %rdx,%r14 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rdx |
+ movq %rax,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %r11,%r13 |
+ xorq %rbx,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %rdx,%r14 |
+ andq %r11,%r12 |
+ xorq %r11,%r13 |
+ addq 40(%rsp),%rcx |
+ movq %rdx,%rdi |
+ xorq %rbx,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %r8,%rdi |
+ addq %r12,%rcx |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ xorq %rdx,%r14 |
+ addq %r13,%rcx |
+ xorq %r8,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %rcx,%r10 |
+ addq %r15,%rcx |
+ movq %r10,%r13 |
+ addq %rcx,%r14 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rcx |
+ movq %r11,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %r10,%r13 |
+ xorq %rax,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %rcx,%r14 |
+ andq %r10,%r12 |
+ xorq %r10,%r13 |
+ addq 48(%rsp),%rbx |
+ movq %rcx,%r15 |
+ xorq %rax,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %rdx,%r15 |
+ addq %r12,%rbx |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ xorq %rcx,%r14 |
+ addq %r13,%rbx |
+ xorq %rdx,%rdi |
+ shrdq $28,%r14,%r14 |
+ addq %rbx,%r9 |
+ addq %rdi,%rbx |
+ movq %r9,%r13 |
+ addq %rbx,%r14 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rbx |
+ movq %r10,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %r9,%r13 |
+ xorq %r11,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %rbx,%r14 |
+ andq %r9,%r12 |
+ xorq %r9,%r13 |
+ addq 56(%rsp),%rax |
+ movq %rbx,%rdi |
+ xorq %r11,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %rcx,%rdi |
+ addq %r12,%rax |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ xorq %rbx,%r14 |
+ addq %r13,%rax |
+ xorq %rcx,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %rax,%r8 |
+ addq %r15,%rax |
+ movq %r8,%r13 |
+ addq %rax,%r14 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rax |
+ movq %r9,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %r8,%r13 |
+ xorq %r10,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %rax,%r14 |
+ andq %r8,%r12 |
+ xorq %r8,%r13 |
+ addq 64(%rsp),%r11 |
+ movq %rax,%r15 |
+ xorq %r10,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %rbx,%r15 |
+ addq %r12,%r11 |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ xorq %rax,%r14 |
+ addq %r13,%r11 |
+ xorq %rbx,%rdi |
+ shrdq $28,%r14,%r14 |
+ addq %r11,%rdx |
+ addq %rdi,%r11 |
+ movq %rdx,%r13 |
+ addq %r11,%r14 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r11 |
+ movq %r8,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %rdx,%r13 |
+ xorq %r9,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %r11,%r14 |
+ andq %rdx,%r12 |
+ xorq %rdx,%r13 |
+ addq 72(%rsp),%r10 |
+ movq %r11,%rdi |
+ xorq %r9,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %rax,%rdi |
+ addq %r12,%r10 |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ xorq %r11,%r14 |
+ addq %r13,%r10 |
+ xorq %rax,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %r10,%rcx |
+ addq %r15,%r10 |
+ movq %rcx,%r13 |
+ addq %r10,%r14 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r10 |
+ movq %rdx,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %rcx,%r13 |
+ xorq %r8,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %r10,%r14 |
+ andq %rcx,%r12 |
+ xorq %rcx,%r13 |
+ addq 80(%rsp),%r9 |
+ movq %r10,%r15 |
+ xorq %r8,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %r11,%r15 |
+ addq %r12,%r9 |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ xorq %r10,%r14 |
+ addq %r13,%r9 |
+ xorq %r11,%rdi |
+ shrdq $28,%r14,%r14 |
+ addq %r9,%rbx |
+ addq %rdi,%r9 |
+ movq %rbx,%r13 |
+ addq %r9,%r14 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r9 |
+ movq %rcx,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %rbx,%r13 |
+ xorq %rdx,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %r9,%r14 |
+ andq %rbx,%r12 |
+ xorq %rbx,%r13 |
+ addq 88(%rsp),%r8 |
+ movq %r9,%rdi |
+ xorq %rdx,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %r10,%rdi |
+ addq %r12,%r8 |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ xorq %r9,%r14 |
+ addq %r13,%r8 |
+ xorq %r10,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %r8,%rax |
+ addq %r15,%r8 |
+ movq %rax,%r13 |
+ addq %r8,%r14 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%r8 |
+ movq %rbx,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %rax,%r13 |
+ xorq %rcx,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %r8,%r14 |
+ andq %rax,%r12 |
+ xorq %rax,%r13 |
+ addq 96(%rsp),%rdx |
+ movq %r8,%r15 |
+ xorq %rcx,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %r9,%r15 |
+ addq %r12,%rdx |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ xorq %r8,%r14 |
+ addq %r13,%rdx |
+ xorq %r9,%rdi |
+ shrdq $28,%r14,%r14 |
+ addq %rdx,%r11 |
+ addq %rdi,%rdx |
+ movq %r11,%r13 |
+ addq %rdx,%r14 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rdx |
+ movq %rax,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %r11,%r13 |
+ xorq %rbx,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %rdx,%r14 |
+ andq %r11,%r12 |
+ xorq %r11,%r13 |
+ addq 104(%rsp),%rcx |
+ movq %rdx,%rdi |
+ xorq %rbx,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %r8,%rdi |
+ addq %r12,%rcx |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ xorq %rdx,%r14 |
+ addq %r13,%rcx |
+ xorq %r8,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %rcx,%r10 |
+ addq %r15,%rcx |
+ movq %r10,%r13 |
+ addq %rcx,%r14 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rcx |
+ movq %r11,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %r10,%r13 |
+ xorq %rax,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %rcx,%r14 |
+ andq %r10,%r12 |
+ xorq %r10,%r13 |
+ addq 112(%rsp),%rbx |
+ movq %rcx,%r15 |
+ xorq %rax,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %rdx,%r15 |
+ addq %r12,%rbx |
+ shrdq $14,%r13,%r13 |
+ andq %r15,%rdi |
+ xorq %rcx,%r14 |
+ addq %r13,%rbx |
+ xorq %rdx,%rdi |
+ shrdq $28,%r14,%r14 |
+ addq %rbx,%r9 |
+ addq %rdi,%rbx |
+ movq %r9,%r13 |
+ addq %rbx,%r14 |
+ shrdq $23,%r13,%r13 |
+ movq %r14,%rbx |
+ movq %r10,%r12 |
+ shrdq $5,%r14,%r14 |
+ xorq %r9,%r13 |
+ xorq %r11,%r12 |
+ shrdq $4,%r13,%r13 |
+ xorq %rbx,%r14 |
+ andq %r9,%r12 |
+ xorq %r9,%r13 |
+ addq 120(%rsp),%rax |
+ movq %rbx,%rdi |
+ xorq %r11,%r12 |
+ shrdq $6,%r14,%r14 |
+ xorq %rcx,%rdi |
+ addq %r12,%rax |
+ shrdq $14,%r13,%r13 |
+ andq %rdi,%r15 |
+ xorq %rbx,%r14 |
+ addq %r13,%rax |
+ xorq %rcx,%r15 |
+ shrdq $28,%r14,%r14 |
+ addq %rax,%r8 |
+ addq %r15,%rax |
+ movq %r8,%r13 |
+ addq %rax,%r14 |
+ movq 128+0(%rsp),%rdi |
+ movq %r14,%rax |
+ |
+ addq 0(%rdi),%rax |
+ leaq 128(%rsi),%rsi |
+ 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_avx |
+ |
+ movq 128+24(%rsp),%rsi |
+ vzeroupper |
+ 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_avx: |
+ .byte 0xf3,0xc3 |
+.size sha512_block_data_order_avx,.-sha512_block_data_order_avx |
#endif |