Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(357)

Side by Side Diff: openssl/crypto/bn/asm/bn-586.S

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

Powered by Google App Engine
This is Rietveld 408576698