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

Side by Side Diff: third_party/boringssl/linux-x86/crypto/bn/bn-586.S

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

Powered by Google App Engine
This is Rietveld 408576698