1 .text
2 .globl	bn_mul_comba8
3 .type	bn_mul_comba8,@function
4 .align	16
5 bn_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
554 bn_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
727 bn_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
1140 bn_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
1280 0:
1281 	.asciz "GNU"
1282 1:
1283 	.p2align 2
1284 	.long 0xc0000002
1285 	.long 3f - 2f
1286 2:
1287 	.long 3
1288 3:
1289 	.p2align 2
1290 4:
1291