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