bn-586.S revision 127326
1 # $FreeBSD: head/secure/lib/libcrypto/i386/bn-586.s 127326 2004-03-23 08:32:29Z markm $ 2 3 4 5 6 7 8 .file "/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/bn/asm/bn-586.s" 9 .version "01.01" 10gcc2_compiled.: 11.text 12 .align 16 13.globl bn_mul_add_words 14 .type bn_mul_add_words,@function 15bn_mul_add_words: 16 pushl %ebp 17 pushl %ebx 18 pushl %esi 19 pushl %edi 20 21 22 xorl %esi, %esi 23 movl 20(%esp), %edi 24 movl 28(%esp), %ecx 25 movl 24(%esp), %ebx 26 andl $4294967288, %ecx 27 movl 32(%esp), %ebp 28 pushl %ecx 29 jz .L000maw_finish 30.L001maw_loop: 31 movl %ecx, (%esp) 32 33 movl (%ebx), %eax 34 mull %ebp 35 addl %esi, %eax 36 movl (%edi), %esi 37 adcl $0, %edx 38 addl %esi, %eax 39 adcl $0, %edx 40 movl %eax, (%edi) 41 movl %edx, %esi 42 43 movl 4(%ebx), %eax 44 mull %ebp 45 addl %esi, %eax 46 movl 4(%edi), %esi 47 adcl $0, %edx 48 addl %esi, %eax 49 adcl $0, %edx 50 movl %eax, 4(%edi) 51 movl %edx, %esi 52 53 movl 8(%ebx), %eax 54 mull %ebp 55 addl %esi, %eax 56 movl 8(%edi), %esi 57 adcl $0, %edx 58 addl %esi, %eax 59 adcl $0, %edx 60 movl %eax, 8(%edi) 61 movl %edx, %esi 62 63 movl 12(%ebx), %eax 64 mull %ebp 65 addl %esi, %eax 66 movl 12(%edi), %esi 67 adcl $0, %edx 68 addl %esi, %eax 69 adcl $0, %edx 70 movl %eax, 12(%edi) 71 movl %edx, %esi 72 73 movl 16(%ebx), %eax 74 mull %ebp 75 addl %esi, %eax 76 movl 16(%edi), %esi 77 adcl $0, %edx 78 addl %esi, %eax 79 adcl $0, %edx 80 movl %eax, 16(%edi) 81 movl %edx, %esi 82 83 movl 20(%ebx), %eax 84 mull %ebp 85 addl %esi, %eax 86 movl 20(%edi), %esi 87 adcl $0, %edx 88 addl %esi, %eax 89 adcl $0, %edx 90 movl %eax, 20(%edi) 91 movl %edx, %esi 92 93 movl 24(%ebx), %eax 94 mull %ebp 95 addl %esi, %eax 96 movl 24(%edi), %esi 97 adcl $0, %edx 98 addl %esi, %eax 99 adcl $0, %edx 100 movl %eax, 24(%edi) 101 movl %edx, %esi 102 103 movl 28(%ebx), %eax 104 mull %ebp 105 addl %esi, %eax 106 movl 28(%edi), %esi 107 adcl $0, %edx 108 addl %esi, %eax 109 adcl $0, %edx 110 movl %eax, 28(%edi) 111 movl %edx, %esi 112 113 movl (%esp), %ecx 114 addl $32, %ebx 115 addl $32, %edi 116 subl $8, %ecx 117 jnz .L001maw_loop 118.L000maw_finish: 119 movl 32(%esp), %ecx 120 andl $7, %ecx 121 jnz .L002maw_finish2 122 jmp .L003maw_end 123.align 16 124.L002maw_finish2: 125 126 movl (%ebx), %eax 127 mull %ebp 128 addl %esi, %eax 129 movl (%edi), %esi 130 adcl $0, %edx 131 addl %esi, %eax 132 adcl $0, %edx 133 decl %ecx 134 movl %eax, (%edi) 135 movl %edx, %esi 136 jz .L003maw_end 137 138 movl 4(%ebx), %eax 139 mull %ebp 140 addl %esi, %eax 141 movl 4(%edi), %esi 142 adcl $0, %edx 143 addl %esi, %eax 144 adcl $0, %edx 145 decl %ecx 146 movl %eax, 4(%edi) 147 movl %edx, %esi 148 jz .L003maw_end 149 150 movl 8(%ebx), %eax 151 mull %ebp 152 addl %esi, %eax 153 movl 8(%edi), %esi 154 adcl $0, %edx 155 addl %esi, %eax 156 adcl $0, %edx 157 decl %ecx 158 movl %eax, 8(%edi) 159 movl %edx, %esi 160 jz .L003maw_end 161 162 movl 12(%ebx), %eax 163 mull %ebp 164 addl %esi, %eax 165 movl 12(%edi), %esi 166 adcl $0, %edx 167 addl %esi, %eax 168 adcl $0, %edx 169 decl %ecx 170 movl %eax, 12(%edi) 171 movl %edx, %esi 172 jz .L003maw_end 173 174 movl 16(%ebx), %eax 175 mull %ebp 176 addl %esi, %eax 177 movl 16(%edi), %esi 178 adcl $0, %edx 179 addl %esi, %eax 180 adcl $0, %edx 181 decl %ecx 182 movl %eax, 16(%edi) 183 movl %edx, %esi 184 jz .L003maw_end 185 186 movl 20(%ebx), %eax 187 mull %ebp 188 addl %esi, %eax 189 movl 20(%edi), %esi 190 adcl $0, %edx 191 addl %esi, %eax 192 adcl $0, %edx 193 decl %ecx 194 movl %eax, 20(%edi) 195 movl %edx, %esi 196 jz .L003maw_end 197 198 movl 24(%ebx), %eax 199 mull %ebp 200 addl %esi, %eax 201 movl 24(%edi), %esi 202 adcl $0, %edx 203 addl %esi, %eax 204 adcl $0, %edx 205 movl %eax, 24(%edi) 206 movl %edx, %esi 207.L003maw_end: 208 movl %esi, %eax 209 popl %ecx 210 popl %edi 211 popl %esi 212 popl %ebx 213 popl %ebp 214 ret 215.L_bn_mul_add_words_end: 216 .size bn_mul_add_words,.L_bn_mul_add_words_end-bn_mul_add_words 217.ident "bn_mul_add_words" 218.text 219 .align 16 220.globl bn_mul_words 221 .type bn_mul_words,@function 222bn_mul_words: 223 pushl %ebp 224 pushl %ebx 225 pushl %esi 226 pushl %edi 227 228 229 xorl %esi, %esi 230 movl 20(%esp), %edi 231 movl 24(%esp), %ebx 232 movl 28(%esp), %ebp 233 movl 32(%esp), %ecx 234 andl $4294967288, %ebp 235 jz .L004mw_finish 236.L005mw_loop: 237 238 movl (%ebx), %eax 239 mull %ecx 240 addl %esi, %eax 241 adcl $0, %edx 242 movl %eax, (%edi) 243 movl %edx, %esi 244 245 movl 4(%ebx), %eax 246 mull %ecx 247 addl %esi, %eax 248 adcl $0, %edx 249 movl %eax, 4(%edi) 250 movl %edx, %esi 251 252 movl 8(%ebx), %eax 253 mull %ecx 254 addl %esi, %eax 255 adcl $0, %edx 256 movl %eax, 8(%edi) 257 movl %edx, %esi 258 259 movl 12(%ebx), %eax 260 mull %ecx 261 addl %esi, %eax 262 adcl $0, %edx 263 movl %eax, 12(%edi) 264 movl %edx, %esi 265 266 movl 16(%ebx), %eax 267 mull %ecx 268 addl %esi, %eax 269 adcl $0, %edx 270 movl %eax, 16(%edi) 271 movl %edx, %esi 272 273 movl 20(%ebx), %eax 274 mull %ecx 275 addl %esi, %eax 276 adcl $0, %edx 277 movl %eax, 20(%edi) 278 movl %edx, %esi 279 280 movl 24(%ebx), %eax 281 mull %ecx 282 addl %esi, %eax 283 adcl $0, %edx 284 movl %eax, 24(%edi) 285 movl %edx, %esi 286 287 movl 28(%ebx), %eax 288 mull %ecx 289 addl %esi, %eax 290 adcl $0, %edx 291 movl %eax, 28(%edi) 292 movl %edx, %esi 293 294 addl $32, %ebx 295 addl $32, %edi 296 subl $8, %ebp 297 jz .L004mw_finish 298 jmp .L005mw_loop 299.L004mw_finish: 300 movl 28(%esp), %ebp 301 andl $7, %ebp 302 jnz .L006mw_finish2 303 jmp .L007mw_end 304.align 16 305.L006mw_finish2: 306 307 movl (%ebx), %eax 308 mull %ecx 309 addl %esi, %eax 310 adcl $0, %edx 311 movl %eax, (%edi) 312 movl %edx, %esi 313 decl %ebp 314 jz .L007mw_end 315 316 movl 4(%ebx), %eax 317 mull %ecx 318 addl %esi, %eax 319 adcl $0, %edx 320 movl %eax, 4(%edi) 321 movl %edx, %esi 322 decl %ebp 323 jz .L007mw_end 324 325 movl 8(%ebx), %eax 326 mull %ecx 327 addl %esi, %eax 328 adcl $0, %edx 329 movl %eax, 8(%edi) 330 movl %edx, %esi 331 decl %ebp 332 jz .L007mw_end 333 334 movl 12(%ebx), %eax 335 mull %ecx 336 addl %esi, %eax 337 adcl $0, %edx 338 movl %eax, 12(%edi) 339 movl %edx, %esi 340 decl %ebp 341 jz .L007mw_end 342 343 movl 16(%ebx), %eax 344 mull %ecx 345 addl %esi, %eax 346 adcl $0, %edx 347 movl %eax, 16(%edi) 348 movl %edx, %esi 349 decl %ebp 350 jz .L007mw_end 351 352 movl 20(%ebx), %eax 353 mull %ecx 354 addl %esi, %eax 355 adcl $0, %edx 356 movl %eax, 20(%edi) 357 movl %edx, %esi 358 decl %ebp 359 jz .L007mw_end 360 361 movl 24(%ebx), %eax 362 mull %ecx 363 addl %esi, %eax 364 adcl $0, %edx 365 movl %eax, 24(%edi) 366 movl %edx, %esi 367.L007mw_end: 368 movl %esi, %eax 369 popl %edi 370 popl %esi 371 popl %ebx 372 popl %ebp 373 ret 374.L_bn_mul_words_end: 375 .size bn_mul_words,.L_bn_mul_words_end-bn_mul_words 376.ident "bn_mul_words" 377.text 378 .align 16 379.globl bn_sqr_words 380 .type bn_sqr_words,@function 381bn_sqr_words: 382 pushl %ebp 383 pushl %ebx 384 pushl %esi 385 pushl %edi 386 387 388 movl 20(%esp), %esi 389 movl 24(%esp), %edi 390 movl 28(%esp), %ebx 391 andl $4294967288, %ebx 392 jz .L008sw_finish 393.L009sw_loop: 394 395 movl (%edi), %eax 396 mull %eax 397 movl %eax, (%esi) 398 movl %edx, 4(%esi) 399 400 movl 4(%edi), %eax 401 mull %eax 402 movl %eax, 8(%esi) 403 movl %edx, 12(%esi) 404 405 movl 8(%edi), %eax 406 mull %eax 407 movl %eax, 16(%esi) 408 movl %edx, 20(%esi) 409 410 movl 12(%edi), %eax 411 mull %eax 412 movl %eax, 24(%esi) 413 movl %edx, 28(%esi) 414 415 movl 16(%edi), %eax 416 mull %eax 417 movl %eax, 32(%esi) 418 movl %edx, 36(%esi) 419 420 movl 20(%edi), %eax 421 mull %eax 422 movl %eax, 40(%esi) 423 movl %edx, 44(%esi) 424 425 movl 24(%edi), %eax 426 mull %eax 427 movl %eax, 48(%esi) 428 movl %edx, 52(%esi) 429 430 movl 28(%edi), %eax 431 mull %eax 432 movl %eax, 56(%esi) 433 movl %edx, 60(%esi) 434 435 addl $32, %edi 436 addl $64, %esi 437 subl $8, %ebx 438 jnz .L009sw_loop 439.L008sw_finish: 440 movl 28(%esp), %ebx 441 andl $7, %ebx 442 jz .L010sw_end 443 444 movl (%edi), %eax 445 mull %eax 446 movl %eax, (%esi) 447 decl %ebx 448 movl %edx, 4(%esi) 449 jz .L010sw_end 450 451 movl 4(%edi), %eax 452 mull %eax 453 movl %eax, 8(%esi) 454 decl %ebx 455 movl %edx, 12(%esi) 456 jz .L010sw_end 457 458 movl 8(%edi), %eax 459 mull %eax 460 movl %eax, 16(%esi) 461 decl %ebx 462 movl %edx, 20(%esi) 463 jz .L010sw_end 464 465 movl 12(%edi), %eax 466 mull %eax 467 movl %eax, 24(%esi) 468 decl %ebx 469 movl %edx, 28(%esi) 470 jz .L010sw_end 471 472 movl 16(%edi), %eax 473 mull %eax 474 movl %eax, 32(%esi) 475 decl %ebx 476 movl %edx, 36(%esi) 477 jz .L010sw_end 478 479 movl 20(%edi), %eax 480 mull %eax 481 movl %eax, 40(%esi) 482 decl %ebx 483 movl %edx, 44(%esi) 484 jz .L010sw_end 485 486 movl 24(%edi), %eax 487 mull %eax 488 movl %eax, 48(%esi) 489 movl %edx, 52(%esi) 490.L010sw_end: 491 popl %edi 492 popl %esi 493 popl %ebx 494 popl %ebp 495 ret 496.L_bn_sqr_words_end: 497 .size bn_sqr_words,.L_bn_sqr_words_end-bn_sqr_words 498.ident "bn_sqr_words" 499.text 500 .align 16 501.globl bn_div_words 502 .type bn_div_words,@function 503bn_div_words: 504 pushl %ebp 505 pushl %ebx 506 pushl %esi 507 pushl %edi 508 509 movl 20(%esp), %edx 510 movl 24(%esp), %eax 511 movl 28(%esp), %ebx 512 divl %ebx 513 popl %edi 514 popl %esi 515 popl %ebx 516 popl %ebp 517 ret 518.L_bn_div_words_end: 519 .size bn_div_words,.L_bn_div_words_end-bn_div_words 520.ident "bn_div_words" 521.text 522 .align 16 523.globl bn_add_words 524 .type bn_add_words,@function 525bn_add_words: 526 pushl %ebp 527 pushl %ebx 528 pushl %esi 529 pushl %edi 530 531 532 movl 20(%esp), %ebx 533 movl 24(%esp), %esi 534 movl 28(%esp), %edi 535 movl 32(%esp), %ebp 536 xorl %eax, %eax 537 andl $4294967288, %ebp 538 jz .L011aw_finish 539.L012aw_loop: 540 541 movl (%esi), %ecx 542 movl (%edi), %edx 543 addl %eax, %ecx 544 movl $0, %eax 545 adcl %eax, %eax 546 addl %edx, %ecx 547 adcl $0, %eax 548 movl %ecx, (%ebx) 549 550 movl 4(%esi), %ecx 551 movl 4(%edi), %edx 552 addl %eax, %ecx 553 movl $0, %eax 554 adcl %eax, %eax 555 addl %edx, %ecx 556 adcl $0, %eax 557 movl %ecx, 4(%ebx) 558 559 movl 8(%esi), %ecx 560 movl 8(%edi), %edx 561 addl %eax, %ecx 562 movl $0, %eax 563 adcl %eax, %eax 564 addl %edx, %ecx 565 adcl $0, %eax 566 movl %ecx, 8(%ebx) 567 568 movl 12(%esi), %ecx 569 movl 12(%edi), %edx 570 addl %eax, %ecx 571 movl $0, %eax 572 adcl %eax, %eax 573 addl %edx, %ecx 574 adcl $0, %eax 575 movl %ecx, 12(%ebx) 576 577 movl 16(%esi), %ecx 578 movl 16(%edi), %edx 579 addl %eax, %ecx 580 movl $0, %eax 581 adcl %eax, %eax 582 addl %edx, %ecx 583 adcl $0, %eax 584 movl %ecx, 16(%ebx) 585 586 movl 20(%esi), %ecx 587 movl 20(%edi), %edx 588 addl %eax, %ecx 589 movl $0, %eax 590 adcl %eax, %eax 591 addl %edx, %ecx 592 adcl $0, %eax 593 movl %ecx, 20(%ebx) 594 595 movl 24(%esi), %ecx 596 movl 24(%edi), %edx 597 addl %eax, %ecx 598 movl $0, %eax 599 adcl %eax, %eax 600 addl %edx, %ecx 601 adcl $0, %eax 602 movl %ecx, 24(%ebx) 603 604 movl 28(%esi), %ecx 605 movl 28(%edi), %edx 606 addl %eax, %ecx 607 movl $0, %eax 608 adcl %eax, %eax 609 addl %edx, %ecx 610 adcl $0, %eax 611 movl %ecx, 28(%ebx) 612 613 addl $32, %esi 614 addl $32, %edi 615 addl $32, %ebx 616 subl $8, %ebp 617 jnz .L012aw_loop 618.L011aw_finish: 619 movl 32(%esp), %ebp 620 andl $7, %ebp 621 jz .L013aw_end 622 623 movl (%esi), %ecx 624 movl (%edi), %edx 625 addl %eax, %ecx 626 movl $0, %eax 627 adcl %eax, %eax 628 addl %edx, %ecx 629 adcl $0, %eax 630 decl %ebp 631 movl %ecx, (%ebx) 632 jz .L013aw_end 633 634 movl 4(%esi), %ecx 635 movl 4(%edi), %edx 636 addl %eax, %ecx 637 movl $0, %eax 638 adcl %eax, %eax 639 addl %edx, %ecx 640 adcl $0, %eax 641 decl %ebp 642 movl %ecx, 4(%ebx) 643 jz .L013aw_end 644 645 movl 8(%esi), %ecx 646 movl 8(%edi), %edx 647 addl %eax, %ecx 648 movl $0, %eax 649 adcl %eax, %eax 650 addl %edx, %ecx 651 adcl $0, %eax 652 decl %ebp 653 movl %ecx, 8(%ebx) 654 jz .L013aw_end 655 656 movl 12(%esi), %ecx 657 movl 12(%edi), %edx 658 addl %eax, %ecx 659 movl $0, %eax 660 adcl %eax, %eax 661 addl %edx, %ecx 662 adcl $0, %eax 663 decl %ebp 664 movl %ecx, 12(%ebx) 665 jz .L013aw_end 666 667 movl 16(%esi), %ecx 668 movl 16(%edi), %edx 669 addl %eax, %ecx 670 movl $0, %eax 671 adcl %eax, %eax 672 addl %edx, %ecx 673 adcl $0, %eax 674 decl %ebp 675 movl %ecx, 16(%ebx) 676 jz .L013aw_end 677 678 movl 20(%esi), %ecx 679 movl 20(%edi), %edx 680 addl %eax, %ecx 681 movl $0, %eax 682 adcl %eax, %eax 683 addl %edx, %ecx 684 adcl $0, %eax 685 decl %ebp 686 movl %ecx, 20(%ebx) 687 jz .L013aw_end 688 689 movl 24(%esi), %ecx 690 movl 24(%edi), %edx 691 addl %eax, %ecx 692 movl $0, %eax 693 adcl %eax, %eax 694 addl %edx, %ecx 695 adcl $0, %eax 696 movl %ecx, 24(%ebx) 697.L013aw_end: 698 popl %edi 699 popl %esi 700 popl %ebx 701 popl %ebp 702 ret 703.L_bn_add_words_end: 704 .size bn_add_words,.L_bn_add_words_end-bn_add_words 705.ident "bn_add_words" 706.text 707 .align 16 708.globl bn_sub_words 709 .type bn_sub_words,@function 710bn_sub_words: 711 pushl %ebp 712 pushl %ebx 713 pushl %esi 714 pushl %edi 715 716 717 movl 20(%esp), %ebx 718 movl 24(%esp), %esi 719 movl 28(%esp), %edi 720 movl 32(%esp), %ebp 721 xorl %eax, %eax 722 andl $4294967288, %ebp 723 jz .L014aw_finish 724.L015aw_loop: 725 726 movl (%esi), %ecx 727 movl (%edi), %edx 728 subl %eax, %ecx 729 movl $0, %eax 730 adcl %eax, %eax 731 subl %edx, %ecx 732 adcl $0, %eax 733 movl %ecx, (%ebx) 734 735 movl 4(%esi), %ecx 736 movl 4(%edi), %edx 737 subl %eax, %ecx 738 movl $0, %eax 739 adcl %eax, %eax 740 subl %edx, %ecx 741 adcl $0, %eax 742 movl %ecx, 4(%ebx) 743 744 movl 8(%esi), %ecx 745 movl 8(%edi), %edx 746 subl %eax, %ecx 747 movl $0, %eax 748 adcl %eax, %eax 749 subl %edx, %ecx 750 adcl $0, %eax 751 movl %ecx, 8(%ebx) 752 753 movl 12(%esi), %ecx 754 movl 12(%edi), %edx 755 subl %eax, %ecx 756 movl $0, %eax 757 adcl %eax, %eax 758 subl %edx, %ecx 759 adcl $0, %eax 760 movl %ecx, 12(%ebx) 761 762 movl 16(%esi), %ecx 763 movl 16(%edi), %edx 764 subl %eax, %ecx 765 movl $0, %eax 766 adcl %eax, %eax 767 subl %edx, %ecx 768 adcl $0, %eax 769 movl %ecx, 16(%ebx) 770 771 movl 20(%esi), %ecx 772 movl 20(%edi), %edx 773 subl %eax, %ecx 774 movl $0, %eax 775 adcl %eax, %eax 776 subl %edx, %ecx 777 adcl $0, %eax 778 movl %ecx, 20(%ebx) 779 780 movl 24(%esi), %ecx 781 movl 24(%edi), %edx 782 subl %eax, %ecx 783 movl $0, %eax 784 adcl %eax, %eax 785 subl %edx, %ecx 786 adcl $0, %eax 787 movl %ecx, 24(%ebx) 788 789 movl 28(%esi), %ecx 790 movl 28(%edi), %edx 791 subl %eax, %ecx 792 movl $0, %eax 793 adcl %eax, %eax 794 subl %edx, %ecx 795 adcl $0, %eax 796 movl %ecx, 28(%ebx) 797 798 addl $32, %esi 799 addl $32, %edi 800 addl $32, %ebx 801 subl $8, %ebp 802 jnz .L015aw_loop 803.L014aw_finish: 804 movl 32(%esp), %ebp 805 andl $7, %ebp 806 jz .L016aw_end 807 808 movl (%esi), %ecx 809 movl (%edi), %edx 810 subl %eax, %ecx 811 movl $0, %eax 812 adcl %eax, %eax 813 subl %edx, %ecx 814 adcl $0, %eax 815 decl %ebp 816 movl %ecx, (%ebx) 817 jz .L016aw_end 818 819 movl 4(%esi), %ecx 820 movl 4(%edi), %edx 821 subl %eax, %ecx 822 movl $0, %eax 823 adcl %eax, %eax 824 subl %edx, %ecx 825 adcl $0, %eax 826 decl %ebp 827 movl %ecx, 4(%ebx) 828 jz .L016aw_end 829 830 movl 8(%esi), %ecx 831 movl 8(%edi), %edx 832 subl %eax, %ecx 833 movl $0, %eax 834 adcl %eax, %eax 835 subl %edx, %ecx 836 adcl $0, %eax 837 decl %ebp 838 movl %ecx, 8(%ebx) 839 jz .L016aw_end 840 841 movl 12(%esi), %ecx 842 movl 12(%edi), %edx 843 subl %eax, %ecx 844 movl $0, %eax 845 adcl %eax, %eax 846 subl %edx, %ecx 847 adcl $0, %eax 848 decl %ebp 849 movl %ecx, 12(%ebx) 850 jz .L016aw_end 851 852 movl 16(%esi), %ecx 853 movl 16(%edi), %edx 854 subl %eax, %ecx 855 movl $0, %eax 856 adcl %eax, %eax 857 subl %edx, %ecx 858 adcl $0, %eax 859 decl %ebp 860 movl %ecx, 16(%ebx) 861 jz .L016aw_end 862 863 movl 20(%esi), %ecx 864 movl 20(%edi), %edx 865 subl %eax, %ecx 866 movl $0, %eax 867 adcl %eax, %eax 868 subl %edx, %ecx 869 adcl $0, %eax 870 decl %ebp 871 movl %ecx, 20(%ebx) 872 jz .L016aw_end 873 874 movl 24(%esi), %ecx 875 movl 24(%edi), %edx 876 subl %eax, %ecx 877 movl $0, %eax 878 adcl %eax, %eax 879 subl %edx, %ecx 880 adcl $0, %eax 881 movl %ecx, 24(%ebx) 882.L016aw_end: 883 popl %edi 884 popl %esi 885 popl %ebx 886 popl %ebp 887 ret 888.L_bn_sub_words_end: 889 .size bn_sub_words,.L_bn_sub_words_end-bn_sub_words 890.ident "bn_sub_words" 891