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