1 #if defined(__x86_64__) 2 .text 3 4 5 .globl _sha512_block_data_order 6 .private_extern _sha512_block_data_order 7 8 .p2align 4 9 _sha512_block_data_order: 10 leaq _OPENSSL_ia32cap_P(%rip),%r11 11 movl 0(%r11),%r9d 12 movl 4(%r11),%r10d 13 movl 8(%r11),%r11d 14 testl $2048,%r10d 15 jnz L$xop_shortcut 16 andl $1073741824,%r9d 17 andl $268435968,%r10d 18 orl %r9d,%r10d 19 cmpl $1342177792,%r10d 20 je L$avx_shortcut 21 movq %rsp,%rax 22 pushq %rbx 23 pushq %rbp 24 pushq %r12 25 pushq %r13 26 pushq %r14 27 pushq %r15 28 shlq $4,%rdx 29 subq $128+32,%rsp 30 leaq (%rsi,%rdx,8),%rdx 31 andq $-64,%rsp 32 movq %rdi,128+0(%rsp) 33 movq %rsi,128+8(%rsp) 34 movq %rdx,128+16(%rsp) 35 movq %rax,128+24(%rsp) 36 L$prologue: 37 38 movq 0(%rdi),%rax 39 movq 8(%rdi),%rbx 40 movq 16(%rdi),%rcx 41 movq 24(%rdi),%rdx 42 movq 32(%rdi),%r8 43 movq 40(%rdi),%r9 44 movq 48(%rdi),%r10 45 movq 56(%rdi),%r11 46 jmp L$loop 47 48 .p2align 4 49 L$loop: 50 movq %rbx,%rdi 51 leaq K512(%rip),%rbp 52 xorq %rcx,%rdi 53 movq 0(%rsi),%r12 54 movq %r8,%r13 55 movq %rax,%r14 56 bswapq %r12 57 rorq $23,%r13 58 movq %r9,%r15 59 60 xorq %r8,%r13 61 rorq $5,%r14 62 xorq %r10,%r15 63 64 movq %r12,0(%rsp) 65 xorq %rax,%r14 66 andq %r8,%r15 67 68 rorq $4,%r13 69 addq %r11,%r12 70 xorq %r10,%r15 71 72 rorq $6,%r14 73 xorq %r8,%r13 74 addq %r15,%r12 75 76 movq %rax,%r15 77 addq (%rbp),%r12 78 xorq %rax,%r14 79 80 xorq %rbx,%r15 81 rorq $14,%r13 82 movq %rbx,%r11 83 84 andq %r15,%rdi 85 rorq $28,%r14 86 addq %r13,%r12 87 88 xorq %rdi,%r11 89 addq %r12,%rdx 90 addq %r12,%r11 91 92 leaq 8(%rbp),%rbp 93 addq %r14,%r11 94 movq 8(%rsi),%r12 95 movq %rdx,%r13 96 movq %r11,%r14 97 bswapq %r12 98 rorq $23,%r13 99 movq %r8,%rdi 100 101 xorq %rdx,%r13 102 rorq $5,%r14 103 xorq %r9,%rdi 104 105 movq %r12,8(%rsp) 106 xorq %r11,%r14 107 andq %rdx,%rdi 108 109 rorq $4,%r13 110 addq %r10,%r12 111 xorq %r9,%rdi 112 113 rorq $6,%r14 114 xorq %rdx,%r13 115 addq %rdi,%r12 116 117 movq %r11,%rdi 118 addq (%rbp),%r12 119 xorq %r11,%r14 120 121 xorq %rax,%rdi 122 rorq $14,%r13 123 movq %rax,%r10 124 125 andq %rdi,%r15 126 rorq $28,%r14 127 addq %r13,%r12 128 129 xorq %r15,%r10 130 addq %r12,%rcx 131 addq %r12,%r10 132 133 leaq 24(%rbp),%rbp 134 addq %r14,%r10 135 movq 16(%rsi),%r12 136 movq %rcx,%r13 137 movq %r10,%r14 138 bswapq %r12 139 rorq $23,%r13 140 movq %rdx,%r15 141 142 xorq %rcx,%r13 143 rorq $5,%r14 144 xorq %r8,%r15 145 146 movq %r12,16(%rsp) 147 xorq %r10,%r14 148 andq %rcx,%r15 149 150 rorq $4,%r13 151 addq %r9,%r12 152 xorq %r8,%r15 153 154 rorq $6,%r14 155 xorq %rcx,%r13 156 addq %r15,%r12 157 158 movq %r10,%r15 159 addq (%rbp),%r12 160 xorq %r10,%r14 161 162 xorq %r11,%r15 163 rorq $14,%r13 164 movq %r11,%r9 165 166 andq %r15,%rdi 167 rorq $28,%r14 168 addq %r13,%r12 169 170 xorq %rdi,%r9 171 addq %r12,%rbx 172 addq %r12,%r9 173 174 leaq 8(%rbp),%rbp 175 addq %r14,%r9 176 movq 24(%rsi),%r12 177 movq %rbx,%r13 178 movq %r9,%r14 179 bswapq %r12 180 rorq $23,%r13 181 movq %rcx,%rdi 182 183 xorq %rbx,%r13 184 rorq $5,%r14 185 xorq %rdx,%rdi 186 187 movq %r12,24(%rsp) 188 xorq %r9,%r14 189 andq %rbx,%rdi 190 191 rorq $4,%r13 192 addq %r8,%r12 193 xorq %rdx,%rdi 194 195 rorq $6,%r14 196 xorq %rbx,%r13 197 addq %rdi,%r12 198 199 movq %r9,%rdi 200 addq (%rbp),%r12 201 xorq %r9,%r14 202 203 xorq %r10,%rdi 204 rorq $14,%r13 205 movq %r10,%r8 206 207 andq %rdi,%r15 208 rorq $28,%r14 209 addq %r13,%r12 210 211 xorq %r15,%r8 212 addq %r12,%rax 213 addq %r12,%r8 214 215 leaq 24(%rbp),%rbp 216 addq %r14,%r8 217 movq 32(%rsi),%r12 218 movq %rax,%r13 219 movq %r8,%r14 220 bswapq %r12 221 rorq $23,%r13 222 movq %rbx,%r15 223 224 xorq %rax,%r13 225 rorq $5,%r14 226 xorq %rcx,%r15 227 228 movq %r12,32(%rsp) 229 xorq %r8,%r14 230 andq %rax,%r15 231 232 rorq $4,%r13 233 addq %rdx,%r12 234 xorq %rcx,%r15 235 236 rorq $6,%r14 237 xorq %rax,%r13 238 addq %r15,%r12 239 240 movq %r8,%r15 241 addq (%rbp),%r12 242 xorq %r8,%r14 243 244 xorq %r9,%r15 245 rorq $14,%r13 246 movq %r9,%rdx 247 248 andq %r15,%rdi 249 rorq $28,%r14 250 addq %r13,%r12 251 252 xorq %rdi,%rdx 253 addq %r12,%r11 254 addq %r12,%rdx 255 256 leaq 8(%rbp),%rbp 257 addq %r14,%rdx 258 movq 40(%rsi),%r12 259 movq %r11,%r13 260 movq %rdx,%r14 261 bswapq %r12 262 rorq $23,%r13 263 movq %rax,%rdi 264 265 xorq %r11,%r13 266 rorq $5,%r14 267 xorq %rbx,%rdi 268 269 movq %r12,40(%rsp) 270 xorq %rdx,%r14 271 andq %r11,%rdi 272 273 rorq $4,%r13 274 addq %rcx,%r12 275 xorq %rbx,%rdi 276 277 rorq $6,%r14 278 xorq %r11,%r13 279 addq %rdi,%r12 280 281 movq %rdx,%rdi 282 addq (%rbp),%r12 283 xorq %rdx,%r14 284 285 xorq %r8,%rdi 286 rorq $14,%r13 287 movq %r8,%rcx 288 289 andq %rdi,%r15 290 rorq $28,%r14 291 addq %r13,%r12 292 293 xorq %r15,%rcx 294 addq %r12,%r10 295 addq %r12,%rcx 296 297 leaq 24(%rbp),%rbp 298 addq %r14,%rcx 299 movq 48(%rsi),%r12 300 movq %r10,%r13 301 movq %rcx,%r14 302 bswapq %r12 303 rorq $23,%r13 304 movq %r11,%r15 305 306 xorq %r10,%r13 307 rorq $5,%r14 308 xorq %rax,%r15 309 310 movq %r12,48(%rsp) 311 xorq %rcx,%r14 312 andq %r10,%r15 313 314 rorq $4,%r13 315 addq %rbx,%r12 316 xorq %rax,%r15 317 318 rorq $6,%r14 319 xorq %r10,%r13 320 addq %r15,%r12 321 322 movq %rcx,%r15 323 addq (%rbp),%r12 324 xorq %rcx,%r14 325 326 xorq %rdx,%r15 327 rorq $14,%r13 328 movq %rdx,%rbx 329 330 andq %r15,%rdi 331 rorq $28,%r14 332 addq %r13,%r12 333 334 xorq %rdi,%rbx 335 addq %r12,%r9 336 addq %r12,%rbx 337 338 leaq 8(%rbp),%rbp 339 addq %r14,%rbx 340 movq 56(%rsi),%r12 341 movq %r9,%r13 342 movq %rbx,%r14 343 bswapq %r12 344 rorq $23,%r13 345 movq %r10,%rdi 346 347 xorq %r9,%r13 348 rorq $5,%r14 349 xorq %r11,%rdi 350 351 movq %r12,56(%rsp) 352 xorq %rbx,%r14 353 andq %r9,%rdi 354 355 rorq $4,%r13 356 addq %rax,%r12 357 xorq %r11,%rdi 358 359 rorq $6,%r14 360 xorq %r9,%r13 361 addq %rdi,%r12 362 363 movq %rbx,%rdi 364 addq (%rbp),%r12 365 xorq %rbx,%r14 366 367 xorq %rcx,%rdi 368 rorq $14,%r13 369 movq %rcx,%rax 370 371 andq %rdi,%r15 372 rorq $28,%r14 373 addq %r13,%r12 374 375 xorq %r15,%rax 376 addq %r12,%r8 377 addq %r12,%rax 378 379 leaq 24(%rbp),%rbp 380 addq %r14,%rax 381 movq 64(%rsi),%r12 382 movq %r8,%r13 383 movq %rax,%r14 384 bswapq %r12 385 rorq $23,%r13 386 movq %r9,%r15 387 388 xorq %r8,%r13 389 rorq $5,%r14 390 xorq %r10,%r15 391 392 movq %r12,64(%rsp) 393 xorq %rax,%r14 394 andq %r8,%r15 395 396 rorq $4,%r13 397 addq %r11,%r12 398 xorq %r10,%r15 399 400 rorq $6,%r14 401 xorq %r8,%r13 402 addq %r15,%r12 403 404 movq %rax,%r15 405 addq (%rbp),%r12 406 xorq %rax,%r14 407 408 xorq %rbx,%r15 409 rorq $14,%r13 410 movq %rbx,%r11 411 412 andq %r15,%rdi 413 rorq $28,%r14 414 addq %r13,%r12 415 416 xorq %rdi,%r11 417 addq %r12,%rdx 418 addq %r12,%r11 419 420 leaq 8(%rbp),%rbp 421 addq %r14,%r11 422 movq 72(%rsi),%r12 423 movq %rdx,%r13 424 movq %r11,%r14 425 bswapq %r12 426 rorq $23,%r13 427 movq %r8,%rdi 428 429 xorq %rdx,%r13 430 rorq $5,%r14 431 xorq %r9,%rdi 432 433 movq %r12,72(%rsp) 434 xorq %r11,%r14 435 andq %rdx,%rdi 436 437 rorq $4,%r13 438 addq %r10,%r12 439 xorq %r9,%rdi 440 441 rorq $6,%r14 442 xorq %rdx,%r13 443 addq %rdi,%r12 444 445 movq %r11,%rdi 446 addq (%rbp),%r12 447 xorq %r11,%r14 448 449 xorq %rax,%rdi 450 rorq $14,%r13 451 movq %rax,%r10 452 453 andq %rdi,%r15 454 rorq $28,%r14 455 addq %r13,%r12 456 457 xorq %r15,%r10 458 addq %r12,%rcx 459 addq %r12,%r10 460 461 leaq 24(%rbp),%rbp 462 addq %r14,%r10 463 movq 80(%rsi),%r12 464 movq %rcx,%r13 465 movq %r10,%r14 466 bswapq %r12 467 rorq $23,%r13 468 movq %rdx,%r15 469 470 xorq %rcx,%r13 471 rorq $5,%r14 472 xorq %r8,%r15 473 474 movq %r12,80(%rsp) 475 xorq %r10,%r14 476 andq %rcx,%r15 477 478 rorq $4,%r13 479 addq %r9,%r12 480 xorq %r8,%r15 481 482 rorq $6,%r14 483 xorq %rcx,%r13 484 addq %r15,%r12 485 486 movq %r10,%r15 487 addq (%rbp),%r12 488 xorq %r10,%r14 489 490 xorq %r11,%r15 491 rorq $14,%r13 492 movq %r11,%r9 493 494 andq %r15,%rdi 495 rorq $28,%r14 496 addq %r13,%r12 497 498 xorq %rdi,%r9 499 addq %r12,%rbx 500 addq %r12,%r9 501 502 leaq 8(%rbp),%rbp 503 addq %r14,%r9 504 movq 88(%rsi),%r12 505 movq %rbx,%r13 506 movq %r9,%r14 507 bswapq %r12 508 rorq $23,%r13 509 movq %rcx,%rdi 510 511 xorq %rbx,%r13 512 rorq $5,%r14 513 xorq %rdx,%rdi 514 515 movq %r12,88(%rsp) 516 xorq %r9,%r14 517 andq %rbx,%rdi 518 519 rorq $4,%r13 520 addq %r8,%r12 521 xorq %rdx,%rdi 522 523 rorq $6,%r14 524 xorq %rbx,%r13 525 addq %rdi,%r12 526 527 movq %r9,%rdi 528 addq (%rbp),%r12 529 xorq %r9,%r14 530 531 xorq %r10,%rdi 532 rorq $14,%r13 533 movq %r10,%r8 534 535 andq %rdi,%r15 536 rorq $28,%r14 537 addq %r13,%r12 538 539 xorq %r15,%r8 540 addq %r12,%rax 541 addq %r12,%r8 542 543 leaq 24(%rbp),%rbp 544 addq %r14,%r8 545 movq 96(%rsi),%r12 546 movq %rax,%r13 547 movq %r8,%r14 548 bswapq %r12 549 rorq $23,%r13 550 movq %rbx,%r15 551 552 xorq %rax,%r13 553 rorq $5,%r14 554 xorq %rcx,%r15 555 556 movq %r12,96(%rsp) 557 xorq %r8,%r14 558 andq %rax,%r15 559 560 rorq $4,%r13 561 addq %rdx,%r12 562 xorq %rcx,%r15 563 564 rorq $6,%r14 565 xorq %rax,%r13 566 addq %r15,%r12 567 568 movq %r8,%r15 569 addq (%rbp),%r12 570 xorq %r8,%r14 571 572 xorq %r9,%r15 573 rorq $14,%r13 574 movq %r9,%rdx 575 576 andq %r15,%rdi 577 rorq $28,%r14 578 addq %r13,%r12 579 580 xorq %rdi,%rdx 581 addq %r12,%r11 582 addq %r12,%rdx 583 584 leaq 8(%rbp),%rbp 585 addq %r14,%rdx 586 movq 104(%rsi),%r12 587 movq %r11,%r13 588 movq %rdx,%r14 589 bswapq %r12 590 rorq $23,%r13 591 movq %rax,%rdi 592 593 xorq %r11,%r13 594 rorq $5,%r14 595 xorq %rbx,%rdi 596 597 movq %r12,104(%rsp) 598 xorq %rdx,%r14 599 andq %r11,%rdi 600 601 rorq $4,%r13 602 addq %rcx,%r12 603 xorq %rbx,%rdi 604 605 rorq $6,%r14 606 xorq %r11,%r13 607 addq %rdi,%r12 608 609 movq %rdx,%rdi 610 addq (%rbp),%r12 611 xorq %rdx,%r14 612 613 xorq %r8,%rdi 614 rorq $14,%r13 615 movq %r8,%rcx 616 617 andq %rdi,%r15 618 rorq $28,%r14 619 addq %r13,%r12 620 621 xorq %r15,%rcx 622 addq %r12,%r10 623 addq %r12,%rcx 624 625 leaq 24(%rbp),%rbp 626 addq %r14,%rcx 627 movq 112(%rsi),%r12 628 movq %r10,%r13 629 movq %rcx,%r14 630 bswapq %r12 631 rorq $23,%r13 632 movq %r11,%r15 633 634 xorq %r10,%r13 635 rorq $5,%r14 636 xorq %rax,%r15 637 638 movq %r12,112(%rsp) 639 xorq %rcx,%r14 640 andq %r10,%r15 641 642 rorq $4,%r13 643 addq %rbx,%r12 644 xorq %rax,%r15 645 646 rorq $6,%r14 647 xorq %r10,%r13 648 addq %r15,%r12 649 650 movq %rcx,%r15 651 addq (%rbp),%r12 652 xorq %rcx,%r14 653 654 xorq %rdx,%r15 655 rorq $14,%r13 656 movq %rdx,%rbx 657 658 andq %r15,%rdi 659 rorq $28,%r14 660 addq %r13,%r12 661 662 xorq %rdi,%rbx 663 addq %r12,%r9 664 addq %r12,%rbx 665 666 leaq 8(%rbp),%rbp 667 addq %r14,%rbx 668 movq 120(%rsi),%r12 669 movq %r9,%r13 670 movq %rbx,%r14 671 bswapq %r12 672 rorq $23,%r13 673 movq %r10,%rdi 674 675 xorq %r9,%r13 676 rorq $5,%r14 677 xorq %r11,%rdi 678 679 movq %r12,120(%rsp) 680 xorq %rbx,%r14 681 andq %r9,%rdi 682 683 rorq $4,%r13 684 addq %rax,%r12 685 xorq %r11,%rdi 686 687 rorq $6,%r14 688 xorq %r9,%r13 689 addq %rdi,%r12 690 691 movq %rbx,%rdi 692 addq (%rbp),%r12 693 xorq %rbx,%r14 694 695 xorq %rcx,%rdi 696 rorq $14,%r13 697 movq %rcx,%rax 698 699 andq %rdi,%r15 700 rorq $28,%r14 701 addq %r13,%r12 702 703 xorq %r15,%rax 704 addq %r12,%r8 705 addq %r12,%rax 706 707 leaq 24(%rbp),%rbp 708 jmp L$rounds_16_xx 709 .p2align 4 710 L$rounds_16_xx: 711 movq 8(%rsp),%r13 712 movq 112(%rsp),%r15 713 714 movq %r13,%r12 715 rorq $7,%r13 716 addq %r14,%rax 717 movq %r15,%r14 718 rorq $42,%r15 719 720 xorq %r12,%r13 721 shrq $7,%r12 722 rorq $1,%r13 723 xorq %r14,%r15 724 shrq $6,%r14 725 726 rorq $19,%r15 727 xorq %r13,%r12 728 xorq %r14,%r15 729 addq 72(%rsp),%r12 730 731 addq 0(%rsp),%r12 732 movq %r8,%r13 733 addq %r15,%r12 734 movq %rax,%r14 735 rorq $23,%r13 736 movq %r9,%r15 737 738 xorq %r8,%r13 739 rorq $5,%r14 740 xorq %r10,%r15 741 742 movq %r12,0(%rsp) 743 xorq %rax,%r14 744 andq %r8,%r15 745 746 rorq $4,%r13 747 addq %r11,%r12 748 xorq %r10,%r15 749 750 rorq $6,%r14 751 xorq %r8,%r13 752 addq %r15,%r12 753 754 movq %rax,%r15 755 addq (%rbp),%r12 756 xorq %rax,%r14 757 758 xorq %rbx,%r15 759 rorq $14,%r13 760 movq %rbx,%r11 761 762 andq %r15,%rdi 763 rorq $28,%r14 764 addq %r13,%r12 765 766 xorq %rdi,%r11 767 addq %r12,%rdx 768 addq %r12,%r11 769 770 leaq 8(%rbp),%rbp 771 movq 16(%rsp),%r13 772 movq 120(%rsp),%rdi 773 774 movq %r13,%r12 775 rorq $7,%r13 776 addq %r14,%r11 777 movq %rdi,%r14 778 rorq $42,%rdi 779 780 xorq %r12,%r13 781 shrq $7,%r12 782 rorq $1,%r13 783 xorq %r14,%rdi 784 shrq $6,%r14 785 786 rorq $19,%rdi 787 xorq %r13,%r12 788 xorq %r14,%rdi 789 addq 80(%rsp),%r12 790 791 addq 8(%rsp),%r12 792 movq %rdx,%r13 793 addq %rdi,%r12 794 movq %r11,%r14 795 rorq $23,%r13 796 movq %r8,%rdi 797 798 xorq %rdx,%r13 799 rorq $5,%r14 800 xorq %r9,%rdi 801 802 movq %r12,8(%rsp) 803 xorq %r11,%r14 804 andq %rdx,%rdi 805 806 rorq $4,%r13 807 addq %r10,%r12 808 xorq %r9,%rdi 809 810 rorq $6,%r14 811 xorq %rdx,%r13 812 addq %rdi,%r12 813 814 movq %r11,%rdi 815 addq (%rbp),%r12 816 xorq %r11,%r14 817 818 xorq %rax,%rdi 819 rorq $14,%r13 820 movq %rax,%r10 821 822 andq %rdi,%r15 823 rorq $28,%r14 824 addq %r13,%r12 825 826 xorq %r15,%r10 827 addq %r12,%rcx 828 addq %r12,%r10 829 830 leaq 24(%rbp),%rbp 831 movq 24(%rsp),%r13 832 movq 0(%rsp),%r15 833 834 movq %r13,%r12 835 rorq $7,%r13 836 addq %r14,%r10 837 movq %r15,%r14 838 rorq $42,%r15 839 840 xorq %r12,%r13 841 shrq $7,%r12 842 rorq $1,%r13 843 xorq %r14,%r15 844 shrq $6,%r14 845 846 rorq $19,%r15 847 xorq %r13,%r12 848 xorq %r14,%r15 849 addq 88(%rsp),%r12 850 851 addq 16(%rsp),%r12 852 movq %rcx,%r13 853 addq %r15,%r12 854 movq %r10,%r14 855 rorq $23,%r13 856 movq %rdx,%r15 857 858 xorq %rcx,%r13 859 rorq $5,%r14 860 xorq %r8,%r15 861 862 movq %r12,16(%rsp) 863 xorq %r10,%r14 864 andq %rcx,%r15 865 866 rorq $4,%r13 867 addq %r9,%r12 868 xorq %r8,%r15 869 870 rorq $6,%r14 871 xorq %rcx,%r13 872 addq %r15,%r12 873 874 movq %r10,%r15 875 addq (%rbp),%r12 876 xorq %r10,%r14 877 878 xorq %r11,%r15 879 rorq $14,%r13 880 movq %r11,%r9 881 882 andq %r15,%rdi 883 rorq $28,%r14 884 addq %r13,%r12 885 886 xorq %rdi,%r9 887 addq %r12,%rbx 888 addq %r12,%r9 889 890 leaq 8(%rbp),%rbp 891 movq 32(%rsp),%r13 892 movq 8(%rsp),%rdi 893 894 movq %r13,%r12 895 rorq $7,%r13 896 addq %r14,%r9 897 movq %rdi,%r14 898 rorq $42,%rdi 899 900 xorq %r12,%r13 901 shrq $7,%r12 902 rorq $1,%r13 903 xorq %r14,%rdi 904 shrq $6,%r14 905 906 rorq $19,%rdi 907 xorq %r13,%r12 908 xorq %r14,%rdi 909 addq 96(%rsp),%r12 910 911 addq 24(%rsp),%r12 912 movq %rbx,%r13 913 addq %rdi,%r12 914 movq %r9,%r14 915 rorq $23,%r13 916 movq %rcx,%rdi 917 918 xorq %rbx,%r13 919 rorq $5,%r14 920 xorq %rdx,%rdi 921 922 movq %r12,24(%rsp) 923 xorq %r9,%r14 924 andq %rbx,%rdi 925 926 rorq $4,%r13 927 addq %r8,%r12 928 xorq %rdx,%rdi 929 930 rorq $6,%r14 931 xorq %rbx,%r13 932 addq %rdi,%r12 933 934 movq %r9,%rdi 935 addq (%rbp),%r12 936 xorq %r9,%r14 937 938 xorq %r10,%rdi 939 rorq $14,%r13 940 movq %r10,%r8 941 942 andq %rdi,%r15 943 rorq $28,%r14 944 addq %r13,%r12 945 946 xorq %r15,%r8 947 addq %r12,%rax 948 addq %r12,%r8 949 950 leaq 24(%rbp),%rbp 951 movq 40(%rsp),%r13 952 movq 16(%rsp),%r15 953 954 movq %r13,%r12 955 rorq $7,%r13 956 addq %r14,%r8 957 movq %r15,%r14 958 rorq $42,%r15 959 960 xorq %r12,%r13 961 shrq $7,%r12 962 rorq $1,%r13 963 xorq %r14,%r15 964 shrq $6,%r14 965 966 rorq $19,%r15 967 xorq %r13,%r12 968 xorq %r14,%r15 969 addq 104(%rsp),%r12 970 971 addq 32(%rsp),%r12 972 movq %rax,%r13 973 addq %r15,%r12 974 movq %r8,%r14 975 rorq $23,%r13 976 movq %rbx,%r15 977 978 xorq %rax,%r13 979 rorq $5,%r14 980 xorq %rcx,%r15 981 982 movq %r12,32(%rsp) 983 xorq %r8,%r14 984 andq %rax,%r15 985 986 rorq $4,%r13 987 addq %rdx,%r12 988 xorq %rcx,%r15 989 990 rorq $6,%r14 991 xorq %rax,%r13 992 addq %r15,%r12 993 994 movq %r8,%r15 995 addq (%rbp),%r12 996 xorq %r8,%r14 997 998 xorq %r9,%r15 999 rorq $14,%r13 1000 movq %r9,%rdx 1001 1002 andq %r15,%rdi 1003 rorq $28,%r14 1004 addq %r13,%r12 1005 1006 xorq %rdi,%rdx 1007 addq %r12,%r11 1008 addq %r12,%rdx 1009 1010 leaq 8(%rbp),%rbp 1011 movq 48(%rsp),%r13 1012 movq 24(%rsp),%rdi 1013 1014 movq %r13,%r12 1015 rorq $7,%r13 1016 addq %r14,%rdx 1017 movq %rdi,%r14 1018 rorq $42,%rdi 1019 1020 xorq %r12,%r13 1021 shrq $7,%r12 1022 rorq $1,%r13 1023 xorq %r14,%rdi 1024 shrq $6,%r14 1025 1026 rorq $19,%rdi 1027 xorq %r13,%r12 1028 xorq %r14,%rdi 1029 addq 112(%rsp),%r12 1030 1031 addq 40(%rsp),%r12 1032 movq %r11,%r13 1033 addq %rdi,%r12 1034 movq %rdx,%r14 1035 rorq $23,%r13 1036 movq %rax,%rdi 1037 1038 xorq %r11,%r13 1039 rorq $5,%r14 1040 xorq %rbx,%rdi 1041 1042 movq %r12,40(%rsp) 1043 xorq %rdx,%r14 1044 andq %r11,%rdi 1045 1046 rorq $4,%r13 1047 addq %rcx,%r12 1048 xorq %rbx,%rdi 1049 1050 rorq $6,%r14 1051 xorq %r11,%r13 1052 addq %rdi,%r12 1053 1054 movq %rdx,%rdi 1055 addq (%rbp),%r12 1056 xorq %rdx,%r14 1057 1058 xorq %r8,%rdi 1059 rorq $14,%r13 1060 movq %r8,%rcx 1061 1062 andq %rdi,%r15 1063 rorq $28,%r14 1064 addq %r13,%r12 1065 1066 xorq %r15,%rcx 1067 addq %r12,%r10 1068 addq %r12,%rcx 1069 1070 leaq 24(%rbp),%rbp 1071 movq 56(%rsp),%r13 1072 movq 32(%rsp),%r15 1073 1074 movq %r13,%r12 1075 rorq $7,%r13 1076 addq %r14,%rcx 1077 movq %r15,%r14 1078 rorq $42,%r15 1079 1080 xorq %r12,%r13 1081 shrq $7,%r12 1082 rorq $1,%r13 1083 xorq %r14,%r15 1084 shrq $6,%r14 1085 1086 rorq $19,%r15 1087 xorq %r13,%r12 1088 xorq %r14,%r15 1089 addq 120(%rsp),%r12 1090 1091 addq 48(%rsp),%r12 1092 movq %r10,%r13 1093 addq %r15,%r12 1094 movq %rcx,%r14 1095 rorq $23,%r13 1096 movq %r11,%r15 1097 1098 xorq %r10,%r13 1099 rorq $5,%r14 1100 xorq %rax,%r15 1101 1102 movq %r12,48(%rsp) 1103 xorq %rcx,%r14 1104 andq %r10,%r15 1105 1106 rorq $4,%r13 1107 addq %rbx,%r12 1108 xorq %rax,%r15 1109 1110 rorq $6,%r14 1111 xorq %r10,%r13 1112 addq %r15,%r12 1113 1114 movq %rcx,%r15 1115 addq (%rbp),%r12 1116 xorq %rcx,%r14 1117 1118 xorq %rdx,%r15 1119 rorq $14,%r13 1120 movq %rdx,%rbx 1121 1122 andq %r15,%rdi 1123 rorq $28,%r14 1124 addq %r13,%r12 1125 1126 xorq %rdi,%rbx 1127 addq %r12,%r9 1128 addq %r12,%rbx 1129 1130 leaq 8(%rbp),%rbp 1131 movq 64(%rsp),%r13 1132 movq 40(%rsp),%rdi 1133 1134 movq %r13,%r12 1135 rorq $7,%r13 1136 addq %r14,%rbx 1137 movq %rdi,%r14 1138 rorq $42,%rdi 1139 1140 xorq %r12,%r13 1141 shrq $7,%r12 1142 rorq $1,%r13 1143 xorq %r14,%rdi 1144 shrq $6,%r14 1145 1146 rorq $19,%rdi 1147 xorq %r13,%r12 1148 xorq %r14,%rdi 1149 addq 0(%rsp),%r12 1150 1151 addq 56(%rsp),%r12 1152 movq %r9,%r13 1153 addq %rdi,%r12 1154 movq %rbx,%r14 1155 rorq $23,%r13 1156 movq %r10,%rdi 1157 1158 xorq %r9,%r13 1159 rorq $5,%r14 1160 xorq %r11,%rdi 1161 1162 movq %r12,56(%rsp) 1163 xorq %rbx,%r14 1164 andq %r9,%rdi 1165 1166 rorq $4,%r13 1167 addq %rax,%r12 1168 xorq %r11,%rdi 1169 1170 rorq $6,%r14 1171 xorq %r9,%r13 1172 addq %rdi,%r12 1173 1174 movq %rbx,%rdi 1175 addq (%rbp),%r12 1176 xorq %rbx,%r14 1177 1178 xorq %rcx,%rdi 1179 rorq $14,%r13 1180 movq %rcx,%rax 1181 1182 andq %rdi,%r15 1183 rorq $28,%r14 1184 addq %r13,%r12 1185 1186 xorq %r15,%rax 1187 addq %r12,%r8 1188 addq %r12,%rax 1189 1190 leaq 24(%rbp),%rbp 1191 movq 72(%rsp),%r13 1192 movq 48(%rsp),%r15 1193 1194 movq %r13,%r12 1195 rorq $7,%r13 1196 addq %r14,%rax 1197 movq %r15,%r14 1198 rorq $42,%r15 1199 1200 xorq %r12,%r13 1201 shrq $7,%r12 1202 rorq $1,%r13 1203 xorq %r14,%r15 1204 shrq $6,%r14 1205 1206 rorq $19,%r15 1207 xorq %r13,%r12 1208 xorq %r14,%r15 1209 addq 8(%rsp),%r12 1210 1211 addq 64(%rsp),%r12 1212 movq %r8,%r13 1213 addq %r15,%r12 1214 movq %rax,%r14 1215 rorq $23,%r13 1216 movq %r9,%r15 1217 1218 xorq %r8,%r13 1219 rorq $5,%r14 1220 xorq %r10,%r15 1221 1222 movq %r12,64(%rsp) 1223 xorq %rax,%r14 1224 andq %r8,%r15 1225 1226 rorq $4,%r13 1227 addq %r11,%r12 1228 xorq %r10,%r15 1229 1230 rorq $6,%r14 1231 xorq %r8,%r13 1232 addq %r15,%r12 1233 1234 movq %rax,%r15 1235 addq (%rbp),%r12 1236 xorq %rax,%r14 1237 1238 xorq %rbx,%r15 1239 rorq $14,%r13 1240 movq %rbx,%r11 1241 1242 andq %r15,%rdi 1243 rorq $28,%r14 1244 addq %r13,%r12 1245 1246 xorq %rdi,%r11 1247 addq %r12,%rdx 1248 addq %r12,%r11 1249 1250 leaq 8(%rbp),%rbp 1251 movq 80(%rsp),%r13 1252 movq 56(%rsp),%rdi 1253 1254 movq %r13,%r12 1255 rorq $7,%r13 1256 addq %r14,%r11 1257 movq %rdi,%r14 1258 rorq $42,%rdi 1259 1260 xorq %r12,%r13 1261 shrq $7,%r12 1262 rorq $1,%r13 1263 xorq %r14,%rdi 1264 shrq $6,%r14 1265 1266 rorq $19,%rdi 1267 xorq %r13,%r12 1268 xorq %r14,%rdi 1269 addq 16(%rsp),%r12 1270 1271 addq 72(%rsp),%r12 1272 movq %rdx,%r13 1273 addq %rdi,%r12 1274 movq %r11,%r14 1275 rorq $23,%r13 1276 movq %r8,%rdi 1277 1278 xorq %rdx,%r13 1279 rorq $5,%r14 1280 xorq %r9,%rdi 1281 1282 movq %r12,72(%rsp) 1283 xorq %r11,%r14 1284 andq %rdx,%rdi 1285 1286 rorq $4,%r13 1287 addq %r10,%r12 1288 xorq %r9,%rdi 1289 1290 rorq $6,%r14 1291 xorq %rdx,%r13 1292 addq %rdi,%r12 1293 1294 movq %r11,%rdi 1295 addq (%rbp),%r12 1296 xorq %r11,%r14 1297 1298 xorq %rax,%rdi 1299 rorq $14,%r13 1300 movq %rax,%r10 1301 1302 andq %rdi,%r15 1303 rorq $28,%r14 1304 addq %r13,%r12 1305 1306 xorq %r15,%r10 1307 addq %r12,%rcx 1308 addq %r12,%r10 1309 1310 leaq 24(%rbp),%rbp 1311 movq 88(%rsp),%r13 1312 movq 64(%rsp),%r15 1313 1314 movq %r13,%r12 1315 rorq $7,%r13 1316 addq %r14,%r10 1317 movq %r15,%r14 1318 rorq $42,%r15 1319 1320 xorq %r12,%r13 1321 shrq $7,%r12 1322 rorq $1,%r13 1323 xorq %r14,%r15 1324 shrq $6,%r14 1325 1326 rorq $19,%r15 1327 xorq %r13,%r12 1328 xorq %r14,%r15 1329 addq 24(%rsp),%r12 1330 1331 addq 80(%rsp),%r12 1332 movq %rcx,%r13 1333 addq %r15,%r12 1334 movq %r10,%r14 1335 rorq $23,%r13 1336 movq %rdx,%r15 1337 1338 xorq %rcx,%r13 1339 rorq $5,%r14 1340 xorq %r8,%r15 1341 1342 movq %r12,80(%rsp) 1343 xorq %r10,%r14 1344 andq %rcx,%r15 1345 1346 rorq $4,%r13 1347 addq %r9,%r12 1348 xorq %r8,%r15 1349 1350 rorq $6,%r14 1351 xorq %rcx,%r13 1352 addq %r15,%r12 1353 1354 movq %r10,%r15 1355 addq (%rbp),%r12 1356 xorq %r10,%r14 1357 1358 xorq %r11,%r15 1359 rorq $14,%r13 1360 movq %r11,%r9 1361 1362 andq %r15,%rdi 1363 rorq $28,%r14 1364 addq %r13,%r12 1365 1366 xorq %rdi,%r9 1367 addq %r12,%rbx 1368 addq %r12,%r9 1369 1370 leaq 8(%rbp),%rbp 1371 movq 96(%rsp),%r13 1372 movq 72(%rsp),%rdi 1373 1374 movq %r13,%r12 1375 rorq $7,%r13 1376 addq %r14,%r9 1377 movq %rdi,%r14 1378 rorq $42,%rdi 1379 1380 xorq %r12,%r13 1381 shrq $7,%r12 1382 rorq $1,%r13 1383 xorq %r14,%rdi 1384 shrq $6,%r14 1385 1386 rorq $19,%rdi 1387 xorq %r13,%r12 1388 xorq %r14,%rdi 1389 addq 32(%rsp),%r12 1390 1391 addq 88(%rsp),%r12 1392 movq %rbx,%r13 1393 addq %rdi,%r12 1394 movq %r9,%r14 1395 rorq $23,%r13 1396 movq %rcx,%rdi 1397 1398 xorq %rbx,%r13 1399 rorq $5,%r14 1400 xorq %rdx,%rdi 1401 1402 movq %r12,88(%rsp) 1403 xorq %r9,%r14 1404 andq %rbx,%rdi 1405 1406 rorq $4,%r13 1407 addq %r8,%r12 1408 xorq %rdx,%rdi 1409 1410 rorq $6,%r14 1411 xorq %rbx,%r13 1412 addq %rdi,%r12 1413 1414 movq %r9,%rdi 1415 addq (%rbp),%r12 1416 xorq %r9,%r14 1417 1418 xorq %r10,%rdi 1419 rorq $14,%r13 1420 movq %r10,%r8 1421 1422 andq %rdi,%r15 1423 rorq $28,%r14 1424 addq %r13,%r12 1425 1426 xorq %r15,%r8 1427 addq %r12,%rax 1428 addq %r12,%r8 1429 1430 leaq 24(%rbp),%rbp 1431 movq 104(%rsp),%r13 1432 movq 80(%rsp),%r15 1433 1434 movq %r13,%r12 1435 rorq $7,%r13 1436 addq %r14,%r8 1437 movq %r15,%r14 1438 rorq $42,%r15 1439 1440 xorq %r12,%r13 1441 shrq $7,%r12 1442 rorq $1,%r13 1443 xorq %r14,%r15 1444 shrq $6,%r14 1445 1446 rorq $19,%r15 1447 xorq %r13,%r12 1448 xorq %r14,%r15 1449 addq 40(%rsp),%r12 1450 1451 addq 96(%rsp),%r12 1452 movq %rax,%r13 1453 addq %r15,%r12 1454 movq %r8,%r14 1455 rorq $23,%r13 1456 movq %rbx,%r15 1457 1458 xorq %rax,%r13 1459 rorq $5,%r14 1460 xorq %rcx,%r15 1461 1462 movq %r12,96(%rsp) 1463 xorq %r8,%r14 1464 andq %rax,%r15 1465 1466 rorq $4,%r13 1467 addq %rdx,%r12 1468 xorq %rcx,%r15 1469 1470 rorq $6,%r14 1471 xorq %rax,%r13 1472 addq %r15,%r12 1473 1474 movq %r8,%r15 1475 addq (%rbp),%r12 1476 xorq %r8,%r14 1477 1478 xorq %r9,%r15 1479 rorq $14,%r13 1480 movq %r9,%rdx 1481 1482 andq %r15,%rdi 1483 rorq $28,%r14 1484 addq %r13,%r12 1485 1486 xorq %rdi,%rdx 1487 addq %r12,%r11 1488 addq %r12,%rdx 1489 1490 leaq 8(%rbp),%rbp 1491 movq 112(%rsp),%r13 1492 movq 88(%rsp),%rdi 1493 1494 movq %r13,%r12 1495 rorq $7,%r13 1496 addq %r14,%rdx 1497 movq %rdi,%r14 1498 rorq $42,%rdi 1499 1500 xorq %r12,%r13 1501 shrq $7,%r12 1502 rorq $1,%r13 1503 xorq %r14,%rdi 1504 shrq $6,%r14 1505 1506 rorq $19,%rdi 1507 xorq %r13,%r12 1508 xorq %r14,%rdi 1509 addq 48(%rsp),%r12 1510 1511 addq 104(%rsp),%r12 1512 movq %r11,%r13 1513 addq %rdi,%r12 1514 movq %rdx,%r14 1515 rorq $23,%r13 1516 movq %rax,%rdi 1517 1518 xorq %r11,%r13 1519 rorq $5,%r14 1520 xorq %rbx,%rdi 1521 1522 movq %r12,104(%rsp) 1523 xorq %rdx,%r14 1524 andq %r11,%rdi 1525 1526 rorq $4,%r13 1527 addq %rcx,%r12 1528 xorq %rbx,%rdi 1529 1530 rorq $6,%r14 1531 xorq %r11,%r13 1532 addq %rdi,%r12 1533 1534 movq %rdx,%rdi 1535 addq (%rbp),%r12 1536 xorq %rdx,%r14 1537 1538 xorq %r8,%rdi 1539 rorq $14,%r13 1540 movq %r8,%rcx 1541 1542 andq %rdi,%r15 1543 rorq $28,%r14 1544 addq %r13,%r12 1545 1546 xorq %r15,%rcx 1547 addq %r12,%r10 1548 addq %r12,%rcx 1549 1550 leaq 24(%rbp),%rbp 1551 movq 120(%rsp),%r13 1552 movq 96(%rsp),%r15 1553 1554 movq %r13,%r12 1555 rorq $7,%r13 1556 addq %r14,%rcx 1557 movq %r15,%r14 1558 rorq $42,%r15 1559 1560 xorq %r12,%r13 1561 shrq $7,%r12 1562 rorq $1,%r13 1563 xorq %r14,%r15 1564 shrq $6,%r14 1565 1566 rorq $19,%r15 1567 xorq %r13,%r12 1568 xorq %r14,%r15 1569 addq 56(%rsp),%r12 1570 1571 addq 112(%rsp),%r12 1572 movq %r10,%r13 1573 addq %r15,%r12 1574 movq %rcx,%r14 1575 rorq $23,%r13 1576 movq %r11,%r15 1577 1578 xorq %r10,%r13 1579 rorq $5,%r14 1580 xorq %rax,%r15 1581 1582 movq %r12,112(%rsp) 1583 xorq %rcx,%r14 1584 andq %r10,%r15 1585 1586 rorq $4,%r13 1587 addq %rbx,%r12 1588 xorq %rax,%r15 1589 1590 rorq $6,%r14 1591 xorq %r10,%r13 1592 addq %r15,%r12 1593 1594 movq %rcx,%r15 1595 addq (%rbp),%r12 1596 xorq %rcx,%r14 1597 1598 xorq %rdx,%r15 1599 rorq $14,%r13 1600 movq %rdx,%rbx 1601 1602 andq %r15,%rdi 1603 rorq $28,%r14 1604 addq %r13,%r12 1605 1606 xorq %rdi,%rbx 1607 addq %r12,%r9 1608 addq %r12,%rbx 1609 1610 leaq 8(%rbp),%rbp 1611 movq 0(%rsp),%r13 1612 movq 104(%rsp),%rdi 1613 1614 movq %r13,%r12 1615 rorq $7,%r13 1616 addq %r14,%rbx 1617 movq %rdi,%r14 1618 rorq $42,%rdi 1619 1620 xorq %r12,%r13 1621 shrq $7,%r12 1622 rorq $1,%r13 1623 xorq %r14,%rdi 1624 shrq $6,%r14 1625 1626 rorq $19,%rdi 1627 xorq %r13,%r12 1628 xorq %r14,%rdi 1629 addq 64(%rsp),%r12 1630 1631 addq 120(%rsp),%r12 1632 movq %r9,%r13 1633 addq %rdi,%r12 1634 movq %rbx,%r14 1635 rorq $23,%r13 1636 movq %r10,%rdi 1637 1638 xorq %r9,%r13 1639 rorq $5,%r14 1640 xorq %r11,%rdi 1641 1642 movq %r12,120(%rsp) 1643 xorq %rbx,%r14 1644 andq %r9,%rdi 1645 1646 rorq $4,%r13 1647 addq %rax,%r12 1648 xorq %r11,%rdi 1649 1650 rorq $6,%r14 1651 xorq %r9,%r13 1652 addq %rdi,%r12 1653 1654 movq %rbx,%rdi 1655 addq (%rbp),%r12 1656 xorq %rbx,%r14 1657 1658 xorq %rcx,%rdi 1659 rorq $14,%r13 1660 movq %rcx,%rax 1661 1662 andq %rdi,%r15 1663 rorq $28,%r14 1664 addq %r13,%r12 1665 1666 xorq %r15,%rax 1667 addq %r12,%r8 1668 addq %r12,%rax 1669 1670 leaq 24(%rbp),%rbp 1671 cmpb $0,7(%rbp) 1672 jnz L$rounds_16_xx 1673 1674 movq 128+0(%rsp),%rdi 1675 addq %r14,%rax 1676 leaq 128(%rsi),%rsi 1677 1678 addq 0(%rdi),%rax 1679 addq 8(%rdi),%rbx 1680 addq 16(%rdi),%rcx 1681 addq 24(%rdi),%rdx 1682 addq 32(%rdi),%r8 1683 addq 40(%rdi),%r9 1684 addq 48(%rdi),%r10 1685 addq 56(%rdi),%r11 1686 1687 cmpq 128+16(%rsp),%rsi 1688 1689 movq %rax,0(%rdi) 1690 movq %rbx,8(%rdi) 1691 movq %rcx,16(%rdi) 1692 movq %rdx,24(%rdi) 1693 movq %r8,32(%rdi) 1694 movq %r9,40(%rdi) 1695 movq %r10,48(%rdi) 1696 movq %r11,56(%rdi) 1697 jb L$loop 1698 1699 movq 128+24(%rsp),%rsi 1700 movq -48(%rsi),%r15 1701 movq -40(%rsi),%r14 1702 movq -32(%rsi),%r13 1703 movq -24(%rsi),%r12 1704 movq -16(%rsi),%rbp 1705 movq -8(%rsi),%rbx 1706 leaq (%rsi),%rsp 1707 L$epilogue: 1708 .byte 0xf3,0xc3 1709 1710 .p2align 6 1711 1712 K512: 1713 .quad 0x428a2f98d728ae22,0x7137449123ef65cd 1714 .quad 0x428a2f98d728ae22,0x7137449123ef65cd 1715 .quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc 1716 .quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc 1717 .quad 0x3956c25bf348b538,0x59f111f1b605d019 1718 .quad 0x3956c25bf348b538,0x59f111f1b605d019 1719 .quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118 1720 .quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118 1721 .quad 0xd807aa98a3030242,0x12835b0145706fbe 1722 .quad 0xd807aa98a3030242,0x12835b0145706fbe 1723 .quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2 1724 .quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2 1725 .quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1 1726 .quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1 1727 .quad 0x9bdc06a725c71235,0xc19bf174cf692694 1728 .quad 0x9bdc06a725c71235,0xc19bf174cf692694 1729 .quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3 1730 .quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3 1731 .quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65 1732 .quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65 1733 .quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483 1734 .quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483 1735 .quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5 1736 .quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5 1737 .quad 0x983e5152ee66dfab,0xa831c66d2db43210 1738 .quad 0x983e5152ee66dfab,0xa831c66d2db43210 1739 .quad 0xb00327c898fb213f,0xbf597fc7beef0ee4 1740 .quad 0xb00327c898fb213f,0xbf597fc7beef0ee4 1741 .quad 0xc6e00bf33da88fc2,0xd5a79147930aa725 1742 .quad 0xc6e00bf33da88fc2,0xd5a79147930aa725 1743 .quad 0x06ca6351e003826f,0x142929670a0e6e70 1744 .quad 0x06ca6351e003826f,0x142929670a0e6e70 1745 .quad 0x27b70a8546d22ffc,0x2e1b21385c26c926 1746 .quad 0x27b70a8546d22ffc,0x2e1b21385c26c926 1747 .quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df 1748 .quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df 1749 .quad 0x650a73548baf63de,0x766a0abb3c77b2a8 1750 .quad 0x650a73548baf63de,0x766a0abb3c77b2a8 1751 .quad 0x81c2c92e47edaee6,0x92722c851482353b 1752 .quad 0x81c2c92e47edaee6,0x92722c851482353b 1753 .quad 0xa2bfe8a14cf10364,0xa81a664bbc423001 1754 .quad 0xa2bfe8a14cf10364,0xa81a664bbc423001 1755 .quad 0xc24b8b70d0f89791,0xc76c51a30654be30 1756 .quad 0xc24b8b70d0f89791,0xc76c51a30654be30 1757 .quad 0xd192e819d6ef5218,0xd69906245565a910 1758 .quad 0xd192e819d6ef5218,0xd69906245565a910 1759 .quad 0xf40e35855771202a,0x106aa07032bbd1b8 1760 .quad 0xf40e35855771202a,0x106aa07032bbd1b8 1761 .quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53 1762 .quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53 1763 .quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8 1764 .quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8 1765 .quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb 1766 .quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb 1767 .quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3 1768 .quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3 1769 .quad 0x748f82ee5defb2fc,0x78a5636f43172f60 1770 .quad 0x748f82ee5defb2fc,0x78a5636f43172f60 1771 .quad 0x84c87814a1f0ab72,0x8cc702081a6439ec 1772 .quad 0x84c87814a1f0ab72,0x8cc702081a6439ec 1773 .quad 0x90befffa23631e28,0xa4506cebde82bde9 1774 .quad 0x90befffa23631e28,0xa4506cebde82bde9 1775 .quad 0xbef9a3f7b2c67915,0xc67178f2e372532b 1776 .quad 0xbef9a3f7b2c67915,0xc67178f2e372532b 1777 .quad 0xca273eceea26619c,0xd186b8c721c0c207 1778 .quad 0xca273eceea26619c,0xd186b8c721c0c207 1779 .quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178 1780 .quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178 1781 .quad 0x06f067aa72176fba,0x0a637dc5a2c898a6 1782 .quad 0x06f067aa72176fba,0x0a637dc5a2c898a6 1783 .quad 0x113f9804bef90dae,0x1b710b35131c471b 1784 .quad 0x113f9804bef90dae,0x1b710b35131c471b 1785 .quad 0x28db77f523047d84,0x32caab7b40c72493 1786 .quad 0x28db77f523047d84,0x32caab7b40c72493 1787 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c 1788 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c 1789 .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a 1790 .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a 1791 .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817 1792 .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817 1793 1794 .quad 0x0001020304050607,0x08090a0b0c0d0e0f 1795 .quad 0x0001020304050607,0x08090a0b0c0d0e0f 1796 .byte 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 1797 1798 .p2align 6 1799 sha512_block_data_order_xop: 1800 L$xop_shortcut: 1801 movq %rsp,%rax 1802 pushq %rbx 1803 pushq %rbp 1804 pushq %r12 1805 pushq %r13 1806 pushq %r14 1807 pushq %r15 1808 shlq $4,%rdx 1809 subq $160,%rsp 1810 leaq (%rsi,%rdx,8),%rdx 1811 andq $-64,%rsp 1812 movq %rdi,128+0(%rsp) 1813 movq %rsi,128+8(%rsp) 1814 movq %rdx,128+16(%rsp) 1815 movq %rax,128+24(%rsp) 1816 L$prologue_xop: 1817 1818 vzeroupper 1819 movq 0(%rdi),%rax 1820 movq 8(%rdi),%rbx 1821 movq 16(%rdi),%rcx 1822 movq 24(%rdi),%rdx 1823 movq 32(%rdi),%r8 1824 movq 40(%rdi),%r9 1825 movq 48(%rdi),%r10 1826 movq 56(%rdi),%r11 1827 jmp L$loop_xop 1828 .p2align 4 1829 L$loop_xop: 1830 vmovdqa K512+1280(%rip),%xmm11 1831 vmovdqu 0(%rsi),%xmm0 1832 leaq K512+128(%rip),%rbp 1833 vmovdqu 16(%rsi),%xmm1 1834 vmovdqu 32(%rsi),%xmm2 1835 vpshufb %xmm11,%xmm0,%xmm0 1836 vmovdqu 48(%rsi),%xmm3 1837 vpshufb %xmm11,%xmm1,%xmm1 1838 vmovdqu 64(%rsi),%xmm4 1839 vpshufb %xmm11,%xmm2,%xmm2 1840 vmovdqu 80(%rsi),%xmm5 1841 vpshufb %xmm11,%xmm3,%xmm3 1842 vmovdqu 96(%rsi),%xmm6 1843 vpshufb %xmm11,%xmm4,%xmm4 1844 vmovdqu 112(%rsi),%xmm7 1845 vpshufb %xmm11,%xmm5,%xmm5 1846 vpaddq -128(%rbp),%xmm0,%xmm8 1847 vpshufb %xmm11,%xmm6,%xmm6 1848 vpaddq -96(%rbp),%xmm1,%xmm9 1849 vpshufb %xmm11,%xmm7,%xmm7 1850 vpaddq -64(%rbp),%xmm2,%xmm10 1851 vpaddq -32(%rbp),%xmm3,%xmm11 1852 vmovdqa %xmm8,0(%rsp) 1853 vpaddq 0(%rbp),%xmm4,%xmm8 1854 vmovdqa %xmm9,16(%rsp) 1855 vpaddq 32(%rbp),%xmm5,%xmm9 1856 vmovdqa %xmm10,32(%rsp) 1857 vpaddq 64(%rbp),%xmm6,%xmm10 1858 vmovdqa %xmm11,48(%rsp) 1859 vpaddq 96(%rbp),%xmm7,%xmm11 1860 vmovdqa %xmm8,64(%rsp) 1861 movq %rax,%r14 1862 vmovdqa %xmm9,80(%rsp) 1863 movq %rbx,%rdi 1864 vmovdqa %xmm10,96(%rsp) 1865 xorq %rcx,%rdi 1866 vmovdqa %xmm11,112(%rsp) 1867 movq %r8,%r13 1868 jmp L$xop_00_47 1869 1870 .p2align 4 1871 L$xop_00_47: 1872 addq $256,%rbp 1873 vpalignr $8,%xmm0,%xmm1,%xmm8 1874 rorq $23,%r13 1875 movq %r14,%rax 1876 vpalignr $8,%xmm4,%xmm5,%xmm11 1877 movq %r9,%r12 1878 rorq $5,%r14 1879 .byte 143,72,120,195,200,56 1880 xorq %r8,%r13 1881 xorq %r10,%r12 1882 vpsrlq $7,%xmm8,%xmm8 1883 rorq $4,%r13 1884 xorq %rax,%r14 1885 vpaddq %xmm11,%xmm0,%xmm0 1886 andq %r8,%r12 1887 xorq %r8,%r13 1888 addq 0(%rsp),%r11 1889 movq %rax,%r15 1890 .byte 143,72,120,195,209,7 1891 xorq %r10,%r12 1892 rorq $6,%r14 1893 vpxor %xmm9,%xmm8,%xmm8 1894 xorq %rbx,%r15 1895 addq %r12,%r11 1896 rorq $14,%r13 1897 andq %r15,%rdi 1898 .byte 143,104,120,195,223,3 1899 xorq %rax,%r14 1900 addq %r13,%r11 1901 vpxor %xmm10,%xmm8,%xmm8 1902 xorq %rbx,%rdi 1903 rorq $28,%r14 1904 vpsrlq $6,%xmm7,%xmm10 1905 addq %r11,%rdx 1906 addq %rdi,%r11 1907 vpaddq %xmm8,%xmm0,%xmm0 1908 movq %rdx,%r13 1909 addq %r11,%r14 1910 .byte 143,72,120,195,203,42 1911 rorq $23,%r13 1912 movq %r14,%r11 1913 vpxor %xmm10,%xmm11,%xmm11 1914 movq %r8,%r12 1915 rorq $5,%r14 1916 xorq %rdx,%r13 1917 xorq %r9,%r12 1918 vpxor %xmm9,%xmm11,%xmm11 1919 rorq $4,%r13 1920 xorq %r11,%r14 1921 andq %rdx,%r12 1922 xorq %rdx,%r13 1923 vpaddq %xmm11,%xmm0,%xmm0 1924 addq 8(%rsp),%r10 1925 movq %r11,%rdi 1926 xorq %r9,%r12 1927 rorq $6,%r14 1928 vpaddq -128(%rbp),%xmm0,%xmm10 1929 xorq %rax,%rdi 1930 addq %r12,%r10 1931 rorq $14,%r13 1932 andq %rdi,%r15 1933 xorq %r11,%r14 1934 addq %r13,%r10 1935 xorq %rax,%r15 1936 rorq $28,%r14 1937 addq %r10,%rcx 1938 addq %r15,%r10 1939 movq %rcx,%r13 1940 addq %r10,%r14 1941 vmovdqa %xmm10,0(%rsp) 1942 vpalignr $8,%xmm1,%xmm2,%xmm8 1943 rorq $23,%r13 1944 movq %r14,%r10 1945 vpalignr $8,%xmm5,%xmm6,%xmm11 1946 movq %rdx,%r12 1947 rorq $5,%r14 1948 .byte 143,72,120,195,200,56 1949 xorq %rcx,%r13 1950 xorq %r8,%r12 1951 vpsrlq $7,%xmm8,%xmm8 1952 rorq $4,%r13 1953 xorq %r10,%r14 1954 vpaddq %xmm11,%xmm1,%xmm1 1955 andq %rcx,%r12 1956 xorq %rcx,%r13 1957 addq 16(%rsp),%r9 1958 movq %r10,%r15 1959 .byte 143,72,120,195,209,7 1960 xorq %r8,%r12 1961 rorq $6,%r14 1962 vpxor %xmm9,%xmm8,%xmm8 1963 xorq %r11,%r15 1964 addq %r12,%r9 1965 rorq $14,%r13 1966 andq %r15,%rdi 1967 .byte 143,104,120,195,216,3 1968 xorq %r10,%r14 1969 addq %r13,%r9 1970 vpxor %xmm10,%xmm8,%xmm8 1971 xorq %r11,%rdi 1972 rorq $28,%r14 1973 vpsrlq $6,%xmm0,%xmm10 1974 addq %r9,%rbx 1975 addq %rdi,%r9 1976 vpaddq %xmm8,%xmm1,%xmm1 1977 movq %rbx,%r13 1978 addq %r9,%r14 1979 .byte 143,72,120,195,203,42 1980 rorq $23,%r13 1981 movq %r14,%r9 1982 vpxor %xmm10,%xmm11,%xmm11 1983 movq %rcx,%r12 1984 rorq $5,%r14 1985 xorq %rbx,%r13 1986 xorq %rdx,%r12 1987 vpxor %xmm9,%xmm11,%xmm11 1988 rorq $4,%r13 1989 xorq %r9,%r14 1990 andq %rbx,%r12 1991 xorq %rbx,%r13 1992 vpaddq %xmm11,%xmm1,%xmm1 1993 addq 24(%rsp),%r8 1994 movq %r9,%rdi 1995 xorq %rdx,%r12 1996 rorq $6,%r14 1997 vpaddq -96(%rbp),%xmm1,%xmm10 1998 xorq %r10,%rdi 1999 addq %r12,%r8 2000 rorq $14,%r13 2001 andq %rdi,%r15 2002 xorq %r9,%r14 2003 addq %r13,%r8 2004 xorq %r10,%r15 2005 rorq $28,%r14 2006 addq %r8,%rax 2007 addq %r15,%r8 2008 movq %rax,%r13 2009 addq %r8,%r14 2010 vmovdqa %xmm10,16(%rsp) 2011 vpalignr $8,%xmm2,%xmm3,%xmm8 2012 rorq $23,%r13 2013 movq %r14,%r8 2014 vpalignr $8,%xmm6,%xmm7,%xmm11 2015 movq %rbx,%r12 2016 rorq $5,%r14 2017 .byte 143,72,120,195,200,56 2018 xorq %rax,%r13 2019 xorq %rcx,%r12 2020 vpsrlq $7,%xmm8,%xmm8 2021 rorq $4,%r13 2022 xorq %r8,%r14 2023 vpaddq %xmm11,%xmm2,%xmm2 2024 andq %rax,%r12 2025 xorq %rax,%r13 2026 addq 32(%rsp),%rdx 2027 movq %r8,%r15 2028 .byte 143,72,120,195,209,7 2029 xorq %rcx,%r12 2030 rorq $6,%r14 2031 vpxor %xmm9,%xmm8,%xmm8 2032 xorq %r9,%r15 2033 addq %r12,%rdx 2034 rorq $14,%r13 2035 andq %r15,%rdi 2036 .byte 143,104,120,195,217,3 2037 xorq %r8,%r14 2038 addq %r13,%rdx 2039 vpxor %xmm10,%xmm8,%xmm8 2040 xorq %r9,%rdi 2041 rorq $28,%r14 2042 vpsrlq $6,%xmm1,%xmm10 2043 addq %rdx,%r11 2044 addq %rdi,%rdx 2045 vpaddq %xmm8,%xmm2,%xmm2 2046 movq %r11,%r13 2047 addq %rdx,%r14 2048 .byte 143,72,120,195,203,42 2049 rorq $23,%r13 2050 movq %r14,%rdx 2051 vpxor %xmm10,%xmm11,%xmm11 2052 movq %rax,%r12 2053 rorq $5,%r14 2054 xorq %r11,%r13 2055 xorq %rbx,%r12 2056 vpxor %xmm9,%xmm11,%xmm11 2057 rorq $4,%r13 2058 xorq %rdx,%r14 2059 andq %r11,%r12 2060 xorq %r11,%r13 2061 vpaddq %xmm11,%xmm2,%xmm2 2062 addq 40(%rsp),%rcx 2063 movq %rdx,%rdi 2064 xorq %rbx,%r12 2065 rorq $6,%r14 2066 vpaddq -64(%rbp),%xmm2,%xmm10 2067 xorq %r8,%rdi 2068 addq %r12,%rcx 2069 rorq $14,%r13 2070 andq %rdi,%r15 2071 xorq %rdx,%r14 2072 addq %r13,%rcx 2073 xorq %r8,%r15 2074 rorq $28,%r14 2075 addq %rcx,%r10 2076 addq %r15,%rcx 2077 movq %r10,%r13 2078 addq %rcx,%r14 2079 vmovdqa %xmm10,32(%rsp) 2080 vpalignr $8,%xmm3,%xmm4,%xmm8 2081 rorq $23,%r13 2082 movq %r14,%rcx 2083 vpalignr $8,%xmm7,%xmm0,%xmm11 2084 movq %r11,%r12 2085 rorq $5,%r14 2086 .byte 143,72,120,195,200,56 2087 xorq %r10,%r13 2088 xorq %rax,%r12 2089 vpsrlq $7,%xmm8,%xmm8 2090 rorq $4,%r13 2091 xorq %rcx,%r14 2092 vpaddq %xmm11,%xmm3,%xmm3 2093 andq %r10,%r12 2094 xorq %r10,%r13 2095 addq 48(%rsp),%rbx 2096 movq %rcx,%r15 2097 .byte 143,72,120,195,209,7 2098 xorq %rax,%r12 2099 rorq $6,%r14 2100 vpxor %xmm9,%xmm8,%xmm8 2101 xorq %rdx,%r15 2102 addq %r12,%rbx 2103 rorq $14,%r13 2104 andq %r15,%rdi 2105 .byte 143,104,120,195,218,3 2106 xorq %rcx,%r14 2107 addq %r13,%rbx 2108 vpxor %xmm10,%xmm8,%xmm8 2109 xorq %rdx,%rdi 2110 rorq $28,%r14 2111 vpsrlq $6,%xmm2,%xmm10 2112 addq %rbx,%r9 2113 addq %rdi,%rbx 2114 vpaddq %xmm8,%xmm3,%xmm3 2115 movq %r9,%r13 2116 addq %rbx,%r14 2117 .byte 143,72,120,195,203,42 2118 rorq $23,%r13 2119 movq %r14,%rbx 2120 vpxor %xmm10,%xmm11,%xmm11 2121 movq %r10,%r12 2122 rorq $5,%r14 2123 xorq %r9,%r13 2124 xorq %r11,%r12 2125 vpxor %xmm9,%xmm11,%xmm11 2126 rorq $4,%r13 2127 xorq %rbx,%r14 2128 andq %r9,%r12 2129 xorq %r9,%r13 2130 vpaddq %xmm11,%xmm3,%xmm3 2131 addq 56(%rsp),%rax 2132 movq %rbx,%rdi 2133 xorq %r11,%r12 2134 rorq $6,%r14 2135 vpaddq -32(%rbp),%xmm3,%xmm10 2136 xorq %rcx,%rdi 2137 addq %r12,%rax 2138 rorq $14,%r13 2139 andq %rdi,%r15 2140 xorq %rbx,%r14 2141 addq %r13,%rax 2142 xorq %rcx,%r15 2143 rorq $28,%r14 2144 addq %rax,%r8 2145 addq %r15,%rax 2146 movq %r8,%r13 2147 addq %rax,%r14 2148 vmovdqa %xmm10,48(%rsp) 2149 vpalignr $8,%xmm4,%xmm5,%xmm8 2150 rorq $23,%r13 2151 movq %r14,%rax 2152 vpalignr $8,%xmm0,%xmm1,%xmm11 2153 movq %r9,%r12 2154 rorq $5,%r14 2155 .byte 143,72,120,195,200,56 2156 xorq %r8,%r13 2157 xorq %r10,%r12 2158 vpsrlq $7,%xmm8,%xmm8 2159 rorq $4,%r13 2160 xorq %rax,%r14 2161 vpaddq %xmm11,%xmm4,%xmm4 2162 andq %r8,%r12 2163 xorq %r8,%r13 2164 addq 64(%rsp),%r11 2165 movq %rax,%r15 2166 .byte 143,72,120,195,209,7 2167 xorq %r10,%r12 2168 rorq $6,%r14 2169 vpxor %xmm9,%xmm8,%xmm8 2170 xorq %rbx,%r15 2171 addq %r12,%r11 2172 rorq $14,%r13 2173 andq %r15,%rdi 2174 .byte 143,104,120,195,219,3 2175 xorq %rax,%r14 2176 addq %r13,%r11 2177 vpxor %xmm10,%xmm8,%xmm8 2178 xorq %rbx,%rdi 2179 rorq $28,%r14 2180 vpsrlq $6,%xmm3,%xmm10 2181 addq %r11,%rdx 2182 addq %rdi,%r11 2183 vpaddq %xmm8,%xmm4,%xmm4 2184 movq %rdx,%r13 2185 addq %r11,%r14 2186 .byte 143,72,120,195,203,42 2187 rorq $23,%r13 2188 movq %r14,%r11 2189 vpxor %xmm10,%xmm11,%xmm11 2190 movq %r8,%r12 2191 rorq $5,%r14 2192 xorq %rdx,%r13 2193 xorq %r9,%r12 2194 vpxor %xmm9,%xmm11,%xmm11 2195 rorq $4,%r13 2196 xorq %r11,%r14 2197 andq %rdx,%r12 2198 xorq %rdx,%r13 2199 vpaddq %xmm11,%xmm4,%xmm4 2200 addq 72(%rsp),%r10 2201 movq %r11,%rdi 2202 xorq %r9,%r12 2203 rorq $6,%r14 2204 vpaddq 0(%rbp),%xmm4,%xmm10 2205 xorq %rax,%rdi 2206 addq %r12,%r10 2207 rorq $14,%r13 2208 andq %rdi,%r15 2209 xorq %r11,%r14 2210 addq %r13,%r10 2211 xorq %rax,%r15 2212 rorq $28,%r14 2213 addq %r10,%rcx 2214 addq %r15,%r10 2215 movq %rcx,%r13 2216 addq %r10,%r14 2217 vmovdqa %xmm10,64(%rsp) 2218 vpalignr $8,%xmm5,%xmm6,%xmm8 2219 rorq $23,%r13 2220 movq %r14,%r10 2221 vpalignr $8,%xmm1,%xmm2,%xmm11 2222 movq %rdx,%r12 2223 rorq $5,%r14 2224 .byte 143,72,120,195,200,56 2225 xorq %rcx,%r13 2226 xorq %r8,%r12 2227 vpsrlq $7,%xmm8,%xmm8 2228 rorq $4,%r13 2229 xorq %r10,%r14 2230 vpaddq %xmm11,%xmm5,%xmm5 2231 andq %rcx,%r12 2232 xorq %rcx,%r13 2233 addq 80(%rsp),%r9 2234 movq %r10,%r15 2235 .byte 143,72,120,195,209,7 2236 xorq %r8,%r12 2237 rorq $6,%r14 2238 vpxor %xmm9,%xmm8,%xmm8 2239 xorq %r11,%r15 2240 addq %r12,%r9 2241 rorq $14,%r13 2242 andq %r15,%rdi 2243 .byte 143,104,120,195,220,3 2244 xorq %r10,%r14 2245 addq %r13,%r9 2246 vpxor %xmm10,%xmm8,%xmm8 2247 xorq %r11,%rdi 2248 rorq $28,%r14 2249 vpsrlq $6,%xmm4,%xmm10 2250 addq %r9,%rbx 2251 addq %rdi,%r9 2252 vpaddq %xmm8,%xmm5,%xmm5 2253 movq %rbx,%r13 2254 addq %r9,%r14 2255 .byte 143,72,120,195,203,42 2256 rorq $23,%r13 2257 movq %r14,%r9 2258 vpxor %xmm10,%xmm11,%xmm11 2259 movq %rcx,%r12 2260 rorq $5,%r14 2261 xorq %rbx,%r13 2262 xorq %rdx,%r12 2263 vpxor %xmm9,%xmm11,%xmm11 2264 rorq $4,%r13 2265 xorq %r9,%r14 2266 andq %rbx,%r12 2267 xorq %rbx,%r13 2268 vpaddq %xmm11,%xmm5,%xmm5 2269 addq 88(%rsp),%r8 2270 movq %r9,%rdi 2271 xorq %rdx,%r12 2272 rorq $6,%r14 2273 vpaddq 32(%rbp),%xmm5,%xmm10 2274 xorq %r10,%rdi 2275 addq %r12,%r8 2276 rorq $14,%r13 2277 andq %rdi,%r15 2278 xorq %r9,%r14 2279 addq %r13,%r8 2280 xorq %r10,%r15 2281 rorq $28,%r14 2282 addq %r8,%rax 2283 addq %r15,%r8 2284 movq %rax,%r13 2285 addq %r8,%r14 2286 vmovdqa %xmm10,80(%rsp) 2287 vpalignr $8,%xmm6,%xmm7,%xmm8 2288 rorq $23,%r13 2289 movq %r14,%r8 2290 vpalignr $8,%xmm2,%xmm3,%xmm11 2291 movq %rbx,%r12 2292 rorq $5,%r14 2293 .byte 143,72,120,195,200,56 2294 xorq %rax,%r13 2295 xorq %rcx,%r12 2296 vpsrlq $7,%xmm8,%xmm8 2297 rorq $4,%r13 2298 xorq %r8,%r14 2299 vpaddq %xmm11,%xmm6,%xmm6 2300 andq %rax,%r12 2301 xorq %rax,%r13 2302 addq 96(%rsp),%rdx 2303 movq %r8,%r15 2304 .byte 143,72,120,195,209,7 2305 xorq %rcx,%r12 2306 rorq $6,%r14 2307 vpxor %xmm9,%xmm8,%xmm8 2308 xorq %r9,%r15 2309 addq %r12,%rdx 2310 rorq $14,%r13 2311 andq %r15,%rdi 2312 .byte 143,104,120,195,221,3 2313 xorq %r8,%r14 2314 addq %r13,%rdx 2315 vpxor %xmm10,%xmm8,%xmm8 2316 xorq %r9,%rdi 2317 rorq $28,%r14 2318 vpsrlq $6,%xmm5,%xmm10 2319 addq %rdx,%r11 2320 addq %rdi,%rdx 2321 vpaddq %xmm8,%xmm6,%xmm6 2322 movq %r11,%r13 2323 addq %rdx,%r14 2324 .byte 143,72,120,195,203,42 2325 rorq $23,%r13 2326 movq %r14,%rdx 2327 vpxor %xmm10,%xmm11,%xmm11 2328 movq %rax,%r12 2329 rorq $5,%r14 2330 xorq %r11,%r13 2331 xorq %rbx,%r12 2332 vpxor %xmm9,%xmm11,%xmm11 2333 rorq $4,%r13 2334 xorq %rdx,%r14 2335 andq %r11,%r12 2336 xorq %r11,%r13 2337 vpaddq %xmm11,%xmm6,%xmm6 2338 addq 104(%rsp),%rcx 2339 movq %rdx,%rdi 2340 xorq %rbx,%r12 2341 rorq $6,%r14 2342 vpaddq 64(%rbp),%xmm6,%xmm10 2343 xorq %r8,%rdi 2344 addq %r12,%rcx 2345 rorq $14,%r13 2346 andq %rdi,%r15 2347 xorq %rdx,%r14 2348 addq %r13,%rcx 2349 xorq %r8,%r15 2350 rorq $28,%r14 2351 addq %rcx,%r10 2352 addq %r15,%rcx 2353 movq %r10,%r13 2354 addq %rcx,%r14 2355 vmovdqa %xmm10,96(%rsp) 2356 vpalignr $8,%xmm7,%xmm0,%xmm8 2357 rorq $23,%r13 2358 movq %r14,%rcx 2359 vpalignr $8,%xmm3,%xmm4,%xmm11 2360 movq %r11,%r12 2361 rorq $5,%r14 2362 .byte 143,72,120,195,200,56 2363 xorq %r10,%r13 2364 xorq %rax,%r12 2365 vpsrlq $7,%xmm8,%xmm8 2366 rorq $4,%r13 2367 xorq %rcx,%r14 2368 vpaddq %xmm11,%xmm7,%xmm7 2369 andq %r10,%r12 2370 xorq %r10,%r13 2371 addq 112(%rsp),%rbx 2372 movq %rcx,%r15 2373 .byte 143,72,120,195,209,7 2374 xorq %rax,%r12 2375 rorq $6,%r14 2376 vpxor %xmm9,%xmm8,%xmm8 2377 xorq %rdx,%r15 2378 addq %r12,%rbx 2379 rorq $14,%r13 2380 andq %r15,%rdi 2381 .byte 143,104,120,195,222,3 2382 xorq %rcx,%r14 2383 addq %r13,%rbx 2384 vpxor %xmm10,%xmm8,%xmm8 2385 xorq %rdx,%rdi 2386 rorq $28,%r14 2387 vpsrlq $6,%xmm6,%xmm10 2388 addq %rbx,%r9 2389 addq %rdi,%rbx 2390 vpaddq %xmm8,%xmm7,%xmm7 2391 movq %r9,%r13 2392 addq %rbx,%r14 2393 .byte 143,72,120,195,203,42 2394 rorq $23,%r13 2395 movq %r14,%rbx 2396 vpxor %xmm10,%xmm11,%xmm11 2397 movq %r10,%r12 2398 rorq $5,%r14 2399 xorq %r9,%r13 2400 xorq %r11,%r12 2401 vpxor %xmm9,%xmm11,%xmm11 2402 rorq $4,%r13 2403 xorq %rbx,%r14 2404 andq %r9,%r12 2405 xorq %r9,%r13 2406 vpaddq %xmm11,%xmm7,%xmm7 2407 addq 120(%rsp),%rax 2408 movq %rbx,%rdi 2409 xorq %r11,%r12 2410 rorq $6,%r14 2411 vpaddq 96(%rbp),%xmm7,%xmm10 2412 xorq %rcx,%rdi 2413 addq %r12,%rax 2414 rorq $14,%r13 2415 andq %rdi,%r15 2416 xorq %rbx,%r14 2417 addq %r13,%rax 2418 xorq %rcx,%r15 2419 rorq $28,%r14 2420 addq %rax,%r8 2421 addq %r15,%rax 2422 movq %r8,%r13 2423 addq %rax,%r14 2424 vmovdqa %xmm10,112(%rsp) 2425 cmpb $0,135(%rbp) 2426 jne L$xop_00_47 2427 rorq $23,%r13 2428 movq %r14,%rax 2429 movq %r9,%r12 2430 rorq $5,%r14 2431 xorq %r8,%r13 2432 xorq %r10,%r12 2433 rorq $4,%r13 2434 xorq %rax,%r14 2435 andq %r8,%r12 2436 xorq %r8,%r13 2437 addq 0(%rsp),%r11 2438 movq %rax,%r15 2439 xorq %r10,%r12 2440 rorq $6,%r14 2441 xorq %rbx,%r15 2442 addq %r12,%r11 2443 rorq $14,%r13 2444 andq %r15,%rdi 2445 xorq %rax,%r14 2446 addq %r13,%r11 2447 xorq %rbx,%rdi 2448 rorq $28,%r14 2449 addq %r11,%rdx 2450 addq %rdi,%r11 2451 movq %rdx,%r13 2452 addq %r11,%r14 2453 rorq $23,%r13 2454 movq %r14,%r11 2455 movq %r8,%r12 2456 rorq $5,%r14 2457 xorq %rdx,%r13 2458 xorq %r9,%r12 2459 rorq $4,%r13 2460 xorq %r11,%r14 2461 andq %rdx,%r12 2462 xorq %rdx,%r13 2463 addq 8(%rsp),%r10 2464 movq %r11,%rdi 2465 xorq %r9,%r12 2466 rorq $6,%r14 2467 xorq %rax,%rdi 2468 addq %r12,%r10 2469 rorq $14,%r13 2470 andq %rdi,%r15 2471 xorq %r11,%r14 2472 addq %r13,%r10 2473 xorq %rax,%r15 2474 rorq $28,%r14 2475 addq %r10,%rcx 2476 addq %r15,%r10 2477 movq %rcx,%r13 2478 addq %r10,%r14 2479 rorq $23,%r13 2480 movq %r14,%r10 2481 movq %rdx,%r12 2482 rorq $5,%r14 2483 xorq %rcx,%r13 2484 xorq %r8,%r12 2485 rorq $4,%r13 2486 xorq %r10,%r14 2487 andq %rcx,%r12 2488 xorq %rcx,%r13 2489 addq 16(%rsp),%r9 2490 movq %r10,%r15 2491 xorq %r8,%r12 2492 rorq $6,%r14 2493 xorq %r11,%r15 2494 addq %r12,%r9 2495 rorq $14,%r13 2496 andq %r15,%rdi 2497 xorq %r10,%r14 2498 addq %r13,%r9 2499 xorq %r11,%rdi 2500 rorq $28,%r14 2501 addq %r9,%rbx 2502 addq %rdi,%r9 2503 movq %rbx,%r13 2504 addq %r9,%r14 2505 rorq $23,%r13 2506 movq %r14,%r9 2507 movq %rcx,%r12 2508 rorq $5,%r14 2509 xorq %rbx,%r13 2510 xorq %rdx,%r12 2511 rorq $4,%r13 2512 xorq %r9,%r14 2513 andq %rbx,%r12 2514 xorq %rbx,%r13 2515 addq 24(%rsp),%r8 2516 movq %r9,%rdi 2517 xorq %rdx,%r12 2518 rorq $6,%r14 2519 xorq %r10,%rdi 2520 addq %r12,%r8 2521 rorq $14,%r13 2522 andq %rdi,%r15 2523 xorq %r9,%r14 2524 addq %r13,%r8 2525 xorq %r10,%r15 2526 rorq $28,%r14 2527 addq %r8,%rax 2528 addq %r15,%r8 2529 movq %rax,%r13 2530 addq %r8,%r14 2531 rorq $23,%r13 2532 movq %r14,%r8 2533 movq %rbx,%r12 2534 rorq $5,%r14 2535 xorq %rax,%r13 2536 xorq %rcx,%r12 2537 rorq $4,%r13 2538 xorq %r8,%r14 2539 andq %rax,%r12 2540 xorq %rax,%r13 2541 addq 32(%rsp),%rdx 2542 movq %r8,%r15 2543 xorq %rcx,%r12 2544 rorq $6,%r14 2545 xorq %r9,%r15 2546 addq %r12,%rdx 2547 rorq $14,%r13 2548 andq %r15,%rdi 2549 xorq %r8,%r14 2550 addq %r13,%rdx 2551 xorq %r9,%rdi 2552 rorq $28,%r14 2553 addq %rdx,%r11 2554 addq %rdi,%rdx 2555 movq %r11,%r13 2556 addq %rdx,%r14 2557 rorq $23,%r13 2558 movq %r14,%rdx 2559 movq %rax,%r12 2560 rorq $5,%r14 2561 xorq %r11,%r13 2562 xorq %rbx,%r12 2563 rorq $4,%r13 2564 xorq %rdx,%r14 2565 andq %r11,%r12 2566 xorq %r11,%r13 2567 addq 40(%rsp),%rcx 2568 movq %rdx,%rdi 2569 xorq %rbx,%r12 2570 rorq $6,%r14 2571 xorq %r8,%rdi 2572 addq %r12,%rcx 2573 rorq $14,%r13 2574 andq %rdi,%r15 2575 xorq %rdx,%r14 2576 addq %r13,%rcx 2577 xorq %r8,%r15 2578 rorq $28,%r14 2579 addq %rcx,%r10 2580 addq %r15,%rcx 2581 movq %r10,%r13 2582 addq %rcx,%r14 2583 rorq $23,%r13 2584 movq %r14,%rcx 2585 movq %r11,%r12 2586 rorq $5,%r14 2587 xorq %r10,%r13 2588 xorq %rax,%r12 2589 rorq $4,%r13 2590 xorq %rcx,%r14 2591 andq %r10,%r12 2592 xorq %r10,%r13 2593 addq 48(%rsp),%rbx 2594 movq %rcx,%r15 2595 xorq %rax,%r12 2596 rorq $6,%r14 2597 xorq %rdx,%r15 2598 addq %r12,%rbx 2599 rorq $14,%r13 2600 andq %r15,%rdi 2601 xorq %rcx,%r14 2602 addq %r13,%rbx 2603 xorq %rdx,%rdi 2604 rorq $28,%r14 2605 addq %rbx,%r9 2606 addq %rdi,%rbx 2607 movq %r9,%r13 2608 addq %rbx,%r14 2609 rorq $23,%r13 2610 movq %r14,%rbx 2611 movq %r10,%r12 2612 rorq $5,%r14 2613 xorq %r9,%r13 2614 xorq %r11,%r12 2615 rorq $4,%r13 2616 xorq %rbx,%r14 2617 andq %r9,%r12 2618 xorq %r9,%r13 2619 addq 56(%rsp),%rax 2620 movq %rbx,%rdi 2621 xorq %r11,%r12 2622 rorq $6,%r14 2623 xorq %rcx,%rdi 2624 addq %r12,%rax 2625 rorq $14,%r13 2626 andq %rdi,%r15 2627 xorq %rbx,%r14 2628 addq %r13,%rax 2629 xorq %rcx,%r15 2630 rorq $28,%r14 2631 addq %rax,%r8 2632 addq %r15,%rax 2633 movq %r8,%r13 2634 addq %rax,%r14 2635 rorq $23,%r13 2636 movq %r14,%rax 2637 movq %r9,%r12 2638 rorq $5,%r14 2639 xorq %r8,%r13 2640 xorq %r10,%r12 2641 rorq $4,%r13 2642 xorq %rax,%r14 2643 andq %r8,%r12 2644 xorq %r8,%r13 2645 addq 64(%rsp),%r11 2646 movq %rax,%r15 2647 xorq %r10,%r12 2648 rorq $6,%r14 2649 xorq %rbx,%r15 2650 addq %r12,%r11 2651 rorq $14,%r13 2652 andq %r15,%rdi 2653 xorq %rax,%r14 2654 addq %r13,%r11 2655 xorq %rbx,%rdi 2656 rorq $28,%r14 2657 addq %r11,%rdx 2658 addq %rdi,%r11 2659 movq %rdx,%r13 2660 addq %r11,%r14 2661 rorq $23,%r13 2662 movq %r14,%r11 2663 movq %r8,%r12 2664 rorq $5,%r14 2665 xorq %rdx,%r13 2666 xorq %r9,%r12 2667 rorq $4,%r13 2668 xorq %r11,%r14 2669 andq %rdx,%r12 2670 xorq %rdx,%r13 2671 addq 72(%rsp),%r10 2672 movq %r11,%rdi 2673 xorq %r9,%r12 2674 rorq $6,%r14 2675 xorq %rax,%rdi 2676 addq %r12,%r10 2677 rorq $14,%r13 2678 andq %rdi,%r15 2679 xorq %r11,%r14 2680 addq %r13,%r10 2681 xorq %rax,%r15 2682 rorq $28,%r14 2683 addq %r10,%rcx 2684 addq %r15,%r10 2685 movq %rcx,%r13 2686 addq %r10,%r14 2687 rorq $23,%r13 2688 movq %r14,%r10 2689 movq %rdx,%r12 2690 rorq $5,%r14 2691 xorq %rcx,%r13 2692 xorq %r8,%r12 2693 rorq $4,%r13 2694 xorq %r10,%r14 2695 andq %rcx,%r12 2696 xorq %rcx,%r13 2697 addq 80(%rsp),%r9 2698 movq %r10,%r15 2699 xorq %r8,%r12 2700 rorq $6,%r14 2701 xorq %r11,%r15 2702 addq %r12,%r9 2703 rorq $14,%r13 2704 andq %r15,%rdi 2705 xorq %r10,%r14 2706 addq %r13,%r9 2707 xorq %r11,%rdi 2708 rorq $28,%r14 2709 addq %r9,%rbx 2710 addq %rdi,%r9 2711 movq %rbx,%r13 2712 addq %r9,%r14 2713 rorq $23,%r13 2714 movq %r14,%r9 2715 movq %rcx,%r12 2716 rorq $5,%r14 2717 xorq %rbx,%r13 2718 xorq %rdx,%r12 2719 rorq $4,%r13 2720 xorq %r9,%r14 2721 andq %rbx,%r12 2722 xorq %rbx,%r13 2723 addq 88(%rsp),%r8 2724 movq %r9,%rdi 2725 xorq %rdx,%r12 2726 rorq $6,%r14 2727 xorq %r10,%rdi 2728 addq %r12,%r8 2729 rorq $14,%r13 2730 andq %rdi,%r15 2731 xorq %r9,%r14 2732 addq %r13,%r8 2733 xorq %r10,%r15 2734 rorq $28,%r14 2735 addq %r8,%rax 2736 addq %r15,%r8 2737 movq %rax,%r13 2738 addq %r8,%r14 2739 rorq $23,%r13 2740 movq %r14,%r8 2741 movq %rbx,%r12 2742 rorq $5,%r14 2743 xorq %rax,%r13 2744 xorq %rcx,%r12 2745 rorq $4,%r13 2746 xorq %r8,%r14 2747 andq %rax,%r12 2748 xorq %rax,%r13 2749 addq 96(%rsp),%rdx 2750 movq %r8,%r15 2751 xorq %rcx,%r12 2752 rorq $6,%r14 2753 xorq %r9,%r15 2754 addq %r12,%rdx 2755 rorq $14,%r13 2756 andq %r15,%rdi 2757 xorq %r8,%r14 2758 addq %r13,%rdx 2759 xorq %r9,%rdi 2760 rorq $28,%r14 2761 addq %rdx,%r11 2762 addq %rdi,%rdx 2763 movq %r11,%r13 2764 addq %rdx,%r14 2765 rorq $23,%r13 2766 movq %r14,%rdx 2767 movq %rax,%r12 2768 rorq $5,%r14 2769 xorq %r11,%r13 2770 xorq %rbx,%r12 2771 rorq $4,%r13 2772 xorq %rdx,%r14 2773 andq %r11,%r12 2774 xorq %r11,%r13 2775 addq 104(%rsp),%rcx 2776 movq %rdx,%rdi 2777 xorq %rbx,%r12 2778 rorq $6,%r14 2779 xorq %r8,%rdi 2780 addq %r12,%rcx 2781 rorq $14,%r13 2782 andq %rdi,%r15 2783 xorq %rdx,%r14 2784 addq %r13,%rcx 2785 xorq %r8,%r15 2786 rorq $28,%r14 2787 addq %rcx,%r10 2788 addq %r15,%rcx 2789 movq %r10,%r13 2790 addq %rcx,%r14 2791 rorq $23,%r13 2792 movq %r14,%rcx 2793 movq %r11,%r12 2794 rorq $5,%r14 2795 xorq %r10,%r13 2796 xorq %rax,%r12 2797 rorq $4,%r13 2798 xorq %rcx,%r14 2799 andq %r10,%r12 2800 xorq %r10,%r13 2801 addq 112(%rsp),%rbx 2802 movq %rcx,%r15 2803 xorq %rax,%r12 2804 rorq $6,%r14 2805 xorq %rdx,%r15 2806 addq %r12,%rbx 2807 rorq $14,%r13 2808 andq %r15,%rdi 2809 xorq %rcx,%r14 2810 addq %r13,%rbx 2811 xorq %rdx,%rdi 2812 rorq $28,%r14 2813 addq %rbx,%r9 2814 addq %rdi,%rbx 2815 movq %r9,%r13 2816 addq %rbx,%r14 2817 rorq $23,%r13 2818 movq %r14,%rbx 2819 movq %r10,%r12 2820 rorq $5,%r14 2821 xorq %r9,%r13 2822 xorq %r11,%r12 2823 rorq $4,%r13 2824 xorq %rbx,%r14 2825 andq %r9,%r12 2826 xorq %r9,%r13 2827 addq 120(%rsp),%rax 2828 movq %rbx,%rdi 2829 xorq %r11,%r12 2830 rorq $6,%r14 2831 xorq %rcx,%rdi 2832 addq %r12,%rax 2833 rorq $14,%r13 2834 andq %rdi,%r15 2835 xorq %rbx,%r14 2836 addq %r13,%rax 2837 xorq %rcx,%r15 2838 rorq $28,%r14 2839 addq %rax,%r8 2840 addq %r15,%rax 2841 movq %r8,%r13 2842 addq %rax,%r14 2843 movq 128+0(%rsp),%rdi 2844 movq %r14,%rax 2845 2846 addq 0(%rdi),%rax 2847 leaq 128(%rsi),%rsi 2848 addq 8(%rdi),%rbx 2849 addq 16(%rdi),%rcx 2850 addq 24(%rdi),%rdx 2851 addq 32(%rdi),%r8 2852 addq 40(%rdi),%r9 2853 addq 48(%rdi),%r10 2854 addq 56(%rdi),%r11 2855 2856 cmpq 128+16(%rsp),%rsi 2857 2858 movq %rax,0(%rdi) 2859 movq %rbx,8(%rdi) 2860 movq %rcx,16(%rdi) 2861 movq %rdx,24(%rdi) 2862 movq %r8,32(%rdi) 2863 movq %r9,40(%rdi) 2864 movq %r10,48(%rdi) 2865 movq %r11,56(%rdi) 2866 jb L$loop_xop 2867 2868 movq 128+24(%rsp),%rsi 2869 vzeroupper 2870 movq -48(%rsi),%r15 2871 movq -40(%rsi),%r14 2872 movq -32(%rsi),%r13 2873 movq -24(%rsi),%r12 2874 movq -16(%rsi),%rbp 2875 movq -8(%rsi),%rbx 2876 leaq (%rsi),%rsp 2877 L$epilogue_xop: 2878 .byte 0xf3,0xc3 2879 2880 2881 .p2align 6 2882 sha512_block_data_order_avx: 2883 L$avx_shortcut: 2884 movq %rsp,%rax 2885 pushq %rbx 2886 pushq %rbp 2887 pushq %r12 2888 pushq %r13 2889 pushq %r14 2890 pushq %r15 2891 shlq $4,%rdx 2892 subq $160,%rsp 2893 leaq (%rsi,%rdx,8),%rdx 2894 andq $-64,%rsp 2895 movq %rdi,128+0(%rsp) 2896 movq %rsi,128+8(%rsp) 2897 movq %rdx,128+16(%rsp) 2898 movq %rax,128+24(%rsp) 2899 L$prologue_avx: 2900 2901 vzeroupper 2902 movq 0(%rdi),%rax 2903 movq 8(%rdi),%rbx 2904 movq 16(%rdi),%rcx 2905 movq 24(%rdi),%rdx 2906 movq 32(%rdi),%r8 2907 movq 40(%rdi),%r9 2908 movq 48(%rdi),%r10 2909 movq 56(%rdi),%r11 2910 jmp L$loop_avx 2911 .p2align 4 2912 L$loop_avx: 2913 vmovdqa K512+1280(%rip),%xmm11 2914 vmovdqu 0(%rsi),%xmm0 2915 leaq K512+128(%rip),%rbp 2916 vmovdqu 16(%rsi),%xmm1 2917 vmovdqu 32(%rsi),%xmm2 2918 vpshufb %xmm11,%xmm0,%xmm0 2919 vmovdqu 48(%rsi),%xmm3 2920 vpshufb %xmm11,%xmm1,%xmm1 2921 vmovdqu 64(%rsi),%xmm4 2922 vpshufb %xmm11,%xmm2,%xmm2 2923 vmovdqu 80(%rsi),%xmm5 2924 vpshufb %xmm11,%xmm3,%xmm3 2925 vmovdqu 96(%rsi),%xmm6 2926 vpshufb %xmm11,%xmm4,%xmm4 2927 vmovdqu 112(%rsi),%xmm7 2928 vpshufb %xmm11,%xmm5,%xmm5 2929 vpaddq -128(%rbp),%xmm0,%xmm8 2930 vpshufb %xmm11,%xmm6,%xmm6 2931 vpaddq -96(%rbp),%xmm1,%xmm9 2932 vpshufb %xmm11,%xmm7,%xmm7 2933 vpaddq -64(%rbp),%xmm2,%xmm10 2934 vpaddq -32(%rbp),%xmm3,%xmm11 2935 vmovdqa %xmm8,0(%rsp) 2936 vpaddq 0(%rbp),%xmm4,%xmm8 2937 vmovdqa %xmm9,16(%rsp) 2938 vpaddq 32(%rbp),%xmm5,%xmm9 2939 vmovdqa %xmm10,32(%rsp) 2940 vpaddq 64(%rbp),%xmm6,%xmm10 2941 vmovdqa %xmm11,48(%rsp) 2942 vpaddq 96(%rbp),%xmm7,%xmm11 2943 vmovdqa %xmm8,64(%rsp) 2944 movq %rax,%r14 2945 vmovdqa %xmm9,80(%rsp) 2946 movq %rbx,%rdi 2947 vmovdqa %xmm10,96(%rsp) 2948 xorq %rcx,%rdi 2949 vmovdqa %xmm11,112(%rsp) 2950 movq %r8,%r13 2951 jmp L$avx_00_47 2952 2953 .p2align 4 2954 L$avx_00_47: 2955 addq $256,%rbp 2956 vpalignr $8,%xmm0,%xmm1,%xmm8 2957 shrdq $23,%r13,%r13 2958 movq %r14,%rax 2959 vpalignr $8,%xmm4,%xmm5,%xmm11 2960 movq %r9,%r12 2961 shrdq $5,%r14,%r14 2962 vpsrlq $1,%xmm8,%xmm10 2963 xorq %r8,%r13 2964 xorq %r10,%r12 2965 vpaddq %xmm11,%xmm0,%xmm0 2966 shrdq $4,%r13,%r13 2967 xorq %rax,%r14 2968 vpsrlq $7,%xmm8,%xmm11 2969 andq %r8,%r12 2970 xorq %r8,%r13 2971 vpsllq $56,%xmm8,%xmm9 2972 addq 0(%rsp),%r11 2973 movq %rax,%r15 2974 vpxor %xmm10,%xmm11,%xmm8 2975 xorq %r10,%r12 2976 shrdq $6,%r14,%r14 2977 vpsrlq $7,%xmm10,%xmm10 2978 xorq %rbx,%r15 2979 addq %r12,%r11 2980 vpxor %xmm9,%xmm8,%xmm8 2981 shrdq $14,%r13,%r13 2982 andq %r15,%rdi 2983 vpsllq $7,%xmm9,%xmm9 2984 xorq %rax,%r14 2985 addq %r13,%r11 2986 vpxor %xmm10,%xmm8,%xmm8 2987 xorq %rbx,%rdi 2988 shrdq $28,%r14,%r14 2989 vpsrlq $6,%xmm7,%xmm11 2990 addq %r11,%rdx 2991 addq %rdi,%r11 2992 vpxor %xmm9,%xmm8,%xmm8 2993 movq %rdx,%r13 2994 addq %r11,%r14 2995 vpsllq $3,%xmm7,%xmm10 2996 shrdq $23,%r13,%r13 2997 movq %r14,%r11 2998 vpaddq %xmm8,%xmm0,%xmm0 2999 movq %r8,%r12 3000 shrdq $5,%r14,%r14 3001 vpsrlq $19,%xmm7,%xmm9 3002 xorq %rdx,%r13 3003 xorq %r9,%r12 3004 vpxor %xmm10,%xmm11,%xmm11 3005 shrdq $4,%r13,%r13 3006 xorq %r11,%r14 3007 vpsllq $42,%xmm10,%xmm10 3008 andq %rdx,%r12 3009 xorq %rdx,%r13 3010 vpxor %xmm9,%xmm11,%xmm11 3011 addq 8(%rsp),%r10 3012 movq %r11,%rdi 3013 vpsrlq $42,%xmm9,%xmm9 3014 xorq %r9,%r12 3015 shrdq $6,%r14,%r14 3016 vpxor %xmm10,%xmm11,%xmm11 3017 xorq %rax,%rdi 3018 addq %r12,%r10 3019 vpxor %xmm9,%xmm11,%xmm11 3020 shrdq $14,%r13,%r13 3021 andq %rdi,%r15 3022 vpaddq %xmm11,%xmm0,%xmm0 3023 xorq %r11,%r14 3024 addq %r13,%r10 3025 vpaddq -128(%rbp),%xmm0,%xmm10 3026 xorq %rax,%r15 3027 shrdq $28,%r14,%r14 3028 addq %r10,%rcx 3029 addq %r15,%r10 3030 movq %rcx,%r13 3031 addq %r10,%r14 3032 vmovdqa %xmm10,0(%rsp) 3033 vpalignr $8,%xmm1,%xmm2,%xmm8 3034 shrdq $23,%r13,%r13 3035 movq %r14,%r10 3036 vpalignr $8,%xmm5,%xmm6,%xmm11 3037 movq %rdx,%r12 3038 shrdq $5,%r14,%r14 3039 vpsrlq $1,%xmm8,%xmm10 3040 xorq %rcx,%r13 3041 xorq %r8,%r12 3042 vpaddq %xmm11,%xmm1,%xmm1 3043 shrdq $4,%r13,%r13 3044 xorq %r10,%r14 3045 vpsrlq $7,%xmm8,%xmm11 3046 andq %rcx,%r12 3047 xorq %rcx,%r13 3048 vpsllq $56,%xmm8,%xmm9 3049 addq 16(%rsp),%r9 3050 movq %r10,%r15 3051 vpxor %xmm10,%xmm11,%xmm8 3052 xorq %r8,%r12 3053 shrdq $6,%r14,%r14 3054 vpsrlq $7,%xmm10,%xmm10 3055 xorq %r11,%r15 3056 addq %r12,%r9 3057 vpxor %xmm9,%xmm8,%xmm8 3058 shrdq $14,%r13,%r13 3059 andq %r15,%rdi 3060 vpsllq $7,%xmm9,%xmm9 3061 xorq %r10,%r14 3062 addq %r13,%r9 3063 vpxor %xmm10,%xmm8,%xmm8 3064 xorq %r11,%rdi 3065 shrdq $28,%r14,%r14 3066 vpsrlq $6,%xmm0,%xmm11 3067 addq %r9,%rbx 3068 addq %rdi,%r9 3069 vpxor %xmm9,%xmm8,%xmm8 3070 movq %rbx,%r13 3071 addq %r9,%r14 3072 vpsllq $3,%xmm0,%xmm10 3073 shrdq $23,%r13,%r13 3074 movq %r14,%r9 3075 vpaddq %xmm8,%xmm1,%xmm1 3076 movq %rcx,%r12 3077 shrdq $5,%r14,%r14 3078 vpsrlq $19,%xmm0,%xmm9 3079 xorq %rbx,%r13 3080 xorq %rdx,%r12 3081 vpxor %xmm10,%xmm11,%xmm11 3082 shrdq $4,%r13,%r13 3083 xorq %r9,%r14 3084 vpsllq $42,%xmm10,%xmm10 3085 andq %rbx,%r12 3086 xorq %rbx,%r13 3087 vpxor %xmm9,%xmm11,%xmm11 3088 addq 24(%rsp),%r8 3089 movq %r9,%rdi 3090 vpsrlq $42,%xmm9,%xmm9 3091 xorq %rdx,%r12 3092 shrdq $6,%r14,%r14 3093 vpxor %xmm10,%xmm11,%xmm11 3094 xorq %r10,%rdi 3095 addq %r12,%r8 3096 vpxor %xmm9,%xmm11,%xmm11 3097 shrdq $14,%r13,%r13 3098 andq %rdi,%r15 3099 vpaddq %xmm11,%xmm1,%xmm1 3100 xorq %r9,%r14 3101 addq %r13,%r8 3102 vpaddq -96(%rbp),%xmm1,%xmm10 3103 xorq %r10,%r15 3104 shrdq $28,%r14,%r14 3105 addq %r8,%rax 3106 addq %r15,%r8 3107 movq %rax,%r13 3108 addq %r8,%r14 3109 vmovdqa %xmm10,16(%rsp) 3110 vpalignr $8,%xmm2,%xmm3,%xmm8 3111 shrdq $23,%r13,%r13 3112 movq %r14,%r8 3113 vpalignr $8,%xmm6,%xmm7,%xmm11 3114 movq %rbx,%r12 3115 shrdq $5,%r14,%r14 3116 vpsrlq $1,%xmm8,%xmm10 3117 xorq %rax,%r13 3118 xorq %rcx,%r12 3119 vpaddq %xmm11,%xmm2,%xmm2 3120 shrdq $4,%r13,%r13 3121 xorq %r8,%r14 3122 vpsrlq $7,%xmm8,%xmm11 3123 andq %rax,%r12 3124 xorq %rax,%r13 3125 vpsllq $56,%xmm8,%xmm9 3126 addq 32(%rsp),%rdx 3127 movq %r8,%r15 3128 vpxor %xmm10,%xmm11,%xmm8 3129 xorq %rcx,%r12 3130 shrdq $6,%r14,%r14 3131 vpsrlq $7,%xmm10,%xmm10 3132 xorq %r9,%r15 3133 addq %r12,%rdx 3134 vpxor %xmm9,%xmm8,%xmm8 3135 shrdq $14,%r13,%r13 3136 andq %r15,%rdi 3137 vpsllq $7,%xmm9,%xmm9 3138 xorq %r8,%r14 3139 addq %r13,%rdx 3140 vpxor %xmm10,%xmm8,%xmm8 3141 xorq %r9,%rdi 3142 shrdq $28,%r14,%r14 3143 vpsrlq $6,%xmm1,%xmm11 3144 addq %rdx,%r11 3145 addq %rdi,%rdx 3146 vpxor %xmm9,%xmm8,%xmm8 3147 movq %r11,%r13 3148 addq %rdx,%r14 3149 vpsllq $3,%xmm1,%xmm10 3150 shrdq $23,%r13,%r13 3151 movq %r14,%rdx 3152 vpaddq %xmm8,%xmm2,%xmm2 3153 movq %rax,%r12 3154 shrdq $5,%r14,%r14 3155 vpsrlq $19,%xmm1,%xmm9 3156 xorq %r11,%r13 3157 xorq %rbx,%r12 3158 vpxor %xmm10,%xmm11,%xmm11 3159 shrdq $4,%r13,%r13 3160 xorq %rdx,%r14 3161 vpsllq $42,%xmm10,%xmm10 3162 andq %r11,%r12 3163 xorq %r11,%r13 3164 vpxor %xmm9,%xmm11,%xmm11 3165 addq 40(%rsp),%rcx 3166 movq %rdx,%rdi 3167 vpsrlq $42,%xmm9,%xmm9 3168 xorq %rbx,%r12 3169 shrdq $6,%r14,%r14 3170 vpxor %xmm10,%xmm11,%xmm11 3171 xorq %r8,%rdi 3172 addq %r12,%rcx 3173 vpxor %xmm9,%xmm11,%xmm11 3174 shrdq $14,%r13,%r13 3175 andq %rdi,%r15 3176 vpaddq %xmm11,%xmm2,%xmm2 3177 xorq %rdx,%r14 3178 addq %r13,%rcx 3179 vpaddq -64(%rbp),%xmm2,%xmm10 3180 xorq %r8,%r15 3181 shrdq $28,%r14,%r14 3182 addq %rcx,%r10 3183 addq %r15,%rcx 3184 movq %r10,%r13 3185 addq %rcx,%r14 3186 vmovdqa %xmm10,32(%rsp) 3187 vpalignr $8,%xmm3,%xmm4,%xmm8 3188 shrdq $23,%r13,%r13 3189 movq %r14,%rcx 3190 vpalignr $8,%xmm7,%xmm0,%xmm11 3191 movq %r11,%r12 3192 shrdq $5,%r14,%r14 3193 vpsrlq $1,%xmm8,%xmm10 3194 xorq %r10,%r13 3195 xorq %rax,%r12 3196 vpaddq %xmm11,%xmm3,%xmm3 3197 shrdq $4,%r13,%r13 3198 xorq %rcx,%r14 3199 vpsrlq $7,%xmm8,%xmm11 3200 andq %r10,%r12 3201 xorq %r10,%r13 3202 vpsllq $56,%xmm8,%xmm9 3203 addq 48(%rsp),%rbx 3204 movq %rcx,%r15 3205 vpxor %xmm10,%xmm11,%xmm8 3206 xorq %rax,%r12 3207 shrdq $6,%r14,%r14 3208 vpsrlq $7,%xmm10,%xmm10 3209 xorq %rdx,%r15 3210 addq %r12,%rbx 3211 vpxor %xmm9,%xmm8,%xmm8 3212 shrdq $14,%r13,%r13 3213 andq %r15,%rdi 3214 vpsllq $7,%xmm9,%xmm9 3215 xorq %rcx,%r14 3216 addq %r13,%rbx 3217 vpxor %xmm10,%xmm8,%xmm8 3218 xorq %rdx,%rdi 3219 shrdq $28,%r14,%r14 3220 vpsrlq $6,%xmm2,%xmm11 3221 addq %rbx,%r9 3222 addq %rdi,%rbx 3223 vpxor %xmm9,%xmm8,%xmm8 3224 movq %r9,%r13 3225 addq %rbx,%r14 3226 vpsllq $3,%xmm2,%xmm10 3227 shrdq $23,%r13,%r13 3228 movq %r14,%rbx 3229 vpaddq %xmm8,%xmm3,%xmm3 3230 movq %r10,%r12 3231 shrdq $5,%r14,%r14 3232 vpsrlq $19,%xmm2,%xmm9 3233 xorq %r9,%r13 3234 xorq %r11,%r12 3235 vpxor %xmm10,%xmm11,%xmm11 3236 shrdq $4,%r13,%r13 3237 xorq %rbx,%r14 3238 vpsllq $42,%xmm10,%xmm10 3239 andq %r9,%r12 3240 xorq %r9,%r13 3241 vpxor %xmm9,%xmm11,%xmm11 3242 addq 56(%rsp),%rax 3243 movq %rbx,%rdi 3244 vpsrlq $42,%xmm9,%xmm9 3245 xorq %r11,%r12 3246 shrdq $6,%r14,%r14 3247 vpxor %xmm10,%xmm11,%xmm11 3248 xorq %rcx,%rdi 3249 addq %r12,%rax 3250 vpxor %xmm9,%xmm11,%xmm11 3251 shrdq $14,%r13,%r13 3252 andq %rdi,%r15 3253 vpaddq %xmm11,%xmm3,%xmm3 3254 xorq %rbx,%r14 3255 addq %r13,%rax 3256 vpaddq -32(%rbp),%xmm3,%xmm10 3257 xorq %rcx,%r15 3258 shrdq $28,%r14,%r14 3259 addq %rax,%r8 3260 addq %r15,%rax 3261 movq %r8,%r13 3262 addq %rax,%r14 3263 vmovdqa %xmm10,48(%rsp) 3264 vpalignr $8,%xmm4,%xmm5,%xmm8 3265 shrdq $23,%r13,%r13 3266 movq %r14,%rax 3267 vpalignr $8,%xmm0,%xmm1,%xmm11 3268 movq %r9,%r12 3269 shrdq $5,%r14,%r14 3270 vpsrlq $1,%xmm8,%xmm10 3271 xorq %r8,%r13 3272 xorq %r10,%r12 3273 vpaddq %xmm11,%xmm4,%xmm4 3274 shrdq $4,%r13,%r13 3275 xorq %rax,%r14 3276 vpsrlq $7,%xmm8,%xmm11 3277 andq %r8,%r12 3278 xorq %r8,%r13 3279 vpsllq $56,%xmm8,%xmm9 3280 addq 64(%rsp),%r11 3281 movq %rax,%r15 3282 vpxor %xmm10,%xmm11,%xmm8 3283 xorq %r10,%r12 3284 shrdq $6,%r14,%r14 3285 vpsrlq $7,%xmm10,%xmm10 3286 xorq %rbx,%r15 3287 addq %r12,%r11 3288 vpxor %xmm9,%xmm8,%xmm8 3289 shrdq $14,%r13,%r13 3290 andq %r15,%rdi 3291 vpsllq $7,%xmm9,%xmm9 3292 xorq %rax,%r14 3293 addq %r13,%r11 3294 vpxor %xmm10,%xmm8,%xmm8 3295 xorq %rbx,%rdi 3296 shrdq $28,%r14,%r14 3297 vpsrlq $6,%xmm3,%xmm11 3298 addq %r11,%rdx 3299 addq %rdi,%r11 3300 vpxor %xmm9,%xmm8,%xmm8 3301 movq %rdx,%r13 3302 addq %r11,%r14 3303 vpsllq $3,%xmm3,%xmm10 3304 shrdq $23,%r13,%r13 3305 movq %r14,%r11 3306 vpaddq %xmm8,%xmm4,%xmm4 3307 movq %r8,%r12 3308 shrdq $5,%r14,%r14 3309 vpsrlq $19,%xmm3,%xmm9 3310 xorq %rdx,%r13 3311 xorq %r9,%r12 3312 vpxor %xmm10,%xmm11,%xmm11 3313 shrdq $4,%r13,%r13 3314 xorq %r11,%r14 3315 vpsllq $42,%xmm10,%xmm10 3316 andq %rdx,%r12 3317 xorq %rdx,%r13 3318 vpxor %xmm9,%xmm11,%xmm11 3319 addq 72(%rsp),%r10 3320 movq %r11,%rdi 3321 vpsrlq $42,%xmm9,%xmm9 3322 xorq %r9,%r12 3323 shrdq $6,%r14,%r14 3324 vpxor %xmm10,%xmm11,%xmm11 3325 xorq %rax,%rdi 3326 addq %r12,%r10 3327 vpxor %xmm9,%xmm11,%xmm11 3328 shrdq $14,%r13,%r13 3329 andq %rdi,%r15 3330 vpaddq %xmm11,%xmm4,%xmm4 3331 xorq %r11,%r14 3332 addq %r13,%r10 3333 vpaddq 0(%rbp),%xmm4,%xmm10 3334 xorq %rax,%r15 3335 shrdq $28,%r14,%r14 3336 addq %r10,%rcx 3337 addq %r15,%r10 3338 movq %rcx,%r13 3339 addq %r10,%r14 3340 vmovdqa %xmm10,64(%rsp) 3341 vpalignr $8,%xmm5,%xmm6,%xmm8 3342 shrdq $23,%r13,%r13 3343 movq %r14,%r10 3344 vpalignr $8,%xmm1,%xmm2,%xmm11 3345 movq %rdx,%r12 3346 shrdq $5,%r14,%r14 3347 vpsrlq $1,%xmm8,%xmm10 3348 xorq %rcx,%r13 3349 xorq %r8,%r12 3350 vpaddq %xmm11,%xmm5,%xmm5 3351 shrdq $4,%r13,%r13 3352 xorq %r10,%r14 3353 vpsrlq $7,%xmm8,%xmm11 3354 andq %rcx,%r12 3355 xorq %rcx,%r13 3356 vpsllq $56,%xmm8,%xmm9 3357 addq 80(%rsp),%r9 3358 movq %r10,%r15 3359 vpxor %xmm10,%xmm11,%xmm8 3360 xorq %r8,%r12 3361 shrdq $6,%r14,%r14 3362 vpsrlq $7,%xmm10,%xmm10 3363 xorq %r11,%r15 3364 addq %r12,%r9 3365 vpxor %xmm9,%xmm8,%xmm8 3366 shrdq $14,%r13,%r13 3367 andq %r15,%rdi 3368 vpsllq $7,%xmm9,%xmm9 3369 xorq %r10,%r14 3370 addq %r13,%r9 3371 vpxor %xmm10,%xmm8,%xmm8 3372 xorq %r11,%rdi 3373 shrdq $28,%r14,%r14 3374 vpsrlq $6,%xmm4,%xmm11 3375 addq %r9,%rbx 3376 addq %rdi,%r9 3377 vpxor %xmm9,%xmm8,%xmm8 3378 movq %rbx,%r13 3379 addq %r9,%r14 3380 vpsllq $3,%xmm4,%xmm10 3381 shrdq $23,%r13,%r13 3382 movq %r14,%r9 3383 vpaddq %xmm8,%xmm5,%xmm5 3384 movq %rcx,%r12 3385 shrdq $5,%r14,%r14 3386 vpsrlq $19,%xmm4,%xmm9 3387 xorq %rbx,%r13 3388 xorq %rdx,%r12 3389 vpxor %xmm10,%xmm11,%xmm11 3390 shrdq $4,%r13,%r13 3391 xorq %r9,%r14 3392 vpsllq $42,%xmm10,%xmm10 3393 andq %rbx,%r12 3394 xorq %rbx,%r13 3395 vpxor %xmm9,%xmm11,%xmm11 3396 addq 88(%rsp),%r8 3397 movq %r9,%rdi 3398 vpsrlq $42,%xmm9,%xmm9 3399 xorq %rdx,%r12 3400 shrdq $6,%r14,%r14 3401 vpxor %xmm10,%xmm11,%xmm11 3402 xorq %r10,%rdi 3403 addq %r12,%r8 3404 vpxor %xmm9,%xmm11,%xmm11 3405 shrdq $14,%r13,%r13 3406 andq %rdi,%r15 3407 vpaddq %xmm11,%xmm5,%xmm5 3408 xorq %r9,%r14 3409 addq %r13,%r8 3410 vpaddq 32(%rbp),%xmm5,%xmm10 3411 xorq %r10,%r15 3412 shrdq $28,%r14,%r14 3413 addq %r8,%rax 3414 addq %r15,%r8 3415 movq %rax,%r13 3416 addq %r8,%r14 3417 vmovdqa %xmm10,80(%rsp) 3418 vpalignr $8,%xmm6,%xmm7,%xmm8 3419 shrdq $23,%r13,%r13 3420 movq %r14,%r8 3421 vpalignr $8,%xmm2,%xmm3,%xmm11 3422 movq %rbx,%r12 3423 shrdq $5,%r14,%r14 3424 vpsrlq $1,%xmm8,%xmm10 3425 xorq %rax,%r13 3426 xorq %rcx,%r12 3427 vpaddq %xmm11,%xmm6,%xmm6 3428 shrdq $4,%r13,%r13 3429 xorq %r8,%r14 3430 vpsrlq $7,%xmm8,%xmm11 3431 andq %rax,%r12 3432 xorq %rax,%r13 3433 vpsllq $56,%xmm8,%xmm9 3434 addq 96(%rsp),%rdx 3435 movq %r8,%r15 3436 vpxor %xmm10,%xmm11,%xmm8 3437 xorq %rcx,%r12 3438 shrdq $6,%r14,%r14 3439 vpsrlq $7,%xmm10,%xmm10 3440 xorq %r9,%r15 3441 addq %r12,%rdx 3442 vpxor %xmm9,%xmm8,%xmm8 3443 shrdq $14,%r13,%r13 3444 andq %r15,%rdi 3445 vpsllq $7,%xmm9,%xmm9 3446 xorq %r8,%r14 3447 addq %r13,%rdx 3448 vpxor %xmm10,%xmm8,%xmm8 3449 xorq %r9,%rdi 3450 shrdq $28,%r14,%r14 3451 vpsrlq $6,%xmm5,%xmm11 3452 addq %rdx,%r11 3453 addq %rdi,%rdx 3454 vpxor %xmm9,%xmm8,%xmm8 3455 movq %r11,%r13 3456 addq %rdx,%r14 3457 vpsllq $3,%xmm5,%xmm10 3458 shrdq $23,%r13,%r13 3459 movq %r14,%rdx 3460 vpaddq %xmm8,%xmm6,%xmm6 3461 movq %rax,%r12 3462 shrdq $5,%r14,%r14 3463 vpsrlq $19,%xmm5,%xmm9 3464 xorq %r11,%r13 3465 xorq %rbx,%r12 3466 vpxor %xmm10,%xmm11,%xmm11 3467 shrdq $4,%r13,%r13 3468 xorq %rdx,%r14 3469 vpsllq $42,%xmm10,%xmm10 3470 andq %r11,%r12 3471 xorq %r11,%r13 3472 vpxor %xmm9,%xmm11,%xmm11 3473 addq 104(%rsp),%rcx 3474 movq %rdx,%rdi 3475 vpsrlq $42,%xmm9,%xmm9 3476 xorq %rbx,%r12 3477 shrdq $6,%r14,%r14 3478 vpxor %xmm10,%xmm11,%xmm11 3479 xorq %r8,%rdi 3480 addq %r12,%rcx 3481 vpxor %xmm9,%xmm11,%xmm11 3482 shrdq $14,%r13,%r13 3483 andq %rdi,%r15 3484 vpaddq %xmm11,%xmm6,%xmm6 3485 xorq %rdx,%r14 3486 addq %r13,%rcx 3487 vpaddq 64(%rbp),%xmm6,%xmm10 3488 xorq %r8,%r15 3489 shrdq $28,%r14,%r14 3490 addq %rcx,%r10 3491 addq %r15,%rcx 3492 movq %r10,%r13 3493 addq %rcx,%r14 3494 vmovdqa %xmm10,96(%rsp) 3495 vpalignr $8,%xmm7,%xmm0,%xmm8 3496 shrdq $23,%r13,%r13 3497 movq %r14,%rcx 3498 vpalignr $8,%xmm3,%xmm4,%xmm11 3499 movq %r11,%r12 3500 shrdq $5,%r14,%r14 3501 vpsrlq $1,%xmm8,%xmm10 3502 xorq %r10,%r13 3503 xorq %rax,%r12 3504 vpaddq %xmm11,%xmm7,%xmm7 3505 shrdq $4,%r13,%r13 3506 xorq %rcx,%r14 3507 vpsrlq $7,%xmm8,%xmm11 3508 andq %r10,%r12 3509 xorq %r10,%r13 3510 vpsllq $56,%xmm8,%xmm9 3511 addq 112(%rsp),%rbx 3512 movq %rcx,%r15 3513 vpxor %xmm10,%xmm11,%xmm8 3514 xorq %rax,%r12 3515 shrdq $6,%r14,%r14 3516 vpsrlq $7,%xmm10,%xmm10 3517 xorq %rdx,%r15 3518 addq %r12,%rbx 3519 vpxor %xmm9,%xmm8,%xmm8 3520 shrdq $14,%r13,%r13 3521 andq %r15,%rdi 3522 vpsllq $7,%xmm9,%xmm9 3523 xorq %rcx,%r14 3524 addq %r13,%rbx 3525 vpxor %xmm10,%xmm8,%xmm8 3526 xorq %rdx,%rdi 3527 shrdq $28,%r14,%r14 3528 vpsrlq $6,%xmm6,%xmm11 3529 addq %rbx,%r9 3530 addq %rdi,%rbx 3531 vpxor %xmm9,%xmm8,%xmm8 3532 movq %r9,%r13 3533 addq %rbx,%r14 3534 vpsllq $3,%xmm6,%xmm10 3535 shrdq $23,%r13,%r13 3536 movq %r14,%rbx 3537 vpaddq %xmm8,%xmm7,%xmm7 3538 movq %r10,%r12 3539 shrdq $5,%r14,%r14 3540 vpsrlq $19,%xmm6,%xmm9 3541 xorq %r9,%r13 3542 xorq %r11,%r12 3543 vpxor %xmm10,%xmm11,%xmm11 3544 shrdq $4,%r13,%r13 3545 xorq %rbx,%r14 3546 vpsllq $42,%xmm10,%xmm10 3547 andq %r9,%r12 3548 xorq %r9,%r13 3549 vpxor %xmm9,%xmm11,%xmm11 3550 addq 120(%rsp),%rax 3551 movq %rbx,%rdi 3552 vpsrlq $42,%xmm9,%xmm9 3553 xorq %r11,%r12 3554 shrdq $6,%r14,%r14 3555 vpxor %xmm10,%xmm11,%xmm11 3556 xorq %rcx,%rdi 3557 addq %r12,%rax 3558 vpxor %xmm9,%xmm11,%xmm11 3559 shrdq $14,%r13,%r13 3560 andq %rdi,%r15 3561 vpaddq %xmm11,%xmm7,%xmm7 3562 xorq %rbx,%r14 3563 addq %r13,%rax 3564 vpaddq 96(%rbp),%xmm7,%xmm10 3565 xorq %rcx,%r15 3566 shrdq $28,%r14,%r14 3567 addq %rax,%r8 3568 addq %r15,%rax 3569 movq %r8,%r13 3570 addq %rax,%r14 3571 vmovdqa %xmm10,112(%rsp) 3572 cmpb $0,135(%rbp) 3573 jne L$avx_00_47 3574 shrdq $23,%r13,%r13 3575 movq %r14,%rax 3576 movq %r9,%r12 3577 shrdq $5,%r14,%r14 3578 xorq %r8,%r13 3579 xorq %r10,%r12 3580 shrdq $4,%r13,%r13 3581 xorq %rax,%r14 3582 andq %r8,%r12 3583 xorq %r8,%r13 3584 addq 0(%rsp),%r11 3585 movq %rax,%r15 3586 xorq %r10,%r12 3587 shrdq $6,%r14,%r14 3588 xorq %rbx,%r15 3589 addq %r12,%r11 3590 shrdq $14,%r13,%r13 3591 andq %r15,%rdi 3592 xorq %rax,%r14 3593 addq %r13,%r11 3594 xorq %rbx,%rdi 3595 shrdq $28,%r14,%r14 3596 addq %r11,%rdx 3597 addq %rdi,%r11 3598 movq %rdx,%r13 3599 addq %r11,%r14 3600 shrdq $23,%r13,%r13 3601 movq %r14,%r11 3602 movq %r8,%r12 3603 shrdq $5,%r14,%r14 3604 xorq %rdx,%r13 3605 xorq %r9,%r12 3606 shrdq $4,%r13,%r13 3607 xorq %r11,%r14 3608 andq %rdx,%r12 3609 xorq %rdx,%r13 3610 addq 8(%rsp),%r10 3611 movq %r11,%rdi 3612 xorq %r9,%r12 3613 shrdq $6,%r14,%r14 3614 xorq %rax,%rdi 3615 addq %r12,%r10 3616 shrdq $14,%r13,%r13 3617 andq %rdi,%r15 3618 xorq %r11,%r14 3619 addq %r13,%r10 3620 xorq %rax,%r15 3621 shrdq $28,%r14,%r14 3622 addq %r10,%rcx 3623 addq %r15,%r10 3624 movq %rcx,%r13 3625 addq %r10,%r14 3626 shrdq $23,%r13,%r13 3627 movq %r14,%r10 3628 movq %rdx,%r12 3629 shrdq $5,%r14,%r14 3630 xorq %rcx,%r13 3631 xorq %r8,%r12 3632 shrdq $4,%r13,%r13 3633 xorq %r10,%r14 3634 andq %rcx,%r12 3635 xorq %rcx,%r13 3636 addq 16(%rsp),%r9 3637 movq %r10,%r15 3638 xorq %r8,%r12 3639 shrdq $6,%r14,%r14 3640 xorq %r11,%r15 3641 addq %r12,%r9 3642 shrdq $14,%r13,%r13 3643 andq %r15,%rdi 3644 xorq %r10,%r14 3645 addq %r13,%r9 3646 xorq %r11,%rdi 3647 shrdq $28,%r14,%r14 3648 addq %r9,%rbx 3649 addq %rdi,%r9 3650 movq %rbx,%r13 3651 addq %r9,%r14 3652 shrdq $23,%r13,%r13 3653 movq %r14,%r9 3654 movq %rcx,%r12 3655 shrdq $5,%r14,%r14 3656 xorq %rbx,%r13 3657 xorq %rdx,%r12 3658 shrdq $4,%r13,%r13 3659 xorq %r9,%r14 3660 andq %rbx,%r12 3661 xorq %rbx,%r13 3662 addq 24(%rsp),%r8 3663 movq %r9,%rdi 3664 xorq %rdx,%r12 3665 shrdq $6,%r14,%r14 3666 xorq %r10,%rdi 3667 addq %r12,%r8 3668 shrdq $14,%r13,%r13 3669 andq %rdi,%r15 3670 xorq %r9,%r14 3671 addq %r13,%r8 3672 xorq %r10,%r15 3673 shrdq $28,%r14,%r14 3674 addq %r8,%rax 3675 addq %r15,%r8 3676 movq %rax,%r13 3677 addq %r8,%r14 3678 shrdq $23,%r13,%r13 3679 movq %r14,%r8 3680 movq %rbx,%r12 3681 shrdq $5,%r14,%r14 3682 xorq %rax,%r13 3683 xorq %rcx,%r12 3684 shrdq $4,%r13,%r13 3685 xorq %r8,%r14 3686 andq %rax,%r12 3687 xorq %rax,%r13 3688 addq 32(%rsp),%rdx 3689 movq %r8,%r15 3690 xorq %rcx,%r12 3691 shrdq $6,%r14,%r14 3692 xorq %r9,%r15 3693 addq %r12,%rdx 3694 shrdq $14,%r13,%r13 3695 andq %r15,%rdi 3696 xorq %r8,%r14 3697 addq %r13,%rdx 3698 xorq %r9,%rdi 3699 shrdq $28,%r14,%r14 3700 addq %rdx,%r11 3701 addq %rdi,%rdx 3702 movq %r11,%r13 3703 addq %rdx,%r14 3704 shrdq $23,%r13,%r13 3705 movq %r14,%rdx 3706 movq %rax,%r12 3707 shrdq $5,%r14,%r14 3708 xorq %r11,%r13 3709 xorq %rbx,%r12 3710 shrdq $4,%r13,%r13 3711 xorq %rdx,%r14 3712 andq %r11,%r12 3713 xorq %r11,%r13 3714 addq 40(%rsp),%rcx 3715 movq %rdx,%rdi 3716 xorq %rbx,%r12 3717 shrdq $6,%r14,%r14 3718 xorq %r8,%rdi 3719 addq %r12,%rcx 3720 shrdq $14,%r13,%r13 3721 andq %rdi,%r15 3722 xorq %rdx,%r14 3723 addq %r13,%rcx 3724 xorq %r8,%r15 3725 shrdq $28,%r14,%r14 3726 addq %rcx,%r10 3727 addq %r15,%rcx 3728 movq %r10,%r13 3729 addq %rcx,%r14 3730 shrdq $23,%r13,%r13 3731 movq %r14,%rcx 3732 movq %r11,%r12 3733 shrdq $5,%r14,%r14 3734 xorq %r10,%r13 3735 xorq %rax,%r12 3736 shrdq $4,%r13,%r13 3737 xorq %rcx,%r14 3738 andq %r10,%r12 3739 xorq %r10,%r13 3740 addq 48(%rsp),%rbx 3741 movq %rcx,%r15 3742 xorq %rax,%r12 3743 shrdq $6,%r14,%r14 3744 xorq %rdx,%r15 3745 addq %r12,%rbx 3746 shrdq $14,%r13,%r13 3747 andq %r15,%rdi 3748 xorq %rcx,%r14 3749 addq %r13,%rbx 3750 xorq %rdx,%rdi 3751 shrdq $28,%r14,%r14 3752 addq %rbx,%r9 3753 addq %rdi,%rbx 3754 movq %r9,%r13 3755 addq %rbx,%r14 3756 shrdq $23,%r13,%r13 3757 movq %r14,%rbx 3758 movq %r10,%r12 3759 shrdq $5,%r14,%r14 3760 xorq %r9,%r13 3761 xorq %r11,%r12 3762 shrdq $4,%r13,%r13 3763 xorq %rbx,%r14 3764 andq %r9,%r12 3765 xorq %r9,%r13 3766 addq 56(%rsp),%rax 3767 movq %rbx,%rdi 3768 xorq %r11,%r12 3769 shrdq $6,%r14,%r14 3770 xorq %rcx,%rdi 3771 addq %r12,%rax 3772 shrdq $14,%r13,%r13 3773 andq %rdi,%r15 3774 xorq %rbx,%r14 3775 addq %r13,%rax 3776 xorq %rcx,%r15 3777 shrdq $28,%r14,%r14 3778 addq %rax,%r8 3779 addq %r15,%rax 3780 movq %r8,%r13 3781 addq %rax,%r14 3782 shrdq $23,%r13,%r13 3783 movq %r14,%rax 3784 movq %r9,%r12 3785 shrdq $5,%r14,%r14 3786 xorq %r8,%r13 3787 xorq %r10,%r12 3788 shrdq $4,%r13,%r13 3789 xorq %rax,%r14 3790 andq %r8,%r12 3791 xorq %r8,%r13 3792 addq 64(%rsp),%r11 3793 movq %rax,%r15 3794 xorq %r10,%r12 3795 shrdq $6,%r14,%r14 3796 xorq %rbx,%r15 3797 addq %r12,%r11 3798 shrdq $14,%r13,%r13 3799 andq %r15,%rdi 3800 xorq %rax,%r14 3801 addq %r13,%r11 3802 xorq %rbx,%rdi 3803 shrdq $28,%r14,%r14 3804 addq %r11,%rdx 3805 addq %rdi,%r11 3806 movq %rdx,%r13 3807 addq %r11,%r14 3808 shrdq $23,%r13,%r13 3809 movq %r14,%r11 3810 movq %r8,%r12 3811 shrdq $5,%r14,%r14 3812 xorq %rdx,%r13 3813 xorq %r9,%r12 3814 shrdq $4,%r13,%r13 3815 xorq %r11,%r14 3816 andq %rdx,%r12 3817 xorq %rdx,%r13 3818 addq 72(%rsp),%r10 3819 movq %r11,%rdi 3820 xorq %r9,%r12 3821 shrdq $6,%r14,%r14 3822 xorq %rax,%rdi 3823 addq %r12,%r10 3824 shrdq $14,%r13,%r13 3825 andq %rdi,%r15 3826 xorq %r11,%r14 3827 addq %r13,%r10 3828 xorq %rax,%r15 3829 shrdq $28,%r14,%r14 3830 addq %r10,%rcx 3831 addq %r15,%r10 3832 movq %rcx,%r13 3833 addq %r10,%r14 3834 shrdq $23,%r13,%r13 3835 movq %r14,%r10 3836 movq %rdx,%r12 3837 shrdq $5,%r14,%r14 3838 xorq %rcx,%r13 3839 xorq %r8,%r12 3840 shrdq $4,%r13,%r13 3841 xorq %r10,%r14 3842 andq %rcx,%r12 3843 xorq %rcx,%r13 3844 addq 80(%rsp),%r9 3845 movq %r10,%r15 3846 xorq %r8,%r12 3847 shrdq $6,%r14,%r14 3848 xorq %r11,%r15 3849 addq %r12,%r9 3850 shrdq $14,%r13,%r13 3851 andq %r15,%rdi 3852 xorq %r10,%r14 3853 addq %r13,%r9 3854 xorq %r11,%rdi 3855 shrdq $28,%r14,%r14 3856 addq %r9,%rbx 3857 addq %rdi,%r9 3858 movq %rbx,%r13 3859 addq %r9,%r14 3860 shrdq $23,%r13,%r13 3861 movq %r14,%r9 3862 movq %rcx,%r12 3863 shrdq $5,%r14,%r14 3864 xorq %rbx,%r13 3865 xorq %rdx,%r12 3866 shrdq $4,%r13,%r13 3867 xorq %r9,%r14 3868 andq %rbx,%r12 3869 xorq %rbx,%r13 3870 addq 88(%rsp),%r8 3871 movq %r9,%rdi 3872 xorq %rdx,%r12 3873 shrdq $6,%r14,%r14 3874 xorq %r10,%rdi 3875 addq %r12,%r8 3876 shrdq $14,%r13,%r13 3877 andq %rdi,%r15 3878 xorq %r9,%r14 3879 addq %r13,%r8 3880 xorq %r10,%r15 3881 shrdq $28,%r14,%r14 3882 addq %r8,%rax 3883 addq %r15,%r8 3884 movq %rax,%r13 3885 addq %r8,%r14 3886 shrdq $23,%r13,%r13 3887 movq %r14,%r8 3888 movq %rbx,%r12 3889 shrdq $5,%r14,%r14 3890 xorq %rax,%r13 3891 xorq %rcx,%r12 3892 shrdq $4,%r13,%r13 3893 xorq %r8,%r14 3894 andq %rax,%r12 3895 xorq %rax,%r13 3896 addq 96(%rsp),%rdx 3897 movq %r8,%r15 3898 xorq %rcx,%r12 3899 shrdq $6,%r14,%r14 3900 xorq %r9,%r15 3901 addq %r12,%rdx 3902 shrdq $14,%r13,%r13 3903 andq %r15,%rdi 3904 xorq %r8,%r14 3905 addq %r13,%rdx 3906 xorq %r9,%rdi 3907 shrdq $28,%r14,%r14 3908 addq %rdx,%r11 3909 addq %rdi,%rdx 3910 movq %r11,%r13 3911 addq %rdx,%r14 3912 shrdq $23,%r13,%r13 3913 movq %r14,%rdx 3914 movq %rax,%r12 3915 shrdq $5,%r14,%r14 3916 xorq %r11,%r13 3917 xorq %rbx,%r12 3918 shrdq $4,%r13,%r13 3919 xorq %rdx,%r14 3920 andq %r11,%r12 3921 xorq %r11,%r13 3922 addq 104(%rsp),%rcx 3923 movq %rdx,%rdi 3924 xorq %rbx,%r12 3925 shrdq $6,%r14,%r14 3926 xorq %r8,%rdi 3927 addq %r12,%rcx 3928 shrdq $14,%r13,%r13 3929 andq %rdi,%r15 3930 xorq %rdx,%r14 3931 addq %r13,%rcx 3932 xorq %r8,%r15 3933 shrdq $28,%r14,%r14 3934 addq %rcx,%r10 3935 addq %r15,%rcx 3936 movq %r10,%r13 3937 addq %rcx,%r14 3938 shrdq $23,%r13,%r13 3939 movq %r14,%rcx 3940 movq %r11,%r12 3941 shrdq $5,%r14,%r14 3942 xorq %r10,%r13 3943 xorq %rax,%r12 3944 shrdq $4,%r13,%r13 3945 xorq %rcx,%r14 3946 andq %r10,%r12 3947 xorq %r10,%r13 3948 addq 112(%rsp),%rbx 3949 movq %rcx,%r15 3950 xorq %rax,%r12 3951 shrdq $6,%r14,%r14 3952 xorq %rdx,%r15 3953 addq %r12,%rbx 3954 shrdq $14,%r13,%r13 3955 andq %r15,%rdi 3956 xorq %rcx,%r14 3957 addq %r13,%rbx 3958 xorq %rdx,%rdi 3959 shrdq $28,%r14,%r14 3960 addq %rbx,%r9 3961 addq %rdi,%rbx 3962 movq %r9,%r13 3963 addq %rbx,%r14 3964 shrdq $23,%r13,%r13 3965 movq %r14,%rbx 3966 movq %r10,%r12 3967 shrdq $5,%r14,%r14 3968 xorq %r9,%r13 3969 xorq %r11,%r12 3970 shrdq $4,%r13,%r13 3971 xorq %rbx,%r14 3972 andq %r9,%r12 3973 xorq %r9,%r13 3974 addq 120(%rsp),%rax 3975 movq %rbx,%rdi 3976 xorq %r11,%r12 3977 shrdq $6,%r14,%r14 3978 xorq %rcx,%rdi 3979 addq %r12,%rax 3980 shrdq $14,%r13,%r13 3981 andq %rdi,%r15 3982 xorq %rbx,%r14 3983 addq %r13,%rax 3984 xorq %rcx,%r15 3985 shrdq $28,%r14,%r14 3986 addq %rax,%r8 3987 addq %r15,%rax 3988 movq %r8,%r13 3989 addq %rax,%r14 3990 movq 128+0(%rsp),%rdi 3991 movq %r14,%rax 3992 3993 addq 0(%rdi),%rax 3994 leaq 128(%rsi),%rsi 3995 addq 8(%rdi),%rbx 3996 addq 16(%rdi),%rcx 3997 addq 24(%rdi),%rdx 3998 addq 32(%rdi),%r8 3999 addq 40(%rdi),%r9 4000 addq 48(%rdi),%r10 4001 addq 56(%rdi),%r11 4002 4003 cmpq 128+16(%rsp),%rsi 4004 4005 movq %rax,0(%rdi) 4006 movq %rbx,8(%rdi) 4007 movq %rcx,16(%rdi) 4008 movq %rdx,24(%rdi) 4009 movq %r8,32(%rdi) 4010 movq %r9,40(%rdi) 4011 movq %r10,48(%rdi) 4012 movq %r11,56(%rdi) 4013 jb L$loop_avx 4014 4015 movq 128+24(%rsp),%rsi 4016 vzeroupper 4017 movq -48(%rsi),%r15 4018 movq -40(%rsi),%r14 4019 movq -32(%rsi),%r13 4020 movq -24(%rsi),%r12 4021 movq -16(%rsi),%rbp 4022 movq -8(%rsi),%rbx 4023 leaq (%rsi),%rsp 4024 L$epilogue_avx: 4025 .byte 0xf3,0xc3 4026 4027 #endif 4028