Merge branch 'vendor/OPENSSL'
[dragonfly.git] / secure / lib / libcrypto / asm / co-586.s
1 .file   "../../../../crypto/openssl/crypto/bn/asm/co-586.s"
2 .text
3 .globl  bn_mul_comba8
4 .type   bn_mul_comba8,@function
5 .align  16
6 bn_mul_comba8:
7 .L_bn_mul_comba8_begin:
8         pushl   %esi
9         movl    12(%esp),%esi
10         pushl   %edi
11         movl    20(%esp),%edi
12         pushl   %ebp
13         pushl   %ebx
14         xorl    %ebx,%ebx
15         movl    (%esi),%eax
16         xorl    %ecx,%ecx
17         movl    (%edi),%edx
18
19         xorl    %ebp,%ebp
20
21         mull    %edx
22         addl    %eax,%ebx
23         movl    20(%esp),%eax
24         adcl    %edx,%ecx
25         movl    (%edi),%edx
26         adcl    $0,%ebp
27         movl    %ebx,(%eax)
28         movl    4(%esi),%eax
29
30
31         xorl    %ebx,%ebx
32
33         mull    %edx
34         addl    %eax,%ecx
35         movl    (%esi),%eax
36         adcl    %edx,%ebp
37         movl    4(%edi),%edx
38         adcl    $0,%ebx
39
40         mull    %edx
41         addl    %eax,%ecx
42         movl    20(%esp),%eax
43         adcl    %edx,%ebp
44         movl    (%edi),%edx
45         adcl    $0,%ebx
46         movl    %ecx,4(%eax)
47         movl    8(%esi),%eax
48
49
50         xorl    %ecx,%ecx
51
52         mull    %edx
53         addl    %eax,%ebp
54         movl    4(%esi),%eax
55         adcl    %edx,%ebx
56         movl    4(%edi),%edx
57         adcl    $0,%ecx
58
59         mull    %edx
60         addl    %eax,%ebp
61         movl    (%esi),%eax
62         adcl    %edx,%ebx
63         movl    8(%edi),%edx
64         adcl    $0,%ecx
65
66         mull    %edx
67         addl    %eax,%ebp
68         movl    20(%esp),%eax
69         adcl    %edx,%ebx
70         movl    (%edi),%edx
71         adcl    $0,%ecx
72         movl    %ebp,8(%eax)
73         movl    12(%esi),%eax
74
75
76         xorl    %ebp,%ebp
77
78         mull    %edx
79         addl    %eax,%ebx
80         movl    8(%esi),%eax
81         adcl    %edx,%ecx
82         movl    4(%edi),%edx
83         adcl    $0,%ebp
84
85         mull    %edx
86         addl    %eax,%ebx
87         movl    4(%esi),%eax
88         adcl    %edx,%ecx
89         movl    8(%edi),%edx
90         adcl    $0,%ebp
91
92         mull    %edx
93         addl    %eax,%ebx
94         movl    (%esi),%eax
95         adcl    %edx,%ecx
96         movl    12(%edi),%edx
97         adcl    $0,%ebp
98
99         mull    %edx
100         addl    %eax,%ebx
101         movl    20(%esp),%eax
102         adcl    %edx,%ecx
103         movl    (%edi),%edx
104         adcl    $0,%ebp
105         movl    %ebx,12(%eax)
106         movl    16(%esi),%eax
107
108
109         xorl    %ebx,%ebx
110
111         mull    %edx
112         addl    %eax,%ecx
113         movl    12(%esi),%eax
114         adcl    %edx,%ebp
115         movl    4(%edi),%edx
116         adcl    $0,%ebx
117
118         mull    %edx
119         addl    %eax,%ecx
120         movl    8(%esi),%eax
121         adcl    %edx,%ebp
122         movl    8(%edi),%edx
123         adcl    $0,%ebx
124
125         mull    %edx
126         addl    %eax,%ecx
127         movl    4(%esi),%eax
128         adcl    %edx,%ebp
129         movl    12(%edi),%edx
130         adcl    $0,%ebx
131
132         mull    %edx
133         addl    %eax,%ecx
134         movl    (%esi),%eax
135         adcl    %edx,%ebp
136         movl    16(%edi),%edx
137         adcl    $0,%ebx
138
139         mull    %edx
140         addl    %eax,%ecx
141         movl    20(%esp),%eax
142         adcl    %edx,%ebp
143         movl    (%edi),%edx
144         adcl    $0,%ebx
145         movl    %ecx,16(%eax)
146         movl    20(%esi),%eax
147
148
149         xorl    %ecx,%ecx
150
151         mull    %edx
152         addl    %eax,%ebp
153         movl    16(%esi),%eax
154         adcl    %edx,%ebx
155         movl    4(%edi),%edx
156         adcl    $0,%ecx
157
158         mull    %edx
159         addl    %eax,%ebp
160         movl    12(%esi),%eax
161         adcl    %edx,%ebx
162         movl    8(%edi),%edx
163         adcl    $0,%ecx
164
165         mull    %edx
166         addl    %eax,%ebp
167         movl    8(%esi),%eax
168         adcl    %edx,%ebx
169         movl    12(%edi),%edx
170         adcl    $0,%ecx
171
172         mull    %edx
173         addl    %eax,%ebp
174         movl    4(%esi),%eax
175         adcl    %edx,%ebx
176         movl    16(%edi),%edx
177         adcl    $0,%ecx
178
179         mull    %edx
180         addl    %eax,%ebp
181         movl    (%esi),%eax
182         adcl    %edx,%ebx
183         movl    20(%edi),%edx
184         adcl    $0,%ecx
185
186         mull    %edx
187         addl    %eax,%ebp
188         movl    20(%esp),%eax
189         adcl    %edx,%ebx
190         movl    (%edi),%edx
191         adcl    $0,%ecx
192         movl    %ebp,20(%eax)
193         movl    24(%esi),%eax
194
195
196         xorl    %ebp,%ebp
197
198         mull    %edx
199         addl    %eax,%ebx
200         movl    20(%esi),%eax
201         adcl    %edx,%ecx
202         movl    4(%edi),%edx
203         adcl    $0,%ebp
204
205         mull    %edx
206         addl    %eax,%ebx
207         movl    16(%esi),%eax
208         adcl    %edx,%ecx
209         movl    8(%edi),%edx
210         adcl    $0,%ebp
211
212         mull    %edx
213         addl    %eax,%ebx
214         movl    12(%esi),%eax
215         adcl    %edx,%ecx
216         movl    12(%edi),%edx
217         adcl    $0,%ebp
218
219         mull    %edx
220         addl    %eax,%ebx
221         movl    8(%esi),%eax
222         adcl    %edx,%ecx
223         movl    16(%edi),%edx
224         adcl    $0,%ebp
225
226         mull    %edx
227         addl    %eax,%ebx
228         movl    4(%esi),%eax
229         adcl    %edx,%ecx
230         movl    20(%edi),%edx
231         adcl    $0,%ebp
232
233         mull    %edx
234         addl    %eax,%ebx
235         movl    (%esi),%eax
236         adcl    %edx,%ecx
237         movl    24(%edi),%edx
238         adcl    $0,%ebp
239
240         mull    %edx
241         addl    %eax,%ebx
242         movl    20(%esp),%eax
243         adcl    %edx,%ecx
244         movl    (%edi),%edx
245         adcl    $0,%ebp
246         movl    %ebx,24(%eax)
247         movl    28(%esi),%eax
248
249
250         xorl    %ebx,%ebx
251
252         mull    %edx
253         addl    %eax,%ecx
254         movl    24(%esi),%eax
255         adcl    %edx,%ebp
256         movl    4(%edi),%edx
257         adcl    $0,%ebx
258
259         mull    %edx
260         addl    %eax,%ecx
261         movl    20(%esi),%eax
262         adcl    %edx,%ebp
263         movl    8(%edi),%edx
264         adcl    $0,%ebx
265
266         mull    %edx
267         addl    %eax,%ecx
268         movl    16(%esi),%eax
269         adcl    %edx,%ebp
270         movl    12(%edi),%edx
271         adcl    $0,%ebx
272
273         mull    %edx
274         addl    %eax,%ecx
275         movl    12(%esi),%eax
276         adcl    %edx,%ebp
277         movl    16(%edi),%edx
278         adcl    $0,%ebx
279
280         mull    %edx
281         addl    %eax,%ecx
282         movl    8(%esi),%eax
283         adcl    %edx,%ebp
284         movl    20(%edi),%edx
285         adcl    $0,%ebx
286
287         mull    %edx
288         addl    %eax,%ecx
289         movl    4(%esi),%eax
290         adcl    %edx,%ebp
291         movl    24(%edi),%edx
292         adcl    $0,%ebx
293
294         mull    %edx
295         addl    %eax,%ecx
296         movl    (%esi),%eax
297         adcl    %edx,%ebp
298         movl    28(%edi),%edx
299         adcl    $0,%ebx
300
301         mull    %edx
302         addl    %eax,%ecx
303         movl    20(%esp),%eax
304         adcl    %edx,%ebp
305         movl    4(%edi),%edx
306         adcl    $0,%ebx
307         movl    %ecx,28(%eax)
308         movl    28(%esi),%eax
309
310
311         xorl    %ecx,%ecx
312
313         mull    %edx
314         addl    %eax,%ebp
315         movl    24(%esi),%eax
316         adcl    %edx,%ebx
317         movl    8(%edi),%edx
318         adcl    $0,%ecx
319
320         mull    %edx
321         addl    %eax,%ebp
322         movl    20(%esi),%eax
323         adcl    %edx,%ebx
324         movl    12(%edi),%edx
325         adcl    $0,%ecx
326
327         mull    %edx
328         addl    %eax,%ebp
329         movl    16(%esi),%eax
330         adcl    %edx,%ebx
331         movl    16(%edi),%edx
332         adcl    $0,%ecx
333
334         mull    %edx
335         addl    %eax,%ebp
336         movl    12(%esi),%eax
337         adcl    %edx,%ebx
338         movl    20(%edi),%edx
339         adcl    $0,%ecx
340
341         mull    %edx
342         addl    %eax,%ebp
343         movl    8(%esi),%eax
344         adcl    %edx,%ebx
345         movl    24(%edi),%edx
346         adcl    $0,%ecx
347
348         mull    %edx
349         addl    %eax,%ebp
350         movl    4(%esi),%eax
351         adcl    %edx,%ebx
352         movl    28(%edi),%edx
353         adcl    $0,%ecx
354
355         mull    %edx
356         addl    %eax,%ebp
357         movl    20(%esp),%eax
358         adcl    %edx,%ebx
359         movl    8(%edi),%edx
360         adcl    $0,%ecx
361         movl    %ebp,32(%eax)
362         movl    28(%esi),%eax
363
364
365         xorl    %ebp,%ebp
366
367         mull    %edx
368         addl    %eax,%ebx
369         movl    24(%esi),%eax
370         adcl    %edx,%ecx
371         movl    12(%edi),%edx
372         adcl    $0,%ebp
373
374         mull    %edx
375         addl    %eax,%ebx
376         movl    20(%esi),%eax
377         adcl    %edx,%ecx
378         movl    16(%edi),%edx
379         adcl    $0,%ebp
380
381         mull    %edx
382         addl    %eax,%ebx
383         movl    16(%esi),%eax
384         adcl    %edx,%ecx
385         movl    20(%edi),%edx
386         adcl    $0,%ebp
387
388         mull    %edx
389         addl    %eax,%ebx
390         movl    12(%esi),%eax
391         adcl    %edx,%ecx
392         movl    24(%edi),%edx
393         adcl    $0,%ebp
394
395         mull    %edx
396         addl    %eax,%ebx
397         movl    8(%esi),%eax
398         adcl    %edx,%ecx
399         movl    28(%edi),%edx
400         adcl    $0,%ebp
401
402         mull    %edx
403         addl    %eax,%ebx
404         movl    20(%esp),%eax
405         adcl    %edx,%ecx
406         movl    12(%edi),%edx
407         adcl    $0,%ebp
408         movl    %ebx,36(%eax)
409         movl    28(%esi),%eax
410
411
412         xorl    %ebx,%ebx
413
414         mull    %edx
415         addl    %eax,%ecx
416         movl    24(%esi),%eax
417         adcl    %edx,%ebp
418         movl    16(%edi),%edx
419         adcl    $0,%ebx
420
421         mull    %edx
422         addl    %eax,%ecx
423         movl    20(%esi),%eax
424         adcl    %edx,%ebp
425         movl    20(%edi),%edx
426         adcl    $0,%ebx
427
428         mull    %edx
429         addl    %eax,%ecx
430         movl    16(%esi),%eax
431         adcl    %edx,%ebp
432         movl    24(%edi),%edx
433         adcl    $0,%ebx
434
435         mull    %edx
436         addl    %eax,%ecx
437         movl    12(%esi),%eax
438         adcl    %edx,%ebp
439         movl    28(%edi),%edx
440         adcl    $0,%ebx
441
442         mull    %edx
443         addl    %eax,%ecx
444         movl    20(%esp),%eax
445         adcl    %edx,%ebp
446         movl    16(%edi),%edx
447         adcl    $0,%ebx
448         movl    %ecx,40(%eax)
449         movl    28(%esi),%eax
450
451
452         xorl    %ecx,%ecx
453
454         mull    %edx
455         addl    %eax,%ebp
456         movl    24(%esi),%eax
457         adcl    %edx,%ebx
458         movl    20(%edi),%edx
459         adcl    $0,%ecx
460
461         mull    %edx
462         addl    %eax,%ebp
463         movl    20(%esi),%eax
464         adcl    %edx,%ebx
465         movl    24(%edi),%edx
466         adcl    $0,%ecx
467
468         mull    %edx
469         addl    %eax,%ebp
470         movl    16(%esi),%eax
471         adcl    %edx,%ebx
472         movl    28(%edi),%edx
473         adcl    $0,%ecx
474
475         mull    %edx
476         addl    %eax,%ebp
477         movl    20(%esp),%eax
478         adcl    %edx,%ebx
479         movl    20(%edi),%edx
480         adcl    $0,%ecx
481         movl    %ebp,44(%eax)
482         movl    28(%esi),%eax
483
484
485         xorl    %ebp,%ebp
486
487         mull    %edx
488         addl    %eax,%ebx
489         movl    24(%esi),%eax
490         adcl    %edx,%ecx
491         movl    24(%edi),%edx
492         adcl    $0,%ebp
493
494         mull    %edx
495         addl    %eax,%ebx
496         movl    20(%esi),%eax
497         adcl    %edx,%ecx
498         movl    28(%edi),%edx
499         adcl    $0,%ebp
500
501         mull    %edx
502         addl    %eax,%ebx
503         movl    20(%esp),%eax
504         adcl    %edx,%ecx
505         movl    24(%edi),%edx
506         adcl    $0,%ebp
507         movl    %ebx,48(%eax)
508         movl    28(%esi),%eax
509
510
511         xorl    %ebx,%ebx
512
513         mull    %edx
514         addl    %eax,%ecx
515         movl    24(%esi),%eax
516         adcl    %edx,%ebp
517         movl    28(%edi),%edx
518         adcl    $0,%ebx
519
520         mull    %edx
521         addl    %eax,%ecx
522         movl    20(%esp),%eax
523         adcl    %edx,%ebp
524         movl    28(%edi),%edx
525         adcl    $0,%ebx
526         movl    %ecx,52(%eax)
527         movl    28(%esi),%eax
528
529
530         xorl    %ecx,%ecx
531
532         mull    %edx
533         addl    %eax,%ebp
534         movl    20(%esp),%eax
535         adcl    %edx,%ebx
536         adcl    $0,%ecx
537         movl    %ebp,56(%eax)
538
539
540         movl    %ebx,60(%eax)
541         popl    %ebx
542         popl    %ebp
543         popl    %edi
544         popl    %esi
545         ret
546 .size   bn_mul_comba8,.-.L_bn_mul_comba8_begin
547 .globl  bn_mul_comba4
548 .type   bn_mul_comba4,@function
549 .align  16
550 bn_mul_comba4:
551 .L_bn_mul_comba4_begin:
552         pushl   %esi
553         movl    12(%esp),%esi
554         pushl   %edi
555         movl    20(%esp),%edi
556         pushl   %ebp
557         pushl   %ebx
558         xorl    %ebx,%ebx
559         movl    (%esi),%eax
560         xorl    %ecx,%ecx
561         movl    (%edi),%edx
562
563         xorl    %ebp,%ebp
564
565         mull    %edx
566         addl    %eax,%ebx
567         movl    20(%esp),%eax
568         adcl    %edx,%ecx
569         movl    (%edi),%edx
570         adcl    $0,%ebp
571         movl    %ebx,(%eax)
572         movl    4(%esi),%eax
573
574
575         xorl    %ebx,%ebx
576
577         mull    %edx
578         addl    %eax,%ecx
579         movl    (%esi),%eax
580         adcl    %edx,%ebp
581         movl    4(%edi),%edx
582         adcl    $0,%ebx
583
584         mull    %edx
585         addl    %eax,%ecx
586         movl    20(%esp),%eax
587         adcl    %edx,%ebp
588         movl    (%edi),%edx
589         adcl    $0,%ebx
590         movl    %ecx,4(%eax)
591         movl    8(%esi),%eax
592
593
594         xorl    %ecx,%ecx
595
596         mull    %edx
597         addl    %eax,%ebp
598         movl    4(%esi),%eax
599         adcl    %edx,%ebx
600         movl    4(%edi),%edx
601         adcl    $0,%ecx
602
603         mull    %edx
604         addl    %eax,%ebp
605         movl    (%esi),%eax
606         adcl    %edx,%ebx
607         movl    8(%edi),%edx
608         adcl    $0,%ecx
609
610         mull    %edx
611         addl    %eax,%ebp
612         movl    20(%esp),%eax
613         adcl    %edx,%ebx
614         movl    (%edi),%edx
615         adcl    $0,%ecx
616         movl    %ebp,8(%eax)
617         movl    12(%esi),%eax
618
619
620         xorl    %ebp,%ebp
621
622         mull    %edx
623         addl    %eax,%ebx
624         movl    8(%esi),%eax
625         adcl    %edx,%ecx
626         movl    4(%edi),%edx
627         adcl    $0,%ebp
628
629         mull    %edx
630         addl    %eax,%ebx
631         movl    4(%esi),%eax
632         adcl    %edx,%ecx
633         movl    8(%edi),%edx
634         adcl    $0,%ebp
635
636         mull    %edx
637         addl    %eax,%ebx
638         movl    (%esi),%eax
639         adcl    %edx,%ecx
640         movl    12(%edi),%edx
641         adcl    $0,%ebp
642
643         mull    %edx
644         addl    %eax,%ebx
645         movl    20(%esp),%eax
646         adcl    %edx,%ecx
647         movl    4(%edi),%edx
648         adcl    $0,%ebp
649         movl    %ebx,12(%eax)
650         movl    12(%esi),%eax
651
652
653         xorl    %ebx,%ebx
654
655         mull    %edx
656         addl    %eax,%ecx
657         movl    8(%esi),%eax
658         adcl    %edx,%ebp
659         movl    8(%edi),%edx
660         adcl    $0,%ebx
661
662         mull    %edx
663         addl    %eax,%ecx
664         movl    4(%esi),%eax
665         adcl    %edx,%ebp
666         movl    12(%edi),%edx
667         adcl    $0,%ebx
668
669         mull    %edx
670         addl    %eax,%ecx
671         movl    20(%esp),%eax
672         adcl    %edx,%ebp
673         movl    8(%edi),%edx
674         adcl    $0,%ebx
675         movl    %ecx,16(%eax)
676         movl    12(%esi),%eax
677
678
679         xorl    %ecx,%ecx
680
681         mull    %edx
682         addl    %eax,%ebp
683         movl    8(%esi),%eax
684         adcl    %edx,%ebx
685         movl    12(%edi),%edx
686         adcl    $0,%ecx
687
688         mull    %edx
689         addl    %eax,%ebp
690         movl    20(%esp),%eax
691         adcl    %edx,%ebx
692         movl    12(%edi),%edx
693         adcl    $0,%ecx
694         movl    %ebp,20(%eax)
695         movl    12(%esi),%eax
696
697
698         xorl    %ebp,%ebp
699
700         mull    %edx
701         addl    %eax,%ebx
702         movl    20(%esp),%eax
703         adcl    %edx,%ecx
704         adcl    $0,%ebp
705         movl    %ebx,24(%eax)
706
707
708         movl    %ecx,28(%eax)
709         popl    %ebx
710         popl    %ebp
711         popl    %edi
712         popl    %esi
713         ret
714 .size   bn_mul_comba4,.-.L_bn_mul_comba4_begin
715 .globl  bn_sqr_comba8
716 .type   bn_sqr_comba8,@function
717 .align  16
718 bn_sqr_comba8:
719 .L_bn_sqr_comba8_begin:
720         pushl   %esi
721         pushl   %edi
722         pushl   %ebp
723         pushl   %ebx
724         movl    20(%esp),%edi
725         movl    24(%esp),%esi
726         xorl    %ebx,%ebx
727         xorl    %ecx,%ecx
728         movl    (%esi),%eax
729
730         xorl    %ebp,%ebp
731
732         mull    %eax
733         addl    %eax,%ebx
734         adcl    %edx,%ecx
735         movl    (%esi),%edx
736         adcl    $0,%ebp
737         movl    %ebx,(%edi)
738         movl    4(%esi),%eax
739
740
741         xorl    %ebx,%ebx
742
743         mull    %edx
744         addl    %eax,%eax
745         adcl    %edx,%edx
746         adcl    $0,%ebx
747         addl    %eax,%ecx
748         adcl    %edx,%ebp
749         movl    8(%esi),%eax
750         adcl    $0,%ebx
751         movl    %ecx,4(%edi)
752         movl    (%esi),%edx
753
754
755         xorl    %ecx,%ecx
756
757         mull    %edx
758         addl    %eax,%eax
759         adcl    %edx,%edx
760         adcl    $0,%ecx
761         addl    %eax,%ebp
762         adcl    %edx,%ebx
763         movl    4(%esi),%eax
764         adcl    $0,%ecx
765
766         mull    %eax
767         addl    %eax,%ebp
768         adcl    %edx,%ebx
769         movl    (%esi),%edx
770         adcl    $0,%ecx
771         movl    %ebp,8(%edi)
772         movl    12(%esi),%eax
773
774
775         xorl    %ebp,%ebp
776
777         mull    %edx
778         addl    %eax,%eax
779         adcl    %edx,%edx
780         adcl    $0,%ebp
781         addl    %eax,%ebx
782         adcl    %edx,%ecx
783         movl    8(%esi),%eax
784         adcl    $0,%ebp
785         movl    4(%esi),%edx
786
787         mull    %edx
788         addl    %eax,%eax
789         adcl    %edx,%edx
790         adcl    $0,%ebp
791         addl    %eax,%ebx
792         adcl    %edx,%ecx
793         movl    16(%esi),%eax
794         adcl    $0,%ebp
795         movl    %ebx,12(%edi)
796         movl    (%esi),%edx
797
798
799         xorl    %ebx,%ebx
800
801         mull    %edx
802         addl    %eax,%eax
803         adcl    %edx,%edx
804         adcl    $0,%ebx
805         addl    %eax,%ecx
806         adcl    %edx,%ebp
807         movl    12(%esi),%eax
808         adcl    $0,%ebx
809         movl    4(%esi),%edx
810
811         mull    %edx
812         addl    %eax,%eax
813         adcl    %edx,%edx
814         adcl    $0,%ebx
815         addl    %eax,%ecx
816         adcl    %edx,%ebp
817         movl    8(%esi),%eax
818         adcl    $0,%ebx
819
820         mull    %eax
821         addl    %eax,%ecx
822         adcl    %edx,%ebp
823         movl    (%esi),%edx
824         adcl    $0,%ebx
825         movl    %ecx,16(%edi)
826         movl    20(%esi),%eax
827
828
829         xorl    %ecx,%ecx
830
831         mull    %edx
832         addl    %eax,%eax
833         adcl    %edx,%edx
834         adcl    $0,%ecx
835         addl    %eax,%ebp
836         adcl    %edx,%ebx
837         movl    16(%esi),%eax
838         adcl    $0,%ecx
839         movl    4(%esi),%edx
840
841         mull    %edx
842         addl    %eax,%eax
843         adcl    %edx,%edx
844         adcl    $0,%ecx
845         addl    %eax,%ebp
846         adcl    %edx,%ebx
847         movl    12(%esi),%eax
848         adcl    $0,%ecx
849         movl    8(%esi),%edx
850
851         mull    %edx
852         addl    %eax,%eax
853         adcl    %edx,%edx
854         adcl    $0,%ecx
855         addl    %eax,%ebp
856         adcl    %edx,%ebx
857         movl    24(%esi),%eax
858         adcl    $0,%ecx
859         movl    %ebp,20(%edi)
860         movl    (%esi),%edx
861
862
863         xorl    %ebp,%ebp
864
865         mull    %edx
866         addl    %eax,%eax
867         adcl    %edx,%edx
868         adcl    $0,%ebp
869         addl    %eax,%ebx
870         adcl    %edx,%ecx
871         movl    20(%esi),%eax
872         adcl    $0,%ebp
873         movl    4(%esi),%edx
874
875         mull    %edx
876         addl    %eax,%eax
877         adcl    %edx,%edx
878         adcl    $0,%ebp
879         addl    %eax,%ebx
880         adcl    %edx,%ecx
881         movl    16(%esi),%eax
882         adcl    $0,%ebp
883         movl    8(%esi),%edx
884
885         mull    %edx
886         addl    %eax,%eax
887         adcl    %edx,%edx
888         adcl    $0,%ebp
889         addl    %eax,%ebx
890         adcl    %edx,%ecx
891         movl    12(%esi),%eax
892         adcl    $0,%ebp
893
894         mull    %eax
895         addl    %eax,%ebx
896         adcl    %edx,%ecx
897         movl    (%esi),%edx
898         adcl    $0,%ebp
899         movl    %ebx,24(%edi)
900         movl    28(%esi),%eax
901
902
903         xorl    %ebx,%ebx
904
905         mull    %edx
906         addl    %eax,%eax
907         adcl    %edx,%edx
908         adcl    $0,%ebx
909         addl    %eax,%ecx
910         adcl    %edx,%ebp
911         movl    24(%esi),%eax
912         adcl    $0,%ebx
913         movl    4(%esi),%edx
914
915         mull    %edx
916         addl    %eax,%eax
917         adcl    %edx,%edx
918         adcl    $0,%ebx
919         addl    %eax,%ecx
920         adcl    %edx,%ebp
921         movl    20(%esi),%eax
922         adcl    $0,%ebx
923         movl    8(%esi),%edx
924
925         mull    %edx
926         addl    %eax,%eax
927         adcl    %edx,%edx
928         adcl    $0,%ebx
929         addl    %eax,%ecx
930         adcl    %edx,%ebp
931         movl    16(%esi),%eax
932         adcl    $0,%ebx
933         movl    12(%esi),%edx
934
935         mull    %edx
936         addl    %eax,%eax
937         adcl    %edx,%edx
938         adcl    $0,%ebx
939         addl    %eax,%ecx
940         adcl    %edx,%ebp
941         movl    28(%esi),%eax
942         adcl    $0,%ebx
943         movl    %ecx,28(%edi)
944         movl    4(%esi),%edx
945
946
947         xorl    %ecx,%ecx
948
949         mull    %edx
950         addl    %eax,%eax
951         adcl    %edx,%edx
952         adcl    $0,%ecx
953         addl    %eax,%ebp
954         adcl    %edx,%ebx
955         movl    24(%esi),%eax
956         adcl    $0,%ecx
957         movl    8(%esi),%edx
958
959         mull    %edx
960         addl    %eax,%eax
961         adcl    %edx,%edx
962         adcl    $0,%ecx
963         addl    %eax,%ebp
964         adcl    %edx,%ebx
965         movl    20(%esi),%eax
966         adcl    $0,%ecx
967         movl    12(%esi),%edx
968
969         mull    %edx
970         addl    %eax,%eax
971         adcl    %edx,%edx
972         adcl    $0,%ecx
973         addl    %eax,%ebp
974         adcl    %edx,%ebx
975         movl    16(%esi),%eax
976         adcl    $0,%ecx
977
978         mull    %eax
979         addl    %eax,%ebp
980         adcl    %edx,%ebx
981         movl    8(%esi),%edx
982         adcl    $0,%ecx
983         movl    %ebp,32(%edi)
984         movl    28(%esi),%eax
985
986
987         xorl    %ebp,%ebp
988
989         mull    %edx
990         addl    %eax,%eax
991         adcl    %edx,%edx
992         adcl    $0,%ebp
993         addl    %eax,%ebx
994         adcl    %edx,%ecx
995         movl    24(%esi),%eax
996         adcl    $0,%ebp
997         movl    12(%esi),%edx
998
999         mull    %edx
1000         addl    %eax,%eax
1001         adcl    %edx,%edx
1002         adcl    $0,%ebp
1003         addl    %eax,%ebx
1004         adcl    %edx,%ecx
1005         movl    20(%esi),%eax
1006         adcl    $0,%ebp
1007         movl    16(%esi),%edx
1008
1009         mull    %edx
1010         addl    %eax,%eax
1011         adcl    %edx,%edx
1012         adcl    $0,%ebp
1013         addl    %eax,%ebx
1014         adcl    %edx,%ecx
1015         movl    28(%esi),%eax
1016         adcl    $0,%ebp
1017         movl    %ebx,36(%edi)
1018         movl    12(%esi),%edx
1019
1020
1021         xorl    %ebx,%ebx
1022
1023         mull    %edx
1024         addl    %eax,%eax
1025         adcl    %edx,%edx
1026         adcl    $0,%ebx
1027         addl    %eax,%ecx
1028         adcl    %edx,%ebp
1029         movl    24(%esi),%eax
1030         adcl    $0,%ebx
1031         movl    16(%esi),%edx
1032
1033         mull    %edx
1034         addl    %eax,%eax
1035         adcl    %edx,%edx
1036         adcl    $0,%ebx
1037         addl    %eax,%ecx
1038         adcl    %edx,%ebp
1039         movl    20(%esi),%eax
1040         adcl    $0,%ebx
1041
1042         mull    %eax
1043         addl    %eax,%ecx
1044         adcl    %edx,%ebp
1045         movl    16(%esi),%edx
1046         adcl    $0,%ebx
1047         movl    %ecx,40(%edi)
1048         movl    28(%esi),%eax
1049
1050
1051         xorl    %ecx,%ecx
1052
1053         mull    %edx
1054         addl    %eax,%eax
1055         adcl    %edx,%edx
1056         adcl    $0,%ecx
1057         addl    %eax,%ebp
1058         adcl    %edx,%ebx
1059         movl    24(%esi),%eax
1060         adcl    $0,%ecx
1061         movl    20(%esi),%edx
1062
1063         mull    %edx
1064         addl    %eax,%eax
1065         adcl    %edx,%edx
1066         adcl    $0,%ecx
1067         addl    %eax,%ebp
1068         adcl    %edx,%ebx
1069         movl    28(%esi),%eax
1070         adcl    $0,%ecx
1071         movl    %ebp,44(%edi)
1072         movl    20(%esi),%edx
1073
1074
1075         xorl    %ebp,%ebp
1076
1077         mull    %edx
1078         addl    %eax,%eax
1079         adcl    %edx,%edx
1080         adcl    $0,%ebp
1081         addl    %eax,%ebx
1082         adcl    %edx,%ecx
1083         movl    24(%esi),%eax
1084         adcl    $0,%ebp
1085
1086         mull    %eax
1087         addl    %eax,%ebx
1088         adcl    %edx,%ecx
1089         movl    24(%esi),%edx
1090         adcl    $0,%ebp
1091         movl    %ebx,48(%edi)
1092         movl    28(%esi),%eax
1093
1094
1095         xorl    %ebx,%ebx
1096
1097         mull    %edx
1098         addl    %eax,%eax
1099         adcl    %edx,%edx
1100         adcl    $0,%ebx
1101         addl    %eax,%ecx
1102         adcl    %edx,%ebp
1103         movl    28(%esi),%eax
1104         adcl    $0,%ebx
1105         movl    %ecx,52(%edi)
1106
1107
1108         xorl    %ecx,%ecx
1109
1110         mull    %eax
1111         addl    %eax,%ebp
1112         adcl    %edx,%ebx
1113         adcl    $0,%ecx
1114         movl    %ebp,56(%edi)
1115
1116         movl    %ebx,60(%edi)
1117         popl    %ebx
1118         popl    %ebp
1119         popl    %edi
1120         popl    %esi
1121         ret
1122 .size   bn_sqr_comba8,.-.L_bn_sqr_comba8_begin
1123 .globl  bn_sqr_comba4
1124 .type   bn_sqr_comba4,@function
1125 .align  16
1126 bn_sqr_comba4:
1127 .L_bn_sqr_comba4_begin:
1128         pushl   %esi
1129         pushl   %edi
1130         pushl   %ebp
1131         pushl   %ebx
1132         movl    20(%esp),%edi
1133         movl    24(%esp),%esi
1134         xorl    %ebx,%ebx
1135         xorl    %ecx,%ecx
1136         movl    (%esi),%eax
1137
1138         xorl    %ebp,%ebp
1139
1140         mull    %eax
1141         addl    %eax,%ebx
1142         adcl    %edx,%ecx
1143         movl    (%esi),%edx
1144         adcl    $0,%ebp
1145         movl    %ebx,(%edi)
1146         movl    4(%esi),%eax
1147
1148
1149         xorl    %ebx,%ebx
1150
1151         mull    %edx
1152         addl    %eax,%eax
1153         adcl    %edx,%edx
1154         adcl    $0,%ebx
1155         addl    %eax,%ecx
1156         adcl    %edx,%ebp
1157         movl    8(%esi),%eax
1158         adcl    $0,%ebx
1159         movl    %ecx,4(%edi)
1160         movl    (%esi),%edx
1161
1162
1163         xorl    %ecx,%ecx
1164
1165         mull    %edx
1166         addl    %eax,%eax
1167         adcl    %edx,%edx
1168         adcl    $0,%ecx
1169         addl    %eax,%ebp
1170         adcl    %edx,%ebx
1171         movl    4(%esi),%eax
1172         adcl    $0,%ecx
1173
1174         mull    %eax
1175         addl    %eax,%ebp
1176         adcl    %edx,%ebx
1177         movl    (%esi),%edx
1178         adcl    $0,%ecx
1179         movl    %ebp,8(%edi)
1180         movl    12(%esi),%eax
1181
1182
1183         xorl    %ebp,%ebp
1184
1185         mull    %edx
1186         addl    %eax,%eax
1187         adcl    %edx,%edx
1188         adcl    $0,%ebp
1189         addl    %eax,%ebx
1190         adcl    %edx,%ecx
1191         movl    8(%esi),%eax
1192         adcl    $0,%ebp
1193         movl    4(%esi),%edx
1194
1195         mull    %edx
1196         addl    %eax,%eax
1197         adcl    %edx,%edx
1198         adcl    $0,%ebp
1199         addl    %eax,%ebx
1200         adcl    %edx,%ecx
1201         movl    12(%esi),%eax
1202         adcl    $0,%ebp
1203         movl    %ebx,12(%edi)
1204         movl    4(%esi),%edx
1205
1206
1207         xorl    %ebx,%ebx
1208
1209         mull    %edx
1210         addl    %eax,%eax
1211         adcl    %edx,%edx
1212         adcl    $0,%ebx
1213         addl    %eax,%ecx
1214         adcl    %edx,%ebp
1215         movl    8(%esi),%eax
1216         adcl    $0,%ebx
1217
1218         mull    %eax
1219         addl    %eax,%ecx
1220         adcl    %edx,%ebp
1221         movl    8(%esi),%edx
1222         adcl    $0,%ebx
1223         movl    %ecx,16(%edi)
1224         movl    12(%esi),%eax
1225
1226
1227         xorl    %ecx,%ecx
1228
1229         mull    %edx
1230         addl    %eax,%eax
1231         adcl    %edx,%edx
1232         adcl    $0,%ecx
1233         addl    %eax,%ebp
1234         adcl    %edx,%ebx
1235         movl    12(%esi),%eax
1236         adcl    $0,%ecx
1237         movl    %ebp,20(%edi)
1238
1239
1240         xorl    %ebp,%ebp
1241
1242         mull    %eax
1243         addl    %eax,%ebx
1244         adcl    %edx,%ecx
1245         adcl    $0,%ebp
1246         movl    %ebx,24(%edi)
1247
1248         movl    %ecx,28(%edi)
1249         popl    %ebx
1250         popl    %ebp
1251         popl    %edi
1252         popl    %esi
1253         ret
1254 .size   bn_sqr_comba4,.-.L_bn_sqr_comba4_begin