2 /* Do not modify. This file is auto-generated from x86_64-mont.pl. */
8 .type bn_mul_mont,@function
17 movl OPENSSL_ia32cap_P+8(%rip),%r11d
35 leaq -16(%rsp,%r9,8),%r10
47 leaq (%r10,%r11,1),%rsp
51 jmp .Lmul_page_walk_done
61 movq %rax,8(%rsp,%r9,8)
91 movq (%rsi,%r15,8),%rax
96 movq %r13,-16(%rsp,%r15,8)
102 movq (%rcx,%r15,8),%rax
116 movq %r13,-16(%rsp,%r15,8)
123 movq %r13,-8(%rsp,%r9,8)
124 movq %rdx,(%rsp,%r9,8)
130 movq (%r12,%r14,8),%rbx
155 movq (%rsi,%r15,8),%rax
158 movq (%rsp,%r15,8),%r10
160 movq %r13,-16(%rsp,%r15,8)
166 movq (%rcx,%r15,8),%rax
181 movq (%rsp,%r15,8),%r10
183 movq %r13,-16(%rsp,%r15,8)
191 movq %r13,-8(%rsp,%r9,8)
192 movq %rdx,(%rsp,%r9,8)
204 .Lsub: sbbq (%rcx,%r14,8),%rax
205 movq %rax,(%rdi,%r14,8)
206 movq 8(%rsi,%r14,8),%rax
221 movq (%rsi,%r14,8),%rax
222 movq %r14,(%rsp,%r14,8)
223 movq %rax,(%rdi,%r14,8)
228 movq 8(%rsp,%r9,8),%rsi
239 .size bn_mul_mont,.-bn_mul_mont
240 .type bn_mul4x_mont,@function
258 leaq -32(%rsp,%r9,8),%r10
264 leaq (%r10,%r11,1),%rsp
268 jmp .Lmul4x_page_walk_done
271 leaq -4096(%rsp),%rsp
275 .Lmul4x_page_walk_done:
277 movq %rax,8(%rsp,%r9,8)
279 movq %rdi,16(%rsp,%r9,8)
322 movq -16(%rcx,%r15,8),%rax
328 movq -8(%rsi,%r15,8),%rax
332 movq %r13,-24(%rsp,%r15,8)
337 movq -8(%rcx,%r15,8),%rax
343 movq (%rsi,%r15,8),%rax
347 movq %rdi,-16(%rsp,%r15,8)
352 movq (%rcx,%r15,8),%rax
358 movq 8(%rsi,%r15,8),%rax
362 movq %r13,-8(%rsp,%r15,8)
367 movq 8(%rcx,%r15,8),%rax
374 movq -16(%rsi,%r15,8),%rax
378 movq %rdi,-32(%rsp,%r15,8)
385 movq -16(%rcx,%r15,8),%rax
391 movq -8(%rsi,%r15,8),%rax
395 movq %r13,-24(%rsp,%r15,8)
400 movq -8(%rcx,%r15,8),%rax
410 movq %rdi,-16(%rsp,%r15,8)
416 movq %r13,-8(%rsp,%r15,8)
417 movq %rdi,(%rsp,%r15,8)
422 movq (%r12,%r14,8),%rbx
462 movq -16(%rcx,%r15,8),%rax
464 addq -16(%rsp,%r15,8),%r10
470 movq -8(%rsi,%r15,8),%rax
474 movq %r13,-24(%rsp,%r15,8)
479 movq -8(%rcx,%r15,8),%rax
481 addq -8(%rsp,%r15,8),%r11
487 movq (%rsi,%r15,8),%rax
491 movq %rdi,-16(%rsp,%r15,8)
496 movq (%rcx,%r15,8),%rax
498 addq (%rsp,%r15,8),%r10
504 movq 8(%rsi,%r15,8),%rax
508 movq %r13,-8(%rsp,%r15,8)
513 movq 8(%rcx,%r15,8),%rax
515 addq 8(%rsp,%r15,8),%r11
522 movq -16(%rsi,%r15,8),%rax
526 movq %rdi,-32(%rsp,%r15,8)
533 movq -16(%rcx,%r15,8),%rax
535 addq -16(%rsp,%r15,8),%r10
541 movq -8(%rsi,%r15,8),%rax
545 movq %r13,-24(%rsp,%r15,8)
550 movq -8(%rcx,%r15,8),%rax
552 addq -8(%rsp,%r15,8),%r11
563 movq %rdi,-16(%rsp,%r15,8)
569 addq (%rsp,%r9,8),%r13
571 movq %r13,-8(%rsp,%r15,8)
572 movq %rdi,(%rsp,%r15,8)
576 movq 16(%rsp,%r9,8),%rdi
592 movq %rax,0(%rdi,%r14,8)
593 movq %rdx,8(%rdi,%r14,8)
594 sbbq 16(%rcx,%r14,8),%rbx
595 movq 32(%rsi,%r14,8),%rax
596 movq 40(%rsi,%r14,8),%rdx
597 sbbq 24(%rcx,%r14,8),%rbp
598 movq %rbx,16(%rdi,%r14,8)
599 movq %rbp,24(%rdi,%r14,8)
600 sbbq 32(%rcx,%r14,8),%rax
601 movq 48(%rsi,%r14,8),%rbx
602 movq 56(%rsi,%r14,8),%rbp
603 sbbq 40(%rcx,%r14,8),%rdx
608 movq %rax,0(%rdi,%r14,8)
609 movq 32(%rsi,%r14,8),%rax
610 sbbq 16(%rcx,%r14,8),%rbx
611 movq %rdx,8(%rdi,%r14,8)
612 sbbq 24(%rcx,%r14,8),%rbp
613 movq %rbx,16(%rdi,%r14,8)
616 movq %rbp,24(%rdi,%r14,8)
631 movdqu 16(%rsi,%r14,1),%xmm2
632 movdqu 32(%rsi,%r14,1),%xmm1
633 movdqa %xmm0,16(%rsp,%r14,1)
634 movdqu %xmm2,16(%rdi,%r14,1)
635 movdqa %xmm0,32(%rsp,%r14,1)
636 movdqu %xmm1,32(%rdi,%r14,1)
642 movdqu 16(%rsi,%r14,1),%xmm2
643 movdqa %xmm0,16(%rsp,%r14,1)
644 movdqu %xmm2,16(%rdi,%r14,1)
645 movq 8(%rsp,%r9,8),%rsi
656 .size bn_mul4x_mont,.-bn_mul4x_mont
660 .type bn_sqr8x_mont,@function
683 leaq -64(%rsp,%r9,2),%r11
691 leaq -64(%rbp,%r9,2),%rbp
696 leaq 4096-64(,%r9,2),%r10
697 leaq -64(%rbp,%r9,2),%rbp
707 leaq (%r11,%rbp,1),%rsp
711 jmp .Lsqr8x_page_walk_done
715 leaq -4096(%rsp),%rsp
719 .Lsqr8x_page_walk_done:
728 .byte 102,72,15,110,209
730 .byte 102,72,15,110,207
731 .byte 102,73,15,110,218
732 movl OPENSSL_ia32cap_P+8(%rip),%eax
737 call bn_sqrx8x_internal
742 leaq (%r8,%rcx,1),%rbx
745 .byte 102,72,15,126,207
751 call bn_sqr8x_internal
756 leaq (%rdi,%r9,1),%rbx
759 .byte 102,72,15,126,207
784 leaq (%rbx,%r9,1),%rbx
785 leaq (%rdi,%r9,1),%rdi
787 .byte 102,72,15,110,200
789 pshufd $0,%xmm1,%xmm1
791 jmp .Lsqr8x_cond_copy
796 movdqa 16(%rbx),%xmm3
799 movdqu 16(%rdi),%xmm5
801 movdqa %xmm0,-32(%rbx)
802 movdqa %xmm0,-16(%rbx)
803 movdqa %xmm0,-32(%rbx,%rdx,1)
804 movdqa %xmm0,-16(%rbx,%rdx,1)
813 movdqu %xmm4,-32(%rdi)
814 movdqu %xmm5,-16(%rdi)
816 jnz .Lsqr8x_cond_copy
828 .size bn_sqr8x_mont,.-bn_sqr8x_mont
829 .type bn_mulx4x_mont,@function
846 leaq -72(%rsp,%r10,1),%rbp
851 leaq (%r11,%rbp,1),%rsp
854 ja .Lmulx4x_page_walk
855 jmp .Lmulx4x_page_walk_done
859 leaq -4096(%rsp),%rsp
862 ja .Lmulx4x_page_walk
863 .Lmulx4x_page_walk_done:
865 leaq (%rdx,%r9,1),%r10
892 leaq 64+32(%rsp),%rbx
895 mulxq 0(%rsi),%r8,%rax
896 mulxq 8(%rsi),%r11,%r14
899 mulxq 16(%rsi),%r12,%r13
907 mulxq 24(%rsi),%rax,%r14
913 mulxq 0(%rcx),%rax,%r10
916 mulxq 8(%rcx),%rax,%r11
919 .byte 0xc4,0x62,0xfb,0xf6,0xa1,0x10,0x00,0x00,0x00
924 mulxq 24(%rcx),%rax,%r15
937 mulxq 0(%rsi),%r10,%rax
939 mulxq 8(%rsi),%r11,%r14
941 mulxq 16(%rsi),%r12,%rax
943 mulxq 24(%rsi),%r13,%r14
952 mulxq 0(%rcx),%rax,%r15
955 mulxq 8(%rcx),%rax,%r15
958 mulxq 16(%rcx),%rax,%r15
963 mulxq 24(%rcx),%rax,%r15
988 leaq 64+32(%rsp),%rbx
991 mulxq 0(%rsi),%r8,%r11
994 mulxq 8(%rsi),%r14,%r12
997 mulxq 16(%rsi),%r15,%r13
1000 adoxq -16(%rbx),%r12
1009 mulxq 24(%rsi),%rax,%r14
1017 mulxq 0(%rcx),%rax,%r10
1020 mulxq 8(%rcx),%rax,%r11
1023 mulxq 16(%rcx),%rax,%r12
1027 mulxq 24(%rcx),%rax,%r15
1040 mulxq 0(%rsi),%r10,%rax
1043 mulxq 8(%rsi),%r11,%r14
1046 mulxq 16(%rsi),%r12,%rax
1049 mulxq 24(%rsi),%r13,%r14
1060 mulxq 0(%rcx),%rax,%r15
1063 mulxq 8(%rcx),%rax,%r15
1066 mulxq 16(%rcx),%rax,%r15
1070 mulxq 24(%rcx),%rax,%r15
1125 .byte 102,73,15,110,207
1127 pshufd $0,%xmm1,%xmm1
1129 jmp .Lmulx4x_cond_copy
1133 movdqa 0(%rbx),%xmm2
1134 movdqa 16(%rbx),%xmm3
1136 movdqu 0(%rdi),%xmm4
1137 movdqu 16(%rdi),%xmm5
1139 movdqa %xmm0,-32(%rbx)
1140 movdqa %xmm0,-16(%rbx)
1149 movdqu %xmm4,-32(%rdi)
1150 movdqu %xmm5,-16(%rdi)
1152 jnz .Lmulx4x_cond_copy
1166 .size bn_mulx4x_mont,.-bn_mulx4x_mont
1167 .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