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