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 #if defined(HAVE_GNU_STACK)
1376 .section .note.GNU-stack,"",%progbits