2 # Do not modify. This file is auto-generated from x86_64-mont.pl.
8 .type bn_mul_mont,@function
15 movl OPENSSL_ia32cap_P+8(%rip),%r11d
35 leaq (%rsp,%r10,8),%rsp
38 movq %r11,8(%rsp,%r9,8)
49 movq (%rsp,%r11,1),%r10
82 movq (%rsi,%r15,8),%rax
87 movq %r13,-16(%rsp,%r15,8)
93 movq (%rcx,%r15,8),%rax
107 movq %r13,-16(%rsp,%r15,8)
114 movq %r13,-8(%rsp,%r9,8)
115 movq %rdx,(%rsp,%r9,8)
121 movq (%r12,%r14,8),%rbx
146 movq (%rsi,%r15,8),%rax
149 movq (%rsp,%r15,8),%r10
151 movq %r13,-16(%rsp,%r15,8)
157 movq (%rcx,%r15,8),%rax
172 movq (%rsp,%r15,8),%r10
174 movq %r13,-16(%rsp,%r15,8)
182 movq %r13,-8(%rsp,%r9,8)
183 movq %rdx,(%rsp,%r9,8)
195 .Lsub: sbbq (%rcx,%r14,8),%rax
196 movq %rax,(%rdi,%r14,8)
197 movq 8(%rsi,%r14,8),%rax
212 movq (%rsi,%r14,8),%rax
213 movq %r14,(%rsp,%r14,8)
214 movq %rax,(%rdi,%r14,8)
219 movq 8(%rsp,%r9,8),%rsi
230 .size bn_mul_mont,.-bn_mul_mont
231 .type bn_mul4x_mont,@function
249 leaq (%rsp,%r10,8),%rsp
252 movq %r11,8(%rsp,%r9,8)
257 movq (%rsp,%r11,1),%r10
260 jnc .Lmul4x_page_walk
262 movq %rdi,16(%rsp,%r9,8)
305 movq -16(%rcx,%r15,8),%rax
311 movq -8(%rsi,%r15,8),%rax
315 movq %r13,-24(%rsp,%r15,8)
320 movq -8(%rcx,%r15,8),%rax
326 movq (%rsi,%r15,8),%rax
330 movq %rdi,-16(%rsp,%r15,8)
335 movq (%rcx,%r15,8),%rax
341 movq 8(%rsi,%r15,8),%rax
345 movq %r13,-8(%rsp,%r15,8)
350 movq 8(%rcx,%r15,8),%rax
357 movq -16(%rsi,%r15,8),%rax
361 movq %rdi,-32(%rsp,%r15,8)
368 movq -16(%rcx,%r15,8),%rax
374 movq -8(%rsi,%r15,8),%rax
378 movq %r13,-24(%rsp,%r15,8)
383 movq -8(%rcx,%r15,8),%rax
393 movq %rdi,-16(%rsp,%r15,8)
399 movq %r13,-8(%rsp,%r15,8)
400 movq %rdi,(%rsp,%r15,8)
405 movq (%r12,%r14,8),%rbx
445 movq -16(%rcx,%r15,8),%rax
447 addq -16(%rsp,%r15,8),%r10
453 movq -8(%rsi,%r15,8),%rax
457 movq %r13,-24(%rsp,%r15,8)
462 movq -8(%rcx,%r15,8),%rax
464 addq -8(%rsp,%r15,8),%r11
470 movq (%rsi,%r15,8),%rax
474 movq %rdi,-16(%rsp,%r15,8)
479 movq (%rcx,%r15,8),%rax
481 addq (%rsp,%r15,8),%r10
487 movq 8(%rsi,%r15,8),%rax
491 movq %r13,-8(%rsp,%r15,8)
496 movq 8(%rcx,%r15,8),%rax
498 addq 8(%rsp,%r15,8),%r11
505 movq -16(%rsi,%r15,8),%rax
509 movq %rdi,-32(%rsp,%r15,8)
516 movq -16(%rcx,%r15,8),%rax
518 addq -16(%rsp,%r15,8),%r10
524 movq -8(%rsi,%r15,8),%rax
528 movq %r13,-24(%rsp,%r15,8)
533 movq -8(%rcx,%r15,8),%rax
535 addq -8(%rsp,%r15,8),%r11
546 movq %rdi,-16(%rsp,%r15,8)
552 addq (%rsp,%r9,8),%r13
554 movq %r13,-8(%rsp,%r15,8)
555 movq %rdi,(%rsp,%r15,8)
559 movq 16(%rsp,%r9,8),%rdi
575 movq %rax,0(%rdi,%r14,8)
576 movq %rdx,8(%rdi,%r14,8)
577 sbbq 16(%rcx,%r14,8),%rbx
578 movq 32(%rsi,%r14,8),%rax
579 movq 40(%rsi,%r14,8),%rdx
580 sbbq 24(%rcx,%r14,8),%rbp
581 movq %rbx,16(%rdi,%r14,8)
582 movq %rbp,24(%rdi,%r14,8)
583 sbbq 32(%rcx,%r14,8),%rax
584 movq 48(%rsi,%r14,8),%rbx
585 movq 56(%rsi,%r14,8),%rbp
586 sbbq 40(%rcx,%r14,8),%rdx
591 movq %rax,0(%rdi,%r14,8)
592 movq 32(%rsi,%r14,8),%rax
593 sbbq 16(%rcx,%r14,8),%rbx
594 movq %rdx,8(%rdi,%r14,8)
595 sbbq 24(%rcx,%r14,8),%rbp
596 movq %rbx,16(%rdi,%r14,8)
599 movq %rbp,24(%rdi,%r14,8)
614 movdqu 16(%rsi,%r14,1),%xmm2
615 movdqu 32(%rsi,%r14,1),%xmm1
616 movdqa %xmm0,16(%rsp,%r14,1)
617 movdqu %xmm2,16(%rdi,%r14,1)
618 movdqa %xmm0,32(%rsp,%r14,1)
619 movdqu %xmm1,32(%rdi,%r14,1)
625 movdqu 16(%rsi,%r14,1),%xmm2
626 movdqa %xmm0,16(%rsp,%r14,1)
627 movdqu %xmm2,16(%rdi,%r14,1)
628 movq 8(%rsp,%r9,8),%rsi
639 .size bn_mul4x_mont,.-bn_mul4x_mont
643 .type bn_sqr8x_mont,@function
665 leaq -64(%rsp,%r9,2),%r11
672 leaq -64(%rsp,%r9,2),%rsp
677 leaq 4096-64(,%r9,2),%r10
678 leaq -64(%rsp,%r9,2),%rsp
689 movq (%rsp,%r11,1),%r10
692 jnc .Lsqr8x_page_walk
701 .byte 102,72,15,110,209
703 .byte 102,72,15,110,207
704 .byte 102,73,15,110,218
705 movl OPENSSL_ia32cap_P+8(%rip),%eax
710 call bn_sqrx8x_internal
715 leaq (%r8,%rcx,1),%rbx
718 .byte 102,72,15,126,207
724 call bn_sqr8x_internal
729 leaq (%rdi,%r9,1),%rbx
732 .byte 102,72,15,126,207
757 leaq (%rbx,%r9,1),%rbx
758 leaq (%rdi,%r9,1),%rdi
760 .byte 102,72,15,110,200
762 pshufd $0,%xmm1,%xmm1
764 jmp .Lsqr8x_cond_copy
769 movdqa 16(%rbx),%xmm3
772 movdqu 16(%rdi),%xmm5
774 movdqa %xmm0,-32(%rbx)
775 movdqa %xmm0,-16(%rbx)
776 movdqa %xmm0,-32(%rbx,%rdx,1)
777 movdqa %xmm0,-16(%rbx,%rdx,1)
786 movdqu %xmm4,-32(%rdi)
787 movdqu %xmm5,-16(%rdi)
789 jnz .Lsqr8x_cond_copy
801 .size bn_sqr8x_mont,.-bn_sqr8x_mont
802 .type bn_mulx4x_mont,@function
819 leaq -72(%rsp,%r10,1),%rsp
825 movq (%rsp,%r11,1),%r10
828 jnc .Lmulx4x_page_walk
830 leaq (%rdx,%r9,1),%r10
857 leaq 64+32(%rsp),%rbx
860 mulxq 0(%rsi),%r8,%rax
861 mulxq 8(%rsi),%r11,%r14
864 mulxq 16(%rsi),%r12,%r13
872 mulxq 24(%rsi),%rax,%r14
878 mulxq 0(%rcx),%rax,%r10
881 mulxq 8(%rcx),%rax,%r11
884 .byte 0xc4,0x62,0xfb,0xf6,0xa1,0x10,0x00,0x00,0x00
889 mulxq 24(%rcx),%rax,%r15
902 mulxq 0(%rsi),%r10,%rax
904 mulxq 8(%rsi),%r11,%r14
906 mulxq 16(%rsi),%r12,%rax
908 mulxq 24(%rsi),%r13,%r14
917 mulxq 0(%rcx),%rax,%r15
920 mulxq 8(%rcx),%rax,%r15
923 mulxq 16(%rcx),%rax,%r15
928 mulxq 24(%rcx),%rax,%r15
953 leaq 64+32(%rsp),%rbx
956 mulxq 0(%rsi),%r8,%r11
959 mulxq 8(%rsi),%r14,%r12
962 mulxq 16(%rsi),%r15,%r13
974 mulxq 24(%rsi),%rax,%r14
983 mulxq 0(%rcx),%rax,%r10
986 mulxq 8(%rcx),%rax,%r11
989 mulxq 16(%rcx),%rax,%r12
993 mulxq 24(%rcx),%rax,%r15
1006 mulxq 0(%rsi),%r10,%rax
1009 mulxq 8(%rsi),%r11,%r14
1012 mulxq 16(%rsi),%r12,%rax
1015 mulxq 24(%rsi),%r13,%r14
1026 mulxq 0(%rcx),%rax,%r15
1029 mulxq 8(%rcx),%rax,%r15
1032 mulxq 16(%rcx),%rax,%r15
1036 mulxq 24(%rcx),%rax,%r15
1091 .byte 102,73,15,110,207
1093 pshufd $0,%xmm1,%xmm1
1095 jmp .Lmulx4x_cond_copy
1099 movdqa 0(%rbx),%xmm2
1100 movdqa 16(%rbx),%xmm3
1102 movdqu 0(%rdi),%xmm4
1103 movdqu 16(%rdi),%xmm5
1105 movdqa %xmm0,-32(%rbx)
1106 movdqa %xmm0,-16(%rbx)
1115 movdqu %xmm4,-32(%rdi)
1116 movdqu %xmm5,-16(%rdi)
1118 jnz .Lmulx4x_cond_copy
1132 .size bn_mulx4x_mont,.-bn_mulx4x_mont
1133 .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