1# This file is generated from a similarly-named Perl script in the BoringSSL 2# source tree. Do not edit by hand. 3 4#if defined(__i386__) 5#if defined(BORINGSSL_PREFIX) 6#include <boringssl_prefix_symbols_asm.h> 7#endif 8.text 9.globl bn_mul_add_words 10.hidden bn_mul_add_words 11.type bn_mul_add_words,@function 12.align 16 13bn_mul_add_words: 14.L_bn_mul_add_words_begin: 15 call .L000PIC_me_up 16.L000PIC_me_up: 17 popl %eax 18 leal OPENSSL_ia32cap_P-.L000PIC_me_up(%eax),%eax 19 btl $26,(%eax) 20 jnc .L001maw_non_sse2 21 movl 4(%esp),%eax 22 movl 8(%esp),%edx 23 movl 12(%esp),%ecx 24 movd 16(%esp),%mm0 25 pxor %mm1,%mm1 26 jmp .L002maw_sse2_entry 27.align 16 28.L003maw_sse2_unrolled: 29 movd (%eax),%mm3 30 paddq %mm3,%mm1 31 movd (%edx),%mm2 32 pmuludq %mm0,%mm2 33 movd 4(%edx),%mm4 34 pmuludq %mm0,%mm4 35 movd 8(%edx),%mm6 36 pmuludq %mm0,%mm6 37 movd 12(%edx),%mm7 38 pmuludq %mm0,%mm7 39 paddq %mm2,%mm1 40 movd 4(%eax),%mm3 41 paddq %mm4,%mm3 42 movd 8(%eax),%mm5 43 paddq %mm6,%mm5 44 movd 12(%eax),%mm4 45 paddq %mm4,%mm7 46 movd %mm1,(%eax) 47 movd 16(%edx),%mm2 48 pmuludq %mm0,%mm2 49 psrlq $32,%mm1 50 movd 20(%edx),%mm4 51 pmuludq %mm0,%mm4 52 paddq %mm3,%mm1 53 movd 24(%edx),%mm6 54 pmuludq %mm0,%mm6 55 movd %mm1,4(%eax) 56 psrlq $32,%mm1 57 movd 28(%edx),%mm3 58 addl $32,%edx 59 pmuludq %mm0,%mm3 60 paddq %mm5,%mm1 61 movd 16(%eax),%mm5 62 paddq %mm5,%mm2 63 movd %mm1,8(%eax) 64 psrlq $32,%mm1 65 paddq %mm7,%mm1 66 movd 20(%eax),%mm5 67 paddq %mm5,%mm4 68 movd %mm1,12(%eax) 69 psrlq $32,%mm1 70 paddq %mm2,%mm1 71 movd 24(%eax),%mm5 72 paddq %mm5,%mm6 73 movd %mm1,16(%eax) 74 psrlq $32,%mm1 75 paddq %mm4,%mm1 76 movd 28(%eax),%mm5 77 paddq %mm5,%mm3 78 movd %mm1,20(%eax) 79 psrlq $32,%mm1 80 paddq %mm6,%mm1 81 movd %mm1,24(%eax) 82 psrlq $32,%mm1 83 paddq %mm3,%mm1 84 movd %mm1,28(%eax) 85 leal 32(%eax),%eax 86 psrlq $32,%mm1 87 subl $8,%ecx 88 jz .L004maw_sse2_exit 89.L002maw_sse2_entry: 90 testl $4294967288,%ecx 91 jnz .L003maw_sse2_unrolled 92.align 4 93.L005maw_sse2_loop: 94 movd (%edx),%mm2 95 movd (%eax),%mm3 96 pmuludq %mm0,%mm2 97 leal 4(%edx),%edx 98 paddq %mm3,%mm1 99 paddq %mm2,%mm1 100 movd %mm1,(%eax) 101 subl $1,%ecx 102 psrlq $32,%mm1 103 leal 4(%eax),%eax 104 jnz .L005maw_sse2_loop 105.L004maw_sse2_exit: 106 movd %mm1,%eax 107 emms 108 ret 109.align 16 110.L001maw_non_sse2: 111 pushl %ebp 112 pushl %ebx 113 pushl %esi 114 pushl %edi 115 116 xorl %esi,%esi 117 movl 20(%esp),%edi 118 movl 28(%esp),%ecx 119 movl 24(%esp),%ebx 120 andl $4294967288,%ecx 121 movl 32(%esp),%ebp 122 pushl %ecx 123 jz .L006maw_finish 124.align 16 125.L007maw_loop: 126 127 movl (%ebx),%eax 128 mull %ebp 129 addl %esi,%eax 130 adcl $0,%edx 131 addl (%edi),%eax 132 adcl $0,%edx 133 movl %eax,(%edi) 134 movl %edx,%esi 135 136 movl 4(%ebx),%eax 137 mull %ebp 138 addl %esi,%eax 139 adcl $0,%edx 140 addl 4(%edi),%eax 141 adcl $0,%edx 142 movl %eax,4(%edi) 143 movl %edx,%esi 144 145 movl 8(%ebx),%eax 146 mull %ebp 147 addl %esi,%eax 148 adcl $0,%edx 149 addl 8(%edi),%eax 150 adcl $0,%edx 151 movl %eax,8(%edi) 152 movl %edx,%esi 153 154 movl 12(%ebx),%eax 155 mull %ebp 156 addl %esi,%eax 157 adcl $0,%edx 158 addl 12(%edi),%eax 159 adcl $0,%edx 160 movl %eax,12(%edi) 161 movl %edx,%esi 162 163 movl 16(%ebx),%eax 164 mull %ebp 165 addl %esi,%eax 166 adcl $0,%edx 167 addl 16(%edi),%eax 168 adcl $0,%edx 169 movl %eax,16(%edi) 170 movl %edx,%esi 171 172 movl 20(%ebx),%eax 173 mull %ebp 174 addl %esi,%eax 175 adcl $0,%edx 176 addl 20(%edi),%eax 177 adcl $0,%edx 178 movl %eax,20(%edi) 179 movl %edx,%esi 180 181 movl 24(%ebx),%eax 182 mull %ebp 183 addl %esi,%eax 184 adcl $0,%edx 185 addl 24(%edi),%eax 186 adcl $0,%edx 187 movl %eax,24(%edi) 188 movl %edx,%esi 189 190 movl 28(%ebx),%eax 191 mull %ebp 192 addl %esi,%eax 193 adcl $0,%edx 194 addl 28(%edi),%eax 195 adcl $0,%edx 196 movl %eax,28(%edi) 197 movl %edx,%esi 198 199 subl $8,%ecx 200 leal 32(%ebx),%ebx 201 leal 32(%edi),%edi 202 jnz .L007maw_loop 203.L006maw_finish: 204 movl 32(%esp),%ecx 205 andl $7,%ecx 206 jnz .L008maw_finish2 207 jmp .L009maw_end 208.L008maw_finish2: 209 210 movl (%ebx),%eax 211 mull %ebp 212 addl %esi,%eax 213 adcl $0,%edx 214 addl (%edi),%eax 215 adcl $0,%edx 216 decl %ecx 217 movl %eax,(%edi) 218 movl %edx,%esi 219 jz .L009maw_end 220 221 movl 4(%ebx),%eax 222 mull %ebp 223 addl %esi,%eax 224 adcl $0,%edx 225 addl 4(%edi),%eax 226 adcl $0,%edx 227 decl %ecx 228 movl %eax,4(%edi) 229 movl %edx,%esi 230 jz .L009maw_end 231 232 movl 8(%ebx),%eax 233 mull %ebp 234 addl %esi,%eax 235 adcl $0,%edx 236 addl 8(%edi),%eax 237 adcl $0,%edx 238 decl %ecx 239 movl %eax,8(%edi) 240 movl %edx,%esi 241 jz .L009maw_end 242 243 movl 12(%ebx),%eax 244 mull %ebp 245 addl %esi,%eax 246 adcl $0,%edx 247 addl 12(%edi),%eax 248 adcl $0,%edx 249 decl %ecx 250 movl %eax,12(%edi) 251 movl %edx,%esi 252 jz .L009maw_end 253 254 movl 16(%ebx),%eax 255 mull %ebp 256 addl %esi,%eax 257 adcl $0,%edx 258 addl 16(%edi),%eax 259 adcl $0,%edx 260 decl %ecx 261 movl %eax,16(%edi) 262 movl %edx,%esi 263 jz .L009maw_end 264 265 movl 20(%ebx),%eax 266 mull %ebp 267 addl %esi,%eax 268 adcl $0,%edx 269 addl 20(%edi),%eax 270 adcl $0,%edx 271 decl %ecx 272 movl %eax,20(%edi) 273 movl %edx,%esi 274 jz .L009maw_end 275 276 movl 24(%ebx),%eax 277 mull %ebp 278 addl %esi,%eax 279 adcl $0,%edx 280 addl 24(%edi),%eax 281 adcl $0,%edx 282 movl %eax,24(%edi) 283 movl %edx,%esi 284.L009maw_end: 285 movl %esi,%eax 286 popl %ecx 287 popl %edi 288 popl %esi 289 popl %ebx 290 popl %ebp 291 ret 292.size bn_mul_add_words,.-.L_bn_mul_add_words_begin 293.globl bn_mul_words 294.hidden bn_mul_words 295.type bn_mul_words,@function 296.align 16 297bn_mul_words: 298.L_bn_mul_words_begin: 299 call .L010PIC_me_up 300.L010PIC_me_up: 301 popl %eax 302 leal OPENSSL_ia32cap_P-.L010PIC_me_up(%eax),%eax 303 btl $26,(%eax) 304 jnc .L011mw_non_sse2 305 movl 4(%esp),%eax 306 movl 8(%esp),%edx 307 movl 12(%esp),%ecx 308 movd 16(%esp),%mm0 309 pxor %mm1,%mm1 310.align 16 311.L012mw_sse2_loop: 312 movd (%edx),%mm2 313 pmuludq %mm0,%mm2 314 leal 4(%edx),%edx 315 paddq %mm2,%mm1 316 movd %mm1,(%eax) 317 subl $1,%ecx 318 psrlq $32,%mm1 319 leal 4(%eax),%eax 320 jnz .L012mw_sse2_loop 321 movd %mm1,%eax 322 emms 323 ret 324.align 16 325.L011mw_non_sse2: 326 pushl %ebp 327 pushl %ebx 328 pushl %esi 329 pushl %edi 330 331 xorl %esi,%esi 332 movl 20(%esp),%edi 333 movl 24(%esp),%ebx 334 movl 28(%esp),%ebp 335 movl 32(%esp),%ecx 336 andl $4294967288,%ebp 337 jz .L013mw_finish 338.L014mw_loop: 339 340 movl (%ebx),%eax 341 mull %ecx 342 addl %esi,%eax 343 adcl $0,%edx 344 movl %eax,(%edi) 345 movl %edx,%esi 346 347 movl 4(%ebx),%eax 348 mull %ecx 349 addl %esi,%eax 350 adcl $0,%edx 351 movl %eax,4(%edi) 352 movl %edx,%esi 353 354 movl 8(%ebx),%eax 355 mull %ecx 356 addl %esi,%eax 357 adcl $0,%edx 358 movl %eax,8(%edi) 359 movl %edx,%esi 360 361 movl 12(%ebx),%eax 362 mull %ecx 363 addl %esi,%eax 364 adcl $0,%edx 365 movl %eax,12(%edi) 366 movl %edx,%esi 367 368 movl 16(%ebx),%eax 369 mull %ecx 370 addl %esi,%eax 371 adcl $0,%edx 372 movl %eax,16(%edi) 373 movl %edx,%esi 374 375 movl 20(%ebx),%eax 376 mull %ecx 377 addl %esi,%eax 378 adcl $0,%edx 379 movl %eax,20(%edi) 380 movl %edx,%esi 381 382 movl 24(%ebx),%eax 383 mull %ecx 384 addl %esi,%eax 385 adcl $0,%edx 386 movl %eax,24(%edi) 387 movl %edx,%esi 388 389 movl 28(%ebx),%eax 390 mull %ecx 391 addl %esi,%eax 392 adcl $0,%edx 393 movl %eax,28(%edi) 394 movl %edx,%esi 395 396 addl $32,%ebx 397 addl $32,%edi 398 subl $8,%ebp 399 jz .L013mw_finish 400 jmp .L014mw_loop 401.L013mw_finish: 402 movl 28(%esp),%ebp 403 andl $7,%ebp 404 jnz .L015mw_finish2 405 jmp .L016mw_end 406.L015mw_finish2: 407 408 movl (%ebx),%eax 409 mull %ecx 410 addl %esi,%eax 411 adcl $0,%edx 412 movl %eax,(%edi) 413 movl %edx,%esi 414 decl %ebp 415 jz .L016mw_end 416 417 movl 4(%ebx),%eax 418 mull %ecx 419 addl %esi,%eax 420 adcl $0,%edx 421 movl %eax,4(%edi) 422 movl %edx,%esi 423 decl %ebp 424 jz .L016mw_end 425 426 movl 8(%ebx),%eax 427 mull %ecx 428 addl %esi,%eax 429 adcl $0,%edx 430 movl %eax,8(%edi) 431 movl %edx,%esi 432 decl %ebp 433 jz .L016mw_end 434 435 movl 12(%ebx),%eax 436 mull %ecx 437 addl %esi,%eax 438 adcl $0,%edx 439 movl %eax,12(%edi) 440 movl %edx,%esi 441 decl %ebp 442 jz .L016mw_end 443 444 movl 16(%ebx),%eax 445 mull %ecx 446 addl %esi,%eax 447 adcl $0,%edx 448 movl %eax,16(%edi) 449 movl %edx,%esi 450 decl %ebp 451 jz .L016mw_end 452 453 movl 20(%ebx),%eax 454 mull %ecx 455 addl %esi,%eax 456 adcl $0,%edx 457 movl %eax,20(%edi) 458 movl %edx,%esi 459 decl %ebp 460 jz .L016mw_end 461 462 movl 24(%ebx),%eax 463 mull %ecx 464 addl %esi,%eax 465 adcl $0,%edx 466 movl %eax,24(%edi) 467 movl %edx,%esi 468.L016mw_end: 469 movl %esi,%eax 470 popl %edi 471 popl %esi 472 popl %ebx 473 popl %ebp 474 ret 475.size bn_mul_words,.-.L_bn_mul_words_begin 476.globl bn_sqr_words 477.hidden bn_sqr_words 478.type bn_sqr_words,@function 479.align 16 480bn_sqr_words: 481.L_bn_sqr_words_begin: 482 call .L017PIC_me_up 483.L017PIC_me_up: 484 popl %eax 485 leal OPENSSL_ia32cap_P-.L017PIC_me_up(%eax),%eax 486 btl $26,(%eax) 487 jnc .L018sqr_non_sse2 488 movl 4(%esp),%eax 489 movl 8(%esp),%edx 490 movl 12(%esp),%ecx 491.align 16 492.L019sqr_sse2_loop: 493 movd (%edx),%mm0 494 pmuludq %mm0,%mm0 495 leal 4(%edx),%edx 496 movq %mm0,(%eax) 497 subl $1,%ecx 498 leal 8(%eax),%eax 499 jnz .L019sqr_sse2_loop 500 emms 501 ret 502.align 16 503.L018sqr_non_sse2: 504 pushl %ebp 505 pushl %ebx 506 pushl %esi 507 pushl %edi 508 509 movl 20(%esp),%esi 510 movl 24(%esp),%edi 511 movl 28(%esp),%ebx 512 andl $4294967288,%ebx 513 jz .L020sw_finish 514.L021sw_loop: 515 516 movl (%edi),%eax 517 mull %eax 518 movl %eax,(%esi) 519 movl %edx,4(%esi) 520 521 movl 4(%edi),%eax 522 mull %eax 523 movl %eax,8(%esi) 524 movl %edx,12(%esi) 525 526 movl 8(%edi),%eax 527 mull %eax 528 movl %eax,16(%esi) 529 movl %edx,20(%esi) 530 531 movl 12(%edi),%eax 532 mull %eax 533 movl %eax,24(%esi) 534 movl %edx,28(%esi) 535 536 movl 16(%edi),%eax 537 mull %eax 538 movl %eax,32(%esi) 539 movl %edx,36(%esi) 540 541 movl 20(%edi),%eax 542 mull %eax 543 movl %eax,40(%esi) 544 movl %edx,44(%esi) 545 546 movl 24(%edi),%eax 547 mull %eax 548 movl %eax,48(%esi) 549 movl %edx,52(%esi) 550 551 movl 28(%edi),%eax 552 mull %eax 553 movl %eax,56(%esi) 554 movl %edx,60(%esi) 555 556 addl $32,%edi 557 addl $64,%esi 558 subl $8,%ebx 559 jnz .L021sw_loop 560.L020sw_finish: 561 movl 28(%esp),%ebx 562 andl $7,%ebx 563 jz .L022sw_end 564 565 movl (%edi),%eax 566 mull %eax 567 movl %eax,(%esi) 568 decl %ebx 569 movl %edx,4(%esi) 570 jz .L022sw_end 571 572 movl 4(%edi),%eax 573 mull %eax 574 movl %eax,8(%esi) 575 decl %ebx 576 movl %edx,12(%esi) 577 jz .L022sw_end 578 579 movl 8(%edi),%eax 580 mull %eax 581 movl %eax,16(%esi) 582 decl %ebx 583 movl %edx,20(%esi) 584 jz .L022sw_end 585 586 movl 12(%edi),%eax 587 mull %eax 588 movl %eax,24(%esi) 589 decl %ebx 590 movl %edx,28(%esi) 591 jz .L022sw_end 592 593 movl 16(%edi),%eax 594 mull %eax 595 movl %eax,32(%esi) 596 decl %ebx 597 movl %edx,36(%esi) 598 jz .L022sw_end 599 600 movl 20(%edi),%eax 601 mull %eax 602 movl %eax,40(%esi) 603 decl %ebx 604 movl %edx,44(%esi) 605 jz .L022sw_end 606 607 movl 24(%edi),%eax 608 mull %eax 609 movl %eax,48(%esi) 610 movl %edx,52(%esi) 611.L022sw_end: 612 popl %edi 613 popl %esi 614 popl %ebx 615 popl %ebp 616 ret 617.size bn_sqr_words,.-.L_bn_sqr_words_begin 618.globl bn_div_words 619.hidden bn_div_words 620.type bn_div_words,@function 621.align 16 622bn_div_words: 623.L_bn_div_words_begin: 624 movl 4(%esp),%edx 625 movl 8(%esp),%eax 626 movl 12(%esp),%ecx 627 divl %ecx 628 ret 629.size bn_div_words,.-.L_bn_div_words_begin 630.globl bn_add_words 631.hidden bn_add_words 632.type bn_add_words,@function 633.align 16 634bn_add_words: 635.L_bn_add_words_begin: 636 pushl %ebp 637 pushl %ebx 638 pushl %esi 639 pushl %edi 640 641 movl 20(%esp),%ebx 642 movl 24(%esp),%esi 643 movl 28(%esp),%edi 644 movl 32(%esp),%ebp 645 xorl %eax,%eax 646 andl $4294967288,%ebp 647 jz .L023aw_finish 648.L024aw_loop: 649 650 movl (%esi),%ecx 651 movl (%edi),%edx 652 addl %eax,%ecx 653 movl $0,%eax 654 adcl %eax,%eax 655 addl %edx,%ecx 656 adcl $0,%eax 657 movl %ecx,(%ebx) 658 659 movl 4(%esi),%ecx 660 movl 4(%edi),%edx 661 addl %eax,%ecx 662 movl $0,%eax 663 adcl %eax,%eax 664 addl %edx,%ecx 665 adcl $0,%eax 666 movl %ecx,4(%ebx) 667 668 movl 8(%esi),%ecx 669 movl 8(%edi),%edx 670 addl %eax,%ecx 671 movl $0,%eax 672 adcl %eax,%eax 673 addl %edx,%ecx 674 adcl $0,%eax 675 movl %ecx,8(%ebx) 676 677 movl 12(%esi),%ecx 678 movl 12(%edi),%edx 679 addl %eax,%ecx 680 movl $0,%eax 681 adcl %eax,%eax 682 addl %edx,%ecx 683 adcl $0,%eax 684 movl %ecx,12(%ebx) 685 686 movl 16(%esi),%ecx 687 movl 16(%edi),%edx 688 addl %eax,%ecx 689 movl $0,%eax 690 adcl %eax,%eax 691 addl %edx,%ecx 692 adcl $0,%eax 693 movl %ecx,16(%ebx) 694 695 movl 20(%esi),%ecx 696 movl 20(%edi),%edx 697 addl %eax,%ecx 698 movl $0,%eax 699 adcl %eax,%eax 700 addl %edx,%ecx 701 adcl $0,%eax 702 movl %ecx,20(%ebx) 703 704 movl 24(%esi),%ecx 705 movl 24(%edi),%edx 706 addl %eax,%ecx 707 movl $0,%eax 708 adcl %eax,%eax 709 addl %edx,%ecx 710 adcl $0,%eax 711 movl %ecx,24(%ebx) 712 713 movl 28(%esi),%ecx 714 movl 28(%edi),%edx 715 addl %eax,%ecx 716 movl $0,%eax 717 adcl %eax,%eax 718 addl %edx,%ecx 719 adcl $0,%eax 720 movl %ecx,28(%ebx) 721 722 addl $32,%esi 723 addl $32,%edi 724 addl $32,%ebx 725 subl $8,%ebp 726 jnz .L024aw_loop 727.L023aw_finish: 728 movl 32(%esp),%ebp 729 andl $7,%ebp 730 jz .L025aw_end 731 732 movl (%esi),%ecx 733 movl (%edi),%edx 734 addl %eax,%ecx 735 movl $0,%eax 736 adcl %eax,%eax 737 addl %edx,%ecx 738 adcl $0,%eax 739 decl %ebp 740 movl %ecx,(%ebx) 741 jz .L025aw_end 742 743 movl 4(%esi),%ecx 744 movl 4(%edi),%edx 745 addl %eax,%ecx 746 movl $0,%eax 747 adcl %eax,%eax 748 addl %edx,%ecx 749 adcl $0,%eax 750 decl %ebp 751 movl %ecx,4(%ebx) 752 jz .L025aw_end 753 754 movl 8(%esi),%ecx 755 movl 8(%edi),%edx 756 addl %eax,%ecx 757 movl $0,%eax 758 adcl %eax,%eax 759 addl %edx,%ecx 760 adcl $0,%eax 761 decl %ebp 762 movl %ecx,8(%ebx) 763 jz .L025aw_end 764 765 movl 12(%esi),%ecx 766 movl 12(%edi),%edx 767 addl %eax,%ecx 768 movl $0,%eax 769 adcl %eax,%eax 770 addl %edx,%ecx 771 adcl $0,%eax 772 decl %ebp 773 movl %ecx,12(%ebx) 774 jz .L025aw_end 775 776 movl 16(%esi),%ecx 777 movl 16(%edi),%edx 778 addl %eax,%ecx 779 movl $0,%eax 780 adcl %eax,%eax 781 addl %edx,%ecx 782 adcl $0,%eax 783 decl %ebp 784 movl %ecx,16(%ebx) 785 jz .L025aw_end 786 787 movl 20(%esi),%ecx 788 movl 20(%edi),%edx 789 addl %eax,%ecx 790 movl $0,%eax 791 adcl %eax,%eax 792 addl %edx,%ecx 793 adcl $0,%eax 794 decl %ebp 795 movl %ecx,20(%ebx) 796 jz .L025aw_end 797 798 movl 24(%esi),%ecx 799 movl 24(%edi),%edx 800 addl %eax,%ecx 801 movl $0,%eax 802 adcl %eax,%eax 803 addl %edx,%ecx 804 adcl $0,%eax 805 movl %ecx,24(%ebx) 806.L025aw_end: 807 popl %edi 808 popl %esi 809 popl %ebx 810 popl %ebp 811 ret 812.size bn_add_words,.-.L_bn_add_words_begin 813.globl bn_sub_words 814.hidden bn_sub_words 815.type bn_sub_words,@function 816.align 16 817bn_sub_words: 818.L_bn_sub_words_begin: 819 pushl %ebp 820 pushl %ebx 821 pushl %esi 822 pushl %edi 823 824 movl 20(%esp),%ebx 825 movl 24(%esp),%esi 826 movl 28(%esp),%edi 827 movl 32(%esp),%ebp 828 xorl %eax,%eax 829 andl $4294967288,%ebp 830 jz .L026aw_finish 831.L027aw_loop: 832 833 movl (%esi),%ecx 834 movl (%edi),%edx 835 subl %eax,%ecx 836 movl $0,%eax 837 adcl %eax,%eax 838 subl %edx,%ecx 839 adcl $0,%eax 840 movl %ecx,(%ebx) 841 842 movl 4(%esi),%ecx 843 movl 4(%edi),%edx 844 subl %eax,%ecx 845 movl $0,%eax 846 adcl %eax,%eax 847 subl %edx,%ecx 848 adcl $0,%eax 849 movl %ecx,4(%ebx) 850 851 movl 8(%esi),%ecx 852 movl 8(%edi),%edx 853 subl %eax,%ecx 854 movl $0,%eax 855 adcl %eax,%eax 856 subl %edx,%ecx 857 adcl $0,%eax 858 movl %ecx,8(%ebx) 859 860 movl 12(%esi),%ecx 861 movl 12(%edi),%edx 862 subl %eax,%ecx 863 movl $0,%eax 864 adcl %eax,%eax 865 subl %edx,%ecx 866 adcl $0,%eax 867 movl %ecx,12(%ebx) 868 869 movl 16(%esi),%ecx 870 movl 16(%edi),%edx 871 subl %eax,%ecx 872 movl $0,%eax 873 adcl %eax,%eax 874 subl %edx,%ecx 875 adcl $0,%eax 876 movl %ecx,16(%ebx) 877 878 movl 20(%esi),%ecx 879 movl 20(%edi),%edx 880 subl %eax,%ecx 881 movl $0,%eax 882 adcl %eax,%eax 883 subl %edx,%ecx 884 adcl $0,%eax 885 movl %ecx,20(%ebx) 886 887 movl 24(%esi),%ecx 888 movl 24(%edi),%edx 889 subl %eax,%ecx 890 movl $0,%eax 891 adcl %eax,%eax 892 subl %edx,%ecx 893 adcl $0,%eax 894 movl %ecx,24(%ebx) 895 896 movl 28(%esi),%ecx 897 movl 28(%edi),%edx 898 subl %eax,%ecx 899 movl $0,%eax 900 adcl %eax,%eax 901 subl %edx,%ecx 902 adcl $0,%eax 903 movl %ecx,28(%ebx) 904 905 addl $32,%esi 906 addl $32,%edi 907 addl $32,%ebx 908 subl $8,%ebp 909 jnz .L027aw_loop 910.L026aw_finish: 911 movl 32(%esp),%ebp 912 andl $7,%ebp 913 jz .L028aw_end 914 915 movl (%esi),%ecx 916 movl (%edi),%edx 917 subl %eax,%ecx 918 movl $0,%eax 919 adcl %eax,%eax 920 subl %edx,%ecx 921 adcl $0,%eax 922 decl %ebp 923 movl %ecx,(%ebx) 924 jz .L028aw_end 925 926 movl 4(%esi),%ecx 927 movl 4(%edi),%edx 928 subl %eax,%ecx 929 movl $0,%eax 930 adcl %eax,%eax 931 subl %edx,%ecx 932 adcl $0,%eax 933 decl %ebp 934 movl %ecx,4(%ebx) 935 jz .L028aw_end 936 937 movl 8(%esi),%ecx 938 movl 8(%edi),%edx 939 subl %eax,%ecx 940 movl $0,%eax 941 adcl %eax,%eax 942 subl %edx,%ecx 943 adcl $0,%eax 944 decl %ebp 945 movl %ecx,8(%ebx) 946 jz .L028aw_end 947 948 movl 12(%esi),%ecx 949 movl 12(%edi),%edx 950 subl %eax,%ecx 951 movl $0,%eax 952 adcl %eax,%eax 953 subl %edx,%ecx 954 adcl $0,%eax 955 decl %ebp 956 movl %ecx,12(%ebx) 957 jz .L028aw_end 958 959 movl 16(%esi),%ecx 960 movl 16(%edi),%edx 961 subl %eax,%ecx 962 movl $0,%eax 963 adcl %eax,%eax 964 subl %edx,%ecx 965 adcl $0,%eax 966 decl %ebp 967 movl %ecx,16(%ebx) 968 jz .L028aw_end 969 970 movl 20(%esi),%ecx 971 movl 20(%edi),%edx 972 subl %eax,%ecx 973 movl $0,%eax 974 adcl %eax,%eax 975 subl %edx,%ecx 976 adcl $0,%eax 977 decl %ebp 978 movl %ecx,20(%ebx) 979 jz .L028aw_end 980 981 movl 24(%esi),%ecx 982 movl 24(%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,24(%ebx) 989.L028aw_end: 990 popl %edi 991 popl %esi 992 popl %ebx 993 popl %ebp 994 ret 995.size bn_sub_words,.-.L_bn_sub_words_begin 996#endif 997.section .note.GNU-stack,"",@progbits 998