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