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

Side by Side Diff: third_party/boringssl/mac-x86/crypto/bn/co-586.S

Issue 385983006: net: pickup "586" asm files for x86. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: .. 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
1 #if defined(__i386__) 1 #if defined(__i386__)
2 .file» "src/crypto/bn/asm/x86.S" 2 .file» "src/crypto/bn/asm/co-586.S"
3 .text 3 .text
4 .globl bn_mul_add_words 4 .globl _bn_mul_comba8
5 .type bn_mul_add_words,@function 5 .align 4
6 .align 16 6 _bn_mul_comba8:
7 bn_mul_add_words: 7 L_bn_mul_comba8_begin:
8 .L_bn_mul_add_words_begin:
9 pushl %ebp
10 pushl %ebx
11 pushl %esi
12 pushl %edi
13
14 xorl %esi,%esi
15 movl 20(%esp),%edi
16 movl 28(%esp),%ecx
17 movl 24(%esp),%ebx
18 andl $4294967288,%ecx
19 movl 32(%esp),%ebp
20 pushl %ecx
21 jz .L000maw_finish
22 .L001maw_loop:
23 movl %ecx,(%esp)
24
25 movl (%ebx),%eax
26 mull %ebp
27 addl %esi,%eax
28 movl (%edi),%esi
29 adcl $0,%edx
30 addl %esi,%eax
31 adcl $0,%edx
32 movl %eax,(%edi)
33 movl %edx,%esi
34
35 movl 4(%ebx),%eax
36 mull %ebp
37 addl %esi,%eax
38 movl 4(%edi),%esi
39 adcl $0,%edx
40 addl %esi,%eax
41 adcl $0,%edx
42 movl %eax,4(%edi)
43 movl %edx,%esi
44
45 movl 8(%ebx),%eax
46 mull %ebp
47 addl %esi,%eax
48 movl 8(%edi),%esi
49 adcl $0,%edx
50 addl %esi,%eax
51 adcl $0,%edx
52 movl %eax,8(%edi)
53 movl %edx,%esi
54
55 movl 12(%ebx),%eax
56 mull %ebp
57 addl %esi,%eax
58 movl 12(%edi),%esi
59 adcl $0,%edx
60 addl %esi,%eax
61 adcl $0,%edx
62 movl %eax,12(%edi)
63 movl %edx,%esi
64
65 movl 16(%ebx),%eax
66 mull %ebp
67 addl %esi,%eax
68 movl 16(%edi),%esi
69 adcl $0,%edx
70 addl %esi,%eax
71 adcl $0,%edx
72 movl %eax,16(%edi)
73 movl %edx,%esi
74
75 movl 20(%ebx),%eax
76 mull %ebp
77 addl %esi,%eax
78 movl 20(%edi),%esi
79 adcl $0,%edx
80 addl %esi,%eax
81 adcl $0,%edx
82 movl %eax,20(%edi)
83 movl %edx,%esi
84
85 movl 24(%ebx),%eax
86 mull %ebp
87 addl %esi,%eax
88 movl 24(%edi),%esi
89 adcl $0,%edx
90 addl %esi,%eax
91 adcl $0,%edx
92 movl %eax,24(%edi)
93 movl %edx,%esi
94
95 movl 28(%ebx),%eax
96 mull %ebp
97 addl %esi,%eax
98 movl 28(%edi),%esi
99 adcl $0,%edx
100 addl %esi,%eax
101 adcl $0,%edx
102 movl %eax,28(%edi)
103 movl %edx,%esi
104
105 movl (%esp),%ecx
106 addl $32,%ebx
107 addl $32,%edi
108 subl $8,%ecx
109 jnz .L001maw_loop
110 .L000maw_finish:
111 movl 32(%esp),%ecx
112 andl $7,%ecx
113 jnz .L002maw_finish2
114 jmp .L003maw_end
115 .L002maw_finish2:
116
117 movl (%ebx),%eax
118 mull %ebp
119 addl %esi,%eax
120 movl (%edi),%esi
121 adcl $0,%edx
122 addl %esi,%eax
123 adcl $0,%edx
124 decl %ecx
125 movl %eax,(%edi)
126 movl %edx,%esi
127 jz .L003maw_end
128
129 movl 4(%ebx),%eax
130 mull %ebp
131 addl %esi,%eax
132 movl 4(%edi),%esi
133 adcl $0,%edx
134 addl %esi,%eax
135 adcl $0,%edx
136 decl %ecx
137 movl %eax,4(%edi)
138 movl %edx,%esi
139 jz .L003maw_end
140
141 movl 8(%ebx),%eax
142 mull %ebp
143 addl %esi,%eax
144 movl 8(%edi),%esi
145 adcl $0,%edx
146 addl %esi,%eax
147 adcl $0,%edx
148 decl %ecx
149 movl %eax,8(%edi)
150 movl %edx,%esi
151 jz .L003maw_end
152
153 movl 12(%ebx),%eax
154 mull %ebp
155 addl %esi,%eax
156 movl 12(%edi),%esi
157 adcl $0,%edx
158 addl %esi,%eax
159 adcl $0,%edx
160 decl %ecx
161 movl %eax,12(%edi)
162 movl %edx,%esi
163 jz .L003maw_end
164
165 movl 16(%ebx),%eax
166 mull %ebp
167 addl %esi,%eax
168 movl 16(%edi),%esi
169 adcl $0,%edx
170 addl %esi,%eax
171 adcl $0,%edx
172 decl %ecx
173 movl %eax,16(%edi)
174 movl %edx,%esi
175 jz .L003maw_end
176
177 movl 20(%ebx),%eax
178 mull %ebp
179 addl %esi,%eax
180 movl 20(%edi),%esi
181 adcl $0,%edx
182 addl %esi,%eax
183 adcl $0,%edx
184 decl %ecx
185 movl %eax,20(%edi)
186 movl %edx,%esi
187 jz .L003maw_end
188
189 movl 24(%ebx),%eax
190 mull %ebp
191 addl %esi,%eax
192 movl 24(%edi),%esi
193 adcl $0,%edx
194 addl %esi,%eax
195 adcl $0,%edx
196 movl %eax,24(%edi)
197 movl %edx,%esi
198 .L003maw_end:
199 movl %esi,%eax
200 popl %ecx
201 popl %edi
202 popl %esi
203 popl %ebx
204 popl %ebp
205 ret
206 .size bn_mul_add_words,.-.L_bn_mul_add_words_begin
207 .globl bn_mul_words
208 .type bn_mul_words,@function
209 .align 16
210 bn_mul_words:
211 .L_bn_mul_words_begin:
212 pushl %ebp
213 pushl %ebx
214 pushl %esi
215 pushl %edi
216
217 xorl %esi,%esi
218 movl 20(%esp),%edi
219 movl 24(%esp),%ebx
220 movl 28(%esp),%ebp
221 movl 32(%esp),%ecx
222 andl $4294967288,%ebp
223 jz .L004mw_finish
224 .L005mw_loop:
225
226 movl (%ebx),%eax
227 mull %ecx
228 addl %esi,%eax
229 adcl $0,%edx
230 movl %eax,(%edi)
231 movl %edx,%esi
232
233 movl 4(%ebx),%eax
234 mull %ecx
235 addl %esi,%eax
236 adcl $0,%edx
237 movl %eax,4(%edi)
238 movl %edx,%esi
239
240 movl 8(%ebx),%eax
241 mull %ecx
242 addl %esi,%eax
243 adcl $0,%edx
244 movl %eax,8(%edi)
245 movl %edx,%esi
246
247 movl 12(%ebx),%eax
248 mull %ecx
249 addl %esi,%eax
250 adcl $0,%edx
251 movl %eax,12(%edi)
252 movl %edx,%esi
253
254 movl 16(%ebx),%eax
255 mull %ecx
256 addl %esi,%eax
257 adcl $0,%edx
258 movl %eax,16(%edi)
259 movl %edx,%esi
260
261 movl 20(%ebx),%eax
262 mull %ecx
263 addl %esi,%eax
264 adcl $0,%edx
265 movl %eax,20(%edi)
266 movl %edx,%esi
267
268 movl 24(%ebx),%eax
269 mull %ecx
270 addl %esi,%eax
271 adcl $0,%edx
272 movl %eax,24(%edi)
273 movl %edx,%esi
274
275 movl 28(%ebx),%eax
276 mull %ecx
277 addl %esi,%eax
278 adcl $0,%edx
279 movl %eax,28(%edi)
280 movl %edx,%esi
281
282 addl $32,%ebx
283 addl $32,%edi
284 subl $8,%ebp
285 jz .L004mw_finish
286 jmp .L005mw_loop
287 .L004mw_finish:
288 movl 28(%esp),%ebp
289 andl $7,%ebp
290 jnz .L006mw_finish2
291 jmp .L007mw_end
292 .L006mw_finish2:
293
294 movl (%ebx),%eax
295 mull %ecx
296 addl %esi,%eax
297 adcl $0,%edx
298 movl %eax,(%edi)
299 movl %edx,%esi
300 decl %ebp
301 jz .L007mw_end
302
303 movl 4(%ebx),%eax
304 mull %ecx
305 addl %esi,%eax
306 adcl $0,%edx
307 movl %eax,4(%edi)
308 movl %edx,%esi
309 decl %ebp
310 jz .L007mw_end
311
312 movl 8(%ebx),%eax
313 mull %ecx
314 addl %esi,%eax
315 adcl $0,%edx
316 movl %eax,8(%edi)
317 movl %edx,%esi
318 decl %ebp
319 jz .L007mw_end
320
321 movl 12(%ebx),%eax
322 mull %ecx
323 addl %esi,%eax
324 adcl $0,%edx
325 movl %eax,12(%edi)
326 movl %edx,%esi
327 decl %ebp
328 jz .L007mw_end
329
330 movl 16(%ebx),%eax
331 mull %ecx
332 addl %esi,%eax
333 adcl $0,%edx
334 movl %eax,16(%edi)
335 movl %edx,%esi
336 decl %ebp
337 jz .L007mw_end
338
339 movl 20(%ebx),%eax
340 mull %ecx
341 addl %esi,%eax
342 adcl $0,%edx
343 movl %eax,20(%edi)
344 movl %edx,%esi
345 decl %ebp
346 jz .L007mw_end
347
348 movl 24(%ebx),%eax
349 mull %ecx
350 addl %esi,%eax
351 adcl $0,%edx
352 movl %eax,24(%edi)
353 movl %edx,%esi
354 .L007mw_end:
355 movl %esi,%eax
356 popl %edi
357 popl %esi
358 popl %ebx
359 popl %ebp
360 ret
361 .size bn_mul_words,.-.L_bn_mul_words_begin
362 .globl bn_sqr_words
363 .type bn_sqr_words,@function
364 .align 16
365 bn_sqr_words:
366 .L_bn_sqr_words_begin:
367 pushl %ebp
368 pushl %ebx
369 pushl %esi
370 pushl %edi
371
372 movl 20(%esp),%esi
373 movl 24(%esp),%edi
374 movl 28(%esp),%ebx
375 andl $4294967288,%ebx
376 jz .L008sw_finish
377 .L009sw_loop:
378
379 movl (%edi),%eax
380 mull %eax
381 movl %eax,(%esi)
382 movl %edx,4(%esi)
383
384 movl 4(%edi),%eax
385 mull %eax
386 movl %eax,8(%esi)
387 movl %edx,12(%esi)
388
389 movl 8(%edi),%eax
390 mull %eax
391 movl %eax,16(%esi)
392 movl %edx,20(%esi)
393
394 movl 12(%edi),%eax
395 mull %eax
396 movl %eax,24(%esi)
397 movl %edx,28(%esi)
398
399 movl 16(%edi),%eax
400 mull %eax
401 movl %eax,32(%esi)
402 movl %edx,36(%esi)
403
404 movl 20(%edi),%eax
405 mull %eax
406 movl %eax,40(%esi)
407 movl %edx,44(%esi)
408
409 movl 24(%edi),%eax
410 mull %eax
411 movl %eax,48(%esi)
412 movl %edx,52(%esi)
413
414 movl 28(%edi),%eax
415 mull %eax
416 movl %eax,56(%esi)
417 movl %edx,60(%esi)
418
419 addl $32,%edi
420 addl $64,%esi
421 subl $8,%ebx
422 jnz .L009sw_loop
423 .L008sw_finish:
424 movl 28(%esp),%ebx
425 andl $7,%ebx
426 jz .L010sw_end
427
428 movl (%edi),%eax
429 mull %eax
430 movl %eax,(%esi)
431 decl %ebx
432 movl %edx,4(%esi)
433 jz .L010sw_end
434
435 movl 4(%edi),%eax
436 mull %eax
437 movl %eax,8(%esi)
438 decl %ebx
439 movl %edx,12(%esi)
440 jz .L010sw_end
441
442 movl 8(%edi),%eax
443 mull %eax
444 movl %eax,16(%esi)
445 decl %ebx
446 movl %edx,20(%esi)
447 jz .L010sw_end
448
449 movl 12(%edi),%eax
450 mull %eax
451 movl %eax,24(%esi)
452 decl %ebx
453 movl %edx,28(%esi)
454 jz .L010sw_end
455
456 movl 16(%edi),%eax
457 mull %eax
458 movl %eax,32(%esi)
459 decl %ebx
460 movl %edx,36(%esi)
461 jz .L010sw_end
462
463 movl 20(%edi),%eax
464 mull %eax
465 movl %eax,40(%esi)
466 decl %ebx
467 movl %edx,44(%esi)
468 jz .L010sw_end
469
470 movl 24(%edi),%eax
471 mull %eax
472 movl %eax,48(%esi)
473 movl %edx,52(%esi)
474 .L010sw_end:
475 popl %edi
476 popl %esi
477 popl %ebx
478 popl %ebp
479 ret
480 .size bn_sqr_words,.-.L_bn_sqr_words_begin
481 .globl bn_div_words
482 .type bn_div_words,@function
483 .align 16
484 bn_div_words:
485 .L_bn_div_words_begin:
486 pushl %ebp
487 pushl %ebx
488 pushl %esi
489 pushl %edi
490 movl 20(%esp),%edx
491 movl 24(%esp),%eax
492 movl 28(%esp),%ebx
493 divl %ebx
494 popl %edi
495 popl %esi
496 popl %ebx
497 popl %ebp
498 ret
499 .size bn_div_words,.-.L_bn_div_words_begin
500 .globl bn_add_words
501 .type bn_add_words,@function
502 .align 16
503 bn_add_words:
504 .L_bn_add_words_begin:
505 pushl %ebp
506 pushl %ebx
507 pushl %esi
508 pushl %edi
509
510 movl 20(%esp),%ebx
511 movl 24(%esp),%esi
512 movl 28(%esp),%edi
513 movl 32(%esp),%ebp
514 xorl %eax,%eax
515 andl $4294967288,%ebp
516 jz .L011aw_finish
517 .L012aw_loop:
518
519 movl (%esi),%ecx
520 movl (%edi),%edx
521 addl %eax,%ecx
522 movl $0,%eax
523 adcl %eax,%eax
524 addl %edx,%ecx
525 adcl $0,%eax
526 movl %ecx,(%ebx)
527
528 movl 4(%esi),%ecx
529 movl 4(%edi),%edx
530 addl %eax,%ecx
531 movl $0,%eax
532 adcl %eax,%eax
533 addl %edx,%ecx
534 adcl $0,%eax
535 movl %ecx,4(%ebx)
536
537 movl 8(%esi),%ecx
538 movl 8(%edi),%edx
539 addl %eax,%ecx
540 movl $0,%eax
541 adcl %eax,%eax
542 addl %edx,%ecx
543 adcl $0,%eax
544 movl %ecx,8(%ebx)
545
546 movl 12(%esi),%ecx
547 movl 12(%edi),%edx
548 addl %eax,%ecx
549 movl $0,%eax
550 adcl %eax,%eax
551 addl %edx,%ecx
552 adcl $0,%eax
553 movl %ecx,12(%ebx)
554
555 movl 16(%esi),%ecx
556 movl 16(%edi),%edx
557 addl %eax,%ecx
558 movl $0,%eax
559 adcl %eax,%eax
560 addl %edx,%ecx
561 adcl $0,%eax
562 movl %ecx,16(%ebx)
563
564 movl 20(%esi),%ecx
565 movl 20(%edi),%edx
566 addl %eax,%ecx
567 movl $0,%eax
568 adcl %eax,%eax
569 addl %edx,%ecx
570 adcl $0,%eax
571 movl %ecx,20(%ebx)
572
573 movl 24(%esi),%ecx
574 movl 24(%edi),%edx
575 addl %eax,%ecx
576 movl $0,%eax
577 adcl %eax,%eax
578 addl %edx,%ecx
579 adcl $0,%eax
580 movl %ecx,24(%ebx)
581
582 movl 28(%esi),%ecx
583 movl 28(%edi),%edx
584 addl %eax,%ecx
585 movl $0,%eax
586 adcl %eax,%eax
587 addl %edx,%ecx
588 adcl $0,%eax
589 movl %ecx,28(%ebx)
590
591 addl $32,%esi
592 addl $32,%edi
593 addl $32,%ebx
594 subl $8,%ebp
595 jnz .L012aw_loop
596 .L011aw_finish:
597 movl 32(%esp),%ebp
598 andl $7,%ebp
599 jz .L013aw_end
600
601 movl (%esi),%ecx
602 movl (%edi),%edx
603 addl %eax,%ecx
604 movl $0,%eax
605 adcl %eax,%eax
606 addl %edx,%ecx
607 adcl $0,%eax
608 decl %ebp
609 movl %ecx,(%ebx)
610 jz .L013aw_end
611
612 movl 4(%esi),%ecx
613 movl 4(%edi),%edx
614 addl %eax,%ecx
615 movl $0,%eax
616 adcl %eax,%eax
617 addl %edx,%ecx
618 adcl $0,%eax
619 decl %ebp
620 movl %ecx,4(%ebx)
621 jz .L013aw_end
622
623 movl 8(%esi),%ecx
624 movl 8(%edi),%edx
625 addl %eax,%ecx
626 movl $0,%eax
627 adcl %eax,%eax
628 addl %edx,%ecx
629 adcl $0,%eax
630 decl %ebp
631 movl %ecx,8(%ebx)
632 jz .L013aw_end
633
634 movl 12(%esi),%ecx
635 movl 12(%edi),%edx
636 addl %eax,%ecx
637 movl $0,%eax
638 adcl %eax,%eax
639 addl %edx,%ecx
640 adcl $0,%eax
641 decl %ebp
642 movl %ecx,12(%ebx)
643 jz .L013aw_end
644
645 movl 16(%esi),%ecx
646 movl 16(%edi),%edx
647 addl %eax,%ecx
648 movl $0,%eax
649 adcl %eax,%eax
650 addl %edx,%ecx
651 adcl $0,%eax
652 decl %ebp
653 movl %ecx,16(%ebx)
654 jz .L013aw_end
655
656 movl 20(%esi),%ecx
657 movl 20(%edi),%edx
658 addl %eax,%ecx
659 movl $0,%eax
660 adcl %eax,%eax
661 addl %edx,%ecx
662 adcl $0,%eax
663 decl %ebp
664 movl %ecx,20(%ebx)
665 jz .L013aw_end
666
667 movl 24(%esi),%ecx
668 movl 24(%edi),%edx
669 addl %eax,%ecx
670 movl $0,%eax
671 adcl %eax,%eax
672 addl %edx,%ecx
673 adcl $0,%eax
674 movl %ecx,24(%ebx)
675 .L013aw_end:
676 popl %edi
677 popl %esi
678 popl %ebx
679 popl %ebp
680 ret
681 .size bn_add_words,.-.L_bn_add_words_begin
682 .globl bn_sub_words
683 .type bn_sub_words,@function
684 .align 16
685 bn_sub_words:
686 .L_bn_sub_words_begin:
687 pushl %ebp
688 pushl %ebx
689 pushl %esi
690 pushl %edi
691
692 movl 20(%esp),%ebx
693 movl 24(%esp),%esi
694 movl 28(%esp),%edi
695 movl 32(%esp),%ebp
696 xorl %eax,%eax
697 andl $4294967288,%ebp
698 jz .L014aw_finish
699 .L015aw_loop:
700
701 movl (%esi),%ecx
702 movl (%edi),%edx
703 subl %eax,%ecx
704 movl $0,%eax
705 adcl %eax,%eax
706 subl %edx,%ecx
707 adcl $0,%eax
708 movl %ecx,(%ebx)
709
710 movl 4(%esi),%ecx
711 movl 4(%edi),%edx
712 subl %eax,%ecx
713 movl $0,%eax
714 adcl %eax,%eax
715 subl %edx,%ecx
716 adcl $0,%eax
717 movl %ecx,4(%ebx)
718
719 movl 8(%esi),%ecx
720 movl 8(%edi),%edx
721 subl %eax,%ecx
722 movl $0,%eax
723 adcl %eax,%eax
724 subl %edx,%ecx
725 adcl $0,%eax
726 movl %ecx,8(%ebx)
727
728 movl 12(%esi),%ecx
729 movl 12(%edi),%edx
730 subl %eax,%ecx
731 movl $0,%eax
732 adcl %eax,%eax
733 subl %edx,%ecx
734 adcl $0,%eax
735 movl %ecx,12(%ebx)
736
737 movl 16(%esi),%ecx
738 movl 16(%edi),%edx
739 subl %eax,%ecx
740 movl $0,%eax
741 adcl %eax,%eax
742 subl %edx,%ecx
743 adcl $0,%eax
744 movl %ecx,16(%ebx)
745
746 movl 20(%esi),%ecx
747 movl 20(%edi),%edx
748 subl %eax,%ecx
749 movl $0,%eax
750 adcl %eax,%eax
751 subl %edx,%ecx
752 adcl $0,%eax
753 movl %ecx,20(%ebx)
754
755 movl 24(%esi),%ecx
756 movl 24(%edi),%edx
757 subl %eax,%ecx
758 movl $0,%eax
759 adcl %eax,%eax
760 subl %edx,%ecx
761 adcl $0,%eax
762 movl %ecx,24(%ebx)
763
764 movl 28(%esi),%ecx
765 movl 28(%edi),%edx
766 subl %eax,%ecx
767 movl $0,%eax
768 adcl %eax,%eax
769 subl %edx,%ecx
770 adcl $0,%eax
771 movl %ecx,28(%ebx)
772
773 addl $32,%esi
774 addl $32,%edi
775 addl $32,%ebx
776 subl $8,%ebp
777 jnz .L015aw_loop
778 .L014aw_finish:
779 movl 32(%esp),%ebp
780 andl $7,%ebp
781 jz .L016aw_end
782
783 movl (%esi),%ecx
784 movl (%edi),%edx
785 subl %eax,%ecx
786 movl $0,%eax
787 adcl %eax,%eax
788 subl %edx,%ecx
789 adcl $0,%eax
790 decl %ebp
791 movl %ecx,(%ebx)
792 jz .L016aw_end
793
794 movl 4(%esi),%ecx
795 movl 4(%edi),%edx
796 subl %eax,%ecx
797 movl $0,%eax
798 adcl %eax,%eax
799 subl %edx,%ecx
800 adcl $0,%eax
801 decl %ebp
802 movl %ecx,4(%ebx)
803 jz .L016aw_end
804
805 movl 8(%esi),%ecx
806 movl 8(%edi),%edx
807 subl %eax,%ecx
808 movl $0,%eax
809 adcl %eax,%eax
810 subl %edx,%ecx
811 adcl $0,%eax
812 decl %ebp
813 movl %ecx,8(%ebx)
814 jz .L016aw_end
815
816 movl 12(%esi),%ecx
817 movl 12(%edi),%edx
818 subl %eax,%ecx
819 movl $0,%eax
820 adcl %eax,%eax
821 subl %edx,%ecx
822 adcl $0,%eax
823 decl %ebp
824 movl %ecx,12(%ebx)
825 jz .L016aw_end
826
827 movl 16(%esi),%ecx
828 movl 16(%edi),%edx
829 subl %eax,%ecx
830 movl $0,%eax
831 adcl %eax,%eax
832 subl %edx,%ecx
833 adcl $0,%eax
834 decl %ebp
835 movl %ecx,16(%ebx)
836 jz .L016aw_end
837
838 movl 20(%esi),%ecx
839 movl 20(%edi),%edx
840 subl %eax,%ecx
841 movl $0,%eax
842 adcl %eax,%eax
843 subl %edx,%ecx
844 adcl $0,%eax
845 decl %ebp
846 movl %ecx,20(%ebx)
847 jz .L016aw_end
848
849 movl 24(%esi),%ecx
850 movl 24(%edi),%edx
851 subl %eax,%ecx
852 movl $0,%eax
853 adcl %eax,%eax
854 subl %edx,%ecx
855 adcl $0,%eax
856 movl %ecx,24(%ebx)
857 .L016aw_end:
858 popl %edi
859 popl %esi
860 popl %ebx
861 popl %ebp
862 ret
863 .size bn_sub_words,.-.L_bn_sub_words_begin
864 .globl bn_mul_comba8
865 .type bn_mul_comba8,@function
866 .align 16
867 bn_mul_comba8:
868 .L_bn_mul_comba8_begin:
869 pushl %esi 8 pushl %esi
870 movl 12(%esp),%esi 9 movl 12(%esp),%esi
871 pushl %edi 10 pushl %edi
872 movl 20(%esp),%edi 11 movl 20(%esp),%edi
873 pushl %ebp 12 pushl %ebp
874 pushl %ebx 13 pushl %ebx
875 xorl %ebx,%ebx 14 xorl %ebx,%ebx
876 movl (%esi),%eax 15 movl (%esi),%eax
877 xorl %ecx,%ecx 16 xorl %ecx,%ecx
878 movl (%edi),%edx 17 movl (%edi),%edx
879 18 » # ################## Calculate word 0
880 xorl %ebp,%ebp 19 xorl %ebp,%ebp
881 20 » # mul a[0]*b[0]
882 mull %edx 21 mull %edx
883 addl %eax,%ebx 22 addl %eax,%ebx
884 movl 20(%esp),%eax 23 movl 20(%esp),%eax
885 adcl %edx,%ecx 24 adcl %edx,%ecx
886 movl (%edi),%edx 25 movl (%edi),%edx
887 adcl $0,%ebp 26 adcl $0,%ebp
888 movl %ebx,(%eax) 27 movl %ebx,(%eax)
889 movl 4(%esi),%eax 28 movl 4(%esi),%eax
890 29 » # saved r[0]
891 30 » # ################## Calculate word 1
892 xorl %ebx,%ebx 31 xorl %ebx,%ebx
893 32 » # mul a[1]*b[0]
894 mull %edx 33 mull %edx
895 addl %eax,%ecx 34 addl %eax,%ecx
896 movl (%esi),%eax 35 movl (%esi),%eax
897 adcl %edx,%ebp 36 adcl %edx,%ebp
898 movl 4(%edi),%edx 37 movl 4(%edi),%edx
899 adcl $0,%ebx 38 adcl $0,%ebx
900 39 » # mul a[0]*b[1]
901 mull %edx 40 mull %edx
902 addl %eax,%ecx 41 addl %eax,%ecx
903 movl 20(%esp),%eax 42 movl 20(%esp),%eax
904 adcl %edx,%ebp 43 adcl %edx,%ebp
905 movl (%edi),%edx 44 movl (%edi),%edx
906 adcl $0,%ebx 45 adcl $0,%ebx
907 movl %ecx,4(%eax) 46 movl %ecx,4(%eax)
908 movl 8(%esi),%eax 47 movl 8(%esi),%eax
909 48 » # saved r[1]
910 49 » # ################## Calculate word 2
911 xorl %ecx,%ecx 50 xorl %ecx,%ecx
912 51 » # mul a[2]*b[0]
913 mull %edx 52 mull %edx
914 addl %eax,%ebp 53 addl %eax,%ebp
915 movl 4(%esi),%eax 54 movl 4(%esi),%eax
916 adcl %edx,%ebx 55 adcl %edx,%ebx
917 movl 4(%edi),%edx 56 movl 4(%edi),%edx
918 adcl $0,%ecx 57 adcl $0,%ecx
919 58 » # mul a[1]*b[1]
920 mull %edx 59 mull %edx
921 addl %eax,%ebp 60 addl %eax,%ebp
922 movl (%esi),%eax 61 movl (%esi),%eax
923 adcl %edx,%ebx 62 adcl %edx,%ebx
924 movl 8(%edi),%edx 63 movl 8(%edi),%edx
925 adcl $0,%ecx 64 adcl $0,%ecx
926 65 » # mul a[0]*b[2]
927 mull %edx 66 mull %edx
928 addl %eax,%ebp 67 addl %eax,%ebp
929 movl 20(%esp),%eax 68 movl 20(%esp),%eax
930 adcl %edx,%ebx 69 adcl %edx,%ebx
931 movl (%edi),%edx 70 movl (%edi),%edx
932 adcl $0,%ecx 71 adcl $0,%ecx
933 movl %ebp,8(%eax) 72 movl %ebp,8(%eax)
934 movl 12(%esi),%eax 73 movl 12(%esi),%eax
935 74 » # saved r[2]
936 75 » # ################## Calculate word 3
937 xorl %ebp,%ebp 76 xorl %ebp,%ebp
938 77 » # mul a[3]*b[0]
939 mull %edx 78 mull %edx
940 addl %eax,%ebx 79 addl %eax,%ebx
941 movl 8(%esi),%eax 80 movl 8(%esi),%eax
942 adcl %edx,%ecx 81 adcl %edx,%ecx
943 movl 4(%edi),%edx 82 movl 4(%edi),%edx
944 adcl $0,%ebp 83 adcl $0,%ebp
945 84 » # mul a[2]*b[1]
946 mull %edx 85 mull %edx
947 addl %eax,%ebx 86 addl %eax,%ebx
948 movl 4(%esi),%eax 87 movl 4(%esi),%eax
949 adcl %edx,%ecx 88 adcl %edx,%ecx
950 movl 8(%edi),%edx 89 movl 8(%edi),%edx
951 adcl $0,%ebp 90 adcl $0,%ebp
952 91 » # mul a[1]*b[2]
953 mull %edx 92 mull %edx
954 addl %eax,%ebx 93 addl %eax,%ebx
955 movl (%esi),%eax 94 movl (%esi),%eax
956 adcl %edx,%ecx 95 adcl %edx,%ecx
957 movl 12(%edi),%edx 96 movl 12(%edi),%edx
958 adcl $0,%ebp 97 adcl $0,%ebp
959 98 » # mul a[0]*b[3]
960 mull %edx 99 mull %edx
961 addl %eax,%ebx 100 addl %eax,%ebx
962 movl 20(%esp),%eax 101 movl 20(%esp),%eax
963 adcl %edx,%ecx 102 adcl %edx,%ecx
964 movl (%edi),%edx 103 movl (%edi),%edx
965 adcl $0,%ebp 104 adcl $0,%ebp
966 movl %ebx,12(%eax) 105 movl %ebx,12(%eax)
967 movl 16(%esi),%eax 106 movl 16(%esi),%eax
968 107 » # saved r[3]
969 108 » # ################## Calculate word 4
970 xorl %ebx,%ebx 109 xorl %ebx,%ebx
971 110 » # mul a[4]*b[0]
972 mull %edx 111 mull %edx
973 addl %eax,%ecx 112 addl %eax,%ecx
974 movl 12(%esi),%eax 113 movl 12(%esi),%eax
975 adcl %edx,%ebp 114 adcl %edx,%ebp
976 movl 4(%edi),%edx 115 movl 4(%edi),%edx
977 adcl $0,%ebx 116 adcl $0,%ebx
978 117 » # mul a[3]*b[1]
979 mull %edx 118 mull %edx
980 addl %eax,%ecx 119 addl %eax,%ecx
981 movl 8(%esi),%eax 120 movl 8(%esi),%eax
982 adcl %edx,%ebp 121 adcl %edx,%ebp
983 movl 8(%edi),%edx 122 movl 8(%edi),%edx
984 adcl $0,%ebx 123 adcl $0,%ebx
985 124 » # mul a[2]*b[2]
986 mull %edx 125 mull %edx
987 addl %eax,%ecx 126 addl %eax,%ecx
988 movl 4(%esi),%eax 127 movl 4(%esi),%eax
989 adcl %edx,%ebp 128 adcl %edx,%ebp
990 movl 12(%edi),%edx 129 movl 12(%edi),%edx
991 adcl $0,%ebx 130 adcl $0,%ebx
992 131 » # mul a[1]*b[3]
993 mull %edx 132 mull %edx
994 addl %eax,%ecx 133 addl %eax,%ecx
995 movl (%esi),%eax 134 movl (%esi),%eax
996 adcl %edx,%ebp 135 adcl %edx,%ebp
997 movl 16(%edi),%edx 136 movl 16(%edi),%edx
998 adcl $0,%ebx 137 adcl $0,%ebx
999 138 » # mul a[0]*b[4]
1000 mull %edx 139 mull %edx
1001 addl %eax,%ecx 140 addl %eax,%ecx
1002 movl 20(%esp),%eax 141 movl 20(%esp),%eax
1003 adcl %edx,%ebp 142 adcl %edx,%ebp
1004 movl (%edi),%edx 143 movl (%edi),%edx
1005 adcl $0,%ebx 144 adcl $0,%ebx
1006 movl %ecx,16(%eax) 145 movl %ecx,16(%eax)
1007 movl 20(%esi),%eax 146 movl 20(%esi),%eax
1008 147 » # saved r[4]
1009 148 » # ################## Calculate word 5
1010 xorl %ecx,%ecx 149 xorl %ecx,%ecx
1011 150 » # mul a[5]*b[0]
1012 mull %edx 151 mull %edx
1013 addl %eax,%ebp 152 addl %eax,%ebp
1014 movl 16(%esi),%eax 153 movl 16(%esi),%eax
1015 adcl %edx,%ebx 154 adcl %edx,%ebx
1016 movl 4(%edi),%edx 155 movl 4(%edi),%edx
1017 adcl $0,%ecx 156 adcl $0,%ecx
1018 157 » # mul a[4]*b[1]
1019 mull %edx 158 mull %edx
1020 addl %eax,%ebp 159 addl %eax,%ebp
1021 movl 12(%esi),%eax 160 movl 12(%esi),%eax
1022 adcl %edx,%ebx 161 adcl %edx,%ebx
1023 movl 8(%edi),%edx 162 movl 8(%edi),%edx
1024 adcl $0,%ecx 163 adcl $0,%ecx
1025 164 » # mul a[3]*b[2]
1026 mull %edx 165 mull %edx
1027 addl %eax,%ebp 166 addl %eax,%ebp
1028 movl 8(%esi),%eax 167 movl 8(%esi),%eax
1029 adcl %edx,%ebx 168 adcl %edx,%ebx
1030 movl 12(%edi),%edx 169 movl 12(%edi),%edx
1031 adcl $0,%ecx 170 adcl $0,%ecx
1032 171 » # mul a[2]*b[3]
1033 mull %edx 172 mull %edx
1034 addl %eax,%ebp 173 addl %eax,%ebp
1035 movl 4(%esi),%eax 174 movl 4(%esi),%eax
1036 adcl %edx,%ebx 175 adcl %edx,%ebx
1037 movl 16(%edi),%edx 176 movl 16(%edi),%edx
1038 adcl $0,%ecx 177 adcl $0,%ecx
1039 178 » # mul a[1]*b[4]
1040 mull %edx 179 mull %edx
1041 addl %eax,%ebp 180 addl %eax,%ebp
1042 movl (%esi),%eax 181 movl (%esi),%eax
1043 adcl %edx,%ebx 182 adcl %edx,%ebx
1044 movl 20(%edi),%edx 183 movl 20(%edi),%edx
1045 adcl $0,%ecx 184 adcl $0,%ecx
1046 185 » # mul a[0]*b[5]
1047 mull %edx 186 mull %edx
1048 addl %eax,%ebp 187 addl %eax,%ebp
1049 movl 20(%esp),%eax 188 movl 20(%esp),%eax
1050 adcl %edx,%ebx 189 adcl %edx,%ebx
1051 movl (%edi),%edx 190 movl (%edi),%edx
1052 adcl $0,%ecx 191 adcl $0,%ecx
1053 movl %ebp,20(%eax) 192 movl %ebp,20(%eax)
1054 movl 24(%esi),%eax 193 movl 24(%esi),%eax
1055 194 » # saved r[5]
1056 195 » # ################## Calculate word 6
1057 xorl %ebp,%ebp 196 xorl %ebp,%ebp
1058 197 » # mul a[6]*b[0]
1059 mull %edx 198 mull %edx
1060 addl %eax,%ebx 199 addl %eax,%ebx
1061 movl 20(%esi),%eax 200 movl 20(%esi),%eax
1062 adcl %edx,%ecx 201 adcl %edx,%ecx
1063 movl 4(%edi),%edx 202 movl 4(%edi),%edx
1064 adcl $0,%ebp 203 adcl $0,%ebp
1065 204 » # mul a[5]*b[1]
1066 mull %edx 205 mull %edx
1067 addl %eax,%ebx 206 addl %eax,%ebx
1068 movl 16(%esi),%eax 207 movl 16(%esi),%eax
1069 adcl %edx,%ecx 208 adcl %edx,%ecx
1070 movl 8(%edi),%edx 209 movl 8(%edi),%edx
1071 adcl $0,%ebp 210 adcl $0,%ebp
1072 211 » # mul a[4]*b[2]
1073 mull %edx 212 mull %edx
1074 addl %eax,%ebx 213 addl %eax,%ebx
1075 movl 12(%esi),%eax 214 movl 12(%esi),%eax
1076 adcl %edx,%ecx 215 adcl %edx,%ecx
1077 movl 12(%edi),%edx 216 movl 12(%edi),%edx
1078 adcl $0,%ebp 217 adcl $0,%ebp
1079 218 » # mul a[3]*b[3]
1080 mull %edx 219 mull %edx
1081 addl %eax,%ebx 220 addl %eax,%ebx
1082 movl 8(%esi),%eax 221 movl 8(%esi),%eax
1083 adcl %edx,%ecx 222 adcl %edx,%ecx
1084 movl 16(%edi),%edx 223 movl 16(%edi),%edx
1085 adcl $0,%ebp 224 adcl $0,%ebp
1086 225 » # mul a[2]*b[4]
1087 mull %edx 226 mull %edx
1088 addl %eax,%ebx 227 addl %eax,%ebx
1089 movl 4(%esi),%eax 228 movl 4(%esi),%eax
1090 adcl %edx,%ecx 229 adcl %edx,%ecx
1091 movl 20(%edi),%edx 230 movl 20(%edi),%edx
1092 adcl $0,%ebp 231 adcl $0,%ebp
1093 232 » # mul a[1]*b[5]
1094 mull %edx 233 mull %edx
1095 addl %eax,%ebx 234 addl %eax,%ebx
1096 movl (%esi),%eax 235 movl (%esi),%eax
1097 adcl %edx,%ecx 236 adcl %edx,%ecx
1098 movl 24(%edi),%edx 237 movl 24(%edi),%edx
1099 adcl $0,%ebp 238 adcl $0,%ebp
1100 239 » # mul a[0]*b[6]
1101 mull %edx 240 mull %edx
1102 addl %eax,%ebx 241 addl %eax,%ebx
1103 movl 20(%esp),%eax 242 movl 20(%esp),%eax
1104 adcl %edx,%ecx 243 adcl %edx,%ecx
1105 movl (%edi),%edx 244 movl (%edi),%edx
1106 adcl $0,%ebp 245 adcl $0,%ebp
1107 movl %ebx,24(%eax) 246 movl %ebx,24(%eax)
1108 movl 28(%esi),%eax 247 movl 28(%esi),%eax
1109 248 » # saved r[6]
1110 249 » # ################## Calculate word 7
1111 xorl %ebx,%ebx 250 xorl %ebx,%ebx
1112 251 » # mul a[7]*b[0]
1113 mull %edx 252 mull %edx
1114 addl %eax,%ecx 253 addl %eax,%ecx
1115 movl 24(%esi),%eax 254 movl 24(%esi),%eax
1116 adcl %edx,%ebp 255 adcl %edx,%ebp
1117 movl 4(%edi),%edx 256 movl 4(%edi),%edx
1118 adcl $0,%ebx 257 adcl $0,%ebx
1119 258 » # mul a[6]*b[1]
1120 mull %edx 259 mull %edx
1121 addl %eax,%ecx 260 addl %eax,%ecx
1122 movl 20(%esi),%eax 261 movl 20(%esi),%eax
1123 adcl %edx,%ebp 262 adcl %edx,%ebp
1124 movl 8(%edi),%edx 263 movl 8(%edi),%edx
1125 adcl $0,%ebx 264 adcl $0,%ebx
1126 265 » # mul a[5]*b[2]
1127 mull %edx 266 mull %edx
1128 addl %eax,%ecx 267 addl %eax,%ecx
1129 movl 16(%esi),%eax 268 movl 16(%esi),%eax
1130 adcl %edx,%ebp 269 adcl %edx,%ebp
1131 movl 12(%edi),%edx 270 movl 12(%edi),%edx
1132 adcl $0,%ebx 271 adcl $0,%ebx
1133 272 » # mul a[4]*b[3]
1134 mull %edx 273 mull %edx
1135 addl %eax,%ecx 274 addl %eax,%ecx
1136 movl 12(%esi),%eax 275 movl 12(%esi),%eax
1137 adcl %edx,%ebp 276 adcl %edx,%ebp
1138 movl 16(%edi),%edx 277 movl 16(%edi),%edx
1139 adcl $0,%ebx 278 adcl $0,%ebx
1140 279 » # mul a[3]*b[4]
1141 mull %edx 280 mull %edx
1142 addl %eax,%ecx 281 addl %eax,%ecx
1143 movl 8(%esi),%eax 282 movl 8(%esi),%eax
1144 adcl %edx,%ebp 283 adcl %edx,%ebp
1145 movl 20(%edi),%edx 284 movl 20(%edi),%edx
1146 adcl $0,%ebx 285 adcl $0,%ebx
1147 286 » # mul a[2]*b[5]
1148 mull %edx 287 mull %edx
1149 addl %eax,%ecx 288 addl %eax,%ecx
1150 movl 4(%esi),%eax 289 movl 4(%esi),%eax
1151 adcl %edx,%ebp 290 adcl %edx,%ebp
1152 movl 24(%edi),%edx 291 movl 24(%edi),%edx
1153 adcl $0,%ebx 292 adcl $0,%ebx
1154 293 » # mul a[1]*b[6]
1155 mull %edx 294 mull %edx
1156 addl %eax,%ecx 295 addl %eax,%ecx
1157 movl (%esi),%eax 296 movl (%esi),%eax
1158 adcl %edx,%ebp 297 adcl %edx,%ebp
1159 movl 28(%edi),%edx 298 movl 28(%edi),%edx
1160 adcl $0,%ebx 299 adcl $0,%ebx
1161 300 » # mul a[0]*b[7]
1162 mull %edx 301 mull %edx
1163 addl %eax,%ecx 302 addl %eax,%ecx
1164 movl 20(%esp),%eax 303 movl 20(%esp),%eax
1165 adcl %edx,%ebp 304 adcl %edx,%ebp
1166 movl 4(%edi),%edx 305 movl 4(%edi),%edx
1167 adcl $0,%ebx 306 adcl $0,%ebx
1168 movl %ecx,28(%eax) 307 movl %ecx,28(%eax)
1169 movl 28(%esi),%eax 308 movl 28(%esi),%eax
1170 309 » # saved r[7]
1171 310 » # ################## Calculate word 8
1172 xorl %ecx,%ecx 311 xorl %ecx,%ecx
1173 312 » # mul a[7]*b[1]
1174 mull %edx 313 mull %edx
1175 addl %eax,%ebp 314 addl %eax,%ebp
1176 movl 24(%esi),%eax 315 movl 24(%esi),%eax
1177 adcl %edx,%ebx 316 adcl %edx,%ebx
1178 movl 8(%edi),%edx 317 movl 8(%edi),%edx
1179 adcl $0,%ecx 318 adcl $0,%ecx
1180 319 » # mul a[6]*b[2]
1181 mull %edx 320 mull %edx
1182 addl %eax,%ebp 321 addl %eax,%ebp
1183 movl 20(%esi),%eax 322 movl 20(%esi),%eax
1184 adcl %edx,%ebx 323 adcl %edx,%ebx
1185 movl 12(%edi),%edx 324 movl 12(%edi),%edx
1186 adcl $0,%ecx 325 adcl $0,%ecx
1187 326 » # mul a[5]*b[3]
1188 mull %edx 327 mull %edx
1189 addl %eax,%ebp 328 addl %eax,%ebp
1190 movl 16(%esi),%eax 329 movl 16(%esi),%eax
1191 adcl %edx,%ebx 330 adcl %edx,%ebx
1192 movl 16(%edi),%edx 331 movl 16(%edi),%edx
1193 adcl $0,%ecx 332 adcl $0,%ecx
1194 333 » # mul a[4]*b[4]
1195 mull %edx 334 mull %edx
1196 addl %eax,%ebp 335 addl %eax,%ebp
1197 movl 12(%esi),%eax 336 movl 12(%esi),%eax
1198 adcl %edx,%ebx 337 adcl %edx,%ebx
1199 movl 20(%edi),%edx 338 movl 20(%edi),%edx
1200 adcl $0,%ecx 339 adcl $0,%ecx
1201 340 » # mul a[3]*b[5]
1202 mull %edx 341 mull %edx
1203 addl %eax,%ebp 342 addl %eax,%ebp
1204 movl 8(%esi),%eax 343 movl 8(%esi),%eax
1205 adcl %edx,%ebx 344 adcl %edx,%ebx
1206 movl 24(%edi),%edx 345 movl 24(%edi),%edx
1207 adcl $0,%ecx 346 adcl $0,%ecx
1208 347 » # mul a[2]*b[6]
1209 mull %edx 348 mull %edx
1210 addl %eax,%ebp 349 addl %eax,%ebp
1211 movl 4(%esi),%eax 350 movl 4(%esi),%eax
1212 adcl %edx,%ebx 351 adcl %edx,%ebx
1213 movl 28(%edi),%edx 352 movl 28(%edi),%edx
1214 adcl $0,%ecx 353 adcl $0,%ecx
1215 354 » # mul a[1]*b[7]
1216 mull %edx 355 mull %edx
1217 addl %eax,%ebp 356 addl %eax,%ebp
1218 movl 20(%esp),%eax 357 movl 20(%esp),%eax
1219 adcl %edx,%ebx 358 adcl %edx,%ebx
1220 movl 8(%edi),%edx 359 movl 8(%edi),%edx
1221 adcl $0,%ecx 360 adcl $0,%ecx
1222 movl %ebp,32(%eax) 361 movl %ebp,32(%eax)
1223 movl 28(%esi),%eax 362 movl 28(%esi),%eax
1224 363 » # saved r[8]
1225 364 » # ################## Calculate word 9
1226 xorl %ebp,%ebp 365 xorl %ebp,%ebp
1227 366 » # mul a[7]*b[2]
1228 mull %edx 367 mull %edx
1229 addl %eax,%ebx 368 addl %eax,%ebx
1230 movl 24(%esi),%eax 369 movl 24(%esi),%eax
1231 adcl %edx,%ecx 370 adcl %edx,%ecx
1232 movl 12(%edi),%edx 371 movl 12(%edi),%edx
1233 adcl $0,%ebp 372 adcl $0,%ebp
1234 373 » # mul a[6]*b[3]
1235 mull %edx 374 mull %edx
1236 addl %eax,%ebx 375 addl %eax,%ebx
1237 movl 20(%esi),%eax 376 movl 20(%esi),%eax
1238 adcl %edx,%ecx 377 adcl %edx,%ecx
1239 movl 16(%edi),%edx 378 movl 16(%edi),%edx
1240 adcl $0,%ebp 379 adcl $0,%ebp
1241 380 » # mul a[5]*b[4]
1242 mull %edx 381 mull %edx
1243 addl %eax,%ebx 382 addl %eax,%ebx
1244 movl 16(%esi),%eax 383 movl 16(%esi),%eax
1245 adcl %edx,%ecx 384 adcl %edx,%ecx
1246 movl 20(%edi),%edx 385 movl 20(%edi),%edx
1247 adcl $0,%ebp 386 adcl $0,%ebp
1248 387 » # mul a[4]*b[5]
1249 mull %edx 388 mull %edx
1250 addl %eax,%ebx 389 addl %eax,%ebx
1251 movl 12(%esi),%eax 390 movl 12(%esi),%eax
1252 adcl %edx,%ecx 391 adcl %edx,%ecx
1253 movl 24(%edi),%edx 392 movl 24(%edi),%edx
1254 adcl $0,%ebp 393 adcl $0,%ebp
1255 394 » # mul a[3]*b[6]
1256 mull %edx 395 mull %edx
1257 addl %eax,%ebx 396 addl %eax,%ebx
1258 movl 8(%esi),%eax 397 movl 8(%esi),%eax
1259 adcl %edx,%ecx 398 adcl %edx,%ecx
1260 movl 28(%edi),%edx 399 movl 28(%edi),%edx
1261 adcl $0,%ebp 400 adcl $0,%ebp
1262 401 » # mul a[2]*b[7]
1263 mull %edx 402 mull %edx
1264 addl %eax,%ebx 403 addl %eax,%ebx
1265 movl 20(%esp),%eax 404 movl 20(%esp),%eax
1266 adcl %edx,%ecx 405 adcl %edx,%ecx
1267 movl 12(%edi),%edx 406 movl 12(%edi),%edx
1268 adcl $0,%ebp 407 adcl $0,%ebp
1269 movl %ebx,36(%eax) 408 movl %ebx,36(%eax)
1270 movl 28(%esi),%eax 409 movl 28(%esi),%eax
1271 410 » # saved r[9]
1272 411 » # ################## Calculate word 10
1273 xorl %ebx,%ebx 412 xorl %ebx,%ebx
1274 413 » # mul a[7]*b[3]
1275 mull %edx 414 mull %edx
1276 addl %eax,%ecx 415 addl %eax,%ecx
1277 movl 24(%esi),%eax 416 movl 24(%esi),%eax
1278 adcl %edx,%ebp 417 adcl %edx,%ebp
1279 movl 16(%edi),%edx 418 movl 16(%edi),%edx
1280 adcl $0,%ebx 419 adcl $0,%ebx
1281 420 » # mul a[6]*b[4]
1282 mull %edx 421 mull %edx
1283 addl %eax,%ecx 422 addl %eax,%ecx
1284 movl 20(%esi),%eax 423 movl 20(%esi),%eax
1285 adcl %edx,%ebp 424 adcl %edx,%ebp
1286 movl 20(%edi),%edx 425 movl 20(%edi),%edx
1287 adcl $0,%ebx 426 adcl $0,%ebx
1288 427 » # mul a[5]*b[5]
1289 mull %edx 428 mull %edx
1290 addl %eax,%ecx 429 addl %eax,%ecx
1291 movl 16(%esi),%eax 430 movl 16(%esi),%eax
1292 adcl %edx,%ebp 431 adcl %edx,%ebp
1293 movl 24(%edi),%edx 432 movl 24(%edi),%edx
1294 adcl $0,%ebx 433 adcl $0,%ebx
1295 434 » # mul a[4]*b[6]
1296 mull %edx 435 mull %edx
1297 addl %eax,%ecx 436 addl %eax,%ecx
1298 movl 12(%esi),%eax 437 movl 12(%esi),%eax
1299 adcl %edx,%ebp 438 adcl %edx,%ebp
1300 movl 28(%edi),%edx 439 movl 28(%edi),%edx
1301 adcl $0,%ebx 440 adcl $0,%ebx
1302 441 » # mul a[3]*b[7]
1303 mull %edx 442 mull %edx
1304 addl %eax,%ecx 443 addl %eax,%ecx
1305 movl 20(%esp),%eax 444 movl 20(%esp),%eax
1306 adcl %edx,%ebp 445 adcl %edx,%ebp
1307 movl 16(%edi),%edx 446 movl 16(%edi),%edx
1308 adcl $0,%ebx 447 adcl $0,%ebx
1309 movl %ecx,40(%eax) 448 movl %ecx,40(%eax)
1310 movl 28(%esi),%eax 449 movl 28(%esi),%eax
1311 450 » # saved r[10]
1312 451 » # ################## Calculate word 11
1313 xorl %ecx,%ecx 452 xorl %ecx,%ecx
1314 453 » # mul a[7]*b[4]
1315 mull %edx 454 mull %edx
1316 addl %eax,%ebp 455 addl %eax,%ebp
1317 movl 24(%esi),%eax 456 movl 24(%esi),%eax
1318 adcl %edx,%ebx 457 adcl %edx,%ebx
1319 movl 20(%edi),%edx 458 movl 20(%edi),%edx
1320 adcl $0,%ecx 459 adcl $0,%ecx
1321 460 » # mul a[6]*b[5]
1322 mull %edx 461 mull %edx
1323 addl %eax,%ebp 462 addl %eax,%ebp
1324 movl 20(%esi),%eax 463 movl 20(%esi),%eax
1325 adcl %edx,%ebx 464 adcl %edx,%ebx
1326 movl 24(%edi),%edx 465 movl 24(%edi),%edx
1327 adcl $0,%ecx 466 adcl $0,%ecx
1328 467 » # mul a[5]*b[6]
1329 mull %edx 468 mull %edx
1330 addl %eax,%ebp 469 addl %eax,%ebp
1331 movl 16(%esi),%eax 470 movl 16(%esi),%eax
1332 adcl %edx,%ebx 471 adcl %edx,%ebx
1333 movl 28(%edi),%edx 472 movl 28(%edi),%edx
1334 adcl $0,%ecx 473 adcl $0,%ecx
1335 474 » # mul a[4]*b[7]
1336 mull %edx 475 mull %edx
1337 addl %eax,%ebp 476 addl %eax,%ebp
1338 movl 20(%esp),%eax 477 movl 20(%esp),%eax
1339 adcl %edx,%ebx 478 adcl %edx,%ebx
1340 movl 20(%edi),%edx 479 movl 20(%edi),%edx
1341 adcl $0,%ecx 480 adcl $0,%ecx
1342 movl %ebp,44(%eax) 481 movl %ebp,44(%eax)
1343 movl 28(%esi),%eax 482 movl 28(%esi),%eax
1344 483 » # saved r[11]
1345 484 » # ################## Calculate word 12
1346 xorl %ebp,%ebp 485 xorl %ebp,%ebp
1347 486 » # mul a[7]*b[5]
1348 mull %edx 487 mull %edx
1349 addl %eax,%ebx 488 addl %eax,%ebx
1350 movl 24(%esi),%eax 489 movl 24(%esi),%eax
1351 adcl %edx,%ecx 490 adcl %edx,%ecx
1352 movl 24(%edi),%edx 491 movl 24(%edi),%edx
1353 adcl $0,%ebp 492 adcl $0,%ebp
1354 493 » # mul a[6]*b[6]
1355 mull %edx 494 mull %edx
1356 addl %eax,%ebx 495 addl %eax,%ebx
1357 movl 20(%esi),%eax 496 movl 20(%esi),%eax
1358 adcl %edx,%ecx 497 adcl %edx,%ecx
1359 movl 28(%edi),%edx 498 movl 28(%edi),%edx
1360 adcl $0,%ebp 499 adcl $0,%ebp
1361 500 » # mul a[5]*b[7]
1362 mull %edx 501 mull %edx
1363 addl %eax,%ebx 502 addl %eax,%ebx
1364 movl 20(%esp),%eax 503 movl 20(%esp),%eax
1365 adcl %edx,%ecx 504 adcl %edx,%ecx
1366 movl 24(%edi),%edx 505 movl 24(%edi),%edx
1367 adcl $0,%ebp 506 adcl $0,%ebp
1368 movl %ebx,48(%eax) 507 movl %ebx,48(%eax)
1369 movl 28(%esi),%eax 508 movl 28(%esi),%eax
1370 509 » # saved r[12]
1371 510 » # ################## Calculate word 13
1372 xorl %ebx,%ebx 511 xorl %ebx,%ebx
1373 512 » # mul a[7]*b[6]
1374 mull %edx 513 mull %edx
1375 addl %eax,%ecx 514 addl %eax,%ecx
1376 movl 24(%esi),%eax 515 movl 24(%esi),%eax
1377 adcl %edx,%ebp 516 adcl %edx,%ebp
1378 movl 28(%edi),%edx 517 movl 28(%edi),%edx
1379 adcl $0,%ebx 518 adcl $0,%ebx
1380 519 » # mul a[6]*b[7]
1381 mull %edx 520 mull %edx
1382 addl %eax,%ecx 521 addl %eax,%ecx
1383 movl 20(%esp),%eax 522 movl 20(%esp),%eax
1384 adcl %edx,%ebp 523 adcl %edx,%ebp
1385 movl 28(%edi),%edx 524 movl 28(%edi),%edx
1386 adcl $0,%ebx 525 adcl $0,%ebx
1387 movl %ecx,52(%eax) 526 movl %ecx,52(%eax)
1388 movl 28(%esi),%eax 527 movl 28(%esi),%eax
1389 528 » # saved r[13]
1390 529 » # ################## Calculate word 14
1391 xorl %ecx,%ecx 530 xorl %ecx,%ecx
1392 531 » # mul a[7]*b[7]
1393 mull %edx 532 mull %edx
1394 addl %eax,%ebp 533 addl %eax,%ebp
1395 movl 20(%esp),%eax 534 movl 20(%esp),%eax
1396 adcl %edx,%ebx 535 adcl %edx,%ebx
1397 adcl $0,%ecx 536 adcl $0,%ecx
1398 movl %ebp,56(%eax) 537 movl %ebp,56(%eax)
1399 538 » # saved r[14]
1400 539 » # save r[15]
1401 movl %ebx,60(%eax) 540 movl %ebx,60(%eax)
1402 popl %ebx 541 popl %ebx
1403 popl %ebp 542 popl %ebp
1404 popl %edi 543 popl %edi
1405 popl %esi 544 popl %esi
1406 ret 545 ret
1407 .size» bn_mul_comba8,.-.L_bn_mul_comba8_begin 546 .globl» _bn_mul_comba4
1408 .globl» bn_mul_comba4 547 .align» 4
1409 .type» bn_mul_comba4,@function 548 _bn_mul_comba4:
1410 .align» 16 549 L_bn_mul_comba4_begin:
1411 bn_mul_comba4:
1412 .L_bn_mul_comba4_begin:
1413 pushl %esi 550 pushl %esi
1414 movl 12(%esp),%esi 551 movl 12(%esp),%esi
1415 pushl %edi 552 pushl %edi
1416 movl 20(%esp),%edi 553 movl 20(%esp),%edi
1417 pushl %ebp 554 pushl %ebp
1418 pushl %ebx 555 pushl %ebx
1419 xorl %ebx,%ebx 556 xorl %ebx,%ebx
1420 movl (%esi),%eax 557 movl (%esi),%eax
1421 xorl %ecx,%ecx 558 xorl %ecx,%ecx
1422 movl (%edi),%edx 559 movl (%edi),%edx
1423 560 » # ################## Calculate word 0
1424 xorl %ebp,%ebp 561 xorl %ebp,%ebp
1425 562 » # mul a[0]*b[0]
1426 mull %edx 563 mull %edx
1427 addl %eax,%ebx 564 addl %eax,%ebx
1428 movl 20(%esp),%eax 565 movl 20(%esp),%eax
1429 adcl %edx,%ecx 566 adcl %edx,%ecx
1430 movl (%edi),%edx 567 movl (%edi),%edx
1431 adcl $0,%ebp 568 adcl $0,%ebp
1432 movl %ebx,(%eax) 569 movl %ebx,(%eax)
1433 movl 4(%esi),%eax 570 movl 4(%esi),%eax
1434 571 » # saved r[0]
1435 572 » # ################## Calculate word 1
1436 xorl %ebx,%ebx 573 xorl %ebx,%ebx
1437 574 » # mul a[1]*b[0]
1438 mull %edx 575 mull %edx
1439 addl %eax,%ecx 576 addl %eax,%ecx
1440 movl (%esi),%eax 577 movl (%esi),%eax
1441 adcl %edx,%ebp 578 adcl %edx,%ebp
1442 movl 4(%edi),%edx 579 movl 4(%edi),%edx
1443 adcl $0,%ebx 580 adcl $0,%ebx
1444 581 » # mul a[0]*b[1]
1445 mull %edx 582 mull %edx
1446 addl %eax,%ecx 583 addl %eax,%ecx
1447 movl 20(%esp),%eax 584 movl 20(%esp),%eax
1448 adcl %edx,%ebp 585 adcl %edx,%ebp
1449 movl (%edi),%edx 586 movl (%edi),%edx
1450 adcl $0,%ebx 587 adcl $0,%ebx
1451 movl %ecx,4(%eax) 588 movl %ecx,4(%eax)
1452 movl 8(%esi),%eax 589 movl 8(%esi),%eax
1453 590 » # saved r[1]
1454 591 » # ################## Calculate word 2
1455 xorl %ecx,%ecx 592 xorl %ecx,%ecx
1456 593 » # mul a[2]*b[0]
1457 mull %edx 594 mull %edx
1458 addl %eax,%ebp 595 addl %eax,%ebp
1459 movl 4(%esi),%eax 596 movl 4(%esi),%eax
1460 adcl %edx,%ebx 597 adcl %edx,%ebx
1461 movl 4(%edi),%edx 598 movl 4(%edi),%edx
1462 adcl $0,%ecx 599 adcl $0,%ecx
1463 600 » # mul a[1]*b[1]
1464 mull %edx 601 mull %edx
1465 addl %eax,%ebp 602 addl %eax,%ebp
1466 movl (%esi),%eax 603 movl (%esi),%eax
1467 adcl %edx,%ebx 604 adcl %edx,%ebx
1468 movl 8(%edi),%edx 605 movl 8(%edi),%edx
1469 adcl $0,%ecx 606 adcl $0,%ecx
1470 607 » # mul a[0]*b[2]
1471 mull %edx 608 mull %edx
1472 addl %eax,%ebp 609 addl %eax,%ebp
1473 movl 20(%esp),%eax 610 movl 20(%esp),%eax
1474 adcl %edx,%ebx 611 adcl %edx,%ebx
1475 movl (%edi),%edx 612 movl (%edi),%edx
1476 adcl $0,%ecx 613 adcl $0,%ecx
1477 movl %ebp,8(%eax) 614 movl %ebp,8(%eax)
1478 movl 12(%esi),%eax 615 movl 12(%esi),%eax
1479 616 » # saved r[2]
1480 617 » # ################## Calculate word 3
1481 xorl %ebp,%ebp 618 xorl %ebp,%ebp
1482 619 » # mul a[3]*b[0]
1483 mull %edx 620 mull %edx
1484 addl %eax,%ebx 621 addl %eax,%ebx
1485 movl 8(%esi),%eax 622 movl 8(%esi),%eax
1486 adcl %edx,%ecx 623 adcl %edx,%ecx
1487 movl 4(%edi),%edx 624 movl 4(%edi),%edx
1488 adcl $0,%ebp 625 adcl $0,%ebp
1489 626 » # mul a[2]*b[1]
1490 mull %edx 627 mull %edx
1491 addl %eax,%ebx 628 addl %eax,%ebx
1492 movl 4(%esi),%eax 629 movl 4(%esi),%eax
1493 adcl %edx,%ecx 630 adcl %edx,%ecx
1494 movl 8(%edi),%edx 631 movl 8(%edi),%edx
1495 adcl $0,%ebp 632 adcl $0,%ebp
1496 633 » # mul a[1]*b[2]
1497 mull %edx 634 mull %edx
1498 addl %eax,%ebx 635 addl %eax,%ebx
1499 movl (%esi),%eax 636 movl (%esi),%eax
1500 adcl %edx,%ecx 637 adcl %edx,%ecx
1501 movl 12(%edi),%edx 638 movl 12(%edi),%edx
1502 adcl $0,%ebp 639 adcl $0,%ebp
1503 640 » # mul a[0]*b[3]
1504 mull %edx 641 mull %edx
1505 addl %eax,%ebx 642 addl %eax,%ebx
1506 movl 20(%esp),%eax 643 movl 20(%esp),%eax
1507 adcl %edx,%ecx 644 adcl %edx,%ecx
1508 movl 4(%edi),%edx 645 movl 4(%edi),%edx
1509 adcl $0,%ebp 646 adcl $0,%ebp
1510 movl %ebx,12(%eax) 647 movl %ebx,12(%eax)
1511 movl 12(%esi),%eax 648 movl 12(%esi),%eax
1512 649 » # saved r[3]
1513 650 » # ################## Calculate word 4
1514 xorl %ebx,%ebx 651 xorl %ebx,%ebx
1515 652 » # mul a[3]*b[1]
1516 mull %edx 653 mull %edx
1517 addl %eax,%ecx 654 addl %eax,%ecx
1518 movl 8(%esi),%eax 655 movl 8(%esi),%eax
1519 adcl %edx,%ebp 656 adcl %edx,%ebp
1520 movl 8(%edi),%edx 657 movl 8(%edi),%edx
1521 adcl $0,%ebx 658 adcl $0,%ebx
1522 659 » # mul a[2]*b[2]
1523 mull %edx 660 mull %edx
1524 addl %eax,%ecx 661 addl %eax,%ecx
1525 movl 4(%esi),%eax 662 movl 4(%esi),%eax
1526 adcl %edx,%ebp 663 adcl %edx,%ebp
1527 movl 12(%edi),%edx 664 movl 12(%edi),%edx
1528 adcl $0,%ebx 665 adcl $0,%ebx
1529 666 » # mul a[1]*b[3]
1530 mull %edx 667 mull %edx
1531 addl %eax,%ecx 668 addl %eax,%ecx
1532 movl 20(%esp),%eax 669 movl 20(%esp),%eax
1533 adcl %edx,%ebp 670 adcl %edx,%ebp
1534 movl 8(%edi),%edx 671 movl 8(%edi),%edx
1535 adcl $0,%ebx 672 adcl $0,%ebx
1536 movl %ecx,16(%eax) 673 movl %ecx,16(%eax)
1537 movl 12(%esi),%eax 674 movl 12(%esi),%eax
1538 675 » # saved r[4]
1539 676 » # ################## Calculate word 5
1540 xorl %ecx,%ecx 677 xorl %ecx,%ecx
1541 678 » # mul a[3]*b[2]
1542 mull %edx 679 mull %edx
1543 addl %eax,%ebp 680 addl %eax,%ebp
1544 movl 8(%esi),%eax 681 movl 8(%esi),%eax
1545 adcl %edx,%ebx 682 adcl %edx,%ebx
1546 movl 12(%edi),%edx 683 movl 12(%edi),%edx
1547 adcl $0,%ecx 684 adcl $0,%ecx
1548 685 » # mul a[2]*b[3]
1549 mull %edx 686 mull %edx
1550 addl %eax,%ebp 687 addl %eax,%ebp
1551 movl 20(%esp),%eax 688 movl 20(%esp),%eax
1552 adcl %edx,%ebx 689 adcl %edx,%ebx
1553 movl 12(%edi),%edx 690 movl 12(%edi),%edx
1554 adcl $0,%ecx 691 adcl $0,%ecx
1555 movl %ebp,20(%eax) 692 movl %ebp,20(%eax)
1556 movl 12(%esi),%eax 693 movl 12(%esi),%eax
1557 694 » # saved r[5]
1558 695 » # ################## Calculate word 6
1559 xorl %ebp,%ebp 696 xorl %ebp,%ebp
1560 697 » # mul a[3]*b[3]
1561 mull %edx 698 mull %edx
1562 addl %eax,%ebx 699 addl %eax,%ebx
1563 movl 20(%esp),%eax 700 movl 20(%esp),%eax
1564 adcl %edx,%ecx 701 adcl %edx,%ecx
1565 adcl $0,%ebp 702 adcl $0,%ebp
1566 movl %ebx,24(%eax) 703 movl %ebx,24(%eax)
1567 704 » # saved r[6]
1568 705 » # save r[7]
1569 movl %ecx,28(%eax) 706 movl %ecx,28(%eax)
1570 popl %ebx 707 popl %ebx
1571 popl %ebp 708 popl %ebp
1572 popl %edi 709 popl %edi
1573 popl %esi 710 popl %esi
1574 ret 711 ret
1575 .size» bn_mul_comba4,.-.L_bn_mul_comba4_begin 712 .globl» _bn_sqr_comba8
1576 .globl» bn_sqr_comba8 713 .align» 4
1577 .type» bn_sqr_comba8,@function 714 _bn_sqr_comba8:
1578 .align» 16 715 L_bn_sqr_comba8_begin:
1579 bn_sqr_comba8:
1580 .L_bn_sqr_comba8_begin:
1581 pushl %esi 716 pushl %esi
1582 pushl %edi 717 pushl %edi
1583 pushl %ebp 718 pushl %ebp
1584 pushl %ebx 719 pushl %ebx
1585 movl 20(%esp),%edi 720 movl 20(%esp),%edi
1586 movl 24(%esp),%esi 721 movl 24(%esp),%esi
1587 xorl %ebx,%ebx 722 xorl %ebx,%ebx
1588 xorl %ecx,%ecx 723 xorl %ecx,%ecx
1589 movl (%esi),%eax 724 movl (%esi),%eax
1590 725 » # ############### Calculate word 0
1591 xorl %ebp,%ebp 726 xorl %ebp,%ebp
1592 727 » # sqr a[0]*a[0]
1593 mull %eax 728 mull %eax
1594 addl %eax,%ebx 729 addl %eax,%ebx
1595 adcl %edx,%ecx 730 adcl %edx,%ecx
1596 movl (%esi),%edx 731 movl (%esi),%edx
1597 adcl $0,%ebp 732 adcl $0,%ebp
1598 movl %ebx,(%edi) 733 movl %ebx,(%edi)
1599 movl 4(%esi),%eax 734 movl 4(%esi),%eax
1600 735 » # saved r[0]
1601 736 » # ############### Calculate word 1
1602 xorl %ebx,%ebx 737 xorl %ebx,%ebx
1603 738 » # sqr a[1]*a[0]
1604 mull %edx 739 mull %edx
1605 addl %eax,%eax 740 addl %eax,%eax
1606 adcl %edx,%edx 741 adcl %edx,%edx
1607 adcl $0,%ebx 742 adcl $0,%ebx
1608 addl %eax,%ecx 743 addl %eax,%ecx
1609 adcl %edx,%ebp 744 adcl %edx,%ebp
1610 movl 8(%esi),%eax 745 movl 8(%esi),%eax
1611 adcl $0,%ebx 746 adcl $0,%ebx
1612 movl %ecx,4(%edi) 747 movl %ecx,4(%edi)
1613 movl (%esi),%edx 748 movl (%esi),%edx
1614 749 » # saved r[1]
1615 750 » # ############### Calculate word 2
1616 xorl %ecx,%ecx 751 xorl %ecx,%ecx
1617 752 » # sqr a[2]*a[0]
1618 mull %edx 753 mull %edx
1619 addl %eax,%eax 754 addl %eax,%eax
1620 adcl %edx,%edx 755 adcl %edx,%edx
1621 adcl $0,%ecx 756 adcl $0,%ecx
1622 addl %eax,%ebp 757 addl %eax,%ebp
1623 adcl %edx,%ebx 758 adcl %edx,%ebx
1624 movl 4(%esi),%eax 759 movl 4(%esi),%eax
1625 adcl $0,%ecx 760 adcl $0,%ecx
1626 761 » # sqr a[1]*a[1]
1627 mull %eax 762 mull %eax
1628 addl %eax,%ebp 763 addl %eax,%ebp
1629 adcl %edx,%ebx 764 adcl %edx,%ebx
1630 movl (%esi),%edx 765 movl (%esi),%edx
1631 adcl $0,%ecx 766 adcl $0,%ecx
1632 movl %ebp,8(%edi) 767 movl %ebp,8(%edi)
1633 movl 12(%esi),%eax 768 movl 12(%esi),%eax
1634 769 » # saved r[2]
1635 770 » # ############### Calculate word 3
1636 xorl %ebp,%ebp 771 xorl %ebp,%ebp
1637 772 » # sqr a[3]*a[0]
1638 mull %edx 773 mull %edx
1639 addl %eax,%eax 774 addl %eax,%eax
1640 adcl %edx,%edx 775 adcl %edx,%edx
1641 adcl $0,%ebp 776 adcl $0,%ebp
1642 addl %eax,%ebx 777 addl %eax,%ebx
1643 adcl %edx,%ecx 778 adcl %edx,%ecx
1644 movl 8(%esi),%eax 779 movl 8(%esi),%eax
1645 adcl $0,%ebp 780 adcl $0,%ebp
1646 movl 4(%esi),%edx 781 movl 4(%esi),%edx
1647 782 » # sqr a[2]*a[1]
1648 mull %edx 783 mull %edx
1649 addl %eax,%eax 784 addl %eax,%eax
1650 adcl %edx,%edx 785 adcl %edx,%edx
1651 adcl $0,%ebp 786 adcl $0,%ebp
1652 addl %eax,%ebx 787 addl %eax,%ebx
1653 adcl %edx,%ecx 788 adcl %edx,%ecx
1654 movl 16(%esi),%eax 789 movl 16(%esi),%eax
1655 adcl $0,%ebp 790 adcl $0,%ebp
1656 movl %ebx,12(%edi) 791 movl %ebx,12(%edi)
1657 movl (%esi),%edx 792 movl (%esi),%edx
1658 793 » # saved r[3]
1659 794 » # ############### Calculate word 4
1660 xorl %ebx,%ebx 795 xorl %ebx,%ebx
1661 796 » # sqr a[4]*a[0]
1662 mull %edx 797 mull %edx
1663 addl %eax,%eax 798 addl %eax,%eax
1664 adcl %edx,%edx 799 adcl %edx,%edx
1665 adcl $0,%ebx 800 adcl $0,%ebx
1666 addl %eax,%ecx 801 addl %eax,%ecx
1667 adcl %edx,%ebp 802 adcl %edx,%ebp
1668 movl 12(%esi),%eax 803 movl 12(%esi),%eax
1669 adcl $0,%ebx 804 adcl $0,%ebx
1670 movl 4(%esi),%edx 805 movl 4(%esi),%edx
1671 806 » # sqr a[3]*a[1]
1672 mull %edx 807 mull %edx
1673 addl %eax,%eax 808 addl %eax,%eax
1674 adcl %edx,%edx 809 adcl %edx,%edx
1675 adcl $0,%ebx 810 adcl $0,%ebx
1676 addl %eax,%ecx 811 addl %eax,%ecx
1677 adcl %edx,%ebp 812 adcl %edx,%ebp
1678 movl 8(%esi),%eax 813 movl 8(%esi),%eax
1679 adcl $0,%ebx 814 adcl $0,%ebx
1680 815 » # sqr a[2]*a[2]
1681 mull %eax 816 mull %eax
1682 addl %eax,%ecx 817 addl %eax,%ecx
1683 adcl %edx,%ebp 818 adcl %edx,%ebp
1684 movl (%esi),%edx 819 movl (%esi),%edx
1685 adcl $0,%ebx 820 adcl $0,%ebx
1686 movl %ecx,16(%edi) 821 movl %ecx,16(%edi)
1687 movl 20(%esi),%eax 822 movl 20(%esi),%eax
1688 823 » # saved r[4]
1689 824 » # ############### Calculate word 5
1690 xorl %ecx,%ecx 825 xorl %ecx,%ecx
1691 826 » # sqr a[5]*a[0]
1692 mull %edx 827 mull %edx
1693 addl %eax,%eax 828 addl %eax,%eax
1694 adcl %edx,%edx 829 adcl %edx,%edx
1695 adcl $0,%ecx 830 adcl $0,%ecx
1696 addl %eax,%ebp 831 addl %eax,%ebp
1697 adcl %edx,%ebx 832 adcl %edx,%ebx
1698 movl 16(%esi),%eax 833 movl 16(%esi),%eax
1699 adcl $0,%ecx 834 adcl $0,%ecx
1700 movl 4(%esi),%edx 835 movl 4(%esi),%edx
1701 836 » # sqr a[4]*a[1]
1702 mull %edx 837 mull %edx
1703 addl %eax,%eax 838 addl %eax,%eax
1704 adcl %edx,%edx 839 adcl %edx,%edx
1705 adcl $0,%ecx 840 adcl $0,%ecx
1706 addl %eax,%ebp 841 addl %eax,%ebp
1707 adcl %edx,%ebx 842 adcl %edx,%ebx
1708 movl 12(%esi),%eax 843 movl 12(%esi),%eax
1709 adcl $0,%ecx 844 adcl $0,%ecx
1710 movl 8(%esi),%edx 845 movl 8(%esi),%edx
1711 846 » # sqr a[3]*a[2]
1712 mull %edx 847 mull %edx
1713 addl %eax,%eax 848 addl %eax,%eax
1714 adcl %edx,%edx 849 adcl %edx,%edx
1715 adcl $0,%ecx 850 adcl $0,%ecx
1716 addl %eax,%ebp 851 addl %eax,%ebp
1717 adcl %edx,%ebx 852 adcl %edx,%ebx
1718 movl 24(%esi),%eax 853 movl 24(%esi),%eax
1719 adcl $0,%ecx 854 adcl $0,%ecx
1720 movl %ebp,20(%edi) 855 movl %ebp,20(%edi)
1721 movl (%esi),%edx 856 movl (%esi),%edx
1722 857 » # saved r[5]
1723 858 » # ############### Calculate word 6
1724 xorl %ebp,%ebp 859 xorl %ebp,%ebp
1725 860 » # sqr a[6]*a[0]
1726 mull %edx 861 mull %edx
1727 addl %eax,%eax 862 addl %eax,%eax
1728 adcl %edx,%edx 863 adcl %edx,%edx
1729 adcl $0,%ebp 864 adcl $0,%ebp
1730 addl %eax,%ebx 865 addl %eax,%ebx
1731 adcl %edx,%ecx 866 adcl %edx,%ecx
1732 movl 20(%esi),%eax 867 movl 20(%esi),%eax
1733 adcl $0,%ebp 868 adcl $0,%ebp
1734 movl 4(%esi),%edx 869 movl 4(%esi),%edx
1735 870 » # sqr a[5]*a[1]
1736 mull %edx 871 mull %edx
1737 addl %eax,%eax 872 addl %eax,%eax
1738 adcl %edx,%edx 873 adcl %edx,%edx
1739 adcl $0,%ebp 874 adcl $0,%ebp
1740 addl %eax,%ebx 875 addl %eax,%ebx
1741 adcl %edx,%ecx 876 adcl %edx,%ecx
1742 movl 16(%esi),%eax 877 movl 16(%esi),%eax
1743 adcl $0,%ebp 878 adcl $0,%ebp
1744 movl 8(%esi),%edx 879 movl 8(%esi),%edx
1745 880 » # sqr a[4]*a[2]
1746 mull %edx 881 mull %edx
1747 addl %eax,%eax 882 addl %eax,%eax
1748 adcl %edx,%edx 883 adcl %edx,%edx
1749 adcl $0,%ebp 884 adcl $0,%ebp
1750 addl %eax,%ebx 885 addl %eax,%ebx
1751 adcl %edx,%ecx 886 adcl %edx,%ecx
1752 movl 12(%esi),%eax 887 movl 12(%esi),%eax
1753 adcl $0,%ebp 888 adcl $0,%ebp
1754 889 » # sqr a[3]*a[3]
1755 mull %eax 890 mull %eax
1756 addl %eax,%ebx 891 addl %eax,%ebx
1757 adcl %edx,%ecx 892 adcl %edx,%ecx
1758 movl (%esi),%edx 893 movl (%esi),%edx
1759 adcl $0,%ebp 894 adcl $0,%ebp
1760 movl %ebx,24(%edi) 895 movl %ebx,24(%edi)
1761 movl 28(%esi),%eax 896 movl 28(%esi),%eax
1762 897 » # saved r[6]
1763 898 » # ############### Calculate word 7
1764 xorl %ebx,%ebx 899 xorl %ebx,%ebx
1765 900 » # sqr a[7]*a[0]
1766 mull %edx 901 mull %edx
1767 addl %eax,%eax 902 addl %eax,%eax
1768 adcl %edx,%edx 903 adcl %edx,%edx
1769 adcl $0,%ebx 904 adcl $0,%ebx
1770 addl %eax,%ecx 905 addl %eax,%ecx
1771 adcl %edx,%ebp 906 adcl %edx,%ebp
1772 movl 24(%esi),%eax 907 movl 24(%esi),%eax
1773 adcl $0,%ebx 908 adcl $0,%ebx
1774 movl 4(%esi),%edx 909 movl 4(%esi),%edx
1775 910 » # sqr a[6]*a[1]
1776 mull %edx 911 mull %edx
1777 addl %eax,%eax 912 addl %eax,%eax
1778 adcl %edx,%edx 913 adcl %edx,%edx
1779 adcl $0,%ebx 914 adcl $0,%ebx
1780 addl %eax,%ecx 915 addl %eax,%ecx
1781 adcl %edx,%ebp 916 adcl %edx,%ebp
1782 movl 20(%esi),%eax 917 movl 20(%esi),%eax
1783 adcl $0,%ebx 918 adcl $0,%ebx
1784 movl 8(%esi),%edx 919 movl 8(%esi),%edx
1785 920 » # sqr a[5]*a[2]
1786 mull %edx 921 mull %edx
1787 addl %eax,%eax 922 addl %eax,%eax
1788 adcl %edx,%edx 923 adcl %edx,%edx
1789 adcl $0,%ebx 924 adcl $0,%ebx
1790 addl %eax,%ecx 925 addl %eax,%ecx
1791 adcl %edx,%ebp 926 adcl %edx,%ebp
1792 movl 16(%esi),%eax 927 movl 16(%esi),%eax
1793 adcl $0,%ebx 928 adcl $0,%ebx
1794 movl 12(%esi),%edx 929 movl 12(%esi),%edx
1795 930 » # sqr a[4]*a[3]
1796 mull %edx 931 mull %edx
1797 addl %eax,%eax 932 addl %eax,%eax
1798 adcl %edx,%edx 933 adcl %edx,%edx
1799 adcl $0,%ebx 934 adcl $0,%ebx
1800 addl %eax,%ecx 935 addl %eax,%ecx
1801 adcl %edx,%ebp 936 adcl %edx,%ebp
1802 movl 28(%esi),%eax 937 movl 28(%esi),%eax
1803 adcl $0,%ebx 938 adcl $0,%ebx
1804 movl %ecx,28(%edi) 939 movl %ecx,28(%edi)
1805 movl 4(%esi),%edx 940 movl 4(%esi),%edx
1806 941 » # saved r[7]
1807 942 » # ############### Calculate word 8
1808 xorl %ecx,%ecx 943 xorl %ecx,%ecx
1809 944 » # sqr a[7]*a[1]
1810 mull %edx 945 mull %edx
1811 addl %eax,%eax 946 addl %eax,%eax
1812 adcl %edx,%edx 947 adcl %edx,%edx
1813 adcl $0,%ecx 948 adcl $0,%ecx
1814 addl %eax,%ebp 949 addl %eax,%ebp
1815 adcl %edx,%ebx 950 adcl %edx,%ebx
1816 movl 24(%esi),%eax 951 movl 24(%esi),%eax
1817 adcl $0,%ecx 952 adcl $0,%ecx
1818 movl 8(%esi),%edx 953 movl 8(%esi),%edx
1819 954 » # sqr a[6]*a[2]
1820 mull %edx 955 mull %edx
1821 addl %eax,%eax 956 addl %eax,%eax
1822 adcl %edx,%edx 957 adcl %edx,%edx
1823 adcl $0,%ecx 958 adcl $0,%ecx
1824 addl %eax,%ebp 959 addl %eax,%ebp
1825 adcl %edx,%ebx 960 adcl %edx,%ebx
1826 movl 20(%esi),%eax 961 movl 20(%esi),%eax
1827 adcl $0,%ecx 962 adcl $0,%ecx
1828 movl 12(%esi),%edx 963 movl 12(%esi),%edx
1829 964 » # sqr a[5]*a[3]
1830 mull %edx 965 mull %edx
1831 addl %eax,%eax 966 addl %eax,%eax
1832 adcl %edx,%edx 967 adcl %edx,%edx
1833 adcl $0,%ecx 968 adcl $0,%ecx
1834 addl %eax,%ebp 969 addl %eax,%ebp
1835 adcl %edx,%ebx 970 adcl %edx,%ebx
1836 movl 16(%esi),%eax 971 movl 16(%esi),%eax
1837 adcl $0,%ecx 972 adcl $0,%ecx
1838 973 » # sqr a[4]*a[4]
1839 mull %eax 974 mull %eax
1840 addl %eax,%ebp 975 addl %eax,%ebp
1841 adcl %edx,%ebx 976 adcl %edx,%ebx
1842 movl 8(%esi),%edx 977 movl 8(%esi),%edx
1843 adcl $0,%ecx 978 adcl $0,%ecx
1844 movl %ebp,32(%edi) 979 movl %ebp,32(%edi)
1845 movl 28(%esi),%eax 980 movl 28(%esi),%eax
1846 981 » # saved r[8]
1847 982 » # ############### Calculate word 9
1848 xorl %ebp,%ebp 983 xorl %ebp,%ebp
1849 984 » # sqr a[7]*a[2]
1850 mull %edx 985 mull %edx
1851 addl %eax,%eax 986 addl %eax,%eax
1852 adcl %edx,%edx 987 adcl %edx,%edx
1853 adcl $0,%ebp 988 adcl $0,%ebp
1854 addl %eax,%ebx 989 addl %eax,%ebx
1855 adcl %edx,%ecx 990 adcl %edx,%ecx
1856 movl 24(%esi),%eax 991 movl 24(%esi),%eax
1857 adcl $0,%ebp 992 adcl $0,%ebp
1858 movl 12(%esi),%edx 993 movl 12(%esi),%edx
1859 994 » # sqr a[6]*a[3]
1860 mull %edx 995 mull %edx
1861 addl %eax,%eax 996 addl %eax,%eax
1862 adcl %edx,%edx 997 adcl %edx,%edx
1863 adcl $0,%ebp 998 adcl $0,%ebp
1864 addl %eax,%ebx 999 addl %eax,%ebx
1865 adcl %edx,%ecx 1000 adcl %edx,%ecx
1866 movl 20(%esi),%eax 1001 movl 20(%esi),%eax
1867 adcl $0,%ebp 1002 adcl $0,%ebp
1868 movl 16(%esi),%edx 1003 movl 16(%esi),%edx
1869 1004 » # sqr a[5]*a[4]
1870 mull %edx 1005 mull %edx
1871 addl %eax,%eax 1006 addl %eax,%eax
1872 adcl %edx,%edx 1007 adcl %edx,%edx
1873 adcl $0,%ebp 1008 adcl $0,%ebp
1874 addl %eax,%ebx 1009 addl %eax,%ebx
1875 adcl %edx,%ecx 1010 adcl %edx,%ecx
1876 movl 28(%esi),%eax 1011 movl 28(%esi),%eax
1877 adcl $0,%ebp 1012 adcl $0,%ebp
1878 movl %ebx,36(%edi) 1013 movl %ebx,36(%edi)
1879 movl 12(%esi),%edx 1014 movl 12(%esi),%edx
1880 1015 » # saved r[9]
1881 1016 » # ############### Calculate word 10
1882 xorl %ebx,%ebx 1017 xorl %ebx,%ebx
1883 1018 » # sqr a[7]*a[3]
1884 mull %edx 1019 mull %edx
1885 addl %eax,%eax 1020 addl %eax,%eax
1886 adcl %edx,%edx 1021 adcl %edx,%edx
1887 adcl $0,%ebx 1022 adcl $0,%ebx
1888 addl %eax,%ecx 1023 addl %eax,%ecx
1889 adcl %edx,%ebp 1024 adcl %edx,%ebp
1890 movl 24(%esi),%eax 1025 movl 24(%esi),%eax
1891 adcl $0,%ebx 1026 adcl $0,%ebx
1892 movl 16(%esi),%edx 1027 movl 16(%esi),%edx
1893 1028 » # sqr a[6]*a[4]
1894 mull %edx 1029 mull %edx
1895 addl %eax,%eax 1030 addl %eax,%eax
1896 adcl %edx,%edx 1031 adcl %edx,%edx
1897 adcl $0,%ebx 1032 adcl $0,%ebx
1898 addl %eax,%ecx 1033 addl %eax,%ecx
1899 adcl %edx,%ebp 1034 adcl %edx,%ebp
1900 movl 20(%esi),%eax 1035 movl 20(%esi),%eax
1901 adcl $0,%ebx 1036 adcl $0,%ebx
1902 1037 » # sqr a[5]*a[5]
1903 mull %eax 1038 mull %eax
1904 addl %eax,%ecx 1039 addl %eax,%ecx
1905 adcl %edx,%ebp 1040 adcl %edx,%ebp
1906 movl 16(%esi),%edx 1041 movl 16(%esi),%edx
1907 adcl $0,%ebx 1042 adcl $0,%ebx
1908 movl %ecx,40(%edi) 1043 movl %ecx,40(%edi)
1909 movl 28(%esi),%eax 1044 movl 28(%esi),%eax
1910 1045 » # saved r[10]
1911 1046 » # ############### Calculate word 11
1912 xorl %ecx,%ecx 1047 xorl %ecx,%ecx
1913 1048 » # sqr a[7]*a[4]
1914 mull %edx 1049 mull %edx
1915 addl %eax,%eax 1050 addl %eax,%eax
1916 adcl %edx,%edx 1051 adcl %edx,%edx
1917 adcl $0,%ecx 1052 adcl $0,%ecx
1918 addl %eax,%ebp 1053 addl %eax,%ebp
1919 adcl %edx,%ebx 1054 adcl %edx,%ebx
1920 movl 24(%esi),%eax 1055 movl 24(%esi),%eax
1921 adcl $0,%ecx 1056 adcl $0,%ecx
1922 movl 20(%esi),%edx 1057 movl 20(%esi),%edx
1923 1058 » # sqr a[6]*a[5]
1924 mull %edx 1059 mull %edx
1925 addl %eax,%eax 1060 addl %eax,%eax
1926 adcl %edx,%edx 1061 adcl %edx,%edx
1927 adcl $0,%ecx 1062 adcl $0,%ecx
1928 addl %eax,%ebp 1063 addl %eax,%ebp
1929 adcl %edx,%ebx 1064 adcl %edx,%ebx
1930 movl 28(%esi),%eax 1065 movl 28(%esi),%eax
1931 adcl $0,%ecx 1066 adcl $0,%ecx
1932 movl %ebp,44(%edi) 1067 movl %ebp,44(%edi)
1933 movl 20(%esi),%edx 1068 movl 20(%esi),%edx
1934 1069 » # saved r[11]
1935 1070 » # ############### Calculate word 12
1936 xorl %ebp,%ebp 1071 xorl %ebp,%ebp
1937 1072 » # sqr a[7]*a[5]
1938 mull %edx 1073 mull %edx
1939 addl %eax,%eax 1074 addl %eax,%eax
1940 adcl %edx,%edx 1075 adcl %edx,%edx
1941 adcl $0,%ebp 1076 adcl $0,%ebp
1942 addl %eax,%ebx 1077 addl %eax,%ebx
1943 adcl %edx,%ecx 1078 adcl %edx,%ecx
1944 movl 24(%esi),%eax 1079 movl 24(%esi),%eax
1945 adcl $0,%ebp 1080 adcl $0,%ebp
1946 1081 » # sqr a[6]*a[6]
1947 mull %eax 1082 mull %eax
1948 addl %eax,%ebx 1083 addl %eax,%ebx
1949 adcl %edx,%ecx 1084 adcl %edx,%ecx
1950 movl 24(%esi),%edx 1085 movl 24(%esi),%edx
1951 adcl $0,%ebp 1086 adcl $0,%ebp
1952 movl %ebx,48(%edi) 1087 movl %ebx,48(%edi)
1953 movl 28(%esi),%eax 1088 movl 28(%esi),%eax
1954 1089 » # saved r[12]
1955 1090 » # ############### Calculate word 13
1956 xorl %ebx,%ebx 1091 xorl %ebx,%ebx
1957 1092 » # sqr a[7]*a[6]
1958 mull %edx 1093 mull %edx
1959 addl %eax,%eax 1094 addl %eax,%eax
1960 adcl %edx,%edx 1095 adcl %edx,%edx
1961 adcl $0,%ebx 1096 adcl $0,%ebx
1962 addl %eax,%ecx 1097 addl %eax,%ecx
1963 adcl %edx,%ebp 1098 adcl %edx,%ebp
1964 movl 28(%esi),%eax 1099 movl 28(%esi),%eax
1965 adcl $0,%ebx 1100 adcl $0,%ebx
1966 movl %ecx,52(%edi) 1101 movl %ecx,52(%edi)
1967 1102 » # saved r[13]
1968 1103 » # ############### Calculate word 14
1969 xorl %ecx,%ecx 1104 xorl %ecx,%ecx
1970 1105 » # sqr a[7]*a[7]
1971 mull %eax 1106 mull %eax
1972 addl %eax,%ebp 1107 addl %eax,%ebp
1973 adcl %edx,%ebx 1108 adcl %edx,%ebx
1974 adcl $0,%ecx 1109 adcl $0,%ecx
1975 movl %ebp,56(%edi) 1110 movl %ebp,56(%edi)
1976 1111 » # saved r[14]
1977 movl %ebx,60(%edi) 1112 movl %ebx,60(%edi)
1978 popl %ebx 1113 popl %ebx
1979 popl %ebp 1114 popl %ebp
1980 popl %edi 1115 popl %edi
1981 popl %esi 1116 popl %esi
1982 ret 1117 ret
1983 .size» bn_sqr_comba8,.-.L_bn_sqr_comba8_begin 1118 .globl» _bn_sqr_comba4
1984 .globl» bn_sqr_comba4 1119 .align» 4
1985 .type» bn_sqr_comba4,@function 1120 _bn_sqr_comba4:
1986 .align» 16 1121 L_bn_sqr_comba4_begin:
1987 bn_sqr_comba4:
1988 .L_bn_sqr_comba4_begin:
1989 pushl %esi 1122 pushl %esi
1990 pushl %edi 1123 pushl %edi
1991 pushl %ebp 1124 pushl %ebp
1992 pushl %ebx 1125 pushl %ebx
1993 movl 20(%esp),%edi 1126 movl 20(%esp),%edi
1994 movl 24(%esp),%esi 1127 movl 24(%esp),%esi
1995 xorl %ebx,%ebx 1128 xorl %ebx,%ebx
1996 xorl %ecx,%ecx 1129 xorl %ecx,%ecx
1997 movl (%esi),%eax 1130 movl (%esi),%eax
1998 1131 » # ############### Calculate word 0
1999 xorl %ebp,%ebp 1132 xorl %ebp,%ebp
2000 1133 » # sqr a[0]*a[0]
2001 mull %eax 1134 mull %eax
2002 addl %eax,%ebx 1135 addl %eax,%ebx
2003 adcl %edx,%ecx 1136 adcl %edx,%ecx
2004 movl (%esi),%edx 1137 movl (%esi),%edx
2005 adcl $0,%ebp 1138 adcl $0,%ebp
2006 movl %ebx,(%edi) 1139 movl %ebx,(%edi)
2007 movl 4(%esi),%eax 1140 movl 4(%esi),%eax
2008 1141 » # saved r[0]
2009 1142 » # ############### Calculate word 1
2010 xorl %ebx,%ebx 1143 xorl %ebx,%ebx
2011 1144 » # sqr a[1]*a[0]
2012 mull %edx 1145 mull %edx
2013 addl %eax,%eax 1146 addl %eax,%eax
2014 adcl %edx,%edx 1147 adcl %edx,%edx
2015 adcl $0,%ebx 1148 adcl $0,%ebx
2016 addl %eax,%ecx 1149 addl %eax,%ecx
2017 adcl %edx,%ebp 1150 adcl %edx,%ebp
2018 movl 8(%esi),%eax 1151 movl 8(%esi),%eax
2019 adcl $0,%ebx 1152 adcl $0,%ebx
2020 movl %ecx,4(%edi) 1153 movl %ecx,4(%edi)
2021 movl (%esi),%edx 1154 movl (%esi),%edx
2022 1155 » # saved r[1]
2023 1156 » # ############### Calculate word 2
2024 xorl %ecx,%ecx 1157 xorl %ecx,%ecx
2025 1158 » # sqr a[2]*a[0]
2026 mull %edx 1159 mull %edx
2027 addl %eax,%eax 1160 addl %eax,%eax
2028 adcl %edx,%edx 1161 adcl %edx,%edx
2029 adcl $0,%ecx 1162 adcl $0,%ecx
2030 addl %eax,%ebp 1163 addl %eax,%ebp
2031 adcl %edx,%ebx 1164 adcl %edx,%ebx
2032 movl 4(%esi),%eax 1165 movl 4(%esi),%eax
2033 adcl $0,%ecx 1166 adcl $0,%ecx
2034 1167 » # sqr a[1]*a[1]
2035 mull %eax 1168 mull %eax
2036 addl %eax,%ebp 1169 addl %eax,%ebp
2037 adcl %edx,%ebx 1170 adcl %edx,%ebx
2038 movl (%esi),%edx 1171 movl (%esi),%edx
2039 adcl $0,%ecx 1172 adcl $0,%ecx
2040 movl %ebp,8(%edi) 1173 movl %ebp,8(%edi)
2041 movl 12(%esi),%eax 1174 movl 12(%esi),%eax
2042 1175 » # saved r[2]
2043 1176 » # ############### Calculate word 3
2044 xorl %ebp,%ebp 1177 xorl %ebp,%ebp
2045 1178 » # sqr a[3]*a[0]
2046 mull %edx 1179 mull %edx
2047 addl %eax,%eax 1180 addl %eax,%eax
2048 adcl %edx,%edx 1181 adcl %edx,%edx
2049 adcl $0,%ebp 1182 adcl $0,%ebp
2050 addl %eax,%ebx 1183 addl %eax,%ebx
2051 adcl %edx,%ecx 1184 adcl %edx,%ecx
2052 movl 8(%esi),%eax 1185 movl 8(%esi),%eax
2053 adcl $0,%ebp 1186 adcl $0,%ebp
2054 movl 4(%esi),%edx 1187 movl 4(%esi),%edx
2055 1188 » # sqr a[2]*a[1]
2056 mull %edx 1189 mull %edx
2057 addl %eax,%eax 1190 addl %eax,%eax
2058 adcl %edx,%edx 1191 adcl %edx,%edx
2059 adcl $0,%ebp 1192 adcl $0,%ebp
2060 addl %eax,%ebx 1193 addl %eax,%ebx
2061 adcl %edx,%ecx 1194 adcl %edx,%ecx
2062 movl 12(%esi),%eax 1195 movl 12(%esi),%eax
2063 adcl $0,%ebp 1196 adcl $0,%ebp
2064 movl %ebx,12(%edi) 1197 movl %ebx,12(%edi)
2065 movl 4(%esi),%edx 1198 movl 4(%esi),%edx
2066 1199 » # saved r[3]
2067 1200 » # ############### Calculate word 4
2068 xorl %ebx,%ebx 1201 xorl %ebx,%ebx
2069 1202 » # sqr a[3]*a[1]
2070 mull %edx 1203 mull %edx
2071 addl %eax,%eax 1204 addl %eax,%eax
2072 adcl %edx,%edx 1205 adcl %edx,%edx
2073 adcl $0,%ebx 1206 adcl $0,%ebx
2074 addl %eax,%ecx 1207 addl %eax,%ecx
2075 adcl %edx,%ebp 1208 adcl %edx,%ebp
2076 movl 8(%esi),%eax 1209 movl 8(%esi),%eax
2077 adcl $0,%ebx 1210 adcl $0,%ebx
2078 1211 » # sqr a[2]*a[2]
2079 mull %eax 1212 mull %eax
2080 addl %eax,%ecx 1213 addl %eax,%ecx
2081 adcl %edx,%ebp 1214 adcl %edx,%ebp
2082 movl 8(%esi),%edx 1215 movl 8(%esi),%edx
2083 adcl $0,%ebx 1216 adcl $0,%ebx
2084 movl %ecx,16(%edi) 1217 movl %ecx,16(%edi)
2085 movl 12(%esi),%eax 1218 movl 12(%esi),%eax
2086 1219 » # saved r[4]
2087 1220 » # ############### Calculate word 5
2088 xorl %ecx,%ecx 1221 xorl %ecx,%ecx
2089 1222 » # sqr a[3]*a[2]
2090 mull %edx 1223 mull %edx
2091 addl %eax,%eax 1224 addl %eax,%eax
2092 adcl %edx,%edx 1225 adcl %edx,%edx
2093 adcl $0,%ecx 1226 adcl $0,%ecx
2094 addl %eax,%ebp 1227 addl %eax,%ebp
2095 adcl %edx,%ebx 1228 adcl %edx,%ebx
2096 movl 12(%esi),%eax 1229 movl 12(%esi),%eax
2097 adcl $0,%ecx 1230 adcl $0,%ecx
2098 movl %ebp,20(%edi) 1231 movl %ebp,20(%edi)
2099 1232 » # saved r[5]
2100 1233 » # ############### Calculate word 6
2101 xorl %ebp,%ebp 1234 xorl %ebp,%ebp
2102 1235 » # sqr a[3]*a[3]
2103 mull %eax 1236 mull %eax
2104 addl %eax,%ebx 1237 addl %eax,%ebx
2105 adcl %edx,%ecx 1238 adcl %edx,%ecx
2106 adcl $0,%ebp 1239 adcl $0,%ebp
2107 movl %ebx,24(%edi) 1240 movl %ebx,24(%edi)
2108 1241 » # saved r[6]
2109 movl %ecx,28(%edi) 1242 movl %ecx,28(%edi)
2110 popl %ebx 1243 popl %ebx
2111 popl %ebp 1244 popl %ebp
2112 popl %edi 1245 popl %edi
2113 popl %esi 1246 popl %esi
2114 ret 1247 ret
2115 .size bn_sqr_comba4,.-.L_bn_sqr_comba4_begin
2116 #endif 1248 #endif
OLDNEW
« no previous file with comments | « third_party/boringssl/mac-x86/crypto/bn/bn-586.S ('k') | third_party/boringssl/mac-x86/crypto/md5/md5-586.S » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698