Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: third_party/boringssl/mac-x86_64/crypto/bn/modexp512-x86_64.S

Issue 377783004: Add BoringSSL GYP files. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Final Python fix. Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 #if defined(__x86_64__)
2 .text
3
4
5 .p2align 4
6 MULADD_128x512:
7 movq 0(%rsi),%rax
8 mulq %rbp
9 addq %rax,%r8
10 adcq $0,%rdx
11 movq %r8,0(%rcx)
12 movq %rdx,%rbx
13
14 movq 8(%rsi),%rax
15 mulq %rbp
16 addq %rax,%r9
17 adcq $0,%rdx
18 addq %rbx,%r9
19 adcq $0,%rdx
20 movq %rdx,%rbx
21
22 movq 16(%rsi),%rax
23 mulq %rbp
24 addq %rax,%r10
25 adcq $0,%rdx
26 addq %rbx,%r10
27 adcq $0,%rdx
28 movq %rdx,%rbx
29
30 movq 24(%rsi),%rax
31 mulq %rbp
32 addq %rax,%r11
33 adcq $0,%rdx
34 addq %rbx,%r11
35 adcq $0,%rdx
36 movq %rdx,%rbx
37
38 movq 32(%rsi),%rax
39 mulq %rbp
40 addq %rax,%r12
41 adcq $0,%rdx
42 addq %rbx,%r12
43 adcq $0,%rdx
44 movq %rdx,%rbx
45
46 movq 40(%rsi),%rax
47 mulq %rbp
48 addq %rax,%r13
49 adcq $0,%rdx
50 addq %rbx,%r13
51 adcq $0,%rdx
52 movq %rdx,%rbx
53
54 movq 48(%rsi),%rax
55 mulq %rbp
56 addq %rax,%r14
57 adcq $0,%rdx
58 addq %rbx,%r14
59 adcq $0,%rdx
60 movq %rdx,%rbx
61
62 movq 56(%rsi),%rax
63 mulq %rbp
64 addq %rax,%r15
65 adcq $0,%rdx
66 addq %rbx,%r15
67 adcq $0,%rdx
68 movq %rdx,%r8
69 movq 8(%rdi),%rbp
70 movq 0(%rsi),%rax
71 mulq %rbp
72 addq %rax,%r9
73 adcq $0,%rdx
74 movq %r9,8(%rcx)
75 movq %rdx,%rbx
76
77 movq 8(%rsi),%rax
78 mulq %rbp
79 addq %rax,%r10
80 adcq $0,%rdx
81 addq %rbx,%r10
82 adcq $0,%rdx
83 movq %rdx,%rbx
84
85 movq 16(%rsi),%rax
86 mulq %rbp
87 addq %rax,%r11
88 adcq $0,%rdx
89 addq %rbx,%r11
90 adcq $0,%rdx
91 movq %rdx,%rbx
92
93 movq 24(%rsi),%rax
94 mulq %rbp
95 addq %rax,%r12
96 adcq $0,%rdx
97 addq %rbx,%r12
98 adcq $0,%rdx
99 movq %rdx,%rbx
100
101 movq 32(%rsi),%rax
102 mulq %rbp
103 addq %rax,%r13
104 adcq $0,%rdx
105 addq %rbx,%r13
106 adcq $0,%rdx
107 movq %rdx,%rbx
108
109 movq 40(%rsi),%rax
110 mulq %rbp
111 addq %rax,%r14
112 adcq $0,%rdx
113 addq %rbx,%r14
114 adcq $0,%rdx
115 movq %rdx,%rbx
116
117 movq 48(%rsi),%rax
118 mulq %rbp
119 addq %rax,%r15
120 adcq $0,%rdx
121 addq %rbx,%r15
122 adcq $0,%rdx
123 movq %rdx,%rbx
124
125 movq 56(%rsi),%rax
126 mulq %rbp
127 addq %rax,%r8
128 adcq $0,%rdx
129 addq %rbx,%r8
130 adcq $0,%rdx
131 movq %rdx,%r9
132 .byte 0xf3,0xc3
133
134
135 .p2align 4
136 mont_reduce:
137 leaq 192(%rsp),%rdi
138 movq 32(%rsp),%rsi
139 addq $576,%rsi
140 leaq 520(%rsp),%rcx
141
142 movq 96(%rcx),%rbp
143 movq 0(%rsi),%rax
144 mulq %rbp
145 movq (%rcx),%r8
146 addq %rax,%r8
147 adcq $0,%rdx
148 movq %r8,0(%rdi)
149 movq %rdx,%rbx
150
151 movq 8(%rsi),%rax
152 mulq %rbp
153 movq 8(%rcx),%r9
154 addq %rax,%r9
155 adcq $0,%rdx
156 addq %rbx,%r9
157 adcq $0,%rdx
158 movq %rdx,%rbx
159
160 movq 16(%rsi),%rax
161 mulq %rbp
162 movq 16(%rcx),%r10
163 addq %rax,%r10
164 adcq $0,%rdx
165 addq %rbx,%r10
166 adcq $0,%rdx
167 movq %rdx,%rbx
168
169 movq 24(%rsi),%rax
170 mulq %rbp
171 movq 24(%rcx),%r11
172 addq %rax,%r11
173 adcq $0,%rdx
174 addq %rbx,%r11
175 adcq $0,%rdx
176 movq %rdx,%rbx
177
178 movq 32(%rsi),%rax
179 mulq %rbp
180 movq 32(%rcx),%r12
181 addq %rax,%r12
182 adcq $0,%rdx
183 addq %rbx,%r12
184 adcq $0,%rdx
185 movq %rdx,%rbx
186
187 movq 40(%rsi),%rax
188 mulq %rbp
189 movq 40(%rcx),%r13
190 addq %rax,%r13
191 adcq $0,%rdx
192 addq %rbx,%r13
193 adcq $0,%rdx
194 movq %rdx,%rbx
195
196 movq 48(%rsi),%rax
197 mulq %rbp
198 movq 48(%rcx),%r14
199 addq %rax,%r14
200 adcq $0,%rdx
201 addq %rbx,%r14
202 adcq $0,%rdx
203 movq %rdx,%rbx
204
205 movq 56(%rsi),%rax
206 mulq %rbp
207 movq 56(%rcx),%r15
208 addq %rax,%r15
209 adcq $0,%rdx
210 addq %rbx,%r15
211 adcq $0,%rdx
212 movq %rdx,%r8
213 movq 104(%rcx),%rbp
214 movq 0(%rsi),%rax
215 mulq %rbp
216 addq %rax,%r9
217 adcq $0,%rdx
218 movq %r9,8(%rdi)
219 movq %rdx,%rbx
220
221 movq 8(%rsi),%rax
222 mulq %rbp
223 addq %rax,%r10
224 adcq $0,%rdx
225 addq %rbx,%r10
226 adcq $0,%rdx
227 movq %rdx,%rbx
228
229 movq 16(%rsi),%rax
230 mulq %rbp
231 addq %rax,%r11
232 adcq $0,%rdx
233 addq %rbx,%r11
234 adcq $0,%rdx
235 movq %rdx,%rbx
236
237 movq 24(%rsi),%rax
238 mulq %rbp
239 addq %rax,%r12
240 adcq $0,%rdx
241 addq %rbx,%r12
242 adcq $0,%rdx
243 movq %rdx,%rbx
244
245 movq 32(%rsi),%rax
246 mulq %rbp
247 addq %rax,%r13
248 adcq $0,%rdx
249 addq %rbx,%r13
250 adcq $0,%rdx
251 movq %rdx,%rbx
252
253 movq 40(%rsi),%rax
254 mulq %rbp
255 addq %rax,%r14
256 adcq $0,%rdx
257 addq %rbx,%r14
258 adcq $0,%rdx
259 movq %rdx,%rbx
260
261 movq 48(%rsi),%rax
262 mulq %rbp
263 addq %rax,%r15
264 adcq $0,%rdx
265 addq %rbx,%r15
266 adcq $0,%rdx
267 movq %rdx,%rbx
268
269 movq 56(%rsi),%rax
270 mulq %rbp
271 addq %rax,%r8
272 adcq $0,%rdx
273 addq %rbx,%r8
274 adcq $0,%rdx
275 movq %rdx,%r9
276 movq 112(%rcx),%rbp
277 movq 0(%rsi),%rax
278 mulq %rbp
279 addq %rax,%r10
280 adcq $0,%rdx
281 movq %r10,16(%rdi)
282 movq %rdx,%rbx
283
284 movq 8(%rsi),%rax
285 mulq %rbp
286 addq %rax,%r11
287 adcq $0,%rdx
288 addq %rbx,%r11
289 adcq $0,%rdx
290 movq %rdx,%rbx
291
292 movq 16(%rsi),%rax
293 mulq %rbp
294 addq %rax,%r12
295 adcq $0,%rdx
296 addq %rbx,%r12
297 adcq $0,%rdx
298 movq %rdx,%rbx
299
300 movq 24(%rsi),%rax
301 mulq %rbp
302 addq %rax,%r13
303 adcq $0,%rdx
304 addq %rbx,%r13
305 adcq $0,%rdx
306 movq %rdx,%rbx
307
308 movq 32(%rsi),%rax
309 mulq %rbp
310 addq %rax,%r14
311 adcq $0,%rdx
312 addq %rbx,%r14
313 adcq $0,%rdx
314 movq %rdx,%rbx
315
316 movq 40(%rsi),%rax
317 mulq %rbp
318 addq %rax,%r15
319 adcq $0,%rdx
320 addq %rbx,%r15
321 adcq $0,%rdx
322 movq %rdx,%rbx
323
324 movq 48(%rsi),%rax
325 mulq %rbp
326 addq %rax,%r8
327 adcq $0,%rdx
328 addq %rbx,%r8
329 adcq $0,%rdx
330 movq %rdx,%rbx
331
332 movq 56(%rsi),%rax
333 mulq %rbp
334 addq %rax,%r9
335 adcq $0,%rdx
336 addq %rbx,%r9
337 adcq $0,%rdx
338 movq %rdx,%r10
339 movq 120(%rcx),%rbp
340 movq 0(%rsi),%rax
341 mulq %rbp
342 addq %rax,%r11
343 adcq $0,%rdx
344 movq %r11,24(%rdi)
345 movq %rdx,%rbx
346
347 movq 8(%rsi),%rax
348 mulq %rbp
349 addq %rax,%r12
350 adcq $0,%rdx
351 addq %rbx,%r12
352 adcq $0,%rdx
353 movq %rdx,%rbx
354
355 movq 16(%rsi),%rax
356 mulq %rbp
357 addq %rax,%r13
358 adcq $0,%rdx
359 addq %rbx,%r13
360 adcq $0,%rdx
361 movq %rdx,%rbx
362
363 movq 24(%rsi),%rax
364 mulq %rbp
365 addq %rax,%r14
366 adcq $0,%rdx
367 addq %rbx,%r14
368 adcq $0,%rdx
369 movq %rdx,%rbx
370
371 movq 32(%rsi),%rax
372 mulq %rbp
373 addq %rax,%r15
374 adcq $0,%rdx
375 addq %rbx,%r15
376 adcq $0,%rdx
377 movq %rdx,%rbx
378
379 movq 40(%rsi),%rax
380 mulq %rbp
381 addq %rax,%r8
382 adcq $0,%rdx
383 addq %rbx,%r8
384 adcq $0,%rdx
385 movq %rdx,%rbx
386
387 movq 48(%rsi),%rax
388 mulq %rbp
389 addq %rax,%r9
390 adcq $0,%rdx
391 addq %rbx,%r9
392 adcq $0,%rdx
393 movq %rdx,%rbx
394
395 movq 56(%rsi),%rax
396 mulq %rbp
397 addq %rax,%r10
398 adcq $0,%rdx
399 addq %rbx,%r10
400 adcq $0,%rdx
401 movq %rdx,%r11
402 xorq %rax,%rax
403
404 addq 64(%rcx),%r8
405 adcq 72(%rcx),%r9
406 adcq 80(%rcx),%r10
407 adcq 88(%rcx),%r11
408 adcq $0,%rax
409
410
411
412
413 movq %r8,64(%rdi)
414 movq %r9,72(%rdi)
415 movq %r10,%rbp
416 movq %r11,88(%rdi)
417
418 movq %rax,384(%rsp)
419
420 movq 0(%rdi),%r8
421 movq 8(%rdi),%r9
422 movq 16(%rdi),%r10
423 movq 24(%rdi),%r11
424
425
426
427
428
429
430
431
432 addq $80,%rdi
433
434 addq $64,%rsi
435 leaq 296(%rsp),%rcx
436
437 call MULADD_128x512
438
439 movq 384(%rsp),%rax
440
441
442 addq -16(%rdi),%r8
443 adcq -8(%rdi),%r9
444 movq %r8,64(%rcx)
445 movq %r9,72(%rcx)
446
447 adcq %rax,%rax
448 movq %rax,384(%rsp)
449
450 leaq 192(%rsp),%rdi
451 addq $64,%rsi
452
453
454
455
456
457 movq (%rsi),%r8
458 movq 8(%rsi),%rbx
459
460 movq (%rcx),%rax
461 mulq %r8
462 movq %rax,%rbp
463 movq %rdx,%r9
464
465 movq 8(%rcx),%rax
466 mulq %r8
467 addq %rax,%r9
468
469 movq (%rcx),%rax
470 mulq %rbx
471 addq %rax,%r9
472
473 movq %r9,8(%rdi)
474
475
476 subq $192,%rsi
477
478 movq (%rcx),%r8
479 movq 8(%rcx),%r9
480
481 call MULADD_128x512
482
483
484
485
486 movq 0(%rsi),%rax
487 movq 8(%rsi),%rbx
488 movq 16(%rsi),%rdi
489 movq 24(%rsi),%rdx
490
491
492 movq 384(%rsp),%rbp
493
494 addq 64(%rcx),%r8
495 adcq 72(%rcx),%r9
496
497
498 adcq %rbp,%rbp
499
500
501
502 shlq $3,%rbp
503 movq 32(%rsp),%rcx
504 addq %rcx,%rbp
505
506
507 xorq %rsi,%rsi
508
509 addq 0(%rbp),%r10
510 adcq 64(%rbp),%r11
511 adcq 128(%rbp),%r12
512 adcq 192(%rbp),%r13
513 adcq 256(%rbp),%r14
514 adcq 320(%rbp),%r15
515 adcq 384(%rbp),%r8
516 adcq 448(%rbp),%r9
517
518
519
520 sbbq $0,%rsi
521
522
523 andq %rsi,%rax
524 andq %rsi,%rbx
525 andq %rsi,%rdi
526 andq %rsi,%rdx
527
528 movq $1,%rbp
529 subq %rax,%r10
530 sbbq %rbx,%r11
531 sbbq %rdi,%r12
532 sbbq %rdx,%r13
533
534
535
536
537 sbbq $0,%rbp
538
539
540
541 addq $512,%rcx
542 movq 32(%rcx),%rax
543 movq 40(%rcx),%rbx
544 movq 48(%rcx),%rdi
545 movq 56(%rcx),%rdx
546
547
548
549 andq %rsi,%rax
550 andq %rsi,%rbx
551 andq %rsi,%rdi
552 andq %rsi,%rdx
553
554
555
556 subq $1,%rbp
557
558 sbbq %rax,%r14
559 sbbq %rbx,%r15
560 sbbq %rdi,%r8
561 sbbq %rdx,%r9
562
563
564
565 movq 144(%rsp),%rsi
566 movq %r10,0(%rsi)
567 movq %r11,8(%rsi)
568 movq %r12,16(%rsi)
569 movq %r13,24(%rsi)
570 movq %r14,32(%rsi)
571 movq %r15,40(%rsi)
572 movq %r8,48(%rsi)
573 movq %r9,56(%rsi)
574
575 .byte 0xf3,0xc3
576
577
578 .p2align 4
579 mont_mul_a3b:
580
581
582
583
584 movq 0(%rdi),%rbp
585
586 movq %r10,%rax
587 mulq %rbp
588 movq %rax,520(%rsp)
589 movq %rdx,%r10
590 movq %r11,%rax
591 mulq %rbp
592 addq %rax,%r10
593 adcq $0,%rdx
594 movq %rdx,%r11
595 movq %r12,%rax
596 mulq %rbp
597 addq %rax,%r11
598 adcq $0,%rdx
599 movq %rdx,%r12
600 movq %r13,%rax
601 mulq %rbp
602 addq %rax,%r12
603 adcq $0,%rdx
604 movq %rdx,%r13
605 movq %r14,%rax
606 mulq %rbp
607 addq %rax,%r13
608 adcq $0,%rdx
609 movq %rdx,%r14
610 movq %r15,%rax
611 mulq %rbp
612 addq %rax,%r14
613 adcq $0,%rdx
614 movq %rdx,%r15
615 movq %r8,%rax
616 mulq %rbp
617 addq %rax,%r15
618 adcq $0,%rdx
619 movq %rdx,%r8
620 movq %r9,%rax
621 mulq %rbp
622 addq %rax,%r8
623 adcq $0,%rdx
624 movq %rdx,%r9
625 movq 8(%rdi),%rbp
626 movq 0(%rsi),%rax
627 mulq %rbp
628 addq %rax,%r10
629 adcq $0,%rdx
630 movq %r10,528(%rsp)
631 movq %rdx,%rbx
632
633 movq 8(%rsi),%rax
634 mulq %rbp
635 addq %rax,%r11
636 adcq $0,%rdx
637 addq %rbx,%r11
638 adcq $0,%rdx
639 movq %rdx,%rbx
640
641 movq 16(%rsi),%rax
642 mulq %rbp
643 addq %rax,%r12
644 adcq $0,%rdx
645 addq %rbx,%r12
646 adcq $0,%rdx
647 movq %rdx,%rbx
648
649 movq 24(%rsi),%rax
650 mulq %rbp
651 addq %rax,%r13
652 adcq $0,%rdx
653 addq %rbx,%r13
654 adcq $0,%rdx
655 movq %rdx,%rbx
656
657 movq 32(%rsi),%rax
658 mulq %rbp
659 addq %rax,%r14
660 adcq $0,%rdx
661 addq %rbx,%r14
662 adcq $0,%rdx
663 movq %rdx,%rbx
664
665 movq 40(%rsi),%rax
666 mulq %rbp
667 addq %rax,%r15
668 adcq $0,%rdx
669 addq %rbx,%r15
670 adcq $0,%rdx
671 movq %rdx,%rbx
672
673 movq 48(%rsi),%rax
674 mulq %rbp
675 addq %rax,%r8
676 adcq $0,%rdx
677 addq %rbx,%r8
678 adcq $0,%rdx
679 movq %rdx,%rbx
680
681 movq 56(%rsi),%rax
682 mulq %rbp
683 addq %rax,%r9
684 adcq $0,%rdx
685 addq %rbx,%r9
686 adcq $0,%rdx
687 movq %rdx,%r10
688 movq 16(%rdi),%rbp
689 movq 0(%rsi),%rax
690 mulq %rbp
691 addq %rax,%r11
692 adcq $0,%rdx
693 movq %r11,536(%rsp)
694 movq %rdx,%rbx
695
696 movq 8(%rsi),%rax
697 mulq %rbp
698 addq %rax,%r12
699 adcq $0,%rdx
700 addq %rbx,%r12
701 adcq $0,%rdx
702 movq %rdx,%rbx
703
704 movq 16(%rsi),%rax
705 mulq %rbp
706 addq %rax,%r13
707 adcq $0,%rdx
708 addq %rbx,%r13
709 adcq $0,%rdx
710 movq %rdx,%rbx
711
712 movq 24(%rsi),%rax
713 mulq %rbp
714 addq %rax,%r14
715 adcq $0,%rdx
716 addq %rbx,%r14
717 adcq $0,%rdx
718 movq %rdx,%rbx
719
720 movq 32(%rsi),%rax
721 mulq %rbp
722 addq %rax,%r15
723 adcq $0,%rdx
724 addq %rbx,%r15
725 adcq $0,%rdx
726 movq %rdx,%rbx
727
728 movq 40(%rsi),%rax
729 mulq %rbp
730 addq %rax,%r8
731 adcq $0,%rdx
732 addq %rbx,%r8
733 adcq $0,%rdx
734 movq %rdx,%rbx
735
736 movq 48(%rsi),%rax
737 mulq %rbp
738 addq %rax,%r9
739 adcq $0,%rdx
740 addq %rbx,%r9
741 adcq $0,%rdx
742 movq %rdx,%rbx
743
744 movq 56(%rsi),%rax
745 mulq %rbp
746 addq %rax,%r10
747 adcq $0,%rdx
748 addq %rbx,%r10
749 adcq $0,%rdx
750 movq %rdx,%r11
751 movq 24(%rdi),%rbp
752 movq 0(%rsi),%rax
753 mulq %rbp
754 addq %rax,%r12
755 adcq $0,%rdx
756 movq %r12,544(%rsp)
757 movq %rdx,%rbx
758
759 movq 8(%rsi),%rax
760 mulq %rbp
761 addq %rax,%r13
762 adcq $0,%rdx
763 addq %rbx,%r13
764 adcq $0,%rdx
765 movq %rdx,%rbx
766
767 movq 16(%rsi),%rax
768 mulq %rbp
769 addq %rax,%r14
770 adcq $0,%rdx
771 addq %rbx,%r14
772 adcq $0,%rdx
773 movq %rdx,%rbx
774
775 movq 24(%rsi),%rax
776 mulq %rbp
777 addq %rax,%r15
778 adcq $0,%rdx
779 addq %rbx,%r15
780 adcq $0,%rdx
781 movq %rdx,%rbx
782
783 movq 32(%rsi),%rax
784 mulq %rbp
785 addq %rax,%r8
786 adcq $0,%rdx
787 addq %rbx,%r8
788 adcq $0,%rdx
789 movq %rdx,%rbx
790
791 movq 40(%rsi),%rax
792 mulq %rbp
793 addq %rax,%r9
794 adcq $0,%rdx
795 addq %rbx,%r9
796 adcq $0,%rdx
797 movq %rdx,%rbx
798
799 movq 48(%rsi),%rax
800 mulq %rbp
801 addq %rax,%r10
802 adcq $0,%rdx
803 addq %rbx,%r10
804 adcq $0,%rdx
805 movq %rdx,%rbx
806
807 movq 56(%rsi),%rax
808 mulq %rbp
809 addq %rax,%r11
810 adcq $0,%rdx
811 addq %rbx,%r11
812 adcq $0,%rdx
813 movq %rdx,%r12
814 movq 32(%rdi),%rbp
815 movq 0(%rsi),%rax
816 mulq %rbp
817 addq %rax,%r13
818 adcq $0,%rdx
819 movq %r13,552(%rsp)
820 movq %rdx,%rbx
821
822 movq 8(%rsi),%rax
823 mulq %rbp
824 addq %rax,%r14
825 adcq $0,%rdx
826 addq %rbx,%r14
827 adcq $0,%rdx
828 movq %rdx,%rbx
829
830 movq 16(%rsi),%rax
831 mulq %rbp
832 addq %rax,%r15
833 adcq $0,%rdx
834 addq %rbx,%r15
835 adcq $0,%rdx
836 movq %rdx,%rbx
837
838 movq 24(%rsi),%rax
839 mulq %rbp
840 addq %rax,%r8
841 adcq $0,%rdx
842 addq %rbx,%r8
843 adcq $0,%rdx
844 movq %rdx,%rbx
845
846 movq 32(%rsi),%rax
847 mulq %rbp
848 addq %rax,%r9
849 adcq $0,%rdx
850 addq %rbx,%r9
851 adcq $0,%rdx
852 movq %rdx,%rbx
853
854 movq 40(%rsi),%rax
855 mulq %rbp
856 addq %rax,%r10
857 adcq $0,%rdx
858 addq %rbx,%r10
859 adcq $0,%rdx
860 movq %rdx,%rbx
861
862 movq 48(%rsi),%rax
863 mulq %rbp
864 addq %rax,%r11
865 adcq $0,%rdx
866 addq %rbx,%r11
867 adcq $0,%rdx
868 movq %rdx,%rbx
869
870 movq 56(%rsi),%rax
871 mulq %rbp
872 addq %rax,%r12
873 adcq $0,%rdx
874 addq %rbx,%r12
875 adcq $0,%rdx
876 movq %rdx,%r13
877 movq 40(%rdi),%rbp
878 movq 0(%rsi),%rax
879 mulq %rbp
880 addq %rax,%r14
881 adcq $0,%rdx
882 movq %r14,560(%rsp)
883 movq %rdx,%rbx
884
885 movq 8(%rsi),%rax
886 mulq %rbp
887 addq %rax,%r15
888 adcq $0,%rdx
889 addq %rbx,%r15
890 adcq $0,%rdx
891 movq %rdx,%rbx
892
893 movq 16(%rsi),%rax
894 mulq %rbp
895 addq %rax,%r8
896 adcq $0,%rdx
897 addq %rbx,%r8
898 adcq $0,%rdx
899 movq %rdx,%rbx
900
901 movq 24(%rsi),%rax
902 mulq %rbp
903 addq %rax,%r9
904 adcq $0,%rdx
905 addq %rbx,%r9
906 adcq $0,%rdx
907 movq %rdx,%rbx
908
909 movq 32(%rsi),%rax
910 mulq %rbp
911 addq %rax,%r10
912 adcq $0,%rdx
913 addq %rbx,%r10
914 adcq $0,%rdx
915 movq %rdx,%rbx
916
917 movq 40(%rsi),%rax
918 mulq %rbp
919 addq %rax,%r11
920 adcq $0,%rdx
921 addq %rbx,%r11
922 adcq $0,%rdx
923 movq %rdx,%rbx
924
925 movq 48(%rsi),%rax
926 mulq %rbp
927 addq %rax,%r12
928 adcq $0,%rdx
929 addq %rbx,%r12
930 adcq $0,%rdx
931 movq %rdx,%rbx
932
933 movq 56(%rsi),%rax
934 mulq %rbp
935 addq %rax,%r13
936 adcq $0,%rdx
937 addq %rbx,%r13
938 adcq $0,%rdx
939 movq %rdx,%r14
940 movq 48(%rdi),%rbp
941 movq 0(%rsi),%rax
942 mulq %rbp
943 addq %rax,%r15
944 adcq $0,%rdx
945 movq %r15,568(%rsp)
946 movq %rdx,%rbx
947
948 movq 8(%rsi),%rax
949 mulq %rbp
950 addq %rax,%r8
951 adcq $0,%rdx
952 addq %rbx,%r8
953 adcq $0,%rdx
954 movq %rdx,%rbx
955
956 movq 16(%rsi),%rax
957 mulq %rbp
958 addq %rax,%r9
959 adcq $0,%rdx
960 addq %rbx,%r9
961 adcq $0,%rdx
962 movq %rdx,%rbx
963
964 movq 24(%rsi),%rax
965 mulq %rbp
966 addq %rax,%r10
967 adcq $0,%rdx
968 addq %rbx,%r10
969 adcq $0,%rdx
970 movq %rdx,%rbx
971
972 movq 32(%rsi),%rax
973 mulq %rbp
974 addq %rax,%r11
975 adcq $0,%rdx
976 addq %rbx,%r11
977 adcq $0,%rdx
978 movq %rdx,%rbx
979
980 movq 40(%rsi),%rax
981 mulq %rbp
982 addq %rax,%r12
983 adcq $0,%rdx
984 addq %rbx,%r12
985 adcq $0,%rdx
986 movq %rdx,%rbx
987
988 movq 48(%rsi),%rax
989 mulq %rbp
990 addq %rax,%r13
991 adcq $0,%rdx
992 addq %rbx,%r13
993 adcq $0,%rdx
994 movq %rdx,%rbx
995
996 movq 56(%rsi),%rax
997 mulq %rbp
998 addq %rax,%r14
999 adcq $0,%rdx
1000 addq %rbx,%r14
1001 adcq $0,%rdx
1002 movq %rdx,%r15
1003 movq 56(%rdi),%rbp
1004 movq 0(%rsi),%rax
1005 mulq %rbp
1006 addq %rax,%r8
1007 adcq $0,%rdx
1008 movq %r8,576(%rsp)
1009 movq %rdx,%rbx
1010
1011 movq 8(%rsi),%rax
1012 mulq %rbp
1013 addq %rax,%r9
1014 adcq $0,%rdx
1015 addq %rbx,%r9
1016 adcq $0,%rdx
1017 movq %rdx,%rbx
1018
1019 movq 16(%rsi),%rax
1020 mulq %rbp
1021 addq %rax,%r10
1022 adcq $0,%rdx
1023 addq %rbx,%r10
1024 adcq $0,%rdx
1025 movq %rdx,%rbx
1026
1027 movq 24(%rsi),%rax
1028 mulq %rbp
1029 addq %rax,%r11
1030 adcq $0,%rdx
1031 addq %rbx,%r11
1032 adcq $0,%rdx
1033 movq %rdx,%rbx
1034
1035 movq 32(%rsi),%rax
1036 mulq %rbp
1037 addq %rax,%r12
1038 adcq $0,%rdx
1039 addq %rbx,%r12
1040 adcq $0,%rdx
1041 movq %rdx,%rbx
1042
1043 movq 40(%rsi),%rax
1044 mulq %rbp
1045 addq %rax,%r13
1046 adcq $0,%rdx
1047 addq %rbx,%r13
1048 adcq $0,%rdx
1049 movq %rdx,%rbx
1050
1051 movq 48(%rsi),%rax
1052 mulq %rbp
1053 addq %rax,%r14
1054 adcq $0,%rdx
1055 addq %rbx,%r14
1056 adcq $0,%rdx
1057 movq %rdx,%rbx
1058
1059 movq 56(%rsi),%rax
1060 mulq %rbp
1061 addq %rax,%r15
1062 adcq $0,%rdx
1063 addq %rbx,%r15
1064 adcq $0,%rdx
1065 movq %rdx,%r8
1066 movq %r9,584(%rsp)
1067 movq %r10,592(%rsp)
1068 movq %r11,600(%rsp)
1069 movq %r12,608(%rsp)
1070 movq %r13,616(%rsp)
1071 movq %r14,624(%rsp)
1072 movq %r15,632(%rsp)
1073 movq %r8,640(%rsp)
1074
1075
1076
1077
1078
1079 jmp mont_reduce
1080
1081
1082
1083
1084 .p2align 4
1085 sqr_reduce:
1086 movq 16(%rsp),%rcx
1087
1088
1089
1090 movq %r10,%rbx
1091
1092 movq %r11,%rax
1093 mulq %rbx
1094 movq %rax,528(%rsp)
1095 movq %rdx,%r10
1096 movq %r12,%rax
1097 mulq %rbx
1098 addq %rax,%r10
1099 adcq $0,%rdx
1100 movq %rdx,%r11
1101 movq %r13,%rax
1102 mulq %rbx
1103 addq %rax,%r11
1104 adcq $0,%rdx
1105 movq %rdx,%r12
1106 movq %r14,%rax
1107 mulq %rbx
1108 addq %rax,%r12
1109 adcq $0,%rdx
1110 movq %rdx,%r13
1111 movq %r15,%rax
1112 mulq %rbx
1113 addq %rax,%r13
1114 adcq $0,%rdx
1115 movq %rdx,%r14
1116 movq %r8,%rax
1117 mulq %rbx
1118 addq %rax,%r14
1119 adcq $0,%rdx
1120 movq %rdx,%r15
1121 movq %r9,%rax
1122 mulq %rbx
1123 addq %rax,%r15
1124 adcq $0,%rdx
1125 movq %rdx,%rsi
1126
1127 movq %r10,536(%rsp)
1128
1129
1130
1131
1132
1133 movq 8(%rcx),%rbx
1134
1135 movq 16(%rcx),%rax
1136 mulq %rbx
1137 addq %rax,%r11
1138 adcq $0,%rdx
1139 movq %r11,544(%rsp)
1140
1141 movq %rdx,%r10
1142 movq 24(%rcx),%rax
1143 mulq %rbx
1144 addq %rax,%r12
1145 adcq $0,%rdx
1146 addq %r10,%r12
1147 adcq $0,%rdx
1148 movq %r12,552(%rsp)
1149
1150 movq %rdx,%r10
1151 movq 32(%rcx),%rax
1152 mulq %rbx
1153 addq %rax,%r13
1154 adcq $0,%rdx
1155 addq %r10,%r13
1156 adcq $0,%rdx
1157
1158 movq %rdx,%r10
1159 movq 40(%rcx),%rax
1160 mulq %rbx
1161 addq %rax,%r14
1162 adcq $0,%rdx
1163 addq %r10,%r14
1164 adcq $0,%rdx
1165
1166 movq %rdx,%r10
1167 movq %r8,%rax
1168 mulq %rbx
1169 addq %rax,%r15
1170 adcq $0,%rdx
1171 addq %r10,%r15
1172 adcq $0,%rdx
1173
1174 movq %rdx,%r10
1175 movq %r9,%rax
1176 mulq %rbx
1177 addq %rax,%rsi
1178 adcq $0,%rdx
1179 addq %r10,%rsi
1180 adcq $0,%rdx
1181
1182 movq %rdx,%r11
1183
1184
1185
1186
1187 movq 16(%rcx),%rbx
1188
1189 movq 24(%rcx),%rax
1190 mulq %rbx
1191 addq %rax,%r13
1192 adcq $0,%rdx
1193 movq %r13,560(%rsp)
1194
1195 movq %rdx,%r10
1196 movq 32(%rcx),%rax
1197 mulq %rbx
1198 addq %rax,%r14
1199 adcq $0,%rdx
1200 addq %r10,%r14
1201 adcq $0,%rdx
1202 movq %r14,568(%rsp)
1203
1204 movq %rdx,%r10
1205 movq 40(%rcx),%rax
1206 mulq %rbx
1207 addq %rax,%r15
1208 adcq $0,%rdx
1209 addq %r10,%r15
1210 adcq $0,%rdx
1211
1212 movq %rdx,%r10
1213 movq %r8,%rax
1214 mulq %rbx
1215 addq %rax,%rsi
1216 adcq $0,%rdx
1217 addq %r10,%rsi
1218 adcq $0,%rdx
1219
1220 movq %rdx,%r10
1221 movq %r9,%rax
1222 mulq %rbx
1223 addq %rax,%r11
1224 adcq $0,%rdx
1225 addq %r10,%r11
1226 adcq $0,%rdx
1227
1228 movq %rdx,%r12
1229
1230
1231
1232
1233
1234 movq 24(%rcx),%rbx
1235
1236 movq 32(%rcx),%rax
1237 mulq %rbx
1238 addq %rax,%r15
1239 adcq $0,%rdx
1240 movq %r15,576(%rsp)
1241
1242 movq %rdx,%r10
1243 movq 40(%rcx),%rax
1244 mulq %rbx
1245 addq %rax,%rsi
1246 adcq $0,%rdx
1247 addq %r10,%rsi
1248 adcq $0,%rdx
1249 movq %rsi,584(%rsp)
1250
1251 movq %rdx,%r10
1252 movq %r8,%rax
1253 mulq %rbx
1254 addq %rax,%r11
1255 adcq $0,%rdx
1256 addq %r10,%r11
1257 adcq $0,%rdx
1258
1259 movq %rdx,%r10
1260 movq %r9,%rax
1261 mulq %rbx
1262 addq %rax,%r12
1263 adcq $0,%rdx
1264 addq %r10,%r12
1265 adcq $0,%rdx
1266
1267 movq %rdx,%r15
1268
1269
1270
1271
1272 movq 32(%rcx),%rbx
1273
1274 movq 40(%rcx),%rax
1275 mulq %rbx
1276 addq %rax,%r11
1277 adcq $0,%rdx
1278 movq %r11,592(%rsp)
1279
1280 movq %rdx,%r10
1281 movq %r8,%rax
1282 mulq %rbx
1283 addq %rax,%r12
1284 adcq $0,%rdx
1285 addq %r10,%r12
1286 adcq $0,%rdx
1287 movq %r12,600(%rsp)
1288
1289 movq %rdx,%r10
1290 movq %r9,%rax
1291 mulq %rbx
1292 addq %rax,%r15
1293 adcq $0,%rdx
1294 addq %r10,%r15
1295 adcq $0,%rdx
1296
1297 movq %rdx,%r11
1298
1299
1300
1301
1302 movq 40(%rcx),%rbx
1303
1304 movq %r8,%rax
1305 mulq %rbx
1306 addq %rax,%r15
1307 adcq $0,%rdx
1308 movq %r15,608(%rsp)
1309
1310 movq %rdx,%r10
1311 movq %r9,%rax
1312 mulq %rbx
1313 addq %rax,%r11
1314 adcq $0,%rdx
1315 addq %r10,%r11
1316 adcq $0,%rdx
1317 movq %r11,616(%rsp)
1318
1319 movq %rdx,%r12
1320
1321
1322
1323
1324 movq %r8,%rbx
1325
1326 movq %r9,%rax
1327 mulq %rbx
1328 addq %rax,%r12
1329 adcq $0,%rdx
1330 movq %r12,624(%rsp)
1331
1332 movq %rdx,632(%rsp)
1333
1334
1335 movq 528(%rsp),%r10
1336 movq 536(%rsp),%r11
1337 movq 544(%rsp),%r12
1338 movq 552(%rsp),%r13
1339 movq 560(%rsp),%r14
1340 movq 568(%rsp),%r15
1341
1342 movq 24(%rcx),%rax
1343 mulq %rax
1344 movq %rax,%rdi
1345 movq %rdx,%r8
1346
1347 addq %r10,%r10
1348 adcq %r11,%r11
1349 adcq %r12,%r12
1350 adcq %r13,%r13
1351 adcq %r14,%r14
1352 adcq %r15,%r15
1353 adcq $0,%r8
1354
1355 movq 0(%rcx),%rax
1356 mulq %rax
1357 movq %rax,520(%rsp)
1358 movq %rdx,%rbx
1359
1360 movq 8(%rcx),%rax
1361 mulq %rax
1362
1363 addq %rbx,%r10
1364 adcq %rax,%r11
1365 adcq $0,%rdx
1366
1367 movq %rdx,%rbx
1368 movq %r10,528(%rsp)
1369 movq %r11,536(%rsp)
1370
1371 movq 16(%rcx),%rax
1372 mulq %rax
1373
1374 addq %rbx,%r12
1375 adcq %rax,%r13
1376 adcq $0,%rdx
1377
1378 movq %rdx,%rbx
1379
1380 movq %r12,544(%rsp)
1381 movq %r13,552(%rsp)
1382
1383 xorq %rbp,%rbp
1384 addq %rbx,%r14
1385 adcq %rdi,%r15
1386 adcq $0,%rbp
1387
1388 movq %r14,560(%rsp)
1389 movq %r15,568(%rsp)
1390
1391
1392
1393
1394 movq 576(%rsp),%r10
1395 movq 584(%rsp),%r11
1396 movq 592(%rsp),%r12
1397 movq 600(%rsp),%r13
1398 movq 608(%rsp),%r14
1399 movq 616(%rsp),%r15
1400 movq 624(%rsp),%rdi
1401 movq 632(%rsp),%rsi
1402
1403 movq %r9,%rax
1404 mulq %rax
1405 movq %rax,%r9
1406 movq %rdx,%rbx
1407
1408 addq %r10,%r10
1409 adcq %r11,%r11
1410 adcq %r12,%r12
1411 adcq %r13,%r13
1412 adcq %r14,%r14
1413 adcq %r15,%r15
1414 adcq %rdi,%rdi
1415 adcq %rsi,%rsi
1416 adcq $0,%rbx
1417
1418 addq %rbp,%r10
1419
1420 movq 32(%rcx),%rax
1421 mulq %rax
1422
1423 addq %r8,%r10
1424 adcq %rax,%r11
1425 adcq $0,%rdx
1426
1427 movq %rdx,%rbp
1428
1429 movq %r10,576(%rsp)
1430 movq %r11,584(%rsp)
1431
1432 movq 40(%rcx),%rax
1433 mulq %rax
1434
1435 addq %rbp,%r12
1436 adcq %rax,%r13
1437 adcq $0,%rdx
1438
1439 movq %rdx,%rbp
1440
1441 movq %r12,592(%rsp)
1442 movq %r13,600(%rsp)
1443
1444 movq 48(%rcx),%rax
1445 mulq %rax
1446
1447 addq %rbp,%r14
1448 adcq %rax,%r15
1449 adcq $0,%rdx
1450
1451 movq %r14,608(%rsp)
1452 movq %r15,616(%rsp)
1453
1454 addq %rdx,%rdi
1455 adcq %r9,%rsi
1456 adcq $0,%rbx
1457
1458 movq %rdi,624(%rsp)
1459 movq %rsi,632(%rsp)
1460 movq %rbx,640(%rsp)
1461
1462 jmp mont_reduce
1463
1464
1465
1466 .globl _mod_exp_512
1467
1468 _mod_exp_512:
1469 pushq %rbp
1470 pushq %rbx
1471 pushq %r12
1472 pushq %r13
1473 pushq %r14
1474 pushq %r15
1475
1476
1477 movq %rsp,%r8
1478 subq $2688,%rsp
1479 andq $-64,%rsp
1480
1481
1482 movq %r8,0(%rsp)
1483 movq %rdi,8(%rsp)
1484 movq %rsi,16(%rsp)
1485 movq %rcx,24(%rsp)
1486 L$body:
1487
1488
1489
1490 pxor %xmm4,%xmm4
1491 movdqu 0(%rsi),%xmm0
1492 movdqu 16(%rsi),%xmm1
1493 movdqu 32(%rsi),%xmm2
1494 movdqu 48(%rsi),%xmm3
1495 movdqa %xmm4,512(%rsp)
1496 movdqa %xmm4,528(%rsp)
1497 movdqa %xmm4,608(%rsp)
1498 movdqa %xmm4,624(%rsp)
1499 movdqa %xmm0,544(%rsp)
1500 movdqa %xmm1,560(%rsp)
1501 movdqa %xmm2,576(%rsp)
1502 movdqa %xmm3,592(%rsp)
1503
1504
1505 movdqu 0(%rdx),%xmm0
1506 movdqu 16(%rdx),%xmm1
1507 movdqu 32(%rdx),%xmm2
1508 movdqu 48(%rdx),%xmm3
1509
1510 leaq 384(%rsp),%rbx
1511 movq %rbx,136(%rsp)
1512 call mont_reduce
1513
1514
1515 leaq 448(%rsp),%rcx
1516 xorq %rax,%rax
1517 movq %rax,0(%rcx)
1518 movq %rax,8(%rcx)
1519 movq %rax,24(%rcx)
1520 movq %rax,32(%rcx)
1521 movq %rax,40(%rcx)
1522 movq %rax,48(%rcx)
1523 movq %rax,56(%rcx)
1524 movq %rax,128(%rsp)
1525 movq $1,16(%rcx)
1526
1527 leaq 640(%rsp),%rbp
1528 movq %rcx,%rsi
1529 movq %rbp,%rdi
1530 movq $8,%rax
1531 loop_0:
1532 movq (%rcx),%rbx
1533 movw %bx,(%rdi)
1534 shrq $16,%rbx
1535 movw %bx,64(%rdi)
1536 shrq $16,%rbx
1537 movw %bx,128(%rdi)
1538 shrq $16,%rbx
1539 movw %bx,192(%rdi)
1540 leaq 8(%rcx),%rcx
1541 leaq 256(%rdi),%rdi
1542 decq %rax
1543 jnz loop_0
1544 movq $31,%rax
1545 movq %rax,32(%rsp)
1546 movq %rbp,40(%rsp)
1547
1548 movq %rsi,136(%rsp)
1549 movq 0(%rsi),%r10
1550 movq 8(%rsi),%r11
1551 movq 16(%rsi),%r12
1552 movq 24(%rsi),%r13
1553 movq 32(%rsi),%r14
1554 movq 40(%rsi),%r15
1555 movq 48(%rsi),%r8
1556 movq 56(%rsi),%r9
1557 init_loop:
1558 leaq 384(%rsp),%rdi
1559 call mont_mul_a3b
1560 leaq 448(%rsp),%rsi
1561 movq 40(%rsp),%rbp
1562 addq $2,%rbp
1563 movq %rbp,40(%rsp)
1564 movq %rsi,%rcx
1565 movq $8,%rax
1566 loop_1:
1567 movq (%rcx),%rbx
1568 movw %bx,(%rbp)
1569 shrq $16,%rbx
1570 movw %bx,64(%rbp)
1571 shrq $16,%rbx
1572 movw %bx,128(%rbp)
1573 shrq $16,%rbx
1574 movw %bx,192(%rbp)
1575 leaq 8(%rcx),%rcx
1576 leaq 256(%rbp),%rbp
1577 decq %rax
1578 jnz loop_1
1579 movq 32(%rsp),%rax
1580 subq $1,%rax
1581 movq %rax,32(%rsp)
1582 jne init_loop
1583
1584
1585
1586 movdqa %xmm0,64(%rsp)
1587 movdqa %xmm1,80(%rsp)
1588 movdqa %xmm2,96(%rsp)
1589 movdqa %xmm3,112(%rsp)
1590
1591
1592
1593
1594
1595 movl 126(%rsp),%eax
1596 movq %rax,%rdx
1597 shrq $11,%rax
1598 andl $2047,%edx
1599 movl %edx,126(%rsp)
1600 leaq 640(%rsp,%rax,2),%rsi
1601 movq 8(%rsp),%rdx
1602 movq $4,%rbp
1603 loop_2:
1604 movzwq 192(%rsi),%rbx
1605 movzwq 448(%rsi),%rax
1606 shlq $16,%rbx
1607 shlq $16,%rax
1608 movw 128(%rsi),%bx
1609 movw 384(%rsi),%ax
1610 shlq $16,%rbx
1611 shlq $16,%rax
1612 movw 64(%rsi),%bx
1613 movw 320(%rsi),%ax
1614 shlq $16,%rbx
1615 shlq $16,%rax
1616 movw 0(%rsi),%bx
1617 movw 256(%rsi),%ax
1618 movq %rbx,0(%rdx)
1619 movq %rax,8(%rdx)
1620 leaq 512(%rsi),%rsi
1621 leaq 16(%rdx),%rdx
1622 subq $1,%rbp
1623 jnz loop_2
1624 movq $505,48(%rsp)
1625
1626 movq 8(%rsp),%rcx
1627 movq %rcx,136(%rsp)
1628 movq 0(%rcx),%r10
1629 movq 8(%rcx),%r11
1630 movq 16(%rcx),%r12
1631 movq 24(%rcx),%r13
1632 movq 32(%rcx),%r14
1633 movq 40(%rcx),%r15
1634 movq 48(%rcx),%r8
1635 movq 56(%rcx),%r9
1636 jmp sqr_2
1637
1638 main_loop_a3b:
1639 call sqr_reduce
1640 call sqr_reduce
1641 call sqr_reduce
1642 sqr_2:
1643 call sqr_reduce
1644 call sqr_reduce
1645
1646
1647
1648 movq 48(%rsp),%rcx
1649 movq %rcx,%rax
1650 shrq $4,%rax
1651 movl 64(%rsp,%rax,2),%edx
1652 andq $15,%rcx
1653 shrq %cl,%rdx
1654 andq $31,%rdx
1655
1656 leaq 640(%rsp,%rdx,2),%rsi
1657 leaq 448(%rsp),%rdx
1658 movq %rdx,%rdi
1659 movq $4,%rbp
1660 loop_3:
1661 movzwq 192(%rsi),%rbx
1662 movzwq 448(%rsi),%rax
1663 shlq $16,%rbx
1664 shlq $16,%rax
1665 movw 128(%rsi),%bx
1666 movw 384(%rsi),%ax
1667 shlq $16,%rbx
1668 shlq $16,%rax
1669 movw 64(%rsi),%bx
1670 movw 320(%rsi),%ax
1671 shlq $16,%rbx
1672 shlq $16,%rax
1673 movw 0(%rsi),%bx
1674 movw 256(%rsi),%ax
1675 movq %rbx,0(%rdx)
1676 movq %rax,8(%rdx)
1677 leaq 512(%rsi),%rsi
1678 leaq 16(%rdx),%rdx
1679 subq $1,%rbp
1680 jnz loop_3
1681 movq 8(%rsp),%rsi
1682 call mont_mul_a3b
1683
1684
1685
1686 movq 48(%rsp),%rcx
1687 subq $5,%rcx
1688 movq %rcx,48(%rsp)
1689 jge main_loop_a3b
1690
1691
1692
1693 end_main_loop_a3b:
1694
1695
1696 movq 8(%rsp),%rdx
1697 pxor %xmm4,%xmm4
1698 movdqu 0(%rdx),%xmm0
1699 movdqu 16(%rdx),%xmm1
1700 movdqu 32(%rdx),%xmm2
1701 movdqu 48(%rdx),%xmm3
1702 movdqa %xmm4,576(%rsp)
1703 movdqa %xmm4,592(%rsp)
1704 movdqa %xmm4,608(%rsp)
1705 movdqa %xmm4,624(%rsp)
1706 movdqa %xmm0,512(%rsp)
1707 movdqa %xmm1,528(%rsp)
1708 movdqa %xmm2,544(%rsp)
1709 movdqa %xmm3,560(%rsp)
1710 call mont_reduce
1711
1712
1713
1714 movq 8(%rsp),%rax
1715 movq 0(%rax),%r8
1716 movq 8(%rax),%r9
1717 movq 16(%rax),%r10
1718 movq 24(%rax),%r11
1719 movq 32(%rax),%r12
1720 movq 40(%rax),%r13
1721 movq 48(%rax),%r14
1722 movq 56(%rax),%r15
1723
1724
1725 movq 24(%rsp),%rbx
1726 addq $512,%rbx
1727
1728 subq 0(%rbx),%r8
1729 sbbq 8(%rbx),%r9
1730 sbbq 16(%rbx),%r10
1731 sbbq 24(%rbx),%r11
1732 sbbq 32(%rbx),%r12
1733 sbbq 40(%rbx),%r13
1734 sbbq 48(%rbx),%r14
1735 sbbq 56(%rbx),%r15
1736
1737
1738 movq 0(%rax),%rsi
1739 movq 8(%rax),%rdi
1740 movq 16(%rax),%rcx
1741 movq 24(%rax),%rdx
1742 cmovncq %r8,%rsi
1743 cmovncq %r9,%rdi
1744 cmovncq %r10,%rcx
1745 cmovncq %r11,%rdx
1746 movq %rsi,0(%rax)
1747 movq %rdi,8(%rax)
1748 movq %rcx,16(%rax)
1749 movq %rdx,24(%rax)
1750
1751 movq 32(%rax),%rsi
1752 movq 40(%rax),%rdi
1753 movq 48(%rax),%rcx
1754 movq 56(%rax),%rdx
1755 cmovncq %r12,%rsi
1756 cmovncq %r13,%rdi
1757 cmovncq %r14,%rcx
1758 cmovncq %r15,%rdx
1759 movq %rsi,32(%rax)
1760 movq %rdi,40(%rax)
1761 movq %rcx,48(%rax)
1762 movq %rdx,56(%rax)
1763
1764 movq 0(%rsp),%rsi
1765 movq 0(%rsi),%r15
1766 movq 8(%rsi),%r14
1767 movq 16(%rsi),%r13
1768 movq 24(%rsi),%r12
1769 movq 32(%rsi),%rbx
1770 movq 40(%rsi),%rbp
1771 leaq 48(%rsi),%rsp
1772 L$epilogue:
1773 .byte 0xf3,0xc3
1774
1775 #endif
OLDNEW
« no previous file with comments | « third_party/boringssl/mac-x86_64/crypto/aes/vpaes-x86_64.S ('k') | third_party/boringssl/mac-x86_64/crypto/bn/rsaz-avx2.S » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698