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