4 .type bn_mul_mont,@function
28 leaq (%rsp,%r10,8),%rsp
31 movq %r11,8(%rsp,%r9,8)
61 movq (%rsi,%r15,8),%rax
66 movq %r13,-16(%rsp,%r15,8)
72 movq (%rcx,%r15,8),%rax
86 movq %r13,-16(%rsp,%r15,8)
93 movq %r13,-8(%rsp,%r9,8)
94 movq %rdx,(%rsp,%r9,8)
100 movq (%r12,%r14,8),%rbx
125 movq (%rsi,%r15,8),%rax
128 movq (%rsp,%r15,8),%r10
130 movq %r13,-16(%rsp,%r15,8)
136 movq (%rcx,%r15,8),%rax
151 movq (%rsp,%r15,8),%r10
153 movq %r13,-16(%rsp,%r15,8)
161 movq %r13,-8(%rsp,%r9,8)
162 movq %rdx,(%rsp,%r9,8)
174 .Lsub: sbbq (%rcx,%r14,8),%rax
175 movq %rax,(%rdi,%r14,8)
176 movq 8(%rsi,%r14,8),%rax
191 movq (%rsi,%r14,8),%rax
192 movq %r14,(%rsp,%r14,8)
193 movq %rax,(%rdi,%r14,8)
198 movq 8(%rsp,%r9,8),%rsi
209 .size bn_mul_mont,.-bn_mul_mont
210 .type bn_mul4x_mont,@function
225 leaq (%rsp,%r10,8),%rsp
228 movq %r11,8(%rsp,%r9,8)
230 movq %rdi,16(%rsp,%r9,8)
273 movq -16(%rcx,%r15,8),%rax
279 movq -8(%rsi,%r15,8),%rax
283 movq %r13,-24(%rsp,%r15,8)
288 movq -8(%rcx,%r15,8),%rax
294 movq (%rsi,%r15,8),%rax
298 movq %rdi,-16(%rsp,%r15,8)
303 movq (%rcx,%r15,8),%rax
309 movq 8(%rsi,%r15,8),%rax
313 movq %r13,-8(%rsp,%r15,8)
318 movq 8(%rcx,%r15,8),%rax
325 movq -16(%rsi,%r15,8),%rax
329 movq %rdi,-32(%rsp,%r15,8)
336 movq -16(%rcx,%r15,8),%rax
342 movq -8(%rsi,%r15,8),%rax
346 movq %r13,-24(%rsp,%r15,8)
351 movq -8(%rcx,%r15,8),%rax
361 movq %rdi,-16(%rsp,%r15,8)
367 movq %r13,-8(%rsp,%r15,8)
368 movq %rdi,(%rsp,%r15,8)
373 movq (%r12,%r14,8),%rbx
413 movq -16(%rcx,%r15,8),%rax
415 addq -16(%rsp,%r15,8),%r10
421 movq -8(%rsi,%r15,8),%rax
425 movq %r13,-24(%rsp,%r15,8)
430 movq -8(%rcx,%r15,8),%rax
432 addq -8(%rsp,%r15,8),%r11
438 movq (%rsi,%r15,8),%rax
442 movq %rdi,-16(%rsp,%r15,8)
447 movq (%rcx,%r15,8),%rax
449 addq (%rsp,%r15,8),%r10
455 movq 8(%rsi,%r15,8),%rax
459 movq %r13,-8(%rsp,%r15,8)
464 movq 8(%rcx,%r15,8),%rax
466 addq 8(%rsp,%r15,8),%r11
473 movq -16(%rsi,%r15,8),%rax
477 movq %rdi,-32(%rsp,%r15,8)
484 movq -16(%rcx,%r15,8),%rax
486 addq -16(%rsp,%r15,8),%r10
492 movq -8(%rsi,%r15,8),%rax
496 movq %r13,-24(%rsp,%r15,8)
501 movq -8(%rcx,%r15,8),%rax
503 addq -8(%rsp,%r15,8),%r11
514 movq %rdi,-16(%rsp,%r15,8)
520 addq (%rsp,%r9,8),%r13
522 movq %r13,-8(%rsp,%r15,8)
523 movq %rdi,(%rsp,%r15,8)
527 movq 16(%rsp,%r9,8),%rdi
543 movq %rax,0(%rdi,%r14,8)
544 movq %rdx,8(%rdi,%r14,8)
545 sbbq 16(%rcx,%r14,8),%rbx
546 movq 32(%rsi,%r14,8),%rax
547 movq 40(%rsi,%r14,8),%rdx
548 sbbq 24(%rcx,%r14,8),%rbp
549 movq %rbx,16(%rdi,%r14,8)
550 movq %rbp,24(%rdi,%r14,8)
551 sbbq 32(%rcx,%r14,8),%rax
552 movq 48(%rsi,%r14,8),%rbx
553 movq 56(%rsi,%r14,8),%rbp
554 sbbq 40(%rcx,%r14,8),%rdx
559 movq %rax,0(%rdi,%r14,8)
560 movq 32(%rsi,%r14,8),%rax
561 sbbq 16(%rcx,%r14,8),%rbx
562 movq %rdx,8(%rdi,%r14,8)
563 sbbq 24(%rcx,%r14,8),%rbp
564 movq %rbx,16(%rdi,%r14,8)
567 movq %rbp,24(%rdi,%r14,8)
582 movdqu 16(%rsi,%r14,1),%xmm2
583 movdqu 32(%rsi,%r14,1),%xmm1
584 movdqa %xmm0,16(%rsp,%r14,1)
585 movdqu %xmm2,16(%rdi,%r14,1)
586 movdqa %xmm0,32(%rsp,%r14,1)
587 movdqu %xmm1,32(%rdi,%r14,1)
593 movdqu 16(%rsi,%r14,1),%xmm2
594 movdqa %xmm0,16(%rsp,%r14,1)
595 movdqu %xmm2,16(%rdi,%r14,1)
596 movq 8(%rsp,%r9,8),%rsi
607 .size bn_mul4x_mont,.-bn_mul4x_mont
608 .type bn_sqr4x_mont,@function
624 leaq -72(%rsp,%r10,2),%rsp
650 leaq (%rsi,%r9,1),%rsi
655 movq -32(%rsi,%rbp,1),%r14
656 leaq 64(%rsp,%r9,2),%rdi
657 movq -24(%rsi,%rbp,1),%rax
658 leaq -32(%rdi,%rbp,1),%rdi
659 movq -16(%rsi,%rbp,1),%rbx
666 movq %r10,-24(%rdi,%rbp,1)
673 movq %r11,-16(%rdi,%rbp,1)
678 movq 8(%rsi,%rcx,1),%rbx
692 movq %r10,-8(%rdi,%rcx,1)
697 movq (%rsi,%rcx,1),%rbx
711 movq %r11,(%rdi,%rcx,1)
714 movq 8(%rsi,%rcx,1),%rbx
728 movq %r10,8(%rdi,%rcx,1)
730 movq 16(%rsi,%rcx,1),%rbx
744 movq %r11,16(%rdi,%rcx,1)
747 movq 24(%rsi,%rcx,1),%rbx
762 movq %r10,-8(%rdi,%rcx,1)
781 movq -32(%rsi,%rbp,1),%r14
782 leaq 64(%rsp,%r9,2),%rdi
783 movq -24(%rsi,%rbp,1),%rax
784 leaq -32(%rdi,%rbp,1),%rdi
785 movq -16(%rsi,%rbp,1),%rbx
788 movq -24(%rdi,%rbp,1),%r10
794 movq %r10,-24(%rdi,%rbp,1)
797 addq -16(%rdi,%rbp,1),%r11
803 movq %r11,-16(%rdi,%rbp,1)
809 movq 8(%rsi,%rcx,1),%rbx
811 addq 8(%rdi,%rcx,1),%r12
825 movq %r10,8(%rdi,%rcx,1)
832 movq (%rsi,%rcx,1),%rbx
834 addq (%rdi,%rcx,1),%r13
848 movq %r11,(%rdi,%rcx,1)
850 movq 8(%rsi,%rcx,1),%rbx
852 addq 8(%rdi,%rcx,1),%r12
867 movq %r10,-8(%rdi,%rcx,1)
887 leaq 64(%rsp,%r9,2),%rdi
889 leaq -32(%rdi,%rbp,1),%rdi
948 movq -16(%rsi,%rbp,1),%rax
949 leaq 64(%rsp,%r9,2),%rdi
951 movq -24(%rdi,%rbp,2),%r11
953 leaq (%r14,%r10,2),%r12
955 leaq (%rcx,%r11,2),%r13
958 movq -16(%rdi,%rbp,2),%r10
962 movq -8(%rdi,%rbp,2),%r11
964 movq -8(%rsi,%rbp,1),%rax
965 movq %r12,-32(%rdi,%rbp,2)
968 leaq (%r14,%r10,2),%rbx
969 movq %r13,-24(%rdi,%rbp,2)
972 leaq (%rcx,%r11,2),%r8
975 movq 0(%rdi,%rbp,2),%r10
979 movq 8(%rdi,%rbp,2),%r11
981 movq 0(%rsi,%rbp,1),%rax
982 movq %rbx,-16(%rdi,%rbp,2)
985 movq %r8,-40(%rdi,%rbp,2)
987 jmp .Lsqr4x_shift_n_add
991 leaq (%r14,%r10,2),%r12
993 leaq (%rcx,%r11,2),%r13
996 movq -16(%rdi,%rbp,2),%r10
1000 movq -8(%rdi,%rbp,2),%r11
1002 movq -8(%rsi,%rbp,1),%rax
1003 movq %r12,-32(%rdi,%rbp,2)
1006 leaq (%r14,%r10,2),%rbx
1007 movq %r13,-24(%rdi,%rbp,2)
1010 leaq (%rcx,%r11,2),%r8
1013 movq 0(%rdi,%rbp,2),%r10
1017 movq 8(%rdi,%rbp,2),%r11
1019 movq 0(%rsi,%rbp,1),%rax
1020 movq %rbx,-16(%rdi,%rbp,2)
1023 leaq (%r14,%r10,2),%r12
1024 movq %r8,-8(%rdi,%rbp,2)
1027 leaq (%rcx,%r11,2),%r13
1030 movq 16(%rdi,%rbp,2),%r10
1034 movq 24(%rdi,%rbp,2),%r11
1036 movq 8(%rsi,%rbp,1),%rax
1037 movq %r12,0(%rdi,%rbp,2)
1040 leaq (%r14,%r10,2),%rbx
1041 movq %r13,8(%rdi,%rbp,2)
1044 leaq (%rcx,%r11,2),%r8
1047 movq 32(%rdi,%rbp,2),%r10
1051 movq 40(%rdi,%rbp,2),%r11
1053 movq 16(%rsi,%rbp,1),%rax
1054 movq %rbx,16(%rdi,%rbp,2)
1056 movq %r8,24(%rdi,%rbp,2)
1059 jnz .Lsqr4x_shift_n_add
1061 leaq (%r14,%r10,2),%r12
1063 leaq (%rcx,%r11,2),%r13
1076 leaq (%r14,%r10,2),%rbx
1080 leaq (%rcx,%r11,2),%r8
1096 leaq 64(%rsp,%r9,2),%rax
1097 leaq 64(%rsp,%r9,1),%rdi
1099 leaq (%rsi,%r9,1),%rsi
1102 movq 0(%rsi,%rcx,1),%rax
1103 movq 8(%rsi,%rcx,1),%r9
1106 jmp .Lsqr4x_mont_outer
1118 addq 8(%rdi,%rcx,1),%r11
1127 movq 16(%rsi,%rcx,1),%rbx
1135 movq %r12,8(%rdi,%rcx,1)
1138 addq 16(%rdi,%rcx,1),%r10
1145 movq 24(%rsi,%rcx,1),%r9
1153 movq %r13,16(%rdi,%rcx,1)
1156 addq 24(%rdi,%rcx,1),%r11
1163 jmp .Lsqr4x_mont_inner
1167 movq (%rsi,%rcx,1),%rbx
1175 movq %r12,-8(%rdi,%rcx,1)
1178 addq (%rdi,%rcx,1),%r10
1185 movq 8(%rsi,%rcx,1),%r9
1193 movq %r13,(%rdi,%rcx,1)
1196 addq 8(%rdi,%rcx,1),%r11
1204 movq 16(%rsi,%rcx,1),%rbx
1212 movq %r12,8(%rdi,%rcx,1)
1215 addq 16(%rdi,%rcx,1),%r10
1222 movq 24(%rsi,%rcx,1),%r9
1230 movq %r13,16(%rdi,%rcx,1)
1233 addq 24(%rdi,%rcx,1),%r11
1241 jne .Lsqr4x_mont_inner
1258 movq 0(%rsi,%rcx,1),%rbx
1262 imulq 16(%rdi,%rcx,1),%r14
1264 movq 8(%rsi,%rcx,1),%r9
1266 movq 16(%rdi,%rcx,1),%r10
1282 jb .Lsqr4x_mont_outer
1286 movq 64(%rsp,%r9,1),%rax
1287 leaq 64(%rsp,%r9,1),%rbx
1302 movq %rax,0(%rdi,%rbp,8)
1303 movq %rdx,8(%rdi,%rbp,8)
1304 sbbq 16(%rsi,%rbp,8),%r10
1305 movq 32(%rbx,%rbp,8),%rax
1306 movq 40(%rbx,%rbp,8),%rdx
1307 sbbq 24(%rsi,%rbp,8),%r11
1308 movq %r10,16(%rdi,%rbp,8)
1309 movq %r11,24(%rdi,%rbp,8)
1310 sbbq 32(%rsi,%rbp,8),%rax
1311 movq 48(%rbx,%rbp,8),%r10
1312 movq 56(%rbx,%rbp,8),%r11
1313 sbbq 40(%rsi,%rbp,8),%rdx
1318 movq %rax,0(%rdi,%rbp,8)
1319 movq 32(%rbx,%rbp,8),%rax
1320 sbbq 16(%rsi,%rbp,8),%r10
1321 movq %rdx,8(%rdi,%rbp,8)
1322 sbbq 24(%rsi,%rbp,8),%r11
1323 movq %r10,16(%rdi,%rbp,8)
1326 movq %r11,24(%rdi,%rbp,8)
1336 leaq 64(%rsp,%r9,8),%rsi
1338 leaq (%rsi,%r9,8),%rsi
1339 movdqa %xmm0,64(%rsp)
1345 movdqu 16(%rbx,%rbp,1),%xmm2
1346 movdqu 32(%rbx,%rbp,1),%xmm1
1347 movdqa %xmm0,80(%rsp,%rbp,1)
1348 movdqa %xmm0,96(%rsp,%rbp,1)
1349 movdqa %xmm0,16(%rsi,%rbp,1)
1350 movdqa %xmm0,32(%rsi,%rbp,1)
1351 movdqu %xmm2,16(%rdi,%rbp,1)
1352 movdqu %xmm1,32(%rdi,%rbp,1)
1357 movdqu 16(%rbx,%rbp,1),%xmm2
1358 movdqa %xmm0,80(%rsp,%rbp,1)
1359 movdqa %xmm0,16(%rsi,%rbp,1)
1360 movdqu %xmm2,16(%rdi,%rbp,1)
1372 .size bn_sqr4x_mont,.-bn_sqr4x_mont
1373 .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
1375 .section .note.GNU-stack,"",%progbits