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