1299966Sjkim# $FreeBSD$
2299966Sjkim# Do not modify. This file is auto-generated from co-586.pl.
3299966Sjkim#ifdef PIC
4299966Sjkim.file	"co-586.S"
595967Speter.text
6238405Sjkim.globl	bn_mul_comba8
7238405Sjkim.type	bn_mul_comba8,@function
8238405Sjkim.align	16
995967Speterbn_mul_comba8:
10238405Sjkim.L_bn_mul_comba8_begin:
1195967Speter	pushl	%esi
12238405Sjkim	movl	12(%esp),%esi
1395967Speter	pushl	%edi
14238405Sjkim	movl	20(%esp),%edi
1595967Speter	pushl	%ebp
1695967Speter	pushl	%ebx
17238405Sjkim	xorl	%ebx,%ebx
18238405Sjkim	movl	(%esi),%eax
19238405Sjkim	xorl	%ecx,%ecx
20238405Sjkim	movl	(%edi),%edx
21127326Smarkm
22238405Sjkim	xorl	%ebp,%ebp
23127326Smarkm
2495967Speter	mull	%edx
25238405Sjkim	addl	%eax,%ebx
26238405Sjkim	movl	20(%esp),%eax
27238405Sjkim	adcl	%edx,%ecx
28238405Sjkim	movl	(%edi),%edx
29238405Sjkim	adcl	$0,%ebp
30238405Sjkim	movl	%ebx,(%eax)
31238405Sjkim	movl	4(%esi),%eax
32127326Smarkm
33127326Smarkm
34238405Sjkim	xorl	%ebx,%ebx
35127326Smarkm
3695967Speter	mull	%edx
37238405Sjkim	addl	%eax,%ecx
38238405Sjkim	movl	(%esi),%eax
39238405Sjkim	adcl	%edx,%ebp
40238405Sjkim	movl	4(%edi),%edx
41238405Sjkim	adcl	$0,%ebx
42127326Smarkm
4395967Speter	mull	%edx
44238405Sjkim	addl	%eax,%ecx
45238405Sjkim	movl	20(%esp),%eax
46238405Sjkim	adcl	%edx,%ebp
47238405Sjkim	movl	(%edi),%edx
48238405Sjkim	adcl	$0,%ebx
49238405Sjkim	movl	%ecx,4(%eax)
50238405Sjkim	movl	8(%esi),%eax
51127326Smarkm
52127326Smarkm
53238405Sjkim	xorl	%ecx,%ecx
54127326Smarkm
5595967Speter	mull	%edx
56238405Sjkim	addl	%eax,%ebp
57238405Sjkim	movl	4(%esi),%eax
58238405Sjkim	adcl	%edx,%ebx
59238405Sjkim	movl	4(%edi),%edx
60238405Sjkim	adcl	$0,%ecx
61127326Smarkm
6295967Speter	mull	%edx
63238405Sjkim	addl	%eax,%ebp
64238405Sjkim	movl	(%esi),%eax
65238405Sjkim	adcl	%edx,%ebx
66238405Sjkim	movl	8(%edi),%edx
67238405Sjkim	adcl	$0,%ecx
68127326Smarkm
6995967Speter	mull	%edx
70238405Sjkim	addl	%eax,%ebp
71238405Sjkim	movl	20(%esp),%eax
72238405Sjkim	adcl	%edx,%ebx
73238405Sjkim	movl	(%edi),%edx
74238405Sjkim	adcl	$0,%ecx
75238405Sjkim	movl	%ebp,8(%eax)
76238405Sjkim	movl	12(%esi),%eax
77127326Smarkm
78127326Smarkm
79238405Sjkim	xorl	%ebp,%ebp
80127326Smarkm
8195967Speter	mull	%edx
82238405Sjkim	addl	%eax,%ebx
83238405Sjkim	movl	8(%esi),%eax
84238405Sjkim	adcl	%edx,%ecx
85238405Sjkim	movl	4(%edi),%edx
86238405Sjkim	adcl	$0,%ebp
87127326Smarkm
8895967Speter	mull	%edx
89238405Sjkim	addl	%eax,%ebx
90238405Sjkim	movl	4(%esi),%eax
91238405Sjkim	adcl	%edx,%ecx
92238405Sjkim	movl	8(%edi),%edx
93238405Sjkim	adcl	$0,%ebp
94127326Smarkm
9595967Speter	mull	%edx
96238405Sjkim	addl	%eax,%ebx
97238405Sjkim	movl	(%esi),%eax
98238405Sjkim	adcl	%edx,%ecx
99238405Sjkim	movl	12(%edi),%edx
100238405Sjkim	adcl	$0,%ebp
101127326Smarkm
10295967Speter	mull	%edx
103238405Sjkim	addl	%eax,%ebx
104238405Sjkim	movl	20(%esp),%eax
105238405Sjkim	adcl	%edx,%ecx
106238405Sjkim	movl	(%edi),%edx
107238405Sjkim	adcl	$0,%ebp
108238405Sjkim	movl	%ebx,12(%eax)
109238405Sjkim	movl	16(%esi),%eax
110127326Smarkm
111127326Smarkm
112238405Sjkim	xorl	%ebx,%ebx
113127326Smarkm
11495967Speter	mull	%edx
115238405Sjkim	addl	%eax,%ecx
116238405Sjkim	movl	12(%esi),%eax
117238405Sjkim	adcl	%edx,%ebp
118238405Sjkim	movl	4(%edi),%edx
119238405Sjkim	adcl	$0,%ebx
120127326Smarkm
12195967Speter	mull	%edx
122238405Sjkim	addl	%eax,%ecx
123238405Sjkim	movl	8(%esi),%eax
124238405Sjkim	adcl	%edx,%ebp
125238405Sjkim	movl	8(%edi),%edx
126238405Sjkim	adcl	$0,%ebx
127127326Smarkm
12895967Speter	mull	%edx
129238405Sjkim	addl	%eax,%ecx
130238405Sjkim	movl	4(%esi),%eax
131238405Sjkim	adcl	%edx,%ebp
132238405Sjkim	movl	12(%edi),%edx
133238405Sjkim	adcl	$0,%ebx
134127326Smarkm
13595967Speter	mull	%edx
136238405Sjkim	addl	%eax,%ecx
137238405Sjkim	movl	(%esi),%eax
138238405Sjkim	adcl	%edx,%ebp
139238405Sjkim	movl	16(%edi),%edx
140238405Sjkim	adcl	$0,%ebx
141127326Smarkm
14295967Speter	mull	%edx
143238405Sjkim	addl	%eax,%ecx
144238405Sjkim	movl	20(%esp),%eax
145238405Sjkim	adcl	%edx,%ebp
146238405Sjkim	movl	(%edi),%edx
147238405Sjkim	adcl	$0,%ebx
148238405Sjkim	movl	%ecx,16(%eax)
149238405Sjkim	movl	20(%esi),%eax
150127326Smarkm
151127326Smarkm
152238405Sjkim	xorl	%ecx,%ecx
153127326Smarkm
15495967Speter	mull	%edx
155238405Sjkim	addl	%eax,%ebp
156238405Sjkim	movl	16(%esi),%eax
157238405Sjkim	adcl	%edx,%ebx
158238405Sjkim	movl	4(%edi),%edx
159238405Sjkim	adcl	$0,%ecx
160127326Smarkm
16195967Speter	mull	%edx
162238405Sjkim	addl	%eax,%ebp
163238405Sjkim	movl	12(%esi),%eax
164238405Sjkim	adcl	%edx,%ebx
165238405Sjkim	movl	8(%edi),%edx
166238405Sjkim	adcl	$0,%ecx
167127326Smarkm
16895967Speter	mull	%edx
169238405Sjkim	addl	%eax,%ebp
170238405Sjkim	movl	8(%esi),%eax
171238405Sjkim	adcl	%edx,%ebx
172238405Sjkim	movl	12(%edi),%edx
173238405Sjkim	adcl	$0,%ecx
174127326Smarkm
17595967Speter	mull	%edx
176238405Sjkim	addl	%eax,%ebp
177238405Sjkim	movl	4(%esi),%eax
178238405Sjkim	adcl	%edx,%ebx
179238405Sjkim	movl	16(%edi),%edx
180238405Sjkim	adcl	$0,%ecx
181127326Smarkm
18295967Speter	mull	%edx
183238405Sjkim	addl	%eax,%ebp
184238405Sjkim	movl	(%esi),%eax
185238405Sjkim	adcl	%edx,%ebx
186238405Sjkim	movl	20(%edi),%edx
187238405Sjkim	adcl	$0,%ecx
188127326Smarkm
18995967Speter	mull	%edx
190238405Sjkim	addl	%eax,%ebp
191238405Sjkim	movl	20(%esp),%eax
192238405Sjkim	adcl	%edx,%ebx
193238405Sjkim	movl	(%edi),%edx
194238405Sjkim	adcl	$0,%ecx
195238405Sjkim	movl	%ebp,20(%eax)
196238405Sjkim	movl	24(%esi),%eax
197127326Smarkm
198127326Smarkm
199238405Sjkim	xorl	%ebp,%ebp
200127326Smarkm
20195967Speter	mull	%edx
202238405Sjkim	addl	%eax,%ebx
203238405Sjkim	movl	20(%esi),%eax
204238405Sjkim	adcl	%edx,%ecx
205238405Sjkim	movl	4(%edi),%edx
206238405Sjkim	adcl	$0,%ebp
207127326Smarkm
20895967Speter	mull	%edx
209238405Sjkim	addl	%eax,%ebx
210238405Sjkim	movl	16(%esi),%eax
211238405Sjkim	adcl	%edx,%ecx
212238405Sjkim	movl	8(%edi),%edx
213238405Sjkim	adcl	$0,%ebp
214127326Smarkm
21595967Speter	mull	%edx
216238405Sjkim	addl	%eax,%ebx
217238405Sjkim	movl	12(%esi),%eax
218238405Sjkim	adcl	%edx,%ecx
219238405Sjkim	movl	12(%edi),%edx
220238405Sjkim	adcl	$0,%ebp
221127326Smarkm
22295967Speter	mull	%edx
223238405Sjkim	addl	%eax,%ebx
224238405Sjkim	movl	8(%esi),%eax
225238405Sjkim	adcl	%edx,%ecx
226238405Sjkim	movl	16(%edi),%edx
227238405Sjkim	adcl	$0,%ebp
228127326Smarkm
22995967Speter	mull	%edx
230238405Sjkim	addl	%eax,%ebx
231238405Sjkim	movl	4(%esi),%eax
232238405Sjkim	adcl	%edx,%ecx
233238405Sjkim	movl	20(%edi),%edx
234238405Sjkim	adcl	$0,%ebp
235127326Smarkm
23695967Speter	mull	%edx
237238405Sjkim	addl	%eax,%ebx
238238405Sjkim	movl	(%esi),%eax
239238405Sjkim	adcl	%edx,%ecx
240238405Sjkim	movl	24(%edi),%edx
241238405Sjkim	adcl	$0,%ebp
242127326Smarkm
24395967Speter	mull	%edx
244238405Sjkim	addl	%eax,%ebx
245238405Sjkim	movl	20(%esp),%eax
246238405Sjkim	adcl	%edx,%ecx
247238405Sjkim	movl	(%edi),%edx
248238405Sjkim	adcl	$0,%ebp
249238405Sjkim	movl	%ebx,24(%eax)
250238405Sjkim	movl	28(%esi),%eax
251127326Smarkm
252127326Smarkm
253238405Sjkim	xorl	%ebx,%ebx
254127326Smarkm
25595967Speter	mull	%edx
256238405Sjkim	addl	%eax,%ecx
257238405Sjkim	movl	24(%esi),%eax
258238405Sjkim	adcl	%edx,%ebp
259238405Sjkim	movl	4(%edi),%edx
260238405Sjkim	adcl	$0,%ebx
261127326Smarkm
26295967Speter	mull	%edx
263238405Sjkim	addl	%eax,%ecx
264238405Sjkim	movl	20(%esi),%eax
265238405Sjkim	adcl	%edx,%ebp
266238405Sjkim	movl	8(%edi),%edx
267238405Sjkim	adcl	$0,%ebx
268127326Smarkm
26995967Speter	mull	%edx
270238405Sjkim	addl	%eax,%ecx
271238405Sjkim	movl	16(%esi),%eax
272238405Sjkim	adcl	%edx,%ebp
273238405Sjkim	movl	12(%edi),%edx
274238405Sjkim	adcl	$0,%ebx
275127326Smarkm
27695967Speter	mull	%edx
277238405Sjkim	addl	%eax,%ecx
278238405Sjkim	movl	12(%esi),%eax
279238405Sjkim	adcl	%edx,%ebp
280238405Sjkim	movl	16(%edi),%edx
281238405Sjkim	adcl	$0,%ebx
282127326Smarkm
28395967Speter	mull	%edx
284238405Sjkim	addl	%eax,%ecx
285238405Sjkim	movl	8(%esi),%eax
286238405Sjkim	adcl	%edx,%ebp
287238405Sjkim	movl	20(%edi),%edx
288238405Sjkim	adcl	$0,%ebx
289127326Smarkm
29095967Speter	mull	%edx
291238405Sjkim	addl	%eax,%ecx
292238405Sjkim	movl	4(%esi),%eax
293238405Sjkim	adcl	%edx,%ebp
294238405Sjkim	movl	24(%edi),%edx
295238405Sjkim	adcl	$0,%ebx
296127326Smarkm
29795967Speter	mull	%edx
298238405Sjkim	addl	%eax,%ecx
299238405Sjkim	movl	(%esi),%eax
300238405Sjkim	adcl	%edx,%ebp
301238405Sjkim	movl	28(%edi),%edx
302238405Sjkim	adcl	$0,%ebx
303127326Smarkm
30495967Speter	mull	%edx
305238405Sjkim	addl	%eax,%ecx
306238405Sjkim	movl	20(%esp),%eax
307238405Sjkim	adcl	%edx,%ebp
308238405Sjkim	movl	4(%edi),%edx
309238405Sjkim	adcl	$0,%ebx
310238405Sjkim	movl	%ecx,28(%eax)
311238405Sjkim	movl	28(%esi),%eax
312127326Smarkm
313127326Smarkm
314238405Sjkim	xorl	%ecx,%ecx
315127326Smarkm
31695967Speter	mull	%edx
317238405Sjkim	addl	%eax,%ebp
318238405Sjkim	movl	24(%esi),%eax
319238405Sjkim	adcl	%edx,%ebx
320238405Sjkim	movl	8(%edi),%edx
321238405Sjkim	adcl	$0,%ecx
322127326Smarkm
32395967Speter	mull	%edx
324238405Sjkim	addl	%eax,%ebp
325238405Sjkim	movl	20(%esi),%eax
326238405Sjkim	adcl	%edx,%ebx
327238405Sjkim	movl	12(%edi),%edx
328238405Sjkim	adcl	$0,%ecx
329127326Smarkm
33095967Speter	mull	%edx
331238405Sjkim	addl	%eax,%ebp
332238405Sjkim	movl	16(%esi),%eax
333238405Sjkim	adcl	%edx,%ebx
334238405Sjkim	movl	16(%edi),%edx
335238405Sjkim	adcl	$0,%ecx
336127326Smarkm
33795967Speter	mull	%edx
338238405Sjkim	addl	%eax,%ebp
339238405Sjkim	movl	12(%esi),%eax
340238405Sjkim	adcl	%edx,%ebx
341238405Sjkim	movl	20(%edi),%edx
342238405Sjkim	adcl	$0,%ecx
343127326Smarkm
34495967Speter	mull	%edx
345238405Sjkim	addl	%eax,%ebp
346238405Sjkim	movl	8(%esi),%eax
347238405Sjkim	adcl	%edx,%ebx
348238405Sjkim	movl	24(%edi),%edx
349238405Sjkim	adcl	$0,%ecx
350127326Smarkm
35195967Speter	mull	%edx
352238405Sjkim	addl	%eax,%ebp
353238405Sjkim	movl	4(%esi),%eax
354238405Sjkim	adcl	%edx,%ebx
355238405Sjkim	movl	28(%edi),%edx
356238405Sjkim	adcl	$0,%ecx
357127326Smarkm
35895967Speter	mull	%edx
359238405Sjkim	addl	%eax,%ebp
360238405Sjkim	movl	20(%esp),%eax
361238405Sjkim	adcl	%edx,%ebx
362238405Sjkim	movl	8(%edi),%edx
363238405Sjkim	adcl	$0,%ecx
364238405Sjkim	movl	%ebp,32(%eax)
365238405Sjkim	movl	28(%esi),%eax
366127326Smarkm
367127326Smarkm
368238405Sjkim	xorl	%ebp,%ebp
369127326Smarkm
37095967Speter	mull	%edx
371238405Sjkim	addl	%eax,%ebx
372238405Sjkim	movl	24(%esi),%eax
373238405Sjkim	adcl	%edx,%ecx
374238405Sjkim	movl	12(%edi),%edx
375238405Sjkim	adcl	$0,%ebp
376127326Smarkm
37795967Speter	mull	%edx
378238405Sjkim	addl	%eax,%ebx
379238405Sjkim	movl	20(%esi),%eax
380238405Sjkim	adcl	%edx,%ecx
381238405Sjkim	movl	16(%edi),%edx
382238405Sjkim	adcl	$0,%ebp
383127326Smarkm
38495967Speter	mull	%edx
385238405Sjkim	addl	%eax,%ebx
386238405Sjkim	movl	16(%esi),%eax
387238405Sjkim	adcl	%edx,%ecx
388238405Sjkim	movl	20(%edi),%edx
389238405Sjkim	adcl	$0,%ebp
390127326Smarkm
39195967Speter	mull	%edx
392238405Sjkim	addl	%eax,%ebx
393238405Sjkim	movl	12(%esi),%eax
394238405Sjkim	adcl	%edx,%ecx
395238405Sjkim	movl	24(%edi),%edx
396238405Sjkim	adcl	$0,%ebp
397127326Smarkm
39895967Speter	mull	%edx
399238405Sjkim	addl	%eax,%ebx
400238405Sjkim	movl	8(%esi),%eax
401238405Sjkim	adcl	%edx,%ecx
402238405Sjkim	movl	28(%edi),%edx
403238405Sjkim	adcl	$0,%ebp
404127326Smarkm
40595967Speter	mull	%edx
406238405Sjkim	addl	%eax,%ebx
407238405Sjkim	movl	20(%esp),%eax
408238405Sjkim	adcl	%edx,%ecx
409238405Sjkim	movl	12(%edi),%edx
410238405Sjkim	adcl	$0,%ebp
411238405Sjkim	movl	%ebx,36(%eax)
412238405Sjkim	movl	28(%esi),%eax
413127326Smarkm
414127326Smarkm
415238405Sjkim	xorl	%ebx,%ebx
416127326Smarkm
41795967Speter	mull	%edx
418238405Sjkim	addl	%eax,%ecx
419238405Sjkim	movl	24(%esi),%eax
420238405Sjkim	adcl	%edx,%ebp
421238405Sjkim	movl	16(%edi),%edx
422238405Sjkim	adcl	$0,%ebx
423127326Smarkm
42495967Speter	mull	%edx
425238405Sjkim	addl	%eax,%ecx
426238405Sjkim	movl	20(%esi),%eax
427238405Sjkim	adcl	%edx,%ebp
428238405Sjkim	movl	20(%edi),%edx
429238405Sjkim	adcl	$0,%ebx
430127326Smarkm
43195967Speter	mull	%edx
432238405Sjkim	addl	%eax,%ecx
433238405Sjkim	movl	16(%esi),%eax
434238405Sjkim	adcl	%edx,%ebp
435238405Sjkim	movl	24(%edi),%edx
436238405Sjkim	adcl	$0,%ebx
437127326Smarkm
43895967Speter	mull	%edx
439238405Sjkim	addl	%eax,%ecx
440238405Sjkim	movl	12(%esi),%eax
441238405Sjkim	adcl	%edx,%ebp
442238405Sjkim	movl	28(%edi),%edx
443238405Sjkim	adcl	$0,%ebx
444127326Smarkm
44595967Speter	mull	%edx
446238405Sjkim	addl	%eax,%ecx
447238405Sjkim	movl	20(%esp),%eax
448238405Sjkim	adcl	%edx,%ebp
449238405Sjkim	movl	16(%edi),%edx
450238405Sjkim	adcl	$0,%ebx
451238405Sjkim	movl	%ecx,40(%eax)
452238405Sjkim	movl	28(%esi),%eax
453127326Smarkm
454127326Smarkm
455238405Sjkim	xorl	%ecx,%ecx
456127326Smarkm
45795967Speter	mull	%edx
458238405Sjkim	addl	%eax,%ebp
459238405Sjkim	movl	24(%esi),%eax
460238405Sjkim	adcl	%edx,%ebx
461238405Sjkim	movl	20(%edi),%edx
462238405Sjkim	adcl	$0,%ecx
463127326Smarkm
46495967Speter	mull	%edx
465238405Sjkim	addl	%eax,%ebp
466238405Sjkim	movl	20(%esi),%eax
467238405Sjkim	adcl	%edx,%ebx
468238405Sjkim	movl	24(%edi),%edx
469238405Sjkim	adcl	$0,%ecx
470127326Smarkm
47195967Speter	mull	%edx
472238405Sjkim	addl	%eax,%ebp
473238405Sjkim	movl	16(%esi),%eax
474238405Sjkim	adcl	%edx,%ebx
475238405Sjkim	movl	28(%edi),%edx
476238405Sjkim	adcl	$0,%ecx
477127326Smarkm
47895967Speter	mull	%edx
479238405Sjkim	addl	%eax,%ebp
480238405Sjkim	movl	20(%esp),%eax
481238405Sjkim	adcl	%edx,%ebx
482238405Sjkim	movl	20(%edi),%edx
483238405Sjkim	adcl	$0,%ecx
484238405Sjkim	movl	%ebp,44(%eax)
485238405Sjkim	movl	28(%esi),%eax
486127326Smarkm
487127326Smarkm
488238405Sjkim	xorl	%ebp,%ebp
489127326Smarkm
49095967Speter	mull	%edx
491238405Sjkim	addl	%eax,%ebx
492238405Sjkim	movl	24(%esi),%eax
493238405Sjkim	adcl	%edx,%ecx
494238405Sjkim	movl	24(%edi),%edx
495238405Sjkim	adcl	$0,%ebp
496127326Smarkm
49795967Speter	mull	%edx
498238405Sjkim	addl	%eax,%ebx
499238405Sjkim	movl	20(%esi),%eax
500238405Sjkim	adcl	%edx,%ecx
501238405Sjkim	movl	28(%edi),%edx
502238405Sjkim	adcl	$0,%ebp
503127326Smarkm
50495967Speter	mull	%edx
505238405Sjkim	addl	%eax,%ebx
506238405Sjkim	movl	20(%esp),%eax
507238405Sjkim	adcl	%edx,%ecx
508238405Sjkim	movl	24(%edi),%edx
509238405Sjkim	adcl	$0,%ebp
510238405Sjkim	movl	%ebx,48(%eax)
511238405Sjkim	movl	28(%esi),%eax
512127326Smarkm
513127326Smarkm
514238405Sjkim	xorl	%ebx,%ebx
515127326Smarkm
51695967Speter	mull	%edx
517238405Sjkim	addl	%eax,%ecx
518238405Sjkim	movl	24(%esi),%eax
519238405Sjkim	adcl	%edx,%ebp
520238405Sjkim	movl	28(%edi),%edx
521238405Sjkim	adcl	$0,%ebx
522127326Smarkm
52395967Speter	mull	%edx
524238405Sjkim	addl	%eax,%ecx
525238405Sjkim	movl	20(%esp),%eax
526238405Sjkim	adcl	%edx,%ebp
527238405Sjkim	movl	28(%edi),%edx
528238405Sjkim	adcl	$0,%ebx
529238405Sjkim	movl	%ecx,52(%eax)
530238405Sjkim	movl	28(%esi),%eax
531127326Smarkm
532127326Smarkm
533238405Sjkim	xorl	%ecx,%ecx
534127326Smarkm
53595967Speter	mull	%edx
536238405Sjkim	addl	%eax,%ebp
537238405Sjkim	movl	20(%esp),%eax
538238405Sjkim	adcl	%edx,%ebx
539238405Sjkim	adcl	$0,%ecx
540238405Sjkim	movl	%ebp,56(%eax)
541127326Smarkm
542127326Smarkm
543238405Sjkim	movl	%ebx,60(%eax)
54495967Speter	popl	%ebx
54595967Speter	popl	%ebp
54695967Speter	popl	%edi
54795967Speter	popl	%esi
54895967Speter	ret
549238405Sjkim.size	bn_mul_comba8,.-.L_bn_mul_comba8_begin
550238405Sjkim.globl	bn_mul_comba4
551238405Sjkim.type	bn_mul_comba4,@function
552238405Sjkim.align	16
55395967Speterbn_mul_comba4:
554238405Sjkim.L_bn_mul_comba4_begin:
55595967Speter	pushl	%esi
556238405Sjkim	movl	12(%esp),%esi
55795967Speter	pushl	%edi
558238405Sjkim	movl	20(%esp),%edi
55995967Speter	pushl	%ebp
56095967Speter	pushl	%ebx
561238405Sjkim	xorl	%ebx,%ebx
562238405Sjkim	movl	(%esi),%eax
563238405Sjkim	xorl	%ecx,%ecx
564238405Sjkim	movl	(%edi),%edx
565127326Smarkm
566238405Sjkim	xorl	%ebp,%ebp
567127326Smarkm
56895967Speter	mull	%edx
569238405Sjkim	addl	%eax,%ebx
570238405Sjkim	movl	20(%esp),%eax
571238405Sjkim	adcl	%edx,%ecx
572238405Sjkim	movl	(%edi),%edx
573238405Sjkim	adcl	$0,%ebp
574238405Sjkim	movl	%ebx,(%eax)
575238405Sjkim	movl	4(%esi),%eax
576127326Smarkm
577127326Smarkm
578238405Sjkim	xorl	%ebx,%ebx
579127326Smarkm
58095967Speter	mull	%edx
581238405Sjkim	addl	%eax,%ecx
582238405Sjkim	movl	(%esi),%eax
583238405Sjkim	adcl	%edx,%ebp
584238405Sjkim	movl	4(%edi),%edx
585238405Sjkim	adcl	$0,%ebx
586127326Smarkm
58795967Speter	mull	%edx
588238405Sjkim	addl	%eax,%ecx
589238405Sjkim	movl	20(%esp),%eax
590238405Sjkim	adcl	%edx,%ebp
591238405Sjkim	movl	(%edi),%edx
592238405Sjkim	adcl	$0,%ebx
593238405Sjkim	movl	%ecx,4(%eax)
594238405Sjkim	movl	8(%esi),%eax
595127326Smarkm
596127326Smarkm
597238405Sjkim	xorl	%ecx,%ecx
598127326Smarkm
59995967Speter	mull	%edx
600238405Sjkim	addl	%eax,%ebp
601238405Sjkim	movl	4(%esi),%eax
602238405Sjkim	adcl	%edx,%ebx
603238405Sjkim	movl	4(%edi),%edx
604238405Sjkim	adcl	$0,%ecx
605127326Smarkm
60695967Speter	mull	%edx
607238405Sjkim	addl	%eax,%ebp
608238405Sjkim	movl	(%esi),%eax
609238405Sjkim	adcl	%edx,%ebx
610238405Sjkim	movl	8(%edi),%edx
611238405Sjkim	adcl	$0,%ecx
612127326Smarkm
61395967Speter	mull	%edx
614238405Sjkim	addl	%eax,%ebp
615238405Sjkim	movl	20(%esp),%eax
616238405Sjkim	adcl	%edx,%ebx
617238405Sjkim	movl	(%edi),%edx
618238405Sjkim	adcl	$0,%ecx
619238405Sjkim	movl	%ebp,8(%eax)
620238405Sjkim	movl	12(%esi),%eax
621127326Smarkm
622127326Smarkm
623238405Sjkim	xorl	%ebp,%ebp
624127326Smarkm
62595967Speter	mull	%edx
626238405Sjkim	addl	%eax,%ebx
627238405Sjkim	movl	8(%esi),%eax
628238405Sjkim	adcl	%edx,%ecx
629238405Sjkim	movl	4(%edi),%edx
630238405Sjkim	adcl	$0,%ebp
631127326Smarkm
63295967Speter	mull	%edx
633238405Sjkim	addl	%eax,%ebx
634238405Sjkim	movl	4(%esi),%eax
635238405Sjkim	adcl	%edx,%ecx
636238405Sjkim	movl	8(%edi),%edx
637238405Sjkim	adcl	$0,%ebp
638127326Smarkm
63995967Speter	mull	%edx
640238405Sjkim	addl	%eax,%ebx
641238405Sjkim	movl	(%esi),%eax
642238405Sjkim	adcl	%edx,%ecx
643238405Sjkim	movl	12(%edi),%edx
644238405Sjkim	adcl	$0,%ebp
645127326Smarkm
64695967Speter	mull	%edx
647238405Sjkim	addl	%eax,%ebx
648238405Sjkim	movl	20(%esp),%eax
649238405Sjkim	adcl	%edx,%ecx
650238405Sjkim	movl	4(%edi),%edx
651238405Sjkim	adcl	$0,%ebp
652238405Sjkim	movl	%ebx,12(%eax)
653238405Sjkim	movl	12(%esi),%eax
654127326Smarkm
655127326Smarkm
656238405Sjkim	xorl	%ebx,%ebx
657127326Smarkm
65895967Speter	mull	%edx
659238405Sjkim	addl	%eax,%ecx
660238405Sjkim	movl	8(%esi),%eax
661238405Sjkim	adcl	%edx,%ebp
662238405Sjkim	movl	8(%edi),%edx
663238405Sjkim	adcl	$0,%ebx
664127326Smarkm
66595967Speter	mull	%edx
666238405Sjkim	addl	%eax,%ecx
667238405Sjkim	movl	4(%esi),%eax
668238405Sjkim	adcl	%edx,%ebp
669238405Sjkim	movl	12(%edi),%edx
670238405Sjkim	adcl	$0,%ebx
671127326Smarkm
67295967Speter	mull	%edx
673238405Sjkim	addl	%eax,%ecx
674238405Sjkim	movl	20(%esp),%eax
675238405Sjkim	adcl	%edx,%ebp
676238405Sjkim	movl	8(%edi),%edx
677238405Sjkim	adcl	$0,%ebx
678238405Sjkim	movl	%ecx,16(%eax)
679238405Sjkim	movl	12(%esi),%eax
680127326Smarkm
681127326Smarkm
682238405Sjkim	xorl	%ecx,%ecx
683127326Smarkm
68495967Speter	mull	%edx
685238405Sjkim	addl	%eax,%ebp
686238405Sjkim	movl	8(%esi),%eax
687238405Sjkim	adcl	%edx,%ebx
688238405Sjkim	movl	12(%edi),%edx
689238405Sjkim	adcl	$0,%ecx
690127326Smarkm
69195967Speter	mull	%edx
692238405Sjkim	addl	%eax,%ebp
693238405Sjkim	movl	20(%esp),%eax
694238405Sjkim	adcl	%edx,%ebx
695238405Sjkim	movl	12(%edi),%edx
696238405Sjkim	adcl	$0,%ecx
697238405Sjkim	movl	%ebp,20(%eax)
698238405Sjkim	movl	12(%esi),%eax
699127326Smarkm
700127326Smarkm
701238405Sjkim	xorl	%ebp,%ebp
702127326Smarkm
70395967Speter	mull	%edx
704238405Sjkim	addl	%eax,%ebx
705238405Sjkim	movl	20(%esp),%eax
706238405Sjkim	adcl	%edx,%ecx
707238405Sjkim	adcl	$0,%ebp
708238405Sjkim	movl	%ebx,24(%eax)
709127326Smarkm
710127326Smarkm
711238405Sjkim	movl	%ecx,28(%eax)
71295967Speter	popl	%ebx
71395967Speter	popl	%ebp
71495967Speter	popl	%edi
71595967Speter	popl	%esi
71695967Speter	ret
717238405Sjkim.size	bn_mul_comba4,.-.L_bn_mul_comba4_begin
718238405Sjkim.globl	bn_sqr_comba8
719238405Sjkim.type	bn_sqr_comba8,@function
720238405Sjkim.align	16
72195967Speterbn_sqr_comba8:
722238405Sjkim.L_bn_sqr_comba8_begin:
72395967Speter	pushl	%esi
72495967Speter	pushl	%edi
72595967Speter	pushl	%ebp
72695967Speter	pushl	%ebx
727238405Sjkim	movl	20(%esp),%edi
728238405Sjkim	movl	24(%esp),%esi
729238405Sjkim	xorl	%ebx,%ebx
730238405Sjkim	xorl	%ecx,%ecx
731238405Sjkim	movl	(%esi),%eax
732127326Smarkm
733238405Sjkim	xorl	%ebp,%ebp
734127326Smarkm
73595967Speter	mull	%eax
736238405Sjkim	addl	%eax,%ebx
737238405Sjkim	adcl	%edx,%ecx
738238405Sjkim	movl	(%esi),%edx
739238405Sjkim	adcl	$0,%ebp
740238405Sjkim	movl	%ebx,(%edi)
741238405Sjkim	movl	4(%esi),%eax
742127326Smarkm
743127326Smarkm
744238405Sjkim	xorl	%ebx,%ebx
745127326Smarkm
74695967Speter	mull	%edx
747238405Sjkim	addl	%eax,%eax
748238405Sjkim	adcl	%edx,%edx
749238405Sjkim	adcl	$0,%ebx
750238405Sjkim	addl	%eax,%ecx
751238405Sjkim	adcl	%edx,%ebp
752238405Sjkim	movl	8(%esi),%eax
753238405Sjkim	adcl	$0,%ebx
754238405Sjkim	movl	%ecx,4(%edi)
755238405Sjkim	movl	(%esi),%edx
756127326Smarkm
757127326Smarkm
758238405Sjkim	xorl	%ecx,%ecx
759127326Smarkm
76095967Speter	mull	%edx
761238405Sjkim	addl	%eax,%eax
762238405Sjkim	adcl	%edx,%edx
763238405Sjkim	adcl	$0,%ecx
764238405Sjkim	addl	%eax,%ebp
765238405Sjkim	adcl	%edx,%ebx
766238405Sjkim	movl	4(%esi),%eax
767238405Sjkim	adcl	$0,%ecx
768127326Smarkm
76995967Speter	mull	%eax
770238405Sjkim	addl	%eax,%ebp
771238405Sjkim	adcl	%edx,%ebx
772238405Sjkim	movl	(%esi),%edx
773238405Sjkim	adcl	$0,%ecx
774238405Sjkim	movl	%ebp,8(%edi)
775238405Sjkim	movl	12(%esi),%eax
776127326Smarkm
777127326Smarkm
778238405Sjkim	xorl	%ebp,%ebp
779127326Smarkm
78095967Speter	mull	%edx
781238405Sjkim	addl	%eax,%eax
782238405Sjkim	adcl	%edx,%edx
783238405Sjkim	adcl	$0,%ebp
784238405Sjkim	addl	%eax,%ebx
785238405Sjkim	adcl	%edx,%ecx
786238405Sjkim	movl	8(%esi),%eax
787238405Sjkim	adcl	$0,%ebp
788238405Sjkim	movl	4(%esi),%edx
789127326Smarkm
79095967Speter	mull	%edx
791238405Sjkim	addl	%eax,%eax
792238405Sjkim	adcl	%edx,%edx
793238405Sjkim	adcl	$0,%ebp
794238405Sjkim	addl	%eax,%ebx
795238405Sjkim	adcl	%edx,%ecx
796238405Sjkim	movl	16(%esi),%eax
797238405Sjkim	adcl	$0,%ebp
798238405Sjkim	movl	%ebx,12(%edi)
799238405Sjkim	movl	(%esi),%edx
800127326Smarkm
801127326Smarkm
802238405Sjkim	xorl	%ebx,%ebx
803127326Smarkm
80495967Speter	mull	%edx
805238405Sjkim	addl	%eax,%eax
806238405Sjkim	adcl	%edx,%edx
807238405Sjkim	adcl	$0,%ebx
808238405Sjkim	addl	%eax,%ecx
809238405Sjkim	adcl	%edx,%ebp
810238405Sjkim	movl	12(%esi),%eax
811238405Sjkim	adcl	$0,%ebx
812238405Sjkim	movl	4(%esi),%edx
813127326Smarkm
81495967Speter	mull	%edx
815238405Sjkim	addl	%eax,%eax
816238405Sjkim	adcl	%edx,%edx
817238405Sjkim	adcl	$0,%ebx
818238405Sjkim	addl	%eax,%ecx
819238405Sjkim	adcl	%edx,%ebp
820238405Sjkim	movl	8(%esi),%eax
821238405Sjkim	adcl	$0,%ebx
822127326Smarkm
82395967Speter	mull	%eax
824238405Sjkim	addl	%eax,%ecx
825238405Sjkim	adcl	%edx,%ebp
826238405Sjkim	movl	(%esi),%edx
827238405Sjkim	adcl	$0,%ebx
828238405Sjkim	movl	%ecx,16(%edi)
829238405Sjkim	movl	20(%esi),%eax
830127326Smarkm
831127326Smarkm
832238405Sjkim	xorl	%ecx,%ecx
833127326Smarkm
83495967Speter	mull	%edx
835238405Sjkim	addl	%eax,%eax
836238405Sjkim	adcl	%edx,%edx
837238405Sjkim	adcl	$0,%ecx
838238405Sjkim	addl	%eax,%ebp
839238405Sjkim	adcl	%edx,%ebx
840238405Sjkim	movl	16(%esi),%eax
841238405Sjkim	adcl	$0,%ecx
842238405Sjkim	movl	4(%esi),%edx
843127326Smarkm
84495967Speter	mull	%edx
845238405Sjkim	addl	%eax,%eax
846238405Sjkim	adcl	%edx,%edx
847238405Sjkim	adcl	$0,%ecx
848238405Sjkim	addl	%eax,%ebp
849238405Sjkim	adcl	%edx,%ebx
850238405Sjkim	movl	12(%esi),%eax
851238405Sjkim	adcl	$0,%ecx
852238405Sjkim	movl	8(%esi),%edx
853127326Smarkm
85495967Speter	mull	%edx
855238405Sjkim	addl	%eax,%eax
856238405Sjkim	adcl	%edx,%edx
857238405Sjkim	adcl	$0,%ecx
858238405Sjkim	addl	%eax,%ebp
859238405Sjkim	adcl	%edx,%ebx
860238405Sjkim	movl	24(%esi),%eax
861238405Sjkim	adcl	$0,%ecx
862238405Sjkim	movl	%ebp,20(%edi)
863238405Sjkim	movl	(%esi),%edx
864127326Smarkm
865127326Smarkm
866238405Sjkim	xorl	%ebp,%ebp
867127326Smarkm
86895967Speter	mull	%edx
869238405Sjkim	addl	%eax,%eax
870238405Sjkim	adcl	%edx,%edx
871238405Sjkim	adcl	$0,%ebp
872238405Sjkim	addl	%eax,%ebx
873238405Sjkim	adcl	%edx,%ecx
874238405Sjkim	movl	20(%esi),%eax
875238405Sjkim	adcl	$0,%ebp
876238405Sjkim	movl	4(%esi),%edx
877127326Smarkm
87895967Speter	mull	%edx
879238405Sjkim	addl	%eax,%eax
880238405Sjkim	adcl	%edx,%edx
881238405Sjkim	adcl	$0,%ebp
882238405Sjkim	addl	%eax,%ebx
883238405Sjkim	adcl	%edx,%ecx
884238405Sjkim	movl	16(%esi),%eax
885238405Sjkim	adcl	$0,%ebp
886238405Sjkim	movl	8(%esi),%edx
887127326Smarkm
88895967Speter	mull	%edx
889238405Sjkim	addl	%eax,%eax
890238405Sjkim	adcl	%edx,%edx
891238405Sjkim	adcl	$0,%ebp
892238405Sjkim	addl	%eax,%ebx
893238405Sjkim	adcl	%edx,%ecx
894238405Sjkim	movl	12(%esi),%eax
895238405Sjkim	adcl	$0,%ebp
896127326Smarkm
89795967Speter	mull	%eax
898238405Sjkim	addl	%eax,%ebx
899238405Sjkim	adcl	%edx,%ecx
900238405Sjkim	movl	(%esi),%edx
901238405Sjkim	adcl	$0,%ebp
902238405Sjkim	movl	%ebx,24(%edi)
903238405Sjkim	movl	28(%esi),%eax
904127326Smarkm
905127326Smarkm
906238405Sjkim	xorl	%ebx,%ebx
907127326Smarkm
90895967Speter	mull	%edx
909238405Sjkim	addl	%eax,%eax
910238405Sjkim	adcl	%edx,%edx
911238405Sjkim	adcl	$0,%ebx
912238405Sjkim	addl	%eax,%ecx
913238405Sjkim	adcl	%edx,%ebp
914238405Sjkim	movl	24(%esi),%eax
915238405Sjkim	adcl	$0,%ebx
916238405Sjkim	movl	4(%esi),%edx
917127326Smarkm
91895967Speter	mull	%edx
919238405Sjkim	addl	%eax,%eax
920238405Sjkim	adcl	%edx,%edx
921238405Sjkim	adcl	$0,%ebx
922238405Sjkim	addl	%eax,%ecx
923238405Sjkim	adcl	%edx,%ebp
924238405Sjkim	movl	20(%esi),%eax
925238405Sjkim	adcl	$0,%ebx
926238405Sjkim	movl	8(%esi),%edx
927127326Smarkm
92895967Speter	mull	%edx
929238405Sjkim	addl	%eax,%eax
930238405Sjkim	adcl	%edx,%edx
931238405Sjkim	adcl	$0,%ebx
932238405Sjkim	addl	%eax,%ecx
933238405Sjkim	adcl	%edx,%ebp
934238405Sjkim	movl	16(%esi),%eax
935238405Sjkim	adcl	$0,%ebx
936238405Sjkim	movl	12(%esi),%edx
937127326Smarkm
93895967Speter	mull	%edx
939238405Sjkim	addl	%eax,%eax
940238405Sjkim	adcl	%edx,%edx
941238405Sjkim	adcl	$0,%ebx
942238405Sjkim	addl	%eax,%ecx
943238405Sjkim	adcl	%edx,%ebp
944238405Sjkim	movl	28(%esi),%eax
945238405Sjkim	adcl	$0,%ebx
946238405Sjkim	movl	%ecx,28(%edi)
947238405Sjkim	movl	4(%esi),%edx
948127326Smarkm
949127326Smarkm
950238405Sjkim	xorl	%ecx,%ecx
951127326Smarkm
95295967Speter	mull	%edx
953238405Sjkim	addl	%eax,%eax
954238405Sjkim	adcl	%edx,%edx
955238405Sjkim	adcl	$0,%ecx
956238405Sjkim	addl	%eax,%ebp
957238405Sjkim	adcl	%edx,%ebx
958238405Sjkim	movl	24(%esi),%eax
959238405Sjkim	adcl	$0,%ecx
960238405Sjkim	movl	8(%esi),%edx
961127326Smarkm
96295967Speter	mull	%edx
963238405Sjkim	addl	%eax,%eax
964238405Sjkim	adcl	%edx,%edx
965238405Sjkim	adcl	$0,%ecx
966238405Sjkim	addl	%eax,%ebp
967238405Sjkim	adcl	%edx,%ebx
968238405Sjkim	movl	20(%esi),%eax
969238405Sjkim	adcl	$0,%ecx
970238405Sjkim	movl	12(%esi),%edx
971127326Smarkm
97295967Speter	mull	%edx
973238405Sjkim	addl	%eax,%eax
974238405Sjkim	adcl	%edx,%edx
975238405Sjkim	adcl	$0,%ecx
976238405Sjkim	addl	%eax,%ebp
977238405Sjkim	adcl	%edx,%ebx
978238405Sjkim	movl	16(%esi),%eax
979238405Sjkim	adcl	$0,%ecx
980127326Smarkm
98195967Speter	mull	%eax
982238405Sjkim	addl	%eax,%ebp
983238405Sjkim	adcl	%edx,%ebx
984238405Sjkim	movl	8(%esi),%edx
985238405Sjkim	adcl	$0,%ecx
986238405Sjkim	movl	%ebp,32(%edi)
987238405Sjkim	movl	28(%esi),%eax
988127326Smarkm
989127326Smarkm
990238405Sjkim	xorl	%ebp,%ebp
991127326Smarkm
99295967Speter	mull	%edx
993238405Sjkim	addl	%eax,%eax
994238405Sjkim	adcl	%edx,%edx
995238405Sjkim	adcl	$0,%ebp
996238405Sjkim	addl	%eax,%ebx
997238405Sjkim	adcl	%edx,%ecx
998238405Sjkim	movl	24(%esi),%eax
999238405Sjkim	adcl	$0,%ebp
1000238405Sjkim	movl	12(%esi),%edx
1001127326Smarkm
100295967Speter	mull	%edx
1003238405Sjkim	addl	%eax,%eax
1004238405Sjkim	adcl	%edx,%edx
1005238405Sjkim	adcl	$0,%ebp
1006238405Sjkim	addl	%eax,%ebx
1007238405Sjkim	adcl	%edx,%ecx
1008238405Sjkim	movl	20(%esi),%eax
1009238405Sjkim	adcl	$0,%ebp
1010238405Sjkim	movl	16(%esi),%edx
1011127326Smarkm
101295967Speter	mull	%edx
1013238405Sjkim	addl	%eax,%eax
1014238405Sjkim	adcl	%edx,%edx
1015238405Sjkim	adcl	$0,%ebp
1016238405Sjkim	addl	%eax,%ebx
1017238405Sjkim	adcl	%edx,%ecx
1018238405Sjkim	movl	28(%esi),%eax
1019238405Sjkim	adcl	$0,%ebp
1020238405Sjkim	movl	%ebx,36(%edi)
1021238405Sjkim	movl	12(%esi),%edx
1022127326Smarkm
1023127326Smarkm
1024238405Sjkim	xorl	%ebx,%ebx
1025127326Smarkm
102695967Speter	mull	%edx
1027238405Sjkim	addl	%eax,%eax
1028238405Sjkim	adcl	%edx,%edx
1029238405Sjkim	adcl	$0,%ebx
1030238405Sjkim	addl	%eax,%ecx
1031238405Sjkim	adcl	%edx,%ebp
1032238405Sjkim	movl	24(%esi),%eax
1033238405Sjkim	adcl	$0,%ebx
1034238405Sjkim	movl	16(%esi),%edx
1035127326Smarkm
103695967Speter	mull	%edx
1037238405Sjkim	addl	%eax,%eax
1038238405Sjkim	adcl	%edx,%edx
1039238405Sjkim	adcl	$0,%ebx
1040238405Sjkim	addl	%eax,%ecx
1041238405Sjkim	adcl	%edx,%ebp
1042238405Sjkim	movl	20(%esi),%eax
1043238405Sjkim	adcl	$0,%ebx
1044127326Smarkm
104595967Speter	mull	%eax
1046238405Sjkim	addl	%eax,%ecx
1047238405Sjkim	adcl	%edx,%ebp
1048238405Sjkim	movl	16(%esi),%edx
1049238405Sjkim	adcl	$0,%ebx
1050238405Sjkim	movl	%ecx,40(%edi)
1051238405Sjkim	movl	28(%esi),%eax
1052127326Smarkm
1053127326Smarkm
1054238405Sjkim	xorl	%ecx,%ecx
1055127326Smarkm
105695967Speter	mull	%edx
1057238405Sjkim	addl	%eax,%eax
1058238405Sjkim	adcl	%edx,%edx
1059238405Sjkim	adcl	$0,%ecx
1060238405Sjkim	addl	%eax,%ebp
1061238405Sjkim	adcl	%edx,%ebx
1062238405Sjkim	movl	24(%esi),%eax
1063238405Sjkim	adcl	$0,%ecx
1064238405Sjkim	movl	20(%esi),%edx
1065127326Smarkm
106695967Speter	mull	%edx
1067238405Sjkim	addl	%eax,%eax
1068238405Sjkim	adcl	%edx,%edx
1069238405Sjkim	adcl	$0,%ecx
1070238405Sjkim	addl	%eax,%ebp
1071238405Sjkim	adcl	%edx,%ebx
1072238405Sjkim	movl	28(%esi),%eax
1073238405Sjkim	adcl	$0,%ecx
1074238405Sjkim	movl	%ebp,44(%edi)
1075238405Sjkim	movl	20(%esi),%edx
1076127326Smarkm
1077127326Smarkm
1078238405Sjkim	xorl	%ebp,%ebp
1079127326Smarkm
108095967Speter	mull	%edx
1081238405Sjkim	addl	%eax,%eax
1082238405Sjkim	adcl	%edx,%edx
1083238405Sjkim	adcl	$0,%ebp
1084238405Sjkim	addl	%eax,%ebx
1085238405Sjkim	adcl	%edx,%ecx
1086238405Sjkim	movl	24(%esi),%eax
1087238405Sjkim	adcl	$0,%ebp
1088127326Smarkm
108995967Speter	mull	%eax
1090238405Sjkim	addl	%eax,%ebx
1091238405Sjkim	adcl	%edx,%ecx
1092238405Sjkim	movl	24(%esi),%edx
1093238405Sjkim	adcl	$0,%ebp
1094238405Sjkim	movl	%ebx,48(%edi)
1095238405Sjkim	movl	28(%esi),%eax
1096127326Smarkm
1097127326Smarkm
1098238405Sjkim	xorl	%ebx,%ebx
1099127326Smarkm
110095967Speter	mull	%edx
1101238405Sjkim	addl	%eax,%eax
1102238405Sjkim	adcl	%edx,%edx
1103238405Sjkim	adcl	$0,%ebx
1104238405Sjkim	addl	%eax,%ecx
1105238405Sjkim	adcl	%edx,%ebp
1106238405Sjkim	movl	28(%esi),%eax
1107238405Sjkim	adcl	$0,%ebx
1108238405Sjkim	movl	%ecx,52(%edi)
1109127326Smarkm
1110127326Smarkm
1111238405Sjkim	xorl	%ecx,%ecx
1112127326Smarkm
111395967Speter	mull	%eax
1114238405Sjkim	addl	%eax,%ebp
1115238405Sjkim	adcl	%edx,%ebx
1116238405Sjkim	adcl	$0,%ecx
1117238405Sjkim	movl	%ebp,56(%edi)
1118127326Smarkm
1119238405Sjkim	movl	%ebx,60(%edi)
112095967Speter	popl	%ebx
112195967Speter	popl	%ebp
112295967Speter	popl	%edi
112395967Speter	popl	%esi
112495967Speter	ret
1125238405Sjkim.size	bn_sqr_comba8,.-.L_bn_sqr_comba8_begin
1126238405Sjkim.globl	bn_sqr_comba4
1127238405Sjkim.type	bn_sqr_comba4,@function
1128238405Sjkim.align	16
112995967Speterbn_sqr_comba4:
1130238405Sjkim.L_bn_sqr_comba4_begin:
113195967Speter	pushl	%esi
113295967Speter	pushl	%edi
113395967Speter	pushl	%ebp
113495967Speter	pushl	%ebx
1135238405Sjkim	movl	20(%esp),%edi
1136238405Sjkim	movl	24(%esp),%esi
1137238405Sjkim	xorl	%ebx,%ebx
1138238405Sjkim	xorl	%ecx,%ecx
1139238405Sjkim	movl	(%esi),%eax
1140127326Smarkm
1141238405Sjkim	xorl	%ebp,%ebp
1142127326Smarkm
114395967Speter	mull	%eax
1144238405Sjkim	addl	%eax,%ebx
1145238405Sjkim	adcl	%edx,%ecx
1146238405Sjkim	movl	(%esi),%edx
1147238405Sjkim	adcl	$0,%ebp
1148238405Sjkim	movl	%ebx,(%edi)
1149238405Sjkim	movl	4(%esi),%eax
1150127326Smarkm
1151127326Smarkm
1152238405Sjkim	xorl	%ebx,%ebx
1153127326Smarkm
115495967Speter	mull	%edx
1155238405Sjkim	addl	%eax,%eax
1156238405Sjkim	adcl	%edx,%edx
1157238405Sjkim	adcl	$0,%ebx
1158238405Sjkim	addl	%eax,%ecx
1159238405Sjkim	adcl	%edx,%ebp
1160238405Sjkim	movl	8(%esi),%eax
1161238405Sjkim	adcl	$0,%ebx
1162238405Sjkim	movl	%ecx,4(%edi)
1163238405Sjkim	movl	(%esi),%edx
1164127326Smarkm
1165127326Smarkm
1166238405Sjkim	xorl	%ecx,%ecx
1167127326Smarkm
116895967Speter	mull	%edx
1169238405Sjkim	addl	%eax,%eax
1170238405Sjkim	adcl	%edx,%edx
1171238405Sjkim	adcl	$0,%ecx
1172238405Sjkim	addl	%eax,%ebp
1173238405Sjkim	adcl	%edx,%ebx
1174238405Sjkim	movl	4(%esi),%eax
1175238405Sjkim	adcl	$0,%ecx
1176127326Smarkm
117795967Speter	mull	%eax
1178238405Sjkim	addl	%eax,%ebp
1179238405Sjkim	adcl	%edx,%ebx
1180238405Sjkim	movl	(%esi),%edx
1181238405Sjkim	adcl	$0,%ecx
1182238405Sjkim	movl	%ebp,8(%edi)
1183238405Sjkim	movl	12(%esi),%eax
1184127326Smarkm
1185127326Smarkm
1186238405Sjkim	xorl	%ebp,%ebp
1187127326Smarkm
118895967Speter	mull	%edx
1189238405Sjkim	addl	%eax,%eax
1190238405Sjkim	adcl	%edx,%edx
1191238405Sjkim	adcl	$0,%ebp
1192238405Sjkim	addl	%eax,%ebx
1193238405Sjkim	adcl	%edx,%ecx
1194238405Sjkim	movl	8(%esi),%eax
1195238405Sjkim	adcl	$0,%ebp
1196238405Sjkim	movl	4(%esi),%edx
1197127326Smarkm
119895967Speter	mull	%edx
1199238405Sjkim	addl	%eax,%eax
1200238405Sjkim	adcl	%edx,%edx
1201238405Sjkim	adcl	$0,%ebp
1202238405Sjkim	addl	%eax,%ebx
1203238405Sjkim	adcl	%edx,%ecx
1204238405Sjkim	movl	12(%esi),%eax
1205238405Sjkim	adcl	$0,%ebp
1206238405Sjkim	movl	%ebx,12(%edi)
1207238405Sjkim	movl	4(%esi),%edx
1208127326Smarkm
1209127326Smarkm
1210238405Sjkim	xorl	%ebx,%ebx
1211127326Smarkm
121295967Speter	mull	%edx
1213238405Sjkim	addl	%eax,%eax
1214238405Sjkim	adcl	%edx,%edx
1215238405Sjkim	adcl	$0,%ebx
1216238405Sjkim	addl	%eax,%ecx
1217238405Sjkim	adcl	%edx,%ebp
1218238405Sjkim	movl	8(%esi),%eax
1219238405Sjkim	adcl	$0,%ebx
1220127326Smarkm
122195967Speter	mull	%eax
1222238405Sjkim	addl	%eax,%ecx
1223238405Sjkim	adcl	%edx,%ebp
1224238405Sjkim	movl	8(%esi),%edx
1225238405Sjkim	adcl	$0,%ebx
1226238405Sjkim	movl	%ecx,16(%edi)
1227238405Sjkim	movl	12(%esi),%eax
1228127326Smarkm
1229127326Smarkm
1230238405Sjkim	xorl	%ecx,%ecx
1231127326Smarkm
123295967Speter	mull	%edx
1233238405Sjkim	addl	%eax,%eax
1234238405Sjkim	adcl	%edx,%edx
1235238405Sjkim	adcl	$0,%ecx
1236238405Sjkim	addl	%eax,%ebp
1237238405Sjkim	adcl	%edx,%ebx
1238238405Sjkim	movl	12(%esi),%eax
1239238405Sjkim	adcl	$0,%ecx
1240238405Sjkim	movl	%ebp,20(%edi)
1241127326Smarkm
1242127326Smarkm
1243238405Sjkim	xorl	%ebp,%ebp
1244127326Smarkm
124595967Speter	mull	%eax
1246238405Sjkim	addl	%eax,%ebx
1247238405Sjkim	adcl	%edx,%ecx
1248238405Sjkim	adcl	$0,%ebp
1249238405Sjkim	movl	%ebx,24(%edi)
1250127326Smarkm
1251238405Sjkim	movl	%ecx,28(%edi)
125295967Speter	popl	%ebx
125395967Speter	popl	%ebp
125495967Speter	popl	%edi
125595967Speter	popl	%esi
125695967Speter	ret
1257238405Sjkim.size	bn_sqr_comba4,.-.L_bn_sqr_comba4_begin
1258299966Sjkim#else
1259299966Sjkim.file	"co-586.S"
1260299966Sjkim.text
1261299966Sjkim.globl	bn_mul_comba8
1262299966Sjkim.type	bn_mul_comba8,@function
1263299966Sjkim.align	16
1264299966Sjkimbn_mul_comba8:
1265299966Sjkim.L_bn_mul_comba8_begin:
1266299966Sjkim	pushl	%esi
1267299966Sjkim	movl	12(%esp),%esi
1268299966Sjkim	pushl	%edi
1269299966Sjkim	movl	20(%esp),%edi
1270299966Sjkim	pushl	%ebp
1271299966Sjkim	pushl	%ebx
1272299966Sjkim	xorl	%ebx,%ebx
1273299966Sjkim	movl	(%esi),%eax
1274299966Sjkim	xorl	%ecx,%ecx
1275299966Sjkim	movl	(%edi),%edx
1276299966Sjkim
1277299966Sjkim	xorl	%ebp,%ebp
1278299966Sjkim
1279299966Sjkim	mull	%edx
1280299966Sjkim	addl	%eax,%ebx
1281299966Sjkim	movl	20(%esp),%eax
1282299966Sjkim	adcl	%edx,%ecx
1283299966Sjkim	movl	(%edi),%edx
1284299966Sjkim	adcl	$0,%ebp
1285299966Sjkim	movl	%ebx,(%eax)
1286299966Sjkim	movl	4(%esi),%eax
1287299966Sjkim
1288299966Sjkim
1289299966Sjkim	xorl	%ebx,%ebx
1290299966Sjkim
1291299966Sjkim	mull	%edx
1292299966Sjkim	addl	%eax,%ecx
1293299966Sjkim	movl	(%esi),%eax
1294299966Sjkim	adcl	%edx,%ebp
1295299966Sjkim	movl	4(%edi),%edx
1296299966Sjkim	adcl	$0,%ebx
1297299966Sjkim
1298299966Sjkim	mull	%edx
1299299966Sjkim	addl	%eax,%ecx
1300299966Sjkim	movl	20(%esp),%eax
1301299966Sjkim	adcl	%edx,%ebp
1302299966Sjkim	movl	(%edi),%edx
1303299966Sjkim	adcl	$0,%ebx
1304299966Sjkim	movl	%ecx,4(%eax)
1305299966Sjkim	movl	8(%esi),%eax
1306299966Sjkim
1307299966Sjkim
1308299966Sjkim	xorl	%ecx,%ecx
1309299966Sjkim
1310299966Sjkim	mull	%edx
1311299966Sjkim	addl	%eax,%ebp
1312299966Sjkim	movl	4(%esi),%eax
1313299966Sjkim	adcl	%edx,%ebx
1314299966Sjkim	movl	4(%edi),%edx
1315299966Sjkim	adcl	$0,%ecx
1316299966Sjkim
1317299966Sjkim	mull	%edx
1318299966Sjkim	addl	%eax,%ebp
1319299966Sjkim	movl	(%esi),%eax
1320299966Sjkim	adcl	%edx,%ebx
1321299966Sjkim	movl	8(%edi),%edx
1322299966Sjkim	adcl	$0,%ecx
1323299966Sjkim
1324299966Sjkim	mull	%edx
1325299966Sjkim	addl	%eax,%ebp
1326299966Sjkim	movl	20(%esp),%eax
1327299966Sjkim	adcl	%edx,%ebx
1328299966Sjkim	movl	(%edi),%edx
1329299966Sjkim	adcl	$0,%ecx
1330299966Sjkim	movl	%ebp,8(%eax)
1331299966Sjkim	movl	12(%esi),%eax
1332299966Sjkim
1333299966Sjkim
1334299966Sjkim	xorl	%ebp,%ebp
1335299966Sjkim
1336299966Sjkim	mull	%edx
1337299966Sjkim	addl	%eax,%ebx
1338299966Sjkim	movl	8(%esi),%eax
1339299966Sjkim	adcl	%edx,%ecx
1340299966Sjkim	movl	4(%edi),%edx
1341299966Sjkim	adcl	$0,%ebp
1342299966Sjkim
1343299966Sjkim	mull	%edx
1344299966Sjkim	addl	%eax,%ebx
1345299966Sjkim	movl	4(%esi),%eax
1346299966Sjkim	adcl	%edx,%ecx
1347299966Sjkim	movl	8(%edi),%edx
1348299966Sjkim	adcl	$0,%ebp
1349299966Sjkim
1350299966Sjkim	mull	%edx
1351299966Sjkim	addl	%eax,%ebx
1352299966Sjkim	movl	(%esi),%eax
1353299966Sjkim	adcl	%edx,%ecx
1354299966Sjkim	movl	12(%edi),%edx
1355299966Sjkim	adcl	$0,%ebp
1356299966Sjkim
1357299966Sjkim	mull	%edx
1358299966Sjkim	addl	%eax,%ebx
1359299966Sjkim	movl	20(%esp),%eax
1360299966Sjkim	adcl	%edx,%ecx
1361299966Sjkim	movl	(%edi),%edx
1362299966Sjkim	adcl	$0,%ebp
1363299966Sjkim	movl	%ebx,12(%eax)
1364299966Sjkim	movl	16(%esi),%eax
1365299966Sjkim
1366299966Sjkim
1367299966Sjkim	xorl	%ebx,%ebx
1368299966Sjkim
1369299966Sjkim	mull	%edx
1370299966Sjkim	addl	%eax,%ecx
1371299966Sjkim	movl	12(%esi),%eax
1372299966Sjkim	adcl	%edx,%ebp
1373299966Sjkim	movl	4(%edi),%edx
1374299966Sjkim	adcl	$0,%ebx
1375299966Sjkim
1376299966Sjkim	mull	%edx
1377299966Sjkim	addl	%eax,%ecx
1378299966Sjkim	movl	8(%esi),%eax
1379299966Sjkim	adcl	%edx,%ebp
1380299966Sjkim	movl	8(%edi),%edx
1381299966Sjkim	adcl	$0,%ebx
1382299966Sjkim
1383299966Sjkim	mull	%edx
1384299966Sjkim	addl	%eax,%ecx
1385299966Sjkim	movl	4(%esi),%eax
1386299966Sjkim	adcl	%edx,%ebp
1387299966Sjkim	movl	12(%edi),%edx
1388299966Sjkim	adcl	$0,%ebx
1389299966Sjkim
1390299966Sjkim	mull	%edx
1391299966Sjkim	addl	%eax,%ecx
1392299966Sjkim	movl	(%esi),%eax
1393299966Sjkim	adcl	%edx,%ebp
1394299966Sjkim	movl	16(%edi),%edx
1395299966Sjkim	adcl	$0,%ebx
1396299966Sjkim
1397299966Sjkim	mull	%edx
1398299966Sjkim	addl	%eax,%ecx
1399299966Sjkim	movl	20(%esp),%eax
1400299966Sjkim	adcl	%edx,%ebp
1401299966Sjkim	movl	(%edi),%edx
1402299966Sjkim	adcl	$0,%ebx
1403299966Sjkim	movl	%ecx,16(%eax)
1404299966Sjkim	movl	20(%esi),%eax
1405299966Sjkim
1406299966Sjkim
1407299966Sjkim	xorl	%ecx,%ecx
1408299966Sjkim
1409299966Sjkim	mull	%edx
1410299966Sjkim	addl	%eax,%ebp
1411299966Sjkim	movl	16(%esi),%eax
1412299966Sjkim	adcl	%edx,%ebx
1413299966Sjkim	movl	4(%edi),%edx
1414299966Sjkim	adcl	$0,%ecx
1415299966Sjkim
1416299966Sjkim	mull	%edx
1417299966Sjkim	addl	%eax,%ebp
1418299966Sjkim	movl	12(%esi),%eax
1419299966Sjkim	adcl	%edx,%ebx
1420299966Sjkim	movl	8(%edi),%edx
1421299966Sjkim	adcl	$0,%ecx
1422299966Sjkim
1423299966Sjkim	mull	%edx
1424299966Sjkim	addl	%eax,%ebp
1425299966Sjkim	movl	8(%esi),%eax
1426299966Sjkim	adcl	%edx,%ebx
1427299966Sjkim	movl	12(%edi),%edx
1428299966Sjkim	adcl	$0,%ecx
1429299966Sjkim
1430299966Sjkim	mull	%edx
1431299966Sjkim	addl	%eax,%ebp
1432299966Sjkim	movl	4(%esi),%eax
1433299966Sjkim	adcl	%edx,%ebx
1434299966Sjkim	movl	16(%edi),%edx
1435299966Sjkim	adcl	$0,%ecx
1436299966Sjkim
1437299966Sjkim	mull	%edx
1438299966Sjkim	addl	%eax,%ebp
1439299966Sjkim	movl	(%esi),%eax
1440299966Sjkim	adcl	%edx,%ebx
1441299966Sjkim	movl	20(%edi),%edx
1442299966Sjkim	adcl	$0,%ecx
1443299966Sjkim
1444299966Sjkim	mull	%edx
1445299966Sjkim	addl	%eax,%ebp
1446299966Sjkim	movl	20(%esp),%eax
1447299966Sjkim	adcl	%edx,%ebx
1448299966Sjkim	movl	(%edi),%edx
1449299966Sjkim	adcl	$0,%ecx
1450299966Sjkim	movl	%ebp,20(%eax)
1451299966Sjkim	movl	24(%esi),%eax
1452299966Sjkim
1453299966Sjkim
1454299966Sjkim	xorl	%ebp,%ebp
1455299966Sjkim
1456299966Sjkim	mull	%edx
1457299966Sjkim	addl	%eax,%ebx
1458299966Sjkim	movl	20(%esi),%eax
1459299966Sjkim	adcl	%edx,%ecx
1460299966Sjkim	movl	4(%edi),%edx
1461299966Sjkim	adcl	$0,%ebp
1462299966Sjkim
1463299966Sjkim	mull	%edx
1464299966Sjkim	addl	%eax,%ebx
1465299966Sjkim	movl	16(%esi),%eax
1466299966Sjkim	adcl	%edx,%ecx
1467299966Sjkim	movl	8(%edi),%edx
1468299966Sjkim	adcl	$0,%ebp
1469299966Sjkim
1470299966Sjkim	mull	%edx
1471299966Sjkim	addl	%eax,%ebx
1472299966Sjkim	movl	12(%esi),%eax
1473299966Sjkim	adcl	%edx,%ecx
1474299966Sjkim	movl	12(%edi),%edx
1475299966Sjkim	adcl	$0,%ebp
1476299966Sjkim
1477299966Sjkim	mull	%edx
1478299966Sjkim	addl	%eax,%ebx
1479299966Sjkim	movl	8(%esi),%eax
1480299966Sjkim	adcl	%edx,%ecx
1481299966Sjkim	movl	16(%edi),%edx
1482299966Sjkim	adcl	$0,%ebp
1483299966Sjkim
1484299966Sjkim	mull	%edx
1485299966Sjkim	addl	%eax,%ebx
1486299966Sjkim	movl	4(%esi),%eax
1487299966Sjkim	adcl	%edx,%ecx
1488299966Sjkim	movl	20(%edi),%edx
1489299966Sjkim	adcl	$0,%ebp
1490299966Sjkim
1491299966Sjkim	mull	%edx
1492299966Sjkim	addl	%eax,%ebx
1493299966Sjkim	movl	(%esi),%eax
1494299966Sjkim	adcl	%edx,%ecx
1495299966Sjkim	movl	24(%edi),%edx
1496299966Sjkim	adcl	$0,%ebp
1497299966Sjkim
1498299966Sjkim	mull	%edx
1499299966Sjkim	addl	%eax,%ebx
1500299966Sjkim	movl	20(%esp),%eax
1501299966Sjkim	adcl	%edx,%ecx
1502299966Sjkim	movl	(%edi),%edx
1503299966Sjkim	adcl	$0,%ebp
1504299966Sjkim	movl	%ebx,24(%eax)
1505299966Sjkim	movl	28(%esi),%eax
1506299966Sjkim
1507299966Sjkim
1508299966Sjkim	xorl	%ebx,%ebx
1509299966Sjkim
1510299966Sjkim	mull	%edx
1511299966Sjkim	addl	%eax,%ecx
1512299966Sjkim	movl	24(%esi),%eax
1513299966Sjkim	adcl	%edx,%ebp
1514299966Sjkim	movl	4(%edi),%edx
1515299966Sjkim	adcl	$0,%ebx
1516299966Sjkim
1517299966Sjkim	mull	%edx
1518299966Sjkim	addl	%eax,%ecx
1519299966Sjkim	movl	20(%esi),%eax
1520299966Sjkim	adcl	%edx,%ebp
1521299966Sjkim	movl	8(%edi),%edx
1522299966Sjkim	adcl	$0,%ebx
1523299966Sjkim
1524299966Sjkim	mull	%edx
1525299966Sjkim	addl	%eax,%ecx
1526299966Sjkim	movl	16(%esi),%eax
1527299966Sjkim	adcl	%edx,%ebp
1528299966Sjkim	movl	12(%edi),%edx
1529299966Sjkim	adcl	$0,%ebx
1530299966Sjkim
1531299966Sjkim	mull	%edx
1532299966Sjkim	addl	%eax,%ecx
1533299966Sjkim	movl	12(%esi),%eax
1534299966Sjkim	adcl	%edx,%ebp
1535299966Sjkim	movl	16(%edi),%edx
1536299966Sjkim	adcl	$0,%ebx
1537299966Sjkim
1538299966Sjkim	mull	%edx
1539299966Sjkim	addl	%eax,%ecx
1540299966Sjkim	movl	8(%esi),%eax
1541299966Sjkim	adcl	%edx,%ebp
1542299966Sjkim	movl	20(%edi),%edx
1543299966Sjkim	adcl	$0,%ebx
1544299966Sjkim
1545299966Sjkim	mull	%edx
1546299966Sjkim	addl	%eax,%ecx
1547299966Sjkim	movl	4(%esi),%eax
1548299966Sjkim	adcl	%edx,%ebp
1549299966Sjkim	movl	24(%edi),%edx
1550299966Sjkim	adcl	$0,%ebx
1551299966Sjkim
1552299966Sjkim	mull	%edx
1553299966Sjkim	addl	%eax,%ecx
1554299966Sjkim	movl	(%esi),%eax
1555299966Sjkim	adcl	%edx,%ebp
1556299966Sjkim	movl	28(%edi),%edx
1557299966Sjkim	adcl	$0,%ebx
1558299966Sjkim
1559299966Sjkim	mull	%edx
1560299966Sjkim	addl	%eax,%ecx
1561299966Sjkim	movl	20(%esp),%eax
1562299966Sjkim	adcl	%edx,%ebp
1563299966Sjkim	movl	4(%edi),%edx
1564299966Sjkim	adcl	$0,%ebx
1565299966Sjkim	movl	%ecx,28(%eax)
1566299966Sjkim	movl	28(%esi),%eax
1567299966Sjkim
1568299966Sjkim
1569299966Sjkim	xorl	%ecx,%ecx
1570299966Sjkim
1571299966Sjkim	mull	%edx
1572299966Sjkim	addl	%eax,%ebp
1573299966Sjkim	movl	24(%esi),%eax
1574299966Sjkim	adcl	%edx,%ebx
1575299966Sjkim	movl	8(%edi),%edx
1576299966Sjkim	adcl	$0,%ecx
1577299966Sjkim
1578299966Sjkim	mull	%edx
1579299966Sjkim	addl	%eax,%ebp
1580299966Sjkim	movl	20(%esi),%eax
1581299966Sjkim	adcl	%edx,%ebx
1582299966Sjkim	movl	12(%edi),%edx
1583299966Sjkim	adcl	$0,%ecx
1584299966Sjkim
1585299966Sjkim	mull	%edx
1586299966Sjkim	addl	%eax,%ebp
1587299966Sjkim	movl	16(%esi),%eax
1588299966Sjkim	adcl	%edx,%ebx
1589299966Sjkim	movl	16(%edi),%edx
1590299966Sjkim	adcl	$0,%ecx
1591299966Sjkim
1592299966Sjkim	mull	%edx
1593299966Sjkim	addl	%eax,%ebp
1594299966Sjkim	movl	12(%esi),%eax
1595299966Sjkim	adcl	%edx,%ebx
1596299966Sjkim	movl	20(%edi),%edx
1597299966Sjkim	adcl	$0,%ecx
1598299966Sjkim
1599299966Sjkim	mull	%edx
1600299966Sjkim	addl	%eax,%ebp
1601299966Sjkim	movl	8(%esi),%eax
1602299966Sjkim	adcl	%edx,%ebx
1603299966Sjkim	movl	24(%edi),%edx
1604299966Sjkim	adcl	$0,%ecx
1605299966Sjkim
1606299966Sjkim	mull	%edx
1607299966Sjkim	addl	%eax,%ebp
1608299966Sjkim	movl	4(%esi),%eax
1609299966Sjkim	adcl	%edx,%ebx
1610299966Sjkim	movl	28(%edi),%edx
1611299966Sjkim	adcl	$0,%ecx
1612299966Sjkim
1613299966Sjkim	mull	%edx
1614299966Sjkim	addl	%eax,%ebp
1615299966Sjkim	movl	20(%esp),%eax
1616299966Sjkim	adcl	%edx,%ebx
1617299966Sjkim	movl	8(%edi),%edx
1618299966Sjkim	adcl	$0,%ecx
1619299966Sjkim	movl	%ebp,32(%eax)
1620299966Sjkim	movl	28(%esi),%eax
1621299966Sjkim
1622299966Sjkim
1623299966Sjkim	xorl	%ebp,%ebp
1624299966Sjkim
1625299966Sjkim	mull	%edx
1626299966Sjkim	addl	%eax,%ebx
1627299966Sjkim	movl	24(%esi),%eax
1628299966Sjkim	adcl	%edx,%ecx
1629299966Sjkim	movl	12(%edi),%edx
1630299966Sjkim	adcl	$0,%ebp
1631299966Sjkim
1632299966Sjkim	mull	%edx
1633299966Sjkim	addl	%eax,%ebx
1634299966Sjkim	movl	20(%esi),%eax
1635299966Sjkim	adcl	%edx,%ecx
1636299966Sjkim	movl	16(%edi),%edx
1637299966Sjkim	adcl	$0,%ebp
1638299966Sjkim
1639299966Sjkim	mull	%edx
1640299966Sjkim	addl	%eax,%ebx
1641299966Sjkim	movl	16(%esi),%eax
1642299966Sjkim	adcl	%edx,%ecx
1643299966Sjkim	movl	20(%edi),%edx
1644299966Sjkim	adcl	$0,%ebp
1645299966Sjkim
1646299966Sjkim	mull	%edx
1647299966Sjkim	addl	%eax,%ebx
1648299966Sjkim	movl	12(%esi),%eax
1649299966Sjkim	adcl	%edx,%ecx
1650299966Sjkim	movl	24(%edi),%edx
1651299966Sjkim	adcl	$0,%ebp
1652299966Sjkim
1653299966Sjkim	mull	%edx
1654299966Sjkim	addl	%eax,%ebx
1655299966Sjkim	movl	8(%esi),%eax
1656299966Sjkim	adcl	%edx,%ecx
1657299966Sjkim	movl	28(%edi),%edx
1658299966Sjkim	adcl	$0,%ebp
1659299966Sjkim
1660299966Sjkim	mull	%edx
1661299966Sjkim	addl	%eax,%ebx
1662299966Sjkim	movl	20(%esp),%eax
1663299966Sjkim	adcl	%edx,%ecx
1664299966Sjkim	movl	12(%edi),%edx
1665299966Sjkim	adcl	$0,%ebp
1666299966Sjkim	movl	%ebx,36(%eax)
1667299966Sjkim	movl	28(%esi),%eax
1668299966Sjkim
1669299966Sjkim
1670299966Sjkim	xorl	%ebx,%ebx
1671299966Sjkim
1672299966Sjkim	mull	%edx
1673299966Sjkim	addl	%eax,%ecx
1674299966Sjkim	movl	24(%esi),%eax
1675299966Sjkim	adcl	%edx,%ebp
1676299966Sjkim	movl	16(%edi),%edx
1677299966Sjkim	adcl	$0,%ebx
1678299966Sjkim
1679299966Sjkim	mull	%edx
1680299966Sjkim	addl	%eax,%ecx
1681299966Sjkim	movl	20(%esi),%eax
1682299966Sjkim	adcl	%edx,%ebp
1683299966Sjkim	movl	20(%edi),%edx
1684299966Sjkim	adcl	$0,%ebx
1685299966Sjkim
1686299966Sjkim	mull	%edx
1687299966Sjkim	addl	%eax,%ecx
1688299966Sjkim	movl	16(%esi),%eax
1689299966Sjkim	adcl	%edx,%ebp
1690299966Sjkim	movl	24(%edi),%edx
1691299966Sjkim	adcl	$0,%ebx
1692299966Sjkim
1693299966Sjkim	mull	%edx
1694299966Sjkim	addl	%eax,%ecx
1695299966Sjkim	movl	12(%esi),%eax
1696299966Sjkim	adcl	%edx,%ebp
1697299966Sjkim	movl	28(%edi),%edx
1698299966Sjkim	adcl	$0,%ebx
1699299966Sjkim
1700299966Sjkim	mull	%edx
1701299966Sjkim	addl	%eax,%ecx
1702299966Sjkim	movl	20(%esp),%eax
1703299966Sjkim	adcl	%edx,%ebp
1704299966Sjkim	movl	16(%edi),%edx
1705299966Sjkim	adcl	$0,%ebx
1706299966Sjkim	movl	%ecx,40(%eax)
1707299966Sjkim	movl	28(%esi),%eax
1708299966Sjkim
1709299966Sjkim
1710299966Sjkim	xorl	%ecx,%ecx
1711299966Sjkim
1712299966Sjkim	mull	%edx
1713299966Sjkim	addl	%eax,%ebp
1714299966Sjkim	movl	24(%esi),%eax
1715299966Sjkim	adcl	%edx,%ebx
1716299966Sjkim	movl	20(%edi),%edx
1717299966Sjkim	adcl	$0,%ecx
1718299966Sjkim
1719299966Sjkim	mull	%edx
1720299966Sjkim	addl	%eax,%ebp
1721299966Sjkim	movl	20(%esi),%eax
1722299966Sjkim	adcl	%edx,%ebx
1723299966Sjkim	movl	24(%edi),%edx
1724299966Sjkim	adcl	$0,%ecx
1725299966Sjkim
1726299966Sjkim	mull	%edx
1727299966Sjkim	addl	%eax,%ebp
1728299966Sjkim	movl	16(%esi),%eax
1729299966Sjkim	adcl	%edx,%ebx
1730299966Sjkim	movl	28(%edi),%edx
1731299966Sjkim	adcl	$0,%ecx
1732299966Sjkim
1733299966Sjkim	mull	%edx
1734299966Sjkim	addl	%eax,%ebp
1735299966Sjkim	movl	20(%esp),%eax
1736299966Sjkim	adcl	%edx,%ebx
1737299966Sjkim	movl	20(%edi),%edx
1738299966Sjkim	adcl	$0,%ecx
1739299966Sjkim	movl	%ebp,44(%eax)
1740299966Sjkim	movl	28(%esi),%eax
1741299966Sjkim
1742299966Sjkim
1743299966Sjkim	xorl	%ebp,%ebp
1744299966Sjkim
1745299966Sjkim	mull	%edx
1746299966Sjkim	addl	%eax,%ebx
1747299966Sjkim	movl	24(%esi),%eax
1748299966Sjkim	adcl	%edx,%ecx
1749299966Sjkim	movl	24(%edi),%edx
1750299966Sjkim	adcl	$0,%ebp
1751299966Sjkim
1752299966Sjkim	mull	%edx
1753299966Sjkim	addl	%eax,%ebx
1754299966Sjkim	movl	20(%esi),%eax
1755299966Sjkim	adcl	%edx,%ecx
1756299966Sjkim	movl	28(%edi),%edx
1757299966Sjkim	adcl	$0,%ebp
1758299966Sjkim
1759299966Sjkim	mull	%edx
1760299966Sjkim	addl	%eax,%ebx
1761299966Sjkim	movl	20(%esp),%eax
1762299966Sjkim	adcl	%edx,%ecx
1763299966Sjkim	movl	24(%edi),%edx
1764299966Sjkim	adcl	$0,%ebp
1765299966Sjkim	movl	%ebx,48(%eax)
1766299966Sjkim	movl	28(%esi),%eax
1767299966Sjkim
1768299966Sjkim
1769299966Sjkim	xorl	%ebx,%ebx
1770299966Sjkim
1771299966Sjkim	mull	%edx
1772299966Sjkim	addl	%eax,%ecx
1773299966Sjkim	movl	24(%esi),%eax
1774299966Sjkim	adcl	%edx,%ebp
1775299966Sjkim	movl	28(%edi),%edx
1776299966Sjkim	adcl	$0,%ebx
1777299966Sjkim
1778299966Sjkim	mull	%edx
1779299966Sjkim	addl	%eax,%ecx
1780299966Sjkim	movl	20(%esp),%eax
1781299966Sjkim	adcl	%edx,%ebp
1782299966Sjkim	movl	28(%edi),%edx
1783299966Sjkim	adcl	$0,%ebx
1784299966Sjkim	movl	%ecx,52(%eax)
1785299966Sjkim	movl	28(%esi),%eax
1786299966Sjkim
1787299966Sjkim
1788299966Sjkim	xorl	%ecx,%ecx
1789299966Sjkim
1790299966Sjkim	mull	%edx
1791299966Sjkim	addl	%eax,%ebp
1792299966Sjkim	movl	20(%esp),%eax
1793299966Sjkim	adcl	%edx,%ebx
1794299966Sjkim	adcl	$0,%ecx
1795299966Sjkim	movl	%ebp,56(%eax)
1796299966Sjkim
1797299966Sjkim
1798299966Sjkim	movl	%ebx,60(%eax)
1799299966Sjkim	popl	%ebx
1800299966Sjkim	popl	%ebp
1801299966Sjkim	popl	%edi
1802299966Sjkim	popl	%esi
1803299966Sjkim	ret
1804299966Sjkim.size	bn_mul_comba8,.-.L_bn_mul_comba8_begin
1805299966Sjkim.globl	bn_mul_comba4
1806299966Sjkim.type	bn_mul_comba4,@function
1807299966Sjkim.align	16
1808299966Sjkimbn_mul_comba4:
1809299966Sjkim.L_bn_mul_comba4_begin:
1810299966Sjkim	pushl	%esi
1811299966Sjkim	movl	12(%esp),%esi
1812299966Sjkim	pushl	%edi
1813299966Sjkim	movl	20(%esp),%edi
1814299966Sjkim	pushl	%ebp
1815299966Sjkim	pushl	%ebx
1816299966Sjkim	xorl	%ebx,%ebx
1817299966Sjkim	movl	(%esi),%eax
1818299966Sjkim	xorl	%ecx,%ecx
1819299966Sjkim	movl	(%edi),%edx
1820299966Sjkim
1821299966Sjkim	xorl	%ebp,%ebp
1822299966Sjkim
1823299966Sjkim	mull	%edx
1824299966Sjkim	addl	%eax,%ebx
1825299966Sjkim	movl	20(%esp),%eax
1826299966Sjkim	adcl	%edx,%ecx
1827299966Sjkim	movl	(%edi),%edx
1828299966Sjkim	adcl	$0,%ebp
1829299966Sjkim	movl	%ebx,(%eax)
1830299966Sjkim	movl	4(%esi),%eax
1831299966Sjkim
1832299966Sjkim
1833299966Sjkim	xorl	%ebx,%ebx
1834299966Sjkim
1835299966Sjkim	mull	%edx
1836299966Sjkim	addl	%eax,%ecx
1837299966Sjkim	movl	(%esi),%eax
1838299966Sjkim	adcl	%edx,%ebp
1839299966Sjkim	movl	4(%edi),%edx
1840299966Sjkim	adcl	$0,%ebx
1841299966Sjkim
1842299966Sjkim	mull	%edx
1843299966Sjkim	addl	%eax,%ecx
1844299966Sjkim	movl	20(%esp),%eax
1845299966Sjkim	adcl	%edx,%ebp
1846299966Sjkim	movl	(%edi),%edx
1847299966Sjkim	adcl	$0,%ebx
1848299966Sjkim	movl	%ecx,4(%eax)
1849299966Sjkim	movl	8(%esi),%eax
1850299966Sjkim
1851299966Sjkim
1852299966Sjkim	xorl	%ecx,%ecx
1853299966Sjkim
1854299966Sjkim	mull	%edx
1855299966Sjkim	addl	%eax,%ebp
1856299966Sjkim	movl	4(%esi),%eax
1857299966Sjkim	adcl	%edx,%ebx
1858299966Sjkim	movl	4(%edi),%edx
1859299966Sjkim	adcl	$0,%ecx
1860299966Sjkim
1861299966Sjkim	mull	%edx
1862299966Sjkim	addl	%eax,%ebp
1863299966Sjkim	movl	(%esi),%eax
1864299966Sjkim	adcl	%edx,%ebx
1865299966Sjkim	movl	8(%edi),%edx
1866299966Sjkim	adcl	$0,%ecx
1867299966Sjkim
1868299966Sjkim	mull	%edx
1869299966Sjkim	addl	%eax,%ebp
1870299966Sjkim	movl	20(%esp),%eax
1871299966Sjkim	adcl	%edx,%ebx
1872299966Sjkim	movl	(%edi),%edx
1873299966Sjkim	adcl	$0,%ecx
1874299966Sjkim	movl	%ebp,8(%eax)
1875299966Sjkim	movl	12(%esi),%eax
1876299966Sjkim
1877299966Sjkim
1878299966Sjkim	xorl	%ebp,%ebp
1879299966Sjkim
1880299966Sjkim	mull	%edx
1881299966Sjkim	addl	%eax,%ebx
1882299966Sjkim	movl	8(%esi),%eax
1883299966Sjkim	adcl	%edx,%ecx
1884299966Sjkim	movl	4(%edi),%edx
1885299966Sjkim	adcl	$0,%ebp
1886299966Sjkim
1887299966Sjkim	mull	%edx
1888299966Sjkim	addl	%eax,%ebx
1889299966Sjkim	movl	4(%esi),%eax
1890299966Sjkim	adcl	%edx,%ecx
1891299966Sjkim	movl	8(%edi),%edx
1892299966Sjkim	adcl	$0,%ebp
1893299966Sjkim
1894299966Sjkim	mull	%edx
1895299966Sjkim	addl	%eax,%ebx
1896299966Sjkim	movl	(%esi),%eax
1897299966Sjkim	adcl	%edx,%ecx
1898299966Sjkim	movl	12(%edi),%edx
1899299966Sjkim	adcl	$0,%ebp
1900299966Sjkim
1901299966Sjkim	mull	%edx
1902299966Sjkim	addl	%eax,%ebx
1903299966Sjkim	movl	20(%esp),%eax
1904299966Sjkim	adcl	%edx,%ecx
1905299966Sjkim	movl	4(%edi),%edx
1906299966Sjkim	adcl	$0,%ebp
1907299966Sjkim	movl	%ebx,12(%eax)
1908299966Sjkim	movl	12(%esi),%eax
1909299966Sjkim
1910299966Sjkim
1911299966Sjkim	xorl	%ebx,%ebx
1912299966Sjkim
1913299966Sjkim	mull	%edx
1914299966Sjkim	addl	%eax,%ecx
1915299966Sjkim	movl	8(%esi),%eax
1916299966Sjkim	adcl	%edx,%ebp
1917299966Sjkim	movl	8(%edi),%edx
1918299966Sjkim	adcl	$0,%ebx
1919299966Sjkim
1920299966Sjkim	mull	%edx
1921299966Sjkim	addl	%eax,%ecx
1922299966Sjkim	movl	4(%esi),%eax
1923299966Sjkim	adcl	%edx,%ebp
1924299966Sjkim	movl	12(%edi),%edx
1925299966Sjkim	adcl	$0,%ebx
1926299966Sjkim
1927299966Sjkim	mull	%edx
1928299966Sjkim	addl	%eax,%ecx
1929299966Sjkim	movl	20(%esp),%eax
1930299966Sjkim	adcl	%edx,%ebp
1931299966Sjkim	movl	8(%edi),%edx
1932299966Sjkim	adcl	$0,%ebx
1933299966Sjkim	movl	%ecx,16(%eax)
1934299966Sjkim	movl	12(%esi),%eax
1935299966Sjkim
1936299966Sjkim
1937299966Sjkim	xorl	%ecx,%ecx
1938299966Sjkim
1939299966Sjkim	mull	%edx
1940299966Sjkim	addl	%eax,%ebp
1941299966Sjkim	movl	8(%esi),%eax
1942299966Sjkim	adcl	%edx,%ebx
1943299966Sjkim	movl	12(%edi),%edx
1944299966Sjkim	adcl	$0,%ecx
1945299966Sjkim
1946299966Sjkim	mull	%edx
1947299966Sjkim	addl	%eax,%ebp
1948299966Sjkim	movl	20(%esp),%eax
1949299966Sjkim	adcl	%edx,%ebx
1950299966Sjkim	movl	12(%edi),%edx
1951299966Sjkim	adcl	$0,%ecx
1952299966Sjkim	movl	%ebp,20(%eax)
1953299966Sjkim	movl	12(%esi),%eax
1954299966Sjkim
1955299966Sjkim
1956299966Sjkim	xorl	%ebp,%ebp
1957299966Sjkim
1958299966Sjkim	mull	%edx
1959299966Sjkim	addl	%eax,%ebx
1960299966Sjkim	movl	20(%esp),%eax
1961299966Sjkim	adcl	%edx,%ecx
1962299966Sjkim	adcl	$0,%ebp
1963299966Sjkim	movl	%ebx,24(%eax)
1964299966Sjkim
1965299966Sjkim
1966299966Sjkim	movl	%ecx,28(%eax)
1967299966Sjkim	popl	%ebx
1968299966Sjkim	popl	%ebp
1969299966Sjkim	popl	%edi
1970299966Sjkim	popl	%esi
1971299966Sjkim	ret
1972299966Sjkim.size	bn_mul_comba4,.-.L_bn_mul_comba4_begin
1973299966Sjkim.globl	bn_sqr_comba8
1974299966Sjkim.type	bn_sqr_comba8,@function
1975299966Sjkim.align	16
1976299966Sjkimbn_sqr_comba8:
1977299966Sjkim.L_bn_sqr_comba8_begin:
1978299966Sjkim	pushl	%esi
1979299966Sjkim	pushl	%edi
1980299966Sjkim	pushl	%ebp
1981299966Sjkim	pushl	%ebx
1982299966Sjkim	movl	20(%esp),%edi
1983299966Sjkim	movl	24(%esp),%esi
1984299966Sjkim	xorl	%ebx,%ebx
1985299966Sjkim	xorl	%ecx,%ecx
1986299966Sjkim	movl	(%esi),%eax
1987299966Sjkim
1988299966Sjkim	xorl	%ebp,%ebp
1989299966Sjkim
1990299966Sjkim	mull	%eax
1991299966Sjkim	addl	%eax,%ebx
1992299966Sjkim	adcl	%edx,%ecx
1993299966Sjkim	movl	(%esi),%edx
1994299966Sjkim	adcl	$0,%ebp
1995299966Sjkim	movl	%ebx,(%edi)
1996299966Sjkim	movl	4(%esi),%eax
1997299966Sjkim
1998299966Sjkim
1999299966Sjkim	xorl	%ebx,%ebx
2000299966Sjkim
2001299966Sjkim	mull	%edx
2002299966Sjkim	addl	%eax,%eax
2003299966Sjkim	adcl	%edx,%edx
2004299966Sjkim	adcl	$0,%ebx
2005299966Sjkim	addl	%eax,%ecx
2006299966Sjkim	adcl	%edx,%ebp
2007299966Sjkim	movl	8(%esi),%eax
2008299966Sjkim	adcl	$0,%ebx
2009299966Sjkim	movl	%ecx,4(%edi)
2010299966Sjkim	movl	(%esi),%edx
2011299966Sjkim
2012299966Sjkim
2013299966Sjkim	xorl	%ecx,%ecx
2014299966Sjkim
2015299966Sjkim	mull	%edx
2016299966Sjkim	addl	%eax,%eax
2017299966Sjkim	adcl	%edx,%edx
2018299966Sjkim	adcl	$0,%ecx
2019299966Sjkim	addl	%eax,%ebp
2020299966Sjkim	adcl	%edx,%ebx
2021299966Sjkim	movl	4(%esi),%eax
2022299966Sjkim	adcl	$0,%ecx
2023299966Sjkim
2024299966Sjkim	mull	%eax
2025299966Sjkim	addl	%eax,%ebp
2026299966Sjkim	adcl	%edx,%ebx
2027299966Sjkim	movl	(%esi),%edx
2028299966Sjkim	adcl	$0,%ecx
2029299966Sjkim	movl	%ebp,8(%edi)
2030299966Sjkim	movl	12(%esi),%eax
2031299966Sjkim
2032299966Sjkim
2033299966Sjkim	xorl	%ebp,%ebp
2034299966Sjkim
2035299966Sjkim	mull	%edx
2036299966Sjkim	addl	%eax,%eax
2037299966Sjkim	adcl	%edx,%edx
2038299966Sjkim	adcl	$0,%ebp
2039299966Sjkim	addl	%eax,%ebx
2040299966Sjkim	adcl	%edx,%ecx
2041299966Sjkim	movl	8(%esi),%eax
2042299966Sjkim	adcl	$0,%ebp
2043299966Sjkim	movl	4(%esi),%edx
2044299966Sjkim
2045299966Sjkim	mull	%edx
2046299966Sjkim	addl	%eax,%eax
2047299966Sjkim	adcl	%edx,%edx
2048299966Sjkim	adcl	$0,%ebp
2049299966Sjkim	addl	%eax,%ebx
2050299966Sjkim	adcl	%edx,%ecx
2051299966Sjkim	movl	16(%esi),%eax
2052299966Sjkim	adcl	$0,%ebp
2053299966Sjkim	movl	%ebx,12(%edi)
2054299966Sjkim	movl	(%esi),%edx
2055299966Sjkim
2056299966Sjkim
2057299966Sjkim	xorl	%ebx,%ebx
2058299966Sjkim
2059299966Sjkim	mull	%edx
2060299966Sjkim	addl	%eax,%eax
2061299966Sjkim	adcl	%edx,%edx
2062299966Sjkim	adcl	$0,%ebx
2063299966Sjkim	addl	%eax,%ecx
2064299966Sjkim	adcl	%edx,%ebp
2065299966Sjkim	movl	12(%esi),%eax
2066299966Sjkim	adcl	$0,%ebx
2067299966Sjkim	movl	4(%esi),%edx
2068299966Sjkim
2069299966Sjkim	mull	%edx
2070299966Sjkim	addl	%eax,%eax
2071299966Sjkim	adcl	%edx,%edx
2072299966Sjkim	adcl	$0,%ebx
2073299966Sjkim	addl	%eax,%ecx
2074299966Sjkim	adcl	%edx,%ebp
2075299966Sjkim	movl	8(%esi),%eax
2076299966Sjkim	adcl	$0,%ebx
2077299966Sjkim
2078299966Sjkim	mull	%eax
2079299966Sjkim	addl	%eax,%ecx
2080299966Sjkim	adcl	%edx,%ebp
2081299966Sjkim	movl	(%esi),%edx
2082299966Sjkim	adcl	$0,%ebx
2083299966Sjkim	movl	%ecx,16(%edi)
2084299966Sjkim	movl	20(%esi),%eax
2085299966Sjkim
2086299966Sjkim
2087299966Sjkim	xorl	%ecx,%ecx
2088299966Sjkim
2089299966Sjkim	mull	%edx
2090299966Sjkim	addl	%eax,%eax
2091299966Sjkim	adcl	%edx,%edx
2092299966Sjkim	adcl	$0,%ecx
2093299966Sjkim	addl	%eax,%ebp
2094299966Sjkim	adcl	%edx,%ebx
2095299966Sjkim	movl	16(%esi),%eax
2096299966Sjkim	adcl	$0,%ecx
2097299966Sjkim	movl	4(%esi),%edx
2098299966Sjkim
2099299966Sjkim	mull	%edx
2100299966Sjkim	addl	%eax,%eax
2101299966Sjkim	adcl	%edx,%edx
2102299966Sjkim	adcl	$0,%ecx
2103299966Sjkim	addl	%eax,%ebp
2104299966Sjkim	adcl	%edx,%ebx
2105299966Sjkim	movl	12(%esi),%eax
2106299966Sjkim	adcl	$0,%ecx
2107299966Sjkim	movl	8(%esi),%edx
2108299966Sjkim
2109299966Sjkim	mull	%edx
2110299966Sjkim	addl	%eax,%eax
2111299966Sjkim	adcl	%edx,%edx
2112299966Sjkim	adcl	$0,%ecx
2113299966Sjkim	addl	%eax,%ebp
2114299966Sjkim	adcl	%edx,%ebx
2115299966Sjkim	movl	24(%esi),%eax
2116299966Sjkim	adcl	$0,%ecx
2117299966Sjkim	movl	%ebp,20(%edi)
2118299966Sjkim	movl	(%esi),%edx
2119299966Sjkim
2120299966Sjkim
2121299966Sjkim	xorl	%ebp,%ebp
2122299966Sjkim
2123299966Sjkim	mull	%edx
2124299966Sjkim	addl	%eax,%eax
2125299966Sjkim	adcl	%edx,%edx
2126299966Sjkim	adcl	$0,%ebp
2127299966Sjkim	addl	%eax,%ebx
2128299966Sjkim	adcl	%edx,%ecx
2129299966Sjkim	movl	20(%esi),%eax
2130299966Sjkim	adcl	$0,%ebp
2131299966Sjkim	movl	4(%esi),%edx
2132299966Sjkim
2133299966Sjkim	mull	%edx
2134299966Sjkim	addl	%eax,%eax
2135299966Sjkim	adcl	%edx,%edx
2136299966Sjkim	adcl	$0,%ebp
2137299966Sjkim	addl	%eax,%ebx
2138299966Sjkim	adcl	%edx,%ecx
2139299966Sjkim	movl	16(%esi),%eax
2140299966Sjkim	adcl	$0,%ebp
2141299966Sjkim	movl	8(%esi),%edx
2142299966Sjkim
2143299966Sjkim	mull	%edx
2144299966Sjkim	addl	%eax,%eax
2145299966Sjkim	adcl	%edx,%edx
2146299966Sjkim	adcl	$0,%ebp
2147299966Sjkim	addl	%eax,%ebx
2148299966Sjkim	adcl	%edx,%ecx
2149299966Sjkim	movl	12(%esi),%eax
2150299966Sjkim	adcl	$0,%ebp
2151299966Sjkim
2152299966Sjkim	mull	%eax
2153299966Sjkim	addl	%eax,%ebx
2154299966Sjkim	adcl	%edx,%ecx
2155299966Sjkim	movl	(%esi),%edx
2156299966Sjkim	adcl	$0,%ebp
2157299966Sjkim	movl	%ebx,24(%edi)
2158299966Sjkim	movl	28(%esi),%eax
2159299966Sjkim
2160299966Sjkim
2161299966Sjkim	xorl	%ebx,%ebx
2162299966Sjkim
2163299966Sjkim	mull	%edx
2164299966Sjkim	addl	%eax,%eax
2165299966Sjkim	adcl	%edx,%edx
2166299966Sjkim	adcl	$0,%ebx
2167299966Sjkim	addl	%eax,%ecx
2168299966Sjkim	adcl	%edx,%ebp
2169299966Sjkim	movl	24(%esi),%eax
2170299966Sjkim	adcl	$0,%ebx
2171299966Sjkim	movl	4(%esi),%edx
2172299966Sjkim
2173299966Sjkim	mull	%edx
2174299966Sjkim	addl	%eax,%eax
2175299966Sjkim	adcl	%edx,%edx
2176299966Sjkim	adcl	$0,%ebx
2177299966Sjkim	addl	%eax,%ecx
2178299966Sjkim	adcl	%edx,%ebp
2179299966Sjkim	movl	20(%esi),%eax
2180299966Sjkim	adcl	$0,%ebx
2181299966Sjkim	movl	8(%esi),%edx
2182299966Sjkim
2183299966Sjkim	mull	%edx
2184299966Sjkim	addl	%eax,%eax
2185299966Sjkim	adcl	%edx,%edx
2186299966Sjkim	adcl	$0,%ebx
2187299966Sjkim	addl	%eax,%ecx
2188299966Sjkim	adcl	%edx,%ebp
2189299966Sjkim	movl	16(%esi),%eax
2190299966Sjkim	adcl	$0,%ebx
2191299966Sjkim	movl	12(%esi),%edx
2192299966Sjkim
2193299966Sjkim	mull	%edx
2194299966Sjkim	addl	%eax,%eax
2195299966Sjkim	adcl	%edx,%edx
2196299966Sjkim	adcl	$0,%ebx
2197299966Sjkim	addl	%eax,%ecx
2198299966Sjkim	adcl	%edx,%ebp
2199299966Sjkim	movl	28(%esi),%eax
2200299966Sjkim	adcl	$0,%ebx
2201299966Sjkim	movl	%ecx,28(%edi)
2202299966Sjkim	movl	4(%esi),%edx
2203299966Sjkim
2204299966Sjkim
2205299966Sjkim	xorl	%ecx,%ecx
2206299966Sjkim
2207299966Sjkim	mull	%edx
2208299966Sjkim	addl	%eax,%eax
2209299966Sjkim	adcl	%edx,%edx
2210299966Sjkim	adcl	$0,%ecx
2211299966Sjkim	addl	%eax,%ebp
2212299966Sjkim	adcl	%edx,%ebx
2213299966Sjkim	movl	24(%esi),%eax
2214299966Sjkim	adcl	$0,%ecx
2215299966Sjkim	movl	8(%esi),%edx
2216299966Sjkim
2217299966Sjkim	mull	%edx
2218299966Sjkim	addl	%eax,%eax
2219299966Sjkim	adcl	%edx,%edx
2220299966Sjkim	adcl	$0,%ecx
2221299966Sjkim	addl	%eax,%ebp
2222299966Sjkim	adcl	%edx,%ebx
2223299966Sjkim	movl	20(%esi),%eax
2224299966Sjkim	adcl	$0,%ecx
2225299966Sjkim	movl	12(%esi),%edx
2226299966Sjkim
2227299966Sjkim	mull	%edx
2228299966Sjkim	addl	%eax,%eax
2229299966Sjkim	adcl	%edx,%edx
2230299966Sjkim	adcl	$0,%ecx
2231299966Sjkim	addl	%eax,%ebp
2232299966Sjkim	adcl	%edx,%ebx
2233299966Sjkim	movl	16(%esi),%eax
2234299966Sjkim	adcl	$0,%ecx
2235299966Sjkim
2236299966Sjkim	mull	%eax
2237299966Sjkim	addl	%eax,%ebp
2238299966Sjkim	adcl	%edx,%ebx
2239299966Sjkim	movl	8(%esi),%edx
2240299966Sjkim	adcl	$0,%ecx
2241299966Sjkim	movl	%ebp,32(%edi)
2242299966Sjkim	movl	28(%esi),%eax
2243299966Sjkim
2244299966Sjkim
2245299966Sjkim	xorl	%ebp,%ebp
2246299966Sjkim
2247299966Sjkim	mull	%edx
2248299966Sjkim	addl	%eax,%eax
2249299966Sjkim	adcl	%edx,%edx
2250299966Sjkim	adcl	$0,%ebp
2251299966Sjkim	addl	%eax,%ebx
2252299966Sjkim	adcl	%edx,%ecx
2253299966Sjkim	movl	24(%esi),%eax
2254299966Sjkim	adcl	$0,%ebp
2255299966Sjkim	movl	12(%esi),%edx
2256299966Sjkim
2257299966Sjkim	mull	%edx
2258299966Sjkim	addl	%eax,%eax
2259299966Sjkim	adcl	%edx,%edx
2260299966Sjkim	adcl	$0,%ebp
2261299966Sjkim	addl	%eax,%ebx
2262299966Sjkim	adcl	%edx,%ecx
2263299966Sjkim	movl	20(%esi),%eax
2264299966Sjkim	adcl	$0,%ebp
2265299966Sjkim	movl	16(%esi),%edx
2266299966Sjkim
2267299966Sjkim	mull	%edx
2268299966Sjkim	addl	%eax,%eax
2269299966Sjkim	adcl	%edx,%edx
2270299966Sjkim	adcl	$0,%ebp
2271299966Sjkim	addl	%eax,%ebx
2272299966Sjkim	adcl	%edx,%ecx
2273299966Sjkim	movl	28(%esi),%eax
2274299966Sjkim	adcl	$0,%ebp
2275299966Sjkim	movl	%ebx,36(%edi)
2276299966Sjkim	movl	12(%esi),%edx
2277299966Sjkim
2278299966Sjkim
2279299966Sjkim	xorl	%ebx,%ebx
2280299966Sjkim
2281299966Sjkim	mull	%edx
2282299966Sjkim	addl	%eax,%eax
2283299966Sjkim	adcl	%edx,%edx
2284299966Sjkim	adcl	$0,%ebx
2285299966Sjkim	addl	%eax,%ecx
2286299966Sjkim	adcl	%edx,%ebp
2287299966Sjkim	movl	24(%esi),%eax
2288299966Sjkim	adcl	$0,%ebx
2289299966Sjkim	movl	16(%esi),%edx
2290299966Sjkim
2291299966Sjkim	mull	%edx
2292299966Sjkim	addl	%eax,%eax
2293299966Sjkim	adcl	%edx,%edx
2294299966Sjkim	adcl	$0,%ebx
2295299966Sjkim	addl	%eax,%ecx
2296299966Sjkim	adcl	%edx,%ebp
2297299966Sjkim	movl	20(%esi),%eax
2298299966Sjkim	adcl	$0,%ebx
2299299966Sjkim
2300299966Sjkim	mull	%eax
2301299966Sjkim	addl	%eax,%ecx
2302299966Sjkim	adcl	%edx,%ebp
2303299966Sjkim	movl	16(%esi),%edx
2304299966Sjkim	adcl	$0,%ebx
2305299966Sjkim	movl	%ecx,40(%edi)
2306299966Sjkim	movl	28(%esi),%eax
2307299966Sjkim
2308299966Sjkim
2309299966Sjkim	xorl	%ecx,%ecx
2310299966Sjkim
2311299966Sjkim	mull	%edx
2312299966Sjkim	addl	%eax,%eax
2313299966Sjkim	adcl	%edx,%edx
2314299966Sjkim	adcl	$0,%ecx
2315299966Sjkim	addl	%eax,%ebp
2316299966Sjkim	adcl	%edx,%ebx
2317299966Sjkim	movl	24(%esi),%eax
2318299966Sjkim	adcl	$0,%ecx
2319299966Sjkim	movl	20(%esi),%edx
2320299966Sjkim
2321299966Sjkim	mull	%edx
2322299966Sjkim	addl	%eax,%eax
2323299966Sjkim	adcl	%edx,%edx
2324299966Sjkim	adcl	$0,%ecx
2325299966Sjkim	addl	%eax,%ebp
2326299966Sjkim	adcl	%edx,%ebx
2327299966Sjkim	movl	28(%esi),%eax
2328299966Sjkim	adcl	$0,%ecx
2329299966Sjkim	movl	%ebp,44(%edi)
2330299966Sjkim	movl	20(%esi),%edx
2331299966Sjkim
2332299966Sjkim
2333299966Sjkim	xorl	%ebp,%ebp
2334299966Sjkim
2335299966Sjkim	mull	%edx
2336299966Sjkim	addl	%eax,%eax
2337299966Sjkim	adcl	%edx,%edx
2338299966Sjkim	adcl	$0,%ebp
2339299966Sjkim	addl	%eax,%ebx
2340299966Sjkim	adcl	%edx,%ecx
2341299966Sjkim	movl	24(%esi),%eax
2342299966Sjkim	adcl	$0,%ebp
2343299966Sjkim
2344299966Sjkim	mull	%eax
2345299966Sjkim	addl	%eax,%ebx
2346299966Sjkim	adcl	%edx,%ecx
2347299966Sjkim	movl	24(%esi),%edx
2348299966Sjkim	adcl	$0,%ebp
2349299966Sjkim	movl	%ebx,48(%edi)
2350299966Sjkim	movl	28(%esi),%eax
2351299966Sjkim
2352299966Sjkim
2353299966Sjkim	xorl	%ebx,%ebx
2354299966Sjkim
2355299966Sjkim	mull	%edx
2356299966Sjkim	addl	%eax,%eax
2357299966Sjkim	adcl	%edx,%edx
2358299966Sjkim	adcl	$0,%ebx
2359299966Sjkim	addl	%eax,%ecx
2360299966Sjkim	adcl	%edx,%ebp
2361299966Sjkim	movl	28(%esi),%eax
2362299966Sjkim	adcl	$0,%ebx
2363299966Sjkim	movl	%ecx,52(%edi)
2364299966Sjkim
2365299966Sjkim
2366299966Sjkim	xorl	%ecx,%ecx
2367299966Sjkim
2368299966Sjkim	mull	%eax
2369299966Sjkim	addl	%eax,%ebp
2370299966Sjkim	adcl	%edx,%ebx
2371299966Sjkim	adcl	$0,%ecx
2372299966Sjkim	movl	%ebp,56(%edi)
2373299966Sjkim
2374299966Sjkim	movl	%ebx,60(%edi)
2375299966Sjkim	popl	%ebx
2376299966Sjkim	popl	%ebp
2377299966Sjkim	popl	%edi
2378299966Sjkim	popl	%esi
2379299966Sjkim	ret
2380299966Sjkim.size	bn_sqr_comba8,.-.L_bn_sqr_comba8_begin
2381299966Sjkim.globl	bn_sqr_comba4
2382299966Sjkim.type	bn_sqr_comba4,@function
2383299966Sjkim.align	16
2384299966Sjkimbn_sqr_comba4:
2385299966Sjkim.L_bn_sqr_comba4_begin:
2386299966Sjkim	pushl	%esi
2387299966Sjkim	pushl	%edi
2388299966Sjkim	pushl	%ebp
2389299966Sjkim	pushl	%ebx
2390299966Sjkim	movl	20(%esp),%edi
2391299966Sjkim	movl	24(%esp),%esi
2392299966Sjkim	xorl	%ebx,%ebx
2393299966Sjkim	xorl	%ecx,%ecx
2394299966Sjkim	movl	(%esi),%eax
2395299966Sjkim
2396299966Sjkim	xorl	%ebp,%ebp
2397299966Sjkim
2398299966Sjkim	mull	%eax
2399299966Sjkim	addl	%eax,%ebx
2400299966Sjkim	adcl	%edx,%ecx
2401299966Sjkim	movl	(%esi),%edx
2402299966Sjkim	adcl	$0,%ebp
2403299966Sjkim	movl	%ebx,(%edi)
2404299966Sjkim	movl	4(%esi),%eax
2405299966Sjkim
2406299966Sjkim
2407299966Sjkim	xorl	%ebx,%ebx
2408299966Sjkim
2409299966Sjkim	mull	%edx
2410299966Sjkim	addl	%eax,%eax
2411299966Sjkim	adcl	%edx,%edx
2412299966Sjkim	adcl	$0,%ebx
2413299966Sjkim	addl	%eax,%ecx
2414299966Sjkim	adcl	%edx,%ebp
2415299966Sjkim	movl	8(%esi),%eax
2416299966Sjkim	adcl	$0,%ebx
2417299966Sjkim	movl	%ecx,4(%edi)
2418299966Sjkim	movl	(%esi),%edx
2419299966Sjkim
2420299966Sjkim
2421299966Sjkim	xorl	%ecx,%ecx
2422299966Sjkim
2423299966Sjkim	mull	%edx
2424299966Sjkim	addl	%eax,%eax
2425299966Sjkim	adcl	%edx,%edx
2426299966Sjkim	adcl	$0,%ecx
2427299966Sjkim	addl	%eax,%ebp
2428299966Sjkim	adcl	%edx,%ebx
2429299966Sjkim	movl	4(%esi),%eax
2430299966Sjkim	adcl	$0,%ecx
2431299966Sjkim
2432299966Sjkim	mull	%eax
2433299966Sjkim	addl	%eax,%ebp
2434299966Sjkim	adcl	%edx,%ebx
2435299966Sjkim	movl	(%esi),%edx
2436299966Sjkim	adcl	$0,%ecx
2437299966Sjkim	movl	%ebp,8(%edi)
2438299966Sjkim	movl	12(%esi),%eax
2439299966Sjkim
2440299966Sjkim
2441299966Sjkim	xorl	%ebp,%ebp
2442299966Sjkim
2443299966Sjkim	mull	%edx
2444299966Sjkim	addl	%eax,%eax
2445299966Sjkim	adcl	%edx,%edx
2446299966Sjkim	adcl	$0,%ebp
2447299966Sjkim	addl	%eax,%ebx
2448299966Sjkim	adcl	%edx,%ecx
2449299966Sjkim	movl	8(%esi),%eax
2450299966Sjkim	adcl	$0,%ebp
2451299966Sjkim	movl	4(%esi),%edx
2452299966Sjkim
2453299966Sjkim	mull	%edx
2454299966Sjkim	addl	%eax,%eax
2455299966Sjkim	adcl	%edx,%edx
2456299966Sjkim	adcl	$0,%ebp
2457299966Sjkim	addl	%eax,%ebx
2458299966Sjkim	adcl	%edx,%ecx
2459299966Sjkim	movl	12(%esi),%eax
2460299966Sjkim	adcl	$0,%ebp
2461299966Sjkim	movl	%ebx,12(%edi)
2462299966Sjkim	movl	4(%esi),%edx
2463299966Sjkim
2464299966Sjkim
2465299966Sjkim	xorl	%ebx,%ebx
2466299966Sjkim
2467299966Sjkim	mull	%edx
2468299966Sjkim	addl	%eax,%eax
2469299966Sjkim	adcl	%edx,%edx
2470299966Sjkim	adcl	$0,%ebx
2471299966Sjkim	addl	%eax,%ecx
2472299966Sjkim	adcl	%edx,%ebp
2473299966Sjkim	movl	8(%esi),%eax
2474299966Sjkim	adcl	$0,%ebx
2475299966Sjkim
2476299966Sjkim	mull	%eax
2477299966Sjkim	addl	%eax,%ecx
2478299966Sjkim	adcl	%edx,%ebp
2479299966Sjkim	movl	8(%esi),%edx
2480299966Sjkim	adcl	$0,%ebx
2481299966Sjkim	movl	%ecx,16(%edi)
2482299966Sjkim	movl	12(%esi),%eax
2483299966Sjkim
2484299966Sjkim
2485299966Sjkim	xorl	%ecx,%ecx
2486299966Sjkim
2487299966Sjkim	mull	%edx
2488299966Sjkim	addl	%eax,%eax
2489299966Sjkim	adcl	%edx,%edx
2490299966Sjkim	adcl	$0,%ecx
2491299966Sjkim	addl	%eax,%ebp
2492299966Sjkim	adcl	%edx,%ebx
2493299966Sjkim	movl	12(%esi),%eax
2494299966Sjkim	adcl	$0,%ecx
2495299966Sjkim	movl	%ebp,20(%edi)
2496299966Sjkim
2497299966Sjkim
2498299966Sjkim	xorl	%ebp,%ebp
2499299966Sjkim
2500299966Sjkim	mull	%eax
2501299966Sjkim	addl	%eax,%ebx
2502299966Sjkim	adcl	%edx,%ecx
2503299966Sjkim	adcl	$0,%ebp
2504299966Sjkim	movl	%ebx,24(%edi)
2505299966Sjkim
2506299966Sjkim	movl	%ecx,28(%edi)
2507299966Sjkim	popl	%ebx
2508299966Sjkim	popl	%ebp
2509299966Sjkim	popl	%edi
2510299966Sjkim	popl	%esi
2511299966Sjkim	ret
2512299966Sjkim.size	bn_sqr_comba4,.-.L_bn_sqr_comba4_begin
2513299966Sjkim#endif
2514