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