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