2 /* Do not modify. This file is auto-generated from x86_64-mont.pl. */
8 .type bn_mul_mont,@function
14 .cfi_def_cfa_register %rax
19 movl OPENSSL_ia32cap_P+8(%rip),%r11d
43 leaq -16(%rsp,%r9,8),%r10
57 leaq (%r10,%r11,1),%rsp
61 jmp .Lmul_page_walk_done
71 movq %rax,8(%rsp,%r9,8)
72 .cfi_escape 0x0f,0x0a,0x77,0x08,0x79,0x00,0x38,0x1e,0x22,0x06,0x23,0x08
102 movq (%rsi,%r15,8),%rax
107 movq %r13,-16(%rsp,%r15,8)
113 movq (%rcx,%r15,8),%rax
127 movq %r13,-16(%rsp,%r15,8)
134 movq %r13,-8(%rsp,%r9,8)
135 movq %rdx,(%rsp,%r9,8)
141 movq (%r12,%r14,8),%rbx
166 movq (%rsi,%r15,8),%rax
169 movq (%rsp,%r15,8),%r10
171 movq %r13,-16(%rsp,%r15,8)
177 movq (%rcx,%r15,8),%rax
192 movq (%rsp,%r15,8),%r10
194 movq %r13,-16(%rsp,%r15,8)
202 movq %r13,-8(%rsp,%r9,8)
203 movq %rdx,(%rsp,%r9,8)
214 .Lsub: sbbq (%rcx,%r14,8),%rax
215 movq %rax,(%rdi,%r14,8)
216 movq 8(%rsp,%r14,8),%rax
228 movq (%rdi,%r14,8),%rcx
229 movq (%rsp,%r14,8),%rdx
232 movq %r9,(%rsp,%r14,8)
234 movq %rdx,(%rdi,%r14,8)
239 movq 8(%rsp,%r9,8),%rsi
255 .cfi_def_cfa_register %rsp
259 .size bn_mul_mont,.-bn_mul_mont
260 .type bn_mul4x_mont,@function
266 .cfi_def_cfa_register %rax
286 leaq -32(%rsp,%r9,8),%r10
292 leaq (%r10,%r11,1),%rsp
296 jmp .Lmul4x_page_walk_done
299 leaq -4096(%rsp),%rsp
303 .Lmul4x_page_walk_done:
305 movq %rax,8(%rsp,%r9,8)
306 .cfi_escape 0x0f,0x0a,0x77,0x08,0x79,0x00,0x38,0x1e,0x22,0x06,0x23,0x08
308 movq %rdi,16(%rsp,%r9,8)
351 movq -16(%rcx,%r15,8),%rax
357 movq -8(%rsi,%r15,8),%rax
361 movq %r13,-24(%rsp,%r15,8)
366 movq -8(%rcx,%r15,8),%rax
372 movq (%rsi,%r15,8),%rax
376 movq %rdi,-16(%rsp,%r15,8)
381 movq (%rcx,%r15,8),%rax
387 movq 8(%rsi,%r15,8),%rax
391 movq %r13,-8(%rsp,%r15,8)
396 movq 8(%rcx,%r15,8),%rax
403 movq -16(%rsi,%r15,8),%rax
407 movq %rdi,-32(%rsp,%r15,8)
414 movq -16(%rcx,%r15,8),%rax
420 movq -8(%rsi,%r15,8),%rax
424 movq %r13,-24(%rsp,%r15,8)
429 movq -8(%rcx,%r15,8),%rax
439 movq %rdi,-16(%rsp,%r15,8)
445 movq %r13,-8(%rsp,%r15,8)
446 movq %rdi,(%rsp,%r15,8)
451 movq (%r12,%r14,8),%rbx
491 movq -16(%rcx,%r15,8),%rax
493 addq -16(%rsp,%r15,8),%r10
499 movq -8(%rsi,%r15,8),%rax
503 movq %r13,-24(%rsp,%r15,8)
508 movq -8(%rcx,%r15,8),%rax
510 addq -8(%rsp,%r15,8),%r11
516 movq (%rsi,%r15,8),%rax
520 movq %rdi,-16(%rsp,%r15,8)
525 movq (%rcx,%r15,8),%rax
527 addq (%rsp,%r15,8),%r10
533 movq 8(%rsi,%r15,8),%rax
537 movq %r13,-8(%rsp,%r15,8)
542 movq 8(%rcx,%r15,8),%rax
544 addq 8(%rsp,%r15,8),%r11
551 movq -16(%rsi,%r15,8),%rax
555 movq %rdi,-32(%rsp,%r15,8)
562 movq -16(%rcx,%r15,8),%rax
564 addq -16(%rsp,%r15,8),%r10
570 movq -8(%rsi,%r15,8),%rax
574 movq %r13,-24(%rsp,%r15,8)
579 movq -8(%rcx,%r15,8),%rax
581 addq -8(%rsp,%r15,8),%r11
592 movq %rdi,-16(%rsp,%r15,8)
598 addq (%rsp,%r9,8),%r13
600 movq %r13,-8(%rsp,%r15,8)
601 movq %rdi,(%rsp,%r15,8)
605 movq 16(%rsp,%r9,8),%rdi
619 movq %rax,0(%rdi,%r14,8)
620 movq %rdx,8(%rdi,%r14,8)
621 sbbq 16(%rcx,%r14,8),%rbx
622 movq 32(%rsi,%r14,8),%rax
623 movq 40(%rsi,%r14,8),%rdx
624 sbbq 24(%rcx,%r14,8),%rbp
625 movq %rbx,16(%rdi,%r14,8)
626 movq %rbp,24(%rdi,%r14,8)
627 sbbq 32(%rcx,%r14,8),%rax
628 movq 48(%rsi,%r14,8),%rbx
629 movq 56(%rsi,%r14,8),%rbp
630 sbbq 40(%rcx,%r14,8),%rdx
635 movq %rax,0(%rdi,%r14,8)
636 movq 32(%rsi,%r14,8),%rax
637 sbbq 16(%rcx,%r14,8),%rbx
638 movq %rdx,8(%rdi,%r14,8)
639 sbbq 24(%rcx,%r14,8),%rbp
640 movq %rbx,16(%rdi,%r14,8)
643 movq %rbp,24(%rdi,%r14,8)
645 .byte 102,72,15,110,224
647 pshufd $0,%xmm4,%xmm4
656 movdqa (%rsp,%rax,1),%xmm1
657 movdqu (%rdi,%rax,1),%xmm2
660 movdqa 16(%rsp,%rax,1),%xmm3
661 movdqa %xmm0,(%rsp,%rax,1)
663 movdqu 16(%rdi,%rax,1),%xmm2
664 movdqu %xmm1,(%rdi,%rax,1)
667 movdqa %xmm0,16(%rsp,%rax,1)
669 movdqu %xmm3,16(%rdi,%rax,1)
673 movq 8(%rsp,%r9,8),%rsi
689 .cfi_def_cfa_register %rsp
693 .size bn_mul4x_mont,.-bn_mul4x_mont
697 .type bn_sqr8x_mont,@function
702 .cfi_def_cfa_register %rax
728 leaq -64(%rsp,%r9,2),%r11
736 leaq -64(%rbp,%r9,2),%rbp
741 leaq 4096-64(,%r9,2),%r10
742 leaq -64(%rbp,%r9,2),%rbp
752 leaq (%r11,%rbp,1),%rsp
756 jmp .Lsqr8x_page_walk_done
760 leaq -4096(%rsp),%rsp
764 .Lsqr8x_page_walk_done:
771 .cfi_escape 0x0f,0x05,0x77,0x28,0x06,0x23,0x08
774 .byte 102,72,15,110,209
776 .byte 102,72,15,110,207
777 .byte 102,73,15,110,218
778 movl OPENSSL_ia32cap_P+8(%rip),%eax
783 call bn_sqrx8x_internal
788 leaq (%r8,%rcx,1),%rbx
791 .byte 102,72,15,126,207
797 call bn_sqr8x_internal
802 leaq (%rdi,%r9,1),%rbx
805 .byte 102,72,15,126,207
830 leaq (%rbx,%r9,1),%rbx
831 leaq (%rdi,%r9,1),%rdi
833 .byte 102,72,15,110,200
835 pshufd $0,%xmm1,%xmm1
838 jmp .Lsqr8x_cond_copy
843 movdqa 16(%rbx),%xmm3
846 movdqu 16(%rdi),%xmm5
848 movdqa %xmm0,-32(%rbx)
849 movdqa %xmm0,-16(%rbx)
850 movdqa %xmm0,-32(%rbx,%rdx,1)
851 movdqa %xmm0,-16(%rbx,%rdx,1)
860 movdqu %xmm4,-32(%rdi)
861 movdqu %xmm5,-16(%rdi)
863 jnz .Lsqr8x_cond_copy
879 .cfi_def_cfa_register %rsp
883 .size bn_sqr8x_mont,.-bn_sqr8x_mont
884 .type bn_mulx4x_mont,@function
889 .cfi_def_cfa_register %rax
909 leaq -72(%rsp,%r10,1),%rbp
914 leaq (%r11,%rbp,1),%rsp
917 ja .Lmulx4x_page_walk
918 jmp .Lmulx4x_page_walk_done
922 leaq -4096(%rsp),%rsp
925 ja .Lmulx4x_page_walk
926 .Lmulx4x_page_walk_done:
928 leaq (%rdx,%r9,1),%r10
948 .cfi_escape 0x0f,0x05,0x77,0x28,0x06,0x23,0x08
956 leaq 64+32(%rsp),%rbx
959 mulxq 0(%rsi),%r8,%rax
960 mulxq 8(%rsi),%r11,%r14
963 mulxq 16(%rsi),%r12,%r13
971 mulxq 24(%rsi),%rax,%r14
977 mulxq 0(%rcx),%rax,%r10
980 mulxq 8(%rcx),%rax,%r11
983 .byte 0xc4,0x62,0xfb,0xf6,0xa1,0x10,0x00,0x00,0x00
988 mulxq 24(%rcx),%rax,%r15
1001 mulxq 0(%rsi),%r10,%rax
1003 mulxq 8(%rsi),%r11,%r14
1005 mulxq 16(%rsi),%r12,%rax
1007 mulxq 24(%rsi),%r13,%r14
1016 mulxq 0(%rcx),%rax,%r15
1019 mulxq 8(%rcx),%rax,%r15
1022 mulxq 16(%rcx),%rax,%r15
1027 mulxq 24(%rcx),%rax,%r15
1052 leaq 64+32(%rsp),%rbx
1055 mulxq 0(%rsi),%r8,%r11
1058 mulxq 8(%rsi),%r14,%r12
1061 mulxq 16(%rsi),%r15,%r13
1062 adoxq -24(%rbx),%r11
1064 adoxq -16(%rbx),%r12
1073 mulxq 24(%rsi),%rax,%r14
1081 mulxq 0(%rcx),%rax,%r10
1084 mulxq 8(%rcx),%rax,%r11
1087 mulxq 16(%rcx),%rax,%r12
1091 mulxq 24(%rcx),%rax,%r15
1104 mulxq 0(%rsi),%r10,%rax
1107 mulxq 8(%rsi),%r11,%r14
1110 mulxq 16(%rsi),%r12,%rax
1113 mulxq 24(%rsi),%r13,%r14
1124 mulxq 0(%rcx),%rax,%r15
1127 mulxq 8(%rcx),%rax,%r15
1130 mulxq 16(%rcx),%rax,%r15
1134 mulxq 24(%rcx),%rax,%r15
1189 .byte 102,73,15,110,207
1191 pshufd $0,%xmm1,%xmm1
1194 jmp .Lmulx4x_cond_copy
1198 movdqa 0(%rbx),%xmm2
1199 movdqa 16(%rbx),%xmm3
1201 movdqu 0(%rdi),%xmm4
1202 movdqu 16(%rdi),%xmm5
1204 movdqa %xmm0,-32(%rbx)
1205 movdqa %xmm0,-16(%rbx)
1214 movdqu %xmm4,-32(%rdi)
1215 movdqu %xmm5,-16(%rdi)
1217 jnz .Lmulx4x_cond_copy
1235 .cfi_def_cfa_register %rsp
1239 .size bn_mulx4x_mont,.-bn_mulx4x_mont
1240 .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