| # This file is generated from a similarly-named Perl script in the BoringSSL |
| # source tree. Do not edit by hand. |
| |
| #if defined(__has_feature) |
| #if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) |
| #define OPENSSL_NO_ASM |
| #endif |
| #endif |
| |
| #if defined(__x86_64__) && !defined(OPENSSL_NO_ASM) |
| #if defined(BORINGSSL_PREFIX) |
| #include <boringssl_prefix_symbols_asm.h> |
| #endif |
| .text |
| |
| |
| L$p434x2: |
| .quad 0xFFFFFFFFFFFFFFFE |
| .quad 0xFFFFFFFFFFFFFFFF |
| .quad 0xFB82ECF5C5FFFFFF |
| .quad 0xF78CB8F062B15D47 |
| .quad 0xD9F8BFAD038A40AC |
| .quad 0x0004683E4E2EE688 |
| |
| |
| L$p434p1: |
| .quad 0xFDC1767AE3000000 |
| .quad 0x7BC65C783158AEA3 |
| .quad 0x6CFC5FD681C52056 |
| .quad 0x0002341F27177344 |
| |
| |
| .private_extern _OPENSSL_ia32cap_P |
| .globl _sike_fpadd |
| .private_extern _sike_fpadd |
| |
| _sike_fpadd: |
| |
| pushq %r12 |
| |
| |
| pushq %r13 |
| |
| |
| pushq %r14 |
| |
| |
| |
| xorq %rax,%rax |
| |
| movq 0(%rdi),%r8 |
| addq 0(%rsi),%r8 |
| movq 8(%rdi),%r9 |
| adcq 8(%rsi),%r9 |
| movq 16(%rdi),%r10 |
| adcq 16(%rsi),%r10 |
| movq 24(%rdi),%r11 |
| adcq 24(%rsi),%r11 |
| movq 32(%rdi),%r12 |
| adcq 32(%rsi),%r12 |
| movq 40(%rdi),%r13 |
| adcq 40(%rsi),%r13 |
| movq 48(%rdi),%r14 |
| adcq 48(%rsi),%r14 |
| |
| movq L$p434x2(%rip),%rcx |
| subq %rcx,%r8 |
| movq 8+L$p434x2(%rip),%rcx |
| sbbq %rcx,%r9 |
| sbbq %rcx,%r10 |
| movq 16+L$p434x2(%rip),%rcx |
| sbbq %rcx,%r11 |
| movq 24+L$p434x2(%rip),%rcx |
| sbbq %rcx,%r12 |
| movq 32+L$p434x2(%rip),%rcx |
| sbbq %rcx,%r13 |
| movq 40+L$p434x2(%rip),%rcx |
| sbbq %rcx,%r14 |
| |
| sbbq $0,%rax |
| |
| movq L$p434x2(%rip),%rdi |
| andq %rax,%rdi |
| movq 8+L$p434x2(%rip),%rsi |
| andq %rax,%rsi |
| movq 16+L$p434x2(%rip),%rcx |
| andq %rax,%rcx |
| |
| addq %rdi,%r8 |
| movq %r8,0(%rdx) |
| adcq %rsi,%r9 |
| movq %r9,8(%rdx) |
| adcq %rsi,%r10 |
| movq %r10,16(%rdx) |
| adcq %rcx,%r11 |
| movq %r11,24(%rdx) |
| |
| setc %cl |
| movq 24+L$p434x2(%rip),%r8 |
| andq %rax,%r8 |
| movq 32+L$p434x2(%rip),%r9 |
| andq %rax,%r9 |
| movq 40+L$p434x2(%rip),%r10 |
| andq %rax,%r10 |
| btq $0,%rcx |
| |
| adcq %r8,%r12 |
| movq %r12,32(%rdx) |
| adcq %r9,%r13 |
| movq %r13,40(%rdx) |
| adcq %r10,%r14 |
| movq %r14,48(%rdx) |
| |
| popq %r14 |
| |
| popq %r13 |
| |
| popq %r12 |
| |
| .byte 0xf3,0xc3 |
| |
| .globl _sike_cswap_asm |
| .private_extern _sike_cswap_asm |
| |
| _sike_cswap_asm: |
| |
| |
| movq %rdx,%xmm3 |
| |
| |
| |
| |
| |
| pshufd $68,%xmm3,%xmm3 |
| |
| movdqu 0(%rdi),%xmm0 |
| movdqu 0(%rsi),%xmm1 |
| movdqa %xmm1,%xmm2 |
| pxor %xmm0,%xmm2 |
| pand %xmm3,%xmm2 |
| pxor %xmm2,%xmm0 |
| pxor %xmm2,%xmm1 |
| movdqu %xmm0,0(%rdi) |
| movdqu %xmm1,0(%rsi) |
| |
| movdqu 16(%rdi),%xmm0 |
| movdqu 16(%rsi),%xmm1 |
| movdqa %xmm1,%xmm2 |
| pxor %xmm0,%xmm2 |
| pand %xmm3,%xmm2 |
| pxor %xmm2,%xmm0 |
| pxor %xmm2,%xmm1 |
| movdqu %xmm0,16(%rdi) |
| movdqu %xmm1,16(%rsi) |
| |
| movdqu 32(%rdi),%xmm0 |
| movdqu 32(%rsi),%xmm1 |
| movdqa %xmm1,%xmm2 |
| pxor %xmm0,%xmm2 |
| pand %xmm3,%xmm2 |
| pxor %xmm2,%xmm0 |
| pxor %xmm2,%xmm1 |
| movdqu %xmm0,32(%rdi) |
| movdqu %xmm1,32(%rsi) |
| |
| movdqu 48(%rdi),%xmm0 |
| movdqu 48(%rsi),%xmm1 |
| movdqa %xmm1,%xmm2 |
| pxor %xmm0,%xmm2 |
| pand %xmm3,%xmm2 |
| pxor %xmm2,%xmm0 |
| pxor %xmm2,%xmm1 |
| movdqu %xmm0,48(%rdi) |
| movdqu %xmm1,48(%rsi) |
| |
| movdqu 64(%rdi),%xmm0 |
| movdqu 64(%rsi),%xmm1 |
| movdqa %xmm1,%xmm2 |
| pxor %xmm0,%xmm2 |
| pand %xmm3,%xmm2 |
| pxor %xmm2,%xmm0 |
| pxor %xmm2,%xmm1 |
| movdqu %xmm0,64(%rdi) |
| movdqu %xmm1,64(%rsi) |
| |
| movdqu 80(%rdi),%xmm0 |
| movdqu 80(%rsi),%xmm1 |
| movdqa %xmm1,%xmm2 |
| pxor %xmm0,%xmm2 |
| pand %xmm3,%xmm2 |
| pxor %xmm2,%xmm0 |
| pxor %xmm2,%xmm1 |
| movdqu %xmm0,80(%rdi) |
| movdqu %xmm1,80(%rsi) |
| |
| movdqu 96(%rdi),%xmm0 |
| movdqu 96(%rsi),%xmm1 |
| movdqa %xmm1,%xmm2 |
| pxor %xmm0,%xmm2 |
| pand %xmm3,%xmm2 |
| pxor %xmm2,%xmm0 |
| pxor %xmm2,%xmm1 |
| movdqu %xmm0,96(%rdi) |
| movdqu %xmm1,96(%rsi) |
| |
| movdqu 112(%rdi),%xmm0 |
| movdqu 112(%rsi),%xmm1 |
| movdqa %xmm1,%xmm2 |
| pxor %xmm0,%xmm2 |
| pand %xmm3,%xmm2 |
| pxor %xmm2,%xmm0 |
| pxor %xmm2,%xmm1 |
| movdqu %xmm0,112(%rdi) |
| movdqu %xmm1,112(%rsi) |
| |
| movdqu 128(%rdi),%xmm0 |
| movdqu 128(%rsi),%xmm1 |
| movdqa %xmm1,%xmm2 |
| pxor %xmm0,%xmm2 |
| pand %xmm3,%xmm2 |
| pxor %xmm2,%xmm0 |
| pxor %xmm2,%xmm1 |
| movdqu %xmm0,128(%rdi) |
| movdqu %xmm1,128(%rsi) |
| |
| movdqu 144(%rdi),%xmm0 |
| movdqu 144(%rsi),%xmm1 |
| movdqa %xmm1,%xmm2 |
| pxor %xmm0,%xmm2 |
| pand %xmm3,%xmm2 |
| pxor %xmm2,%xmm0 |
| pxor %xmm2,%xmm1 |
| movdqu %xmm0,144(%rdi) |
| movdqu %xmm1,144(%rsi) |
| |
| movdqu 160(%rdi),%xmm0 |
| movdqu 160(%rsi),%xmm1 |
| movdqa %xmm1,%xmm2 |
| pxor %xmm0,%xmm2 |
| pand %xmm3,%xmm2 |
| pxor %xmm2,%xmm0 |
| pxor %xmm2,%xmm1 |
| movdqu %xmm0,160(%rdi) |
| movdqu %xmm1,160(%rsi) |
| |
| movdqu 176(%rdi),%xmm0 |
| movdqu 176(%rsi),%xmm1 |
| movdqa %xmm1,%xmm2 |
| pxor %xmm0,%xmm2 |
| pand %xmm3,%xmm2 |
| pxor %xmm2,%xmm0 |
| pxor %xmm2,%xmm1 |
| movdqu %xmm0,176(%rdi) |
| movdqu %xmm1,176(%rsi) |
| |
| movdqu 192(%rdi),%xmm0 |
| movdqu 192(%rsi),%xmm1 |
| movdqa %xmm1,%xmm2 |
| pxor %xmm0,%xmm2 |
| pand %xmm3,%xmm2 |
| pxor %xmm2,%xmm0 |
| pxor %xmm2,%xmm1 |
| movdqu %xmm0,192(%rdi) |
| movdqu %xmm1,192(%rsi) |
| |
| movdqu 208(%rdi),%xmm0 |
| movdqu 208(%rsi),%xmm1 |
| movdqa %xmm1,%xmm2 |
| pxor %xmm0,%xmm2 |
| pand %xmm3,%xmm2 |
| pxor %xmm2,%xmm0 |
| pxor %xmm2,%xmm1 |
| movdqu %xmm0,208(%rdi) |
| movdqu %xmm1,208(%rsi) |
| |
| .byte 0xf3,0xc3 |
| .globl _sike_fpsub |
| .private_extern _sike_fpsub |
| |
| _sike_fpsub: |
| |
| pushq %r12 |
| |
| |
| pushq %r13 |
| |
| |
| pushq %r14 |
| |
| |
| |
| xorq %rax,%rax |
| |
| movq 0(%rdi),%r8 |
| subq 0(%rsi),%r8 |
| movq 8(%rdi),%r9 |
| sbbq 8(%rsi),%r9 |
| movq 16(%rdi),%r10 |
| sbbq 16(%rsi),%r10 |
| movq 24(%rdi),%r11 |
| sbbq 24(%rsi),%r11 |
| movq 32(%rdi),%r12 |
| sbbq 32(%rsi),%r12 |
| movq 40(%rdi),%r13 |
| sbbq 40(%rsi),%r13 |
| movq 48(%rdi),%r14 |
| sbbq 48(%rsi),%r14 |
| |
| sbbq $0x0,%rax |
| |
| movq L$p434x2(%rip),%rdi |
| andq %rax,%rdi |
| movq 8+L$p434x2(%rip),%rsi |
| andq %rax,%rsi |
| movq 16+L$p434x2(%rip),%rcx |
| andq %rax,%rcx |
| |
| addq %rdi,%r8 |
| movq %r8,0(%rdx) |
| adcq %rsi,%r9 |
| movq %r9,8(%rdx) |
| adcq %rsi,%r10 |
| movq %r10,16(%rdx) |
| adcq %rcx,%r11 |
| movq %r11,24(%rdx) |
| |
| setc %cl |
| movq 24+L$p434x2(%rip),%r8 |
| andq %rax,%r8 |
| movq 32+L$p434x2(%rip),%r9 |
| andq %rax,%r9 |
| movq 40+L$p434x2(%rip),%r10 |
| andq %rax,%r10 |
| btq $0x0,%rcx |
| |
| adcq %r8,%r12 |
| adcq %r9,%r13 |
| adcq %r10,%r14 |
| movq %r12,32(%rdx) |
| movq %r13,40(%rdx) |
| movq %r14,48(%rdx) |
| |
| popq %r14 |
| |
| popq %r13 |
| |
| popq %r12 |
| |
| .byte 0xf3,0xc3 |
| |
| .globl _sike_mpadd_asm |
| .private_extern _sike_mpadd_asm |
| |
| _sike_mpadd_asm: |
| |
| movq 0(%rdi),%r8; |
| movq 8(%rdi),%r9 |
| movq 16(%rdi),%r10 |
| movq 24(%rdi),%r11 |
| movq 32(%rdi),%rcx |
| addq 0(%rsi),%r8 |
| adcq 8(%rsi),%r9 |
| adcq 16(%rsi),%r10 |
| adcq 24(%rsi),%r11 |
| adcq 32(%rsi),%rcx |
| movq %r8,0(%rdx) |
| movq %r9,8(%rdx) |
| movq %r10,16(%rdx) |
| movq %r11,24(%rdx) |
| movq %rcx,32(%rdx) |
| |
| movq 40(%rdi),%r8 |
| movq 48(%rdi),%r9 |
| adcq 40(%rsi),%r8 |
| adcq 48(%rsi),%r9 |
| movq %r8,40(%rdx) |
| movq %r9,48(%rdx) |
| .byte 0xf3,0xc3 |
| |
| .globl _sike_mpsubx2_asm |
| .private_extern _sike_mpsubx2_asm |
| |
| _sike_mpsubx2_asm: |
| |
| xorq %rax,%rax |
| |
| movq 0(%rdi),%r8 |
| movq 8(%rdi),%r9 |
| movq 16(%rdi),%r10 |
| movq 24(%rdi),%r11 |
| movq 32(%rdi),%rcx |
| subq 0(%rsi),%r8 |
| sbbq 8(%rsi),%r9 |
| sbbq 16(%rsi),%r10 |
| sbbq 24(%rsi),%r11 |
| sbbq 32(%rsi),%rcx |
| movq %r8,0(%rdx) |
| movq %r9,8(%rdx) |
| movq %r10,16(%rdx) |
| movq %r11,24(%rdx) |
| movq %rcx,32(%rdx) |
| |
| movq 40(%rdi),%r8 |
| movq 48(%rdi),%r9 |
| movq 56(%rdi),%r10 |
| movq 64(%rdi),%r11 |
| movq 72(%rdi),%rcx |
| sbbq 40(%rsi),%r8 |
| sbbq 48(%rsi),%r9 |
| sbbq 56(%rsi),%r10 |
| sbbq 64(%rsi),%r11 |
| sbbq 72(%rsi),%rcx |
| movq %r8,40(%rdx) |
| movq %r9,48(%rdx) |
| movq %r10,56(%rdx) |
| movq %r11,64(%rdx) |
| movq %rcx,72(%rdx) |
| |
| movq 80(%rdi),%r8 |
| movq 88(%rdi),%r9 |
| movq 96(%rdi),%r10 |
| movq 104(%rdi),%r11 |
| sbbq 80(%rsi),%r8 |
| sbbq 88(%rsi),%r9 |
| sbbq 96(%rsi),%r10 |
| sbbq 104(%rsi),%r11 |
| sbbq $0x0,%rax |
| movq %r8,80(%rdx) |
| movq %r9,88(%rdx) |
| movq %r10,96(%rdx) |
| movq %r11,104(%rdx) |
| .byte 0xf3,0xc3 |
| |
| .globl _sike_mpdblsubx2_asm |
| .private_extern _sike_mpdblsubx2_asm |
| |
| _sike_mpdblsubx2_asm: |
| |
| pushq %r12 |
| |
| |
| pushq %r13 |
| |
| |
| |
| xorq %rax,%rax |
| |
| |
| movq 0(%rdx),%r8 |
| movq 8(%rdx),%r9 |
| movq 16(%rdx),%r10 |
| movq 24(%rdx),%r11 |
| movq 32(%rdx),%r12 |
| movq 40(%rdx),%r13 |
| movq 48(%rdx),%rcx |
| subq 0(%rdi),%r8 |
| sbbq 8(%rdi),%r9 |
| sbbq 16(%rdi),%r10 |
| sbbq 24(%rdi),%r11 |
| sbbq 32(%rdi),%r12 |
| sbbq 40(%rdi),%r13 |
| sbbq 48(%rdi),%rcx |
| adcq $0x0,%rax |
| |
| |
| subq 0(%rsi),%r8 |
| sbbq 8(%rsi),%r9 |
| sbbq 16(%rsi),%r10 |
| sbbq 24(%rsi),%r11 |
| sbbq 32(%rsi),%r12 |
| sbbq 40(%rsi),%r13 |
| sbbq 48(%rsi),%rcx |
| adcq $0x0,%rax |
| |
| |
| movq %r8,0(%rdx) |
| movq %r9,8(%rdx) |
| movq %r10,16(%rdx) |
| movq %r11,24(%rdx) |
| movq %r12,32(%rdx) |
| movq %r13,40(%rdx) |
| movq %rcx,48(%rdx) |
| |
| |
| movq 56(%rdx),%r8 |
| movq 64(%rdx),%r9 |
| movq 72(%rdx),%r10 |
| movq 80(%rdx),%r11 |
| movq 88(%rdx),%r12 |
| movq 96(%rdx),%r13 |
| movq 104(%rdx),%rcx |
| |
| subq %rax,%r8 |
| sbbq 56(%rdi),%r8 |
| sbbq 64(%rdi),%r9 |
| sbbq 72(%rdi),%r10 |
| sbbq 80(%rdi),%r11 |
| sbbq 88(%rdi),%r12 |
| sbbq 96(%rdi),%r13 |
| sbbq 104(%rdi),%rcx |
| |
| |
| subq 56(%rsi),%r8 |
| sbbq 64(%rsi),%r9 |
| sbbq 72(%rsi),%r10 |
| sbbq 80(%rsi),%r11 |
| sbbq 88(%rsi),%r12 |
| sbbq 96(%rsi),%r13 |
| sbbq 104(%rsi),%rcx |
| |
| |
| movq %r8,56(%rdx) |
| movq %r9,64(%rdx) |
| movq %r10,72(%rdx) |
| movq %r11,80(%rdx) |
| movq %r12,88(%rdx) |
| movq %r13,96(%rdx) |
| movq %rcx,104(%rdx) |
| |
| popq %r13 |
| |
| popq %r12 |
| |
| .byte 0xf3,0xc3 |
| |
| |
| L$rdc_bdw: |
| |
| |
| |
| |
| |
| |
| |
| |
| xorq %rax,%rax |
| movq 0+0(%rdi),%rdx |
| mulxq 0+L$p434p1(%rip),%r8,%r9 |
| mulxq 8+L$p434p1(%rip),%r12,%r10 |
| mulxq 16+L$p434p1(%rip),%r13,%r11 |
| |
| adoxq %r12,%r9 |
| adoxq %r13,%r10 |
| |
| mulxq 24+L$p434p1(%rip),%r13,%r12 |
| adoxq %r13,%r11 |
| adoxq %rax,%r12 |
| |
| xorq %rax,%rax |
| movq 0+8(%rdi),%rdx |
| mulxq 0+L$p434p1(%rip),%r13,%rcx |
| adcxq %r13,%r9 |
| adcxq %rcx,%r10 |
| |
| mulxq 8+L$p434p1(%rip),%rcx,%r13 |
| adcxq %r13,%r11 |
| adoxq %rcx,%r10 |
| |
| mulxq 16+L$p434p1(%rip),%rcx,%r13 |
| adcxq %r13,%r12 |
| adoxq %rcx,%r11 |
| |
| mulxq 24+L$p434p1(%rip),%rcx,%r13 |
| adcxq %rax,%r13 |
| adoxq %rcx,%r12 |
| adoxq %rax,%r13 |
| |
| xorq %rcx,%rcx |
| addq 24(%rdi),%r8 |
| adcq 32(%rdi),%r9 |
| adcq 40(%rdi),%r10 |
| adcq 48(%rdi),%r11 |
| adcq 56(%rdi),%r12 |
| adcq 64(%rdi),%r13 |
| adcq 72(%rdi),%rcx |
| movq %r8,24(%rdi) |
| movq %r9,32(%rdi) |
| movq %r10,40(%rdi) |
| movq %r11,48(%rdi) |
| movq %r12,56(%rdi) |
| movq %r13,64(%rdi) |
| movq %rcx,72(%rdi) |
| movq 80(%rdi),%r8 |
| movq 88(%rdi),%r9 |
| movq 96(%rdi),%r10 |
| movq 104(%rdi),%r11 |
| adcq $0x0,%r8 |
| adcq $0x0,%r9 |
| adcq $0x0,%r10 |
| adcq $0x0,%r11 |
| movq %r8,80(%rdi) |
| movq %r9,88(%rdi) |
| movq %r10,96(%rdi) |
| movq %r11,104(%rdi) |
| |
| xorq %rax,%rax |
| movq 16+0(%rdi),%rdx |
| mulxq 0+L$p434p1(%rip),%r8,%r9 |
| mulxq 8+L$p434p1(%rip),%r12,%r10 |
| mulxq 16+L$p434p1(%rip),%r13,%r11 |
| |
| adoxq %r12,%r9 |
| adoxq %r13,%r10 |
| |
| mulxq 24+L$p434p1(%rip),%r13,%r12 |
| adoxq %r13,%r11 |
| adoxq %rax,%r12 |
| |
| xorq %rax,%rax |
| movq 16+8(%rdi),%rdx |
| mulxq 0+L$p434p1(%rip),%r13,%rcx |
| adcxq %r13,%r9 |
| adcxq %rcx,%r10 |
| |
| mulxq 8+L$p434p1(%rip),%rcx,%r13 |
| adcxq %r13,%r11 |
| adoxq %rcx,%r10 |
| |
| mulxq 16+L$p434p1(%rip),%rcx,%r13 |
| adcxq %r13,%r12 |
| adoxq %rcx,%r11 |
| |
| mulxq 24+L$p434p1(%rip),%rcx,%r13 |
| adcxq %rax,%r13 |
| adoxq %rcx,%r12 |
| adoxq %rax,%r13 |
| |
| xorq %rcx,%rcx |
| addq 40(%rdi),%r8 |
| adcq 48(%rdi),%r9 |
| adcq 56(%rdi),%r10 |
| adcq 64(%rdi),%r11 |
| adcq 72(%rdi),%r12 |
| adcq 80(%rdi),%r13 |
| adcq 88(%rdi),%rcx |
| movq %r8,40(%rdi) |
| movq %r9,48(%rdi) |
| movq %r10,56(%rdi) |
| movq %r11,64(%rdi) |
| movq %r12,72(%rdi) |
| movq %r13,80(%rdi) |
| movq %rcx,88(%rdi) |
| movq 96(%rdi),%r8 |
| movq 104(%rdi),%r9 |
| adcq $0x0,%r8 |
| adcq $0x0,%r9 |
| movq %r8,96(%rdi) |
| movq %r9,104(%rdi) |
| |
| xorq %rax,%rax |
| movq 32+0(%rdi),%rdx |
| mulxq 0+L$p434p1(%rip),%r8,%r9 |
| mulxq 8+L$p434p1(%rip),%r12,%r10 |
| mulxq 16+L$p434p1(%rip),%r13,%r11 |
| |
| adoxq %r12,%r9 |
| adoxq %r13,%r10 |
| |
| mulxq 24+L$p434p1(%rip),%r13,%r12 |
| adoxq %r13,%r11 |
| adoxq %rax,%r12 |
| |
| xorq %rax,%rax |
| movq 32+8(%rdi),%rdx |
| mulxq 0+L$p434p1(%rip),%r13,%rcx |
| adcxq %r13,%r9 |
| adcxq %rcx,%r10 |
| |
| mulxq 8+L$p434p1(%rip),%rcx,%r13 |
| adcxq %r13,%r11 |
| adoxq %rcx,%r10 |
| |
| mulxq 16+L$p434p1(%rip),%rcx,%r13 |
| adcxq %r13,%r12 |
| adoxq %rcx,%r11 |
| |
| mulxq 24+L$p434p1(%rip),%rcx,%r13 |
| adcxq %rax,%r13 |
| adoxq %rcx,%r12 |
| adoxq %rax,%r13 |
| |
| xorq %rcx,%rcx |
| addq 56(%rdi),%r8 |
| adcq 64(%rdi),%r9 |
| adcq 72(%rdi),%r10 |
| adcq 80(%rdi),%r11 |
| adcq 88(%rdi),%r12 |
| adcq 96(%rdi),%r13 |
| adcq 104(%rdi),%rcx |
| movq %r8,0(%rsi) |
| movq %r9,8(%rsi) |
| movq %r10,72(%rdi) |
| movq %r11,80(%rdi) |
| movq %r12,88(%rdi) |
| movq %r13,96(%rdi) |
| movq %rcx,104(%rdi) |
| |
| xorq %rax,%rax |
| movq 48(%rdi),%rdx |
| mulxq 0+L$p434p1(%rip),%r8,%r9 |
| mulxq 8+L$p434p1(%rip),%r12,%r10 |
| mulxq 16+L$p434p1(%rip),%r13,%r11 |
| |
| adoxq %r12,%r9 |
| adoxq %r13,%r10 |
| |
| mulxq 24+L$p434p1(%rip),%r13,%r12 |
| adoxq %r13,%r11 |
| adoxq %rax,%r12 |
| |
| addq 72(%rdi),%r8 |
| adcq 80(%rdi),%r9 |
| adcq 88(%rdi),%r10 |
| adcq 96(%rdi),%r11 |
| adcq 104(%rdi),%r12 |
| movq %r8,16(%rsi) |
| movq %r9,24(%rsi) |
| movq %r10,32(%rsi) |
| movq %r11,40(%rsi) |
| movq %r12,48(%rsi) |
| |
| |
| popq %r15 |
| |
| |
| popq %r14 |
| |
| |
| popq %r13 |
| |
| |
| popq %r12 |
| |
| |
| .byte 0xf3,0xc3 |
| |
| .globl _sike_fprdc |
| .private_extern _sike_fprdc |
| |
| _sike_fprdc: |
| |
| pushq %r12 |
| |
| |
| pushq %r13 |
| |
| |
| pushq %r14 |
| |
| |
| pushq %r15 |
| |
| |
| |
| |
| |
| leaq _OPENSSL_ia32cap_P(%rip),%rcx |
| movq 8(%rcx),%rcx |
| andl $0x80100,%ecx |
| cmpl $0x80100,%ecx |
| je L$rdc_bdw |
| |
| |
| |
| |
| movq 0+0(%rdi),%r14 |
| movq 0+L$p434p1(%rip),%rax |
| mulq %r14 |
| xorq %r10,%r10 |
| movq %rax,%r8 |
| movq %rdx,%r9 |
| |
| |
| movq 8+L$p434p1(%rip),%rax |
| mulq %r14 |
| xorq %r11,%r11 |
| addq %rax,%r9 |
| adcq %rdx,%r10 |
| |
| |
| movq 0+8(%rdi),%rcx |
| movq 0+L$p434p1(%rip),%rax |
| mulq %rcx |
| addq %rax,%r9 |
| adcq %rdx,%r10 |
| adcq $0x0,%r11 |
| |
| |
| xorq %r12,%r12 |
| movq 16+L$p434p1(%rip),%rax |
| mulq %r14 |
| addq %rax,%r10 |
| adcq %rdx,%r11 |
| adcq $0x0,%r12 |
| |
| |
| movq 8+L$p434p1(%rip),%rax |
| mulq %rcx |
| addq %rax,%r10 |
| adcq %rdx,%r11 |
| adcq $0x0,%r12 |
| |
| |
| movq 24+L$p434p1(%rip),%rax |
| mulq %r14 |
| xorq %r13,%r13 |
| addq %rax,%r11 |
| adcq %rdx,%r12 |
| adcq $0x0,%r13 |
| |
| |
| movq 16+L$p434p1(%rip),%rax |
| mulq %rcx |
| addq %rax,%r11 |
| adcq %rdx,%r12 |
| adcq $0x0,%r13 |
| |
| |
| movq 24+L$p434p1(%rip),%rax |
| mulq %rcx |
| addq %rax,%r12 |
| adcq %rdx,%r13 |
| |
| |
| xorq %rcx,%rcx |
| addq 24(%rdi),%r8 |
| adcq 32(%rdi),%r9 |
| adcq 40(%rdi),%r10 |
| adcq 48(%rdi),%r11 |
| adcq 56(%rdi),%r12 |
| adcq 64(%rdi),%r13 |
| adcq 72(%rdi),%rcx |
| movq %r8,24(%rdi) |
| movq %r9,32(%rdi) |
| movq %r10,40(%rdi) |
| movq %r11,48(%rdi) |
| movq %r12,56(%rdi) |
| movq %r13,64(%rdi) |
| movq %rcx,72(%rdi) |
| movq 80(%rdi),%r8 |
| movq 88(%rdi),%r9 |
| movq 96(%rdi),%r10 |
| movq 104(%rdi),%r11 |
| adcq $0x0,%r8 |
| adcq $0x0,%r9 |
| adcq $0x0,%r10 |
| adcq $0x0,%r11 |
| movq %r8,80(%rdi) |
| movq %r9,88(%rdi) |
| movq %r10,96(%rdi) |
| movq %r11,104(%rdi) |
| |
| |
| movq 16+0(%rdi),%r14 |
| movq 0+L$p434p1(%rip),%rax |
| mulq %r14 |
| xorq %r10,%r10 |
| movq %rax,%r8 |
| movq %rdx,%r9 |
| |
| |
| movq 8+L$p434p1(%rip),%rax |
| mulq %r14 |
| xorq %r11,%r11 |
| addq %rax,%r9 |
| adcq %rdx,%r10 |
| |
| |
| movq 16+8(%rdi),%rcx |
| movq 0+L$p434p1(%rip),%rax |
| mulq %rcx |
| addq %rax,%r9 |
| adcq %rdx,%r10 |
| adcq $0x0,%r11 |
| |
| |
| xorq %r12,%r12 |
| movq 16+L$p434p1(%rip),%rax |
| mulq %r14 |
| addq %rax,%r10 |
| adcq %rdx,%r11 |
| adcq $0x0,%r12 |
| |
| |
| movq 8+L$p434p1(%rip),%rax |
| mulq %rcx |
| addq %rax,%r10 |
| adcq %rdx,%r11 |
| adcq $0x0,%r12 |
| |
| |
| movq 24+L$p434p1(%rip),%rax |
| mulq %r14 |
| xorq %r13,%r13 |
| addq %rax,%r11 |
| adcq %rdx,%r12 |
| adcq $0x0,%r13 |
| |
| |
| movq 16+L$p434p1(%rip),%rax |
| mulq %rcx |
| addq %rax,%r11 |
| adcq %rdx,%r12 |
| adcq $0x0,%r13 |
| |
| |
| movq 24+L$p434p1(%rip),%rax |
| mulq %rcx |
| addq %rax,%r12 |
| adcq %rdx,%r13 |
| |
| |
| xorq %rcx,%rcx |
| addq 40(%rdi),%r8 |
| adcq 48(%rdi),%r9 |
| adcq 56(%rdi),%r10 |
| adcq 64(%rdi),%r11 |
| adcq 72(%rdi),%r12 |
| adcq 80(%rdi),%r13 |
| adcq 88(%rdi),%rcx |
| movq %r8,40(%rdi) |
| movq %r9,48(%rdi) |
| movq %r10,56(%rdi) |
| movq %r11,64(%rdi) |
| movq %r12,72(%rdi) |
| movq %r13,80(%rdi) |
| movq %rcx,88(%rdi) |
| movq 96(%rdi),%r8 |
| movq 104(%rdi),%r9 |
| adcq $0x0,%r8 |
| adcq $0x0,%r9 |
| movq %r8,96(%rdi) |
| movq %r9,104(%rdi) |
| |
| |
| movq 32+0(%rdi),%r14 |
| movq 0+L$p434p1(%rip),%rax |
| mulq %r14 |
| xorq %r10,%r10 |
| movq %rax,%r8 |
| movq %rdx,%r9 |
| |
| |
| movq 8+L$p434p1(%rip),%rax |
| mulq %r14 |
| xorq %r11,%r11 |
| addq %rax,%r9 |
| adcq %rdx,%r10 |
| |
| |
| movq 32+8(%rdi),%rcx |
| movq 0+L$p434p1(%rip),%rax |
| mulq %rcx |
| addq %rax,%r9 |
| adcq %rdx,%r10 |
| adcq $0x0,%r11 |
| |
| |
| xorq %r12,%r12 |
| movq 16+L$p434p1(%rip),%rax |
| mulq %r14 |
| addq %rax,%r10 |
| adcq %rdx,%r11 |
| adcq $0x0,%r12 |
| |
| |
| movq 8+L$p434p1(%rip),%rax |
| mulq %rcx |
| addq %rax,%r10 |
| adcq %rdx,%r11 |
| adcq $0x0,%r12 |
| |
| |
| movq 24+L$p434p1(%rip),%rax |
| mulq %r14 |
| xorq %r13,%r13 |
| addq %rax,%r11 |
| adcq %rdx,%r12 |
| adcq $0x0,%r13 |
| |
| |
| movq 16+L$p434p1(%rip),%rax |
| mulq %rcx |
| addq %rax,%r11 |
| adcq %rdx,%r12 |
| adcq $0x0,%r13 |
| |
| |
| movq 24+L$p434p1(%rip),%rax |
| mulq %rcx |
| addq %rax,%r12 |
| adcq %rdx,%r13 |
| |
| |
| xorq %rcx,%rcx |
| addq 56(%rdi),%r8 |
| adcq 64(%rdi),%r9 |
| adcq 72(%rdi),%r10 |
| adcq 80(%rdi),%r11 |
| adcq 88(%rdi),%r12 |
| adcq 96(%rdi),%r13 |
| adcq 104(%rdi),%rcx |
| movq %r8,0(%rsi) |
| movq %r9,8(%rsi) |
| movq %r10,72(%rdi) |
| movq %r11,80(%rdi) |
| movq %r12,88(%rdi) |
| movq %r13,96(%rdi) |
| movq %rcx,104(%rdi) |
| |
| movq 48(%rdi),%r13 |
| |
| xorq %r10,%r10 |
| movq 0+L$p434p1(%rip),%rax |
| mulq %r13 |
| movq %rax,%r8 |
| movq %rdx,%r9 |
| |
| xorq %r11,%r11 |
| movq 8+L$p434p1(%rip),%rax |
| mulq %r13 |
| addq %rax,%r9 |
| adcq %rdx,%r10 |
| |
| xorq %r12,%r12 |
| movq 16+L$p434p1(%rip),%rax |
| mulq %r13 |
| addq %rax,%r10 |
| adcq %rdx,%r11 |
| |
| movq 24+L$p434p1(%rip),%rax |
| mulq %r13 |
| addq %rax,%r11 |
| adcq %rdx,%r12 |
| |
| addq 72(%rdi),%r8 |
| adcq 80(%rdi),%r9 |
| adcq 88(%rdi),%r10 |
| adcq 96(%rdi),%r11 |
| adcq 104(%rdi),%r12 |
| movq %r8,16(%rsi) |
| movq %r9,24(%rsi) |
| movq %r10,32(%rsi) |
| movq %r11,40(%rsi) |
| movq %r12,48(%rsi) |
| |
| |
| popq %r15 |
| |
| popq %r14 |
| |
| popq %r13 |
| |
| popq %r12 |
| |
| .byte 0xf3,0xc3 |
| |
| L$mul_bdw: |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| movq %rdx,%rcx |
| xorq %rax,%rax |
| |
| |
| movq 0(%rdi),%r8 |
| movq 8(%rdi),%r9 |
| movq 16(%rdi),%r10 |
| movq 24(%rdi),%r11 |
| |
| pushq %rbx |
| |
| |
| pushq %rbp |
| |
| |
| subq $96,%rsp |
| |
| |
| addq 32(%rdi),%r8 |
| adcq 40(%rdi),%r9 |
| adcq 48(%rdi),%r10 |
| adcq $0x0,%r11 |
| sbbq $0x0,%rax |
| movq %r8,0(%rsp) |
| movq %r9,8(%rsp) |
| movq %r10,16(%rsp) |
| movq %r11,24(%rsp) |
| |
| |
| xorq %rbx,%rbx |
| movq 0(%rsi),%r12 |
| movq 8(%rsi),%r13 |
| movq 16(%rsi),%r14 |
| movq 24(%rsi),%r15 |
| addq 32(%rsi),%r12 |
| adcq 40(%rsi),%r13 |
| adcq 48(%rsi),%r14 |
| adcq $0x0,%r15 |
| sbbq $0x0,%rbx |
| movq %r12,32(%rsp) |
| movq %r13,40(%rsp) |
| movq %r14,48(%rsp) |
| movq %r15,56(%rsp) |
| |
| |
| andq %rax,%r12 |
| andq %rax,%r13 |
| andq %rax,%r14 |
| andq %rax,%r15 |
| |
| |
| andq %rbx,%r8 |
| andq %rbx,%r9 |
| andq %rbx,%r10 |
| andq %rbx,%r11 |
| |
| |
| addq %r12,%r8 |
| adcq %r13,%r9 |
| adcq %r14,%r10 |
| adcq %r15,%r11 |
| movq %r8,64(%rsp) |
| movq %r9,72(%rsp) |
| movq %r10,80(%rsp) |
| movq %r11,88(%rsp) |
| |
| |
| movq 0+0(%rsp),%rdx |
| mulxq 32+0(%rsp),%r9,%r8 |
| movq %r9,0+0(%rsp) |
| mulxq 32+8(%rsp),%r10,%r9 |
| xorq %rax,%rax |
| adoxq %r10,%r8 |
| mulxq 32+16(%rsp),%r11,%r10 |
| adoxq %r11,%r9 |
| mulxq 32+24(%rsp),%r12,%r11 |
| adoxq %r12,%r10 |
| |
| movq 0+8(%rsp),%rdx |
| mulxq 32+0(%rsp),%r12,%r13 |
| adoxq %rax,%r11 |
| xorq %rax,%rax |
| mulxq 32+8(%rsp),%r15,%r14 |
| adoxq %r8,%r12 |
| movq %r12,0+8(%rsp) |
| adcxq %r15,%r13 |
| mulxq 32+16(%rsp),%rbx,%r15 |
| adcxq %rbx,%r14 |
| adoxq %r9,%r13 |
| mulxq 32+24(%rsp),%rbp,%rbx |
| adcxq %rbp,%r15 |
| adcxq %rax,%rbx |
| adoxq %r10,%r14 |
| |
| movq 0+16(%rsp),%rdx |
| mulxq 32+0(%rsp),%r8,%r9 |
| adoxq %r11,%r15 |
| adoxq %rax,%rbx |
| xorq %rax,%rax |
| mulxq 32+8(%rsp),%r11,%r10 |
| adoxq %r13,%r8 |
| movq %r8,0+16(%rsp) |
| adcxq %r11,%r9 |
| mulxq 32+16(%rsp),%r12,%r11 |
| adcxq %r12,%r10 |
| adoxq %r14,%r9 |
| mulxq 32+24(%rsp),%rbp,%r12 |
| adcxq %rbp,%r11 |
| adcxq %rax,%r12 |
| |
| adoxq %r15,%r10 |
| adoxq %rbx,%r11 |
| adoxq %rax,%r12 |
| |
| movq 0+24(%rsp),%rdx |
| mulxq 32+0(%rsp),%r8,%r13 |
| xorq %rax,%rax |
| mulxq 32+8(%rsp),%r15,%r14 |
| adcxq %r15,%r13 |
| adoxq %r8,%r9 |
| mulxq 32+16(%rsp),%rbx,%r15 |
| adcxq %rbx,%r14 |
| adoxq %r13,%r10 |
| mulxq 32+24(%rsp),%rbp,%rbx |
| adcxq %rbp,%r15 |
| adcxq %rax,%rbx |
| adoxq %r14,%r11 |
| adoxq %r15,%r12 |
| adoxq %rax,%rbx |
| movq %r9,0+24(%rsp) |
| movq %r10,0+32(%rsp) |
| movq %r11,0+40(%rsp) |
| movq %r12,0+48(%rsp) |
| movq %rbx,0+56(%rsp) |
| |
| |
| |
| movq 0+0(%rdi),%rdx |
| mulxq 0+0(%rsi),%r9,%r8 |
| movq %r9,0+0(%rcx) |
| mulxq 0+8(%rsi),%r10,%r9 |
| xorq %rax,%rax |
| adoxq %r10,%r8 |
| mulxq 0+16(%rsi),%r11,%r10 |
| adoxq %r11,%r9 |
| mulxq 0+24(%rsi),%r12,%r11 |
| adoxq %r12,%r10 |
| |
| movq 0+8(%rdi),%rdx |
| mulxq 0+0(%rsi),%r12,%r13 |
| adoxq %rax,%r11 |
| xorq %rax,%rax |
| mulxq 0+8(%rsi),%r15,%r14 |
| adoxq %r8,%r12 |
| movq %r12,0+8(%rcx) |
| adcxq %r15,%r13 |
| mulxq 0+16(%rsi),%rbx,%r15 |
| adcxq %rbx,%r14 |
| adoxq %r9,%r13 |
| mulxq 0+24(%rsi),%rbp,%rbx |
| adcxq %rbp,%r15 |
| adcxq %rax,%rbx |
| adoxq %r10,%r14 |
| |
| movq 0+16(%rdi),%rdx |
| mulxq 0+0(%rsi),%r8,%r9 |
| adoxq %r11,%r15 |
| adoxq %rax,%rbx |
| xorq %rax,%rax |
| mulxq 0+8(%rsi),%r11,%r10 |
| adoxq %r13,%r8 |
| movq %r8,0+16(%rcx) |
| adcxq %r11,%r9 |
| mulxq 0+16(%rsi),%r12,%r11 |
| adcxq %r12,%r10 |
| adoxq %r14,%r9 |
| mulxq 0+24(%rsi),%rbp,%r12 |
| adcxq %rbp,%r11 |
| adcxq %rax,%r12 |
| |
| adoxq %r15,%r10 |
| adoxq %rbx,%r11 |
| adoxq %rax,%r12 |
| |
| movq 0+24(%rdi),%rdx |
| mulxq 0+0(%rsi),%r8,%r13 |
| xorq %rax,%rax |
| mulxq 0+8(%rsi),%r15,%r14 |
| adcxq %r15,%r13 |
| adoxq %r8,%r9 |
| mulxq 0+16(%rsi),%rbx,%r15 |
| adcxq %rbx,%r14 |
| adoxq %r13,%r10 |
| mulxq 0+24(%rsi),%rbp,%rbx |
| adcxq %rbp,%r15 |
| adcxq %rax,%rbx |
| adoxq %r14,%r11 |
| adoxq %r15,%r12 |
| adoxq %rax,%rbx |
| movq %r9,0+24(%rcx) |
| movq %r10,0+32(%rcx) |
| movq %r11,0+40(%rcx) |
| movq %r12,0+48(%rcx) |
| movq %rbx,0+56(%rcx) |
| |
| |
| |
| movq 32+0(%rdi),%rdx |
| mulxq 32+0(%rsi),%r9,%r8 |
| movq %r9,64+0(%rcx) |
| mulxq 32+8(%rsi),%r10,%r9 |
| xorq %rax,%rax |
| adoxq %r10,%r8 |
| mulxq 32+16(%rsi),%r11,%r10 |
| adoxq %r11,%r9 |
| |
| movq 32+8(%rdi),%rdx |
| mulxq 32+0(%rsi),%r12,%r11 |
| adoxq %rax,%r10 |
| xorq %rax,%rax |
| |
| mulxq 32+8(%rsi),%r14,%r13 |
| adoxq %r8,%r12 |
| movq %r12,64+8(%rcx) |
| adcxq %r14,%r11 |
| |
| mulxq 32+16(%rsi),%r8,%r14 |
| adoxq %r9,%r11 |
| adcxq %r8,%r13 |
| adcxq %rax,%r14 |
| adoxq %r10,%r13 |
| |
| movq 32+16(%rdi),%rdx |
| mulxq 32+0(%rsi),%r8,%r9 |
| adoxq %rax,%r14 |
| xorq %rax,%rax |
| |
| mulxq 32+8(%rsi),%r10,%r12 |
| adoxq %r11,%r8 |
| movq %r8,64+16(%rcx) |
| adcxq %r13,%r9 |
| |
| mulxq 32+16(%rsi),%r11,%r8 |
| adcxq %r14,%r12 |
| adcxq %rax,%r8 |
| adoxq %r10,%r9 |
| adoxq %r12,%r11 |
| adoxq %rax,%r8 |
| movq %r9,64+24(%rcx) |
| movq %r11,64+32(%rcx) |
| movq %r8,64+40(%rcx) |
| |
| |
| |
| |
| movq 64(%rsp),%r8 |
| movq 72(%rsp),%r9 |
| movq 80(%rsp),%r10 |
| movq 88(%rsp),%r11 |
| |
| movq 32(%rsp),%rax |
| addq %rax,%r8 |
| movq 40(%rsp),%rax |
| adcq %rax,%r9 |
| movq 48(%rsp),%rax |
| adcq %rax,%r10 |
| movq 56(%rsp),%rax |
| adcq %rax,%r11 |
| |
| |
| movq 0(%rsp),%r12 |
| movq 8(%rsp),%r13 |
| movq 16(%rsp),%r14 |
| movq 24(%rsp),%r15 |
| subq 0(%rcx),%r12 |
| sbbq 8(%rcx),%r13 |
| sbbq 16(%rcx),%r14 |
| sbbq 24(%rcx),%r15 |
| sbbq 32(%rcx),%r8 |
| sbbq 40(%rcx),%r9 |
| sbbq 48(%rcx),%r10 |
| sbbq 56(%rcx),%r11 |
| |
| |
| subq 64(%rcx),%r12 |
| sbbq 72(%rcx),%r13 |
| sbbq 80(%rcx),%r14 |
| sbbq 88(%rcx),%r15 |
| sbbq 96(%rcx),%r8 |
| sbbq 104(%rcx),%r9 |
| sbbq $0x0,%r10 |
| sbbq $0x0,%r11 |
| |
| addq 32(%rcx),%r12 |
| movq %r12,32(%rcx) |
| adcq 40(%rcx),%r13 |
| movq %r13,40(%rcx) |
| adcq 48(%rcx),%r14 |
| movq %r14,48(%rcx) |
| adcq 56(%rcx),%r15 |
| movq %r15,56(%rcx) |
| adcq 64(%rcx),%r8 |
| movq %r8,64(%rcx) |
| adcq 72(%rcx),%r9 |
| movq %r9,72(%rcx) |
| adcq 80(%rcx),%r10 |
| movq %r10,80(%rcx) |
| adcq 88(%rcx),%r11 |
| movq %r11,88(%rcx) |
| movq 96(%rcx),%r12 |
| adcq $0x0,%r12 |
| movq %r12,96(%rcx) |
| movq 104(%rcx),%r13 |
| adcq $0x0,%r13 |
| movq %r13,104(%rcx) |
| |
| addq $96,%rsp |
| |
| popq %rbp |
| |
| |
| popq %rbx |
| |
| |
| |
| |
| popq %r15 |
| |
| |
| popq %r14 |
| |
| |
| popq %r13 |
| |
| |
| popq %r12 |
| |
| |
| .byte 0xf3,0xc3 |
| |
| |
| .globl _sike_mpmul |
| .private_extern _sike_mpmul |
| |
| _sike_mpmul: |
| |
| pushq %r12 |
| |
| |
| pushq %r13 |
| |
| |
| pushq %r14 |
| |
| |
| pushq %r15 |
| |
| |
| |
| |
| |
| leaq _OPENSSL_ia32cap_P(%rip),%rcx |
| movq 8(%rcx),%rcx |
| andl $0x80100,%ecx |
| cmpl $0x80100,%ecx |
| je L$mul_bdw |
| |
| |
| |
| movq %rdx,%rcx |
| |
| subq $112,%rsp |
| |
| |
| |
| xorq %rax,%rax |
| movq 32(%rdi),%r8 |
| movq 40(%rdi),%r9 |
| movq 48(%rdi),%r10 |
| xorq %r11,%r11 |
| addq 0(%rdi),%r8 |
| adcq 8(%rdi),%r9 |
| adcq 16(%rdi),%r10 |
| adcq 24(%rdi),%r11 |
| |
| sbbq $0,%rax |
| movq %rax,64(%rsp) |
| |
| movq %r8,0(%rcx) |
| movq %r9,8(%rcx) |
| movq %r10,16(%rcx) |
| movq %r11,24(%rcx) |
| |
| |
| xorq %rdx,%rdx |
| movq 32(%rsi),%r12 |
| movq 40(%rsi),%r13 |
| movq 48(%rsi),%r14 |
| xorq %r15,%r15 |
| addq 0(%rsi),%r12 |
| adcq 8(%rsi),%r13 |
| adcq 16(%rsi),%r14 |
| adcq 24(%rsi),%r15 |
| sbbq $0x0,%rdx |
| |
| movq %rdx,72(%rsp) |
| |
| |
| movq (%rcx),%rax |
| mulq %r12 |
| movq %rax,(%rsp) |
| movq %rdx,%r8 |
| |
| xorq %r9,%r9 |
| movq (%rcx),%rax |
| mulq %r13 |
| addq %rax,%r8 |
| adcq %rdx,%r9 |
| |
| xorq %r10,%r10 |
| movq 8(%rcx),%rax |
| mulq %r12 |
| addq %rax,%r8 |
| movq %r8,8(%rsp) |
| adcq %rdx,%r9 |
| adcq $0x0,%r10 |
| |
| xorq %r8,%r8 |
| movq (%rcx),%rax |
| mulq %r14 |
| addq %rax,%r9 |
| adcq %rdx,%r10 |
| adcq $0x0,%r8 |
| |
| movq 16(%rcx),%rax |
| mulq %r12 |
| addq %rax,%r9 |
| adcq %rdx,%r10 |
| adcq $0x0,%r8 |
| |
| movq 8(%rcx),%rax |
| mulq %r13 |
| addq %rax,%r9 |
| movq %r9,16(%rsp) |
| adcq %rdx,%r10 |
| adcq $0x0,%r8 |
| |
| xorq %r9,%r9 |
| movq (%rcx),%rax |
| mulq %r15 |
| addq %rax,%r10 |
| adcq %rdx,%r8 |
| adcq $0x0,%r9 |
| |
| movq 24(%rcx),%rax |
| mulq %r12 |
| addq %rax,%r10 |
| adcq %rdx,%r8 |
| adcq $0x0,%r9 |
| |
| movq 8(%rcx),%rax |
| mulq %r14 |
| addq %rax,%r10 |
| adcq %rdx,%r8 |
| adcq $0x0,%r9 |
| |
| movq 16(%rcx),%rax |
| mulq %r13 |
| addq %rax,%r10 |
| movq %r10,24(%rsp) |
| adcq %rdx,%r8 |
| adcq $0x0,%r9 |
| |
| xorq %r10,%r10 |
| movq 8(%rcx),%rax |
| mulq %r15 |
| addq %rax,%r8 |
| adcq %rdx,%r9 |
| adcq $0x0,%r10 |
| |
| movq 24(%rcx),%rax |
| mulq %r13 |
| addq %rax,%r8 |
| adcq %rdx,%r9 |
| adcq $0x0,%r10 |
| |
| movq 16(%rcx),%rax |
| mulq %r14 |
| addq %rax,%r8 |
| movq %r8,32(%rsp) |
| adcq %rdx,%r9 |
| adcq $0x0,%r10 |
| |
| xorq %r11,%r11 |
| movq 16(%rcx),%rax |
| mulq %r15 |
| addq %rax,%r9 |
| adcq %rdx,%r10 |
| adcq $0x0,%r11 |
| |
| movq 24(%rcx),%rax |
| mulq %r14 |
| addq %rax,%r9 |
| movq %r9,40(%rsp) |
| adcq %rdx,%r10 |
| adcq $0x0,%r11 |
| |
| movq 24(%rcx),%rax |
| mulq %r15 |
| addq %rax,%r10 |
| movq %r10,48(%rsp) |
| adcq %rdx,%r11 |
| movq %r11,56(%rsp) |
| |
| |
| movq 64(%rsp),%rax |
| andq %rax,%r12 |
| andq %rax,%r13 |
| andq %rax,%r14 |
| andq %rax,%r15 |
| |
| |
| movq 72(%rsp),%rax |
| movq 0(%rcx),%r8 |
| andq %rax,%r8 |
| movq 8(%rcx),%r9 |
| andq %rax,%r9 |
| movq 16(%rcx),%r10 |
| andq %rax,%r10 |
| movq 24(%rcx),%r11 |
| andq %rax,%r11 |
| |
| |
| addq %r8,%r12 |
| adcq %r9,%r13 |
| adcq %r10,%r14 |
| adcq %r11,%r15 |
| |
| |
| movq 32(%rsp),%rax |
| addq %rax,%r12 |
| movq 40(%rsp),%rax |
| adcq %rax,%r13 |
| movq 48(%rsp),%rax |
| adcq %rax,%r14 |
| movq 56(%rsp),%rax |
| adcq %rax,%r15 |
| movq %r12,80(%rsp) |
| movq %r13,88(%rsp) |
| movq %r14,96(%rsp) |
| movq %r15,104(%rsp) |
| |
| |
| movq (%rdi),%r11 |
| movq (%rsi),%rax |
| mulq %r11 |
| xorq %r9,%r9 |
| movq %rax,(%rcx) |
| movq %rdx,%r8 |
| |
| movq 16(%rdi),%r14 |
| movq 8(%rsi),%rax |
| mulq %r11 |
| xorq %r10,%r10 |
| addq %rax,%r8 |
| adcq %rdx,%r9 |
| |
| movq 8(%rdi),%r12 |
| movq (%rsi),%rax |
| mulq %r12 |
| addq %rax,%r8 |
| movq %r8,8(%rcx) |
| adcq %rdx,%r9 |
| adcq $0x0,%r10 |
| |
| xorq %r8,%r8 |
| movq 16(%rsi),%rax |
| mulq %r11 |
| addq %rax,%r9 |
| adcq %rdx,%r10 |
| adcq $0x0,%r8 |
| |
| movq (%rsi),%r13 |
| movq %r14,%rax |
| mulq %r13 |
| addq %rax,%r9 |
| adcq %rdx,%r10 |
| adcq $0x0,%r8 |
| |
| movq 8(%rsi),%rax |
| mulq %r12 |
| addq %rax,%r9 |
| movq %r9,16(%rcx) |
| adcq %rdx,%r10 |
| adcq $0x0,%r8 |
| |
| xorq %r9,%r9 |
| movq 24(%rsi),%rax |
| mulq %r11 |
| movq 24(%rdi),%r15 |
| addq %rax,%r10 |
| adcq %rdx,%r8 |
| adcq $0x0,%r9 |
| |
| movq %r15,%rax |
| mulq %r13 |
| addq %rax,%r10 |
| adcq %rdx,%r8 |
| adcq $0x0,%r9 |
| |
| movq 16(%rsi),%rax |
| mulq %r12 |
| addq %rax,%r10 |
| adcq %rdx,%r8 |
| adcq $0x0,%r9 |
| |
| movq 8(%rsi),%rax |
| mulq %r14 |
| addq %rax,%r10 |
| movq %r10,24(%rcx) |
| adcq %rdx,%r8 |
| adcq $0x0,%r9 |
| |
| xorq %r10,%r10 |
| movq 24(%rsi),%rax |
| mulq %r12 |
| addq %rax,%r8 |
| adcq %rdx,%r9 |
| adcq $0x0,%r10 |
| |
| movq 8(%rsi),%rax |
| mulq %r15 |
| addq %rax,%r8 |
| adcq %rdx,%r9 |
| adcq $0x0,%r10 |
| |
| movq 16(%rsi),%rax |
| mulq %r14 |
| addq %rax,%r8 |
| movq %r8,32(%rcx) |
| adcq %rdx,%r9 |
| adcq $0x0,%r10 |
| |
| xorq %r8,%r8 |
| movq 24(%rsi),%rax |
| mulq %r14 |
| addq %rax,%r9 |
| adcq %rdx,%r10 |
| adcq $0x0,%r8 |
| |
| movq 16(%rsi),%rax |
| mulq %r15 |
| addq %rax,%r9 |
| movq %r9,40(%rcx) |
| adcq %rdx,%r10 |
| adcq $0x0,%r8 |
| |
| movq 24(%rsi),%rax |
| mulq %r15 |
| addq %rax,%r10 |
| movq %r10,48(%rcx) |
| adcq %rdx,%r8 |
| movq %r8,56(%rcx) |
| |
| |
| |
| movq 32(%rdi),%r11 |
| movq 32(%rsi),%rax |
| mulq %r11 |
| xorq %r9,%r9 |
| movq %rax,64(%rcx) |
| movq %rdx,%r8 |
| |
| movq 48(%rdi),%r14 |
| movq 40(%rsi),%rax |
| mulq %r11 |
| xorq %r10,%r10 |
| addq %rax,%r8 |
| adcq %rdx,%r9 |
| |
| movq 40(%rdi),%r12 |
| movq 32(%rsi),%rax |
| mulq %r12 |
| addq %rax,%r8 |
| movq %r8,72(%rcx) |
| adcq %rdx,%r9 |
| adcq $0x0,%r10 |
| |
| xorq %r8,%r8 |
| movq 48(%rsi),%rax |
| mulq %r11 |
| addq %rax,%r9 |
| adcq %rdx,%r10 |
| adcq $0x0,%r8 |
| |
| movq 32(%rsi),%r13 |
| movq %r14,%rax |
| mulq %r13 |
| addq %rax,%r9 |
| adcq %rdx,%r10 |
| adcq $0x0,%r8 |
| |
| movq 40(%rsi),%rax |
| mulq %r12 |
| addq %rax,%r9 |
| movq %r9,80(%rcx) |
| adcq %rdx,%r10 |
| adcq $0x0,%r8 |
| |
| movq 48(%rsi),%rax |
| mulq %r12 |
| xorq %r12,%r12 |
| addq %rax,%r10 |
| adcq %rdx,%r8 |
| adcq $0x0,%r12 |
| |
| movq 40(%rsi),%rax |
| mulq %r14 |
| addq %rax,%r10 |
| adcq %rdx,%r8 |
| adcq $0x0,%r12 |
| movq %r10,88(%rcx) |
| |
| movq 48(%rsi),%rax |
| mulq %r14 |
| addq %rax,%r8 |
| adcq $0x0,%r12 |
| movq %r8,96(%rcx) |
| |
| addq %r12,%rdx |
| |
| |
| movq 0(%rsp),%r8 |
| subq 0(%rcx),%r8 |
| movq 8(%rsp),%r9 |
| sbbq 8(%rcx),%r9 |
| movq 16(%rsp),%r10 |
| sbbq 16(%rcx),%r10 |
| movq 24(%rsp),%r11 |
| sbbq 24(%rcx),%r11 |
| movq 80(%rsp),%r12 |
| sbbq 32(%rcx),%r12 |
| movq 88(%rsp),%r13 |
| sbbq 40(%rcx),%r13 |
| movq 96(%rsp),%r14 |
| sbbq 48(%rcx),%r14 |
| movq 104(%rsp),%r15 |
| sbbq 56(%rcx),%r15 |
| |
| |
| movq 64(%rcx),%rax |
| subq %rax,%r8 |
| movq 72(%rcx),%rax |
| sbbq %rax,%r9 |
| movq 80(%rcx),%rax |
| sbbq %rax,%r10 |
| movq 88(%rcx),%rax |
| sbbq %rax,%r11 |
| movq 96(%rcx),%rax |
| sbbq %rax,%r12 |
| sbbq %rdx,%r13 |
| sbbq $0x0,%r14 |
| sbbq $0x0,%r15 |
| |
| |
| addq 32(%rcx),%r8 |
| movq %r8,32(%rcx) |
| adcq 40(%rcx),%r9 |
| movq %r9,40(%rcx) |
| adcq 48(%rcx),%r10 |
| movq %r10,48(%rcx) |
| adcq 56(%rcx),%r11 |
| movq %r11,56(%rcx) |
| adcq 64(%rcx),%r12 |
| movq %r12,64(%rcx) |
| adcq 72(%rcx),%r13 |
| movq %r13,72(%rcx) |
| adcq 80(%rcx),%r14 |
| movq %r14,80(%rcx) |
| adcq 88(%rcx),%r15 |
| movq %r15,88(%rcx) |
| movq 96(%rcx),%r12 |
| adcq $0x0,%r12 |
| movq %r12,96(%rcx) |
| adcq $0x0,%rdx |
| movq %rdx,104(%rcx) |
| |
| addq $112,%rsp |
| |
| |
| |
| popq %r15 |
| |
| popq %r14 |
| |
| popq %r13 |
| |
| popq %r12 |
| |
| .byte 0xf3,0xc3 |
| |
| #endif |