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