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