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