6 .type bn_mul_mont,@function
13 movl OPENSSL_ia32cap_P+8(%rip),%r11d
33 leaq (%rsp,%r10,8),%rsp
36 movq %r11,8(%rsp,%r9,8)
47 movq (%rsp,%r11,1),%r10
80 movq (%rsi,%r15,8),%rax
85 movq %r13,-16(%rsp,%r15,8)
91 movq (%rcx,%r15,8),%rax
105 movq %r13,-16(%rsp,%r15,8)
112 movq %r13,-8(%rsp,%r9,8)
113 movq %rdx,(%rsp,%r9,8)
119 movq (%r12,%r14,8),%rbx
144 movq (%rsi,%r15,8),%rax
147 movq (%rsp,%r15,8),%r10
149 movq %r13,-16(%rsp,%r15,8)
155 movq (%rcx,%r15,8),%rax
170 movq (%rsp,%r15,8),%r10
172 movq %r13,-16(%rsp,%r15,8)
180 movq %r13,-8(%rsp,%r9,8)
181 movq %rdx,(%rsp,%r9,8)
193 .Lsub: sbbq (%rcx,%r14,8),%rax
194 movq %rax,(%rdi,%r14,8)
195 movq 8(%rsi,%r14,8),%rax
210 movq (%rsi,%r14,8),%rax
211 movq %r14,(%rsp,%r14,8)
212 movq %rax,(%rdi,%r14,8)
217 movq 8(%rsp,%r9,8),%rsi
228 .size bn_mul_mont,.-bn_mul_mont
229 .type bn_mul4x_mont,@function
247 leaq (%rsp,%r10,8),%rsp
250 movq %r11,8(%rsp,%r9,8)
255 movq (%rsp,%r11,1),%r10
258 jnc .Lmul4x_page_walk
260 movq %rdi,16(%rsp,%r9,8)
303 movq -16(%rcx,%r15,8),%rax
309 movq -8(%rsi,%r15,8),%rax
313 movq %r13,-24(%rsp,%r15,8)
318 movq -8(%rcx,%r15,8),%rax
324 movq (%rsi,%r15,8),%rax
328 movq %rdi,-16(%rsp,%r15,8)
333 movq (%rcx,%r15,8),%rax
339 movq 8(%rsi,%r15,8),%rax
343 movq %r13,-8(%rsp,%r15,8)
348 movq 8(%rcx,%r15,8),%rax
355 movq -16(%rsi,%r15,8),%rax
359 movq %rdi,-32(%rsp,%r15,8)
366 movq -16(%rcx,%r15,8),%rax
372 movq -8(%rsi,%r15,8),%rax
376 movq %r13,-24(%rsp,%r15,8)
381 movq -8(%rcx,%r15,8),%rax
391 movq %rdi,-16(%rsp,%r15,8)
397 movq %r13,-8(%rsp,%r15,8)
398 movq %rdi,(%rsp,%r15,8)
403 movq (%r12,%r14,8),%rbx
443 movq -16(%rcx,%r15,8),%rax
445 addq -16(%rsp,%r15,8),%r10
451 movq -8(%rsi,%r15,8),%rax
455 movq %r13,-24(%rsp,%r15,8)
460 movq -8(%rcx,%r15,8),%rax
462 addq -8(%rsp,%r15,8),%r11
468 movq (%rsi,%r15,8),%rax
472 movq %rdi,-16(%rsp,%r15,8)
477 movq (%rcx,%r15,8),%rax
479 addq (%rsp,%r15,8),%r10
485 movq 8(%rsi,%r15,8),%rax
489 movq %r13,-8(%rsp,%r15,8)
494 movq 8(%rcx,%r15,8),%rax
496 addq 8(%rsp,%r15,8),%r11
503 movq -16(%rsi,%r15,8),%rax
507 movq %rdi,-32(%rsp,%r15,8)
514 movq -16(%rcx,%r15,8),%rax
516 addq -16(%rsp,%r15,8),%r10
522 movq -8(%rsi,%r15,8),%rax
526 movq %r13,-24(%rsp,%r15,8)
531 movq -8(%rcx,%r15,8),%rax
533 addq -8(%rsp,%r15,8),%r11
544 movq %rdi,-16(%rsp,%r15,8)
550 addq (%rsp,%r9,8),%r13
552 movq %r13,-8(%rsp,%r15,8)
553 movq %rdi,(%rsp,%r15,8)
557 movq 16(%rsp,%r9,8),%rdi
573 movq %rax,0(%rdi,%r14,8)
574 movq %rdx,8(%rdi,%r14,8)
575 sbbq 16(%rcx,%r14,8),%rbx
576 movq 32(%rsi,%r14,8),%rax
577 movq 40(%rsi,%r14,8),%rdx
578 sbbq 24(%rcx,%r14,8),%rbp
579 movq %rbx,16(%rdi,%r14,8)
580 movq %rbp,24(%rdi,%r14,8)
581 sbbq 32(%rcx,%r14,8),%rax
582 movq 48(%rsi,%r14,8),%rbx
583 movq 56(%rsi,%r14,8),%rbp
584 sbbq 40(%rcx,%r14,8),%rdx
589 movq %rax,0(%rdi,%r14,8)
590 movq 32(%rsi,%r14,8),%rax
591 sbbq 16(%rcx,%r14,8),%rbx
592 movq %rdx,8(%rdi,%r14,8)
593 sbbq 24(%rcx,%r14,8),%rbp
594 movq %rbx,16(%rdi,%r14,8)
597 movq %rbp,24(%rdi,%r14,8)
612 movdqu 16(%rsi,%r14,1),%xmm2
613 movdqu 32(%rsi,%r14,1),%xmm1
614 movdqa %xmm0,16(%rsp,%r14,1)
615 movdqu %xmm2,16(%rdi,%r14,1)
616 movdqa %xmm0,32(%rsp,%r14,1)
617 movdqu %xmm1,32(%rdi,%r14,1)
623 movdqu 16(%rsi,%r14,1),%xmm2
624 movdqa %xmm0,16(%rsp,%r14,1)
625 movdqu %xmm2,16(%rdi,%r14,1)
626 movq 8(%rsp,%r9,8),%rsi
637 .size bn_mul4x_mont,.-bn_mul4x_mont
641 .type bn_sqr8x_mont,@function
663 leaq -64(%rsp,%r9,2),%r11
670 leaq -64(%rsp,%r9,2),%rsp
675 leaq 4096-64(,%r9,2),%r10
676 leaq -64(%rsp,%r9,2),%rsp
687 movq (%rsp,%r11,1),%r10
690 jnc .Lsqr8x_page_walk
699 .byte 102,72,15,110,209
701 .byte 102,72,15,110,207
702 .byte 102,73,15,110,218
703 movl OPENSSL_ia32cap_P+8(%rip),%eax
708 call bn_sqrx8x_internal
713 leaq (%r8,%rcx,1),%rbx
716 .byte 102,72,15,126,207
722 call bn_sqr8x_internal
727 leaq (%rdi,%r9,1),%rbx
730 .byte 102,72,15,126,207
755 leaq (%rbx,%r9,1),%rbx
756 leaq (%rdi,%r9,1),%rdi
758 .byte 102,72,15,110,200
760 pshufd $0,%xmm1,%xmm1
762 jmp .Lsqr8x_cond_copy
767 movdqa 16(%rbx),%xmm3
770 movdqu 16(%rdi),%xmm5
772 movdqa %xmm0,-32(%rbx)
773 movdqa %xmm0,-16(%rbx)
774 movdqa %xmm0,-32(%rbx,%rdx,1)
775 movdqa %xmm0,-16(%rbx,%rdx,1)
784 movdqu %xmm4,-32(%rdi)
785 movdqu %xmm5,-16(%rdi)
787 jnz .Lsqr8x_cond_copy
799 .size bn_sqr8x_mont,.-bn_sqr8x_mont
800 .type bn_mulx4x_mont,@function
817 leaq -72(%rsp,%r10,1),%rsp
823 movq (%rsp,%r11,1),%r10
826 jnc .Lmulx4x_page_walk
828 leaq (%rdx,%r9,1),%r10
855 leaq 64+32(%rsp),%rbx
858 mulxq 0(%rsi),%r8,%rax
859 mulxq 8(%rsi),%r11,%r14
862 mulxq 16(%rsi),%r12,%r13
870 mulxq 24(%rsi),%rax,%r14
876 mulxq 0(%rcx),%rax,%r10
879 mulxq 8(%rcx),%rax,%r11
882 .byte 0xc4,0x62,0xfb,0xf6,0xa1,0x10,0x00,0x00,0x00
887 mulxq 24(%rcx),%rax,%r15
900 mulxq 0(%rsi),%r10,%rax
902 mulxq 8(%rsi),%r11,%r14
904 mulxq 16(%rsi),%r12,%rax
906 mulxq 24(%rsi),%r13,%r14
915 mulxq 0(%rcx),%rax,%r15
918 mulxq 8(%rcx),%rax,%r15
921 mulxq 16(%rcx),%rax,%r15
926 mulxq 24(%rcx),%rax,%r15
951 leaq 64+32(%rsp),%rbx
954 mulxq 0(%rsi),%r8,%r11
957 mulxq 8(%rsi),%r14,%r12
960 mulxq 16(%rsi),%r15,%r13
972 mulxq 24(%rsi),%rax,%r14
981 mulxq 0(%rcx),%rax,%r10
984 mulxq 8(%rcx),%rax,%r11
987 mulxq 16(%rcx),%rax,%r12
991 mulxq 24(%rcx),%rax,%r15
1004 mulxq 0(%rsi),%r10,%rax
1007 mulxq 8(%rsi),%r11,%r14
1010 mulxq 16(%rsi),%r12,%rax
1013 mulxq 24(%rsi),%r13,%r14
1024 mulxq 0(%rcx),%rax,%r15
1027 mulxq 8(%rcx),%rax,%r15
1030 mulxq 16(%rcx),%rax,%r15
1034 mulxq 24(%rcx),%rax,%r15
1089 .byte 102,73,15,110,207
1091 pshufd $0,%xmm1,%xmm1
1093 jmp .Lmulx4x_cond_copy
1097 movdqa 0(%rbx),%xmm2
1098 movdqa 16(%rbx),%xmm3
1100 movdqu 0(%rdi),%xmm4
1101 movdqu 16(%rdi),%xmm5
1103 movdqa %xmm0,-32(%rbx)
1104 movdqa %xmm0,-16(%rbx)
1113 movdqu %xmm4,-32(%rdi)
1114 movdqu %xmm5,-16(%rdi)
1116 jnz .Lmulx4x_cond_copy
1130 .size bn_mulx4x_mont,.-bn_mulx4x_mont
1131 .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,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
1133 .section .note.GNU-stack,"",%progbits