VirtualBox

source: vbox/trunk/src/libs/openssl-1.1.1f/crypto/genasm-elf/bn-586.S@ 83531

Last change on this file since 83531 was 83531, checked in by vboxsync, 5 years ago

setting svn:sync-process=export for openssl-1.1.1f, all files except tests

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette