1.machine "any" 2.csect .text[PR],7 3 4.globl .sha256_block_ppc 5.align 6 6.sha256_block_ppc: 7 stdu 1,-320(1) 8 mflr 0 9 sldi 5,5,6 10 11 std 3,144(1) 12 13 std 14,176(1) 14 std 15,184(1) 15 std 16,192(1) 16 std 17,200(1) 17 std 18,208(1) 18 std 19,216(1) 19 std 20,224(1) 20 std 21,232(1) 21 std 22,240(1) 22 std 23,248(1) 23 std 24,256(1) 24 std 25,264(1) 25 std 26,272(1) 26 std 27,280(1) 27 std 28,288(1) 28 std 29,296(1) 29 std 30,304(1) 30 std 31,312(1) 31 std 0,336(1) 32 lwz 8,0(3) 33 mr 31,4 34 lwz 9,4(3) 35 lwz 10,8(3) 36 lwz 11,12(3) 37 lwz 12,16(3) 38 lwz 6,20(3) 39 lwz 14,24(3) 40 lwz 15,28(3) 41 bl LPICmeup 42LPICedup: 43 andi. 0,31,3 44 bne Lunaligned 45Laligned: 46 add 5,31,5 47 std 5,128(1) 48 std 31,136(1) 49 bl Lsha2_block_private 50 b Ldone 51 52 53 54 55 56 57 58.align 4 59Lunaligned: 60 subfic 0,31,4096 61 andi. 0,0,4032 62 beq Lcross_page 63 cmpld 5,0 64 ble Laligned 65 subfc 5,0,5 66 add 0,31,0 67 std 5,120(1) 68 std 0,128(1) 69 std 31,136(1) 70 bl Lsha2_block_private 71 72 ld 5,120(1) 73Lcross_page: 74 li 0,16 75 mtctr 0 76 addi 20,1,48 77Lmemcpy: 78 lbz 16,0(31) 79 lbz 17,1(31) 80 lbz 18,2(31) 81 lbz 19,3(31) 82 addi 31,31,4 83 stb 16,0(20) 84 stb 17,1(20) 85 stb 18,2(20) 86 stb 19,3(20) 87 addi 20,20,4 88 bc 16,0,Lmemcpy 89 std 31,112(1) 90 addi 0,1,112 91 addi 31,1,48 92 std 5,120(1) 93 std 0,128(1) 94 std 31,136(1) 95 bl Lsha2_block_private 96 ld 31,112(1) 97 ld 5,120(1) 98 addic. 5,5,-64 99 bne Lunaligned 100 101Ldone: 102 ld 0,336(1) 103 ld 14,176(1) 104 ld 15,184(1) 105 ld 16,192(1) 106 ld 17,200(1) 107 ld 18,208(1) 108 ld 19,216(1) 109 ld 20,224(1) 110 ld 21,232(1) 111 ld 22,240(1) 112 ld 23,248(1) 113 ld 24,256(1) 114 ld 25,264(1) 115 ld 26,272(1) 116 ld 27,280(1) 117 ld 28,288(1) 118 ld 29,296(1) 119 ld 30,304(1) 120 ld 31,312(1) 121 mtlr 0 122 addi 1,1,320 123 blr 124.long 0 125.byte 0,12,4,1,0x80,18,3,0 126.long 0 127.align 4 128Lsha2_block_private: 129 lwz 0,0(7) 130 lwz 16,0(31) 131 rotrwi 3,12,6 132 rotrwi 4,12,11 133 and 5,6,12 134 xor 3,3,4 135 add 15,15,0 136 andc 0,14,12 137 rotrwi 4,4,14 138 or 5,5,0 139 add 15,15,16 140 xor 3,3,4 141 add 15,15,5 142 add 15,15,3 143 144 rotrwi 3,8,2 145 rotrwi 4,8,13 146 and 5,8,9 147 and 0,8,10 148 xor 3,3,4 149 rotrwi 4,4,9 150 xor 5,5,0 151 and 0,9,10 152 xor 3,3,4 153 add 11,11,15 154 xor 5,5,0 155 lwz 0,4(7) 156 add 15,15,3 157 add 15,15,5 158 159 lwz 17,4(31) 160 rotrwi 3,11,6 161 rotrwi 4,11,11 162 and 5,12,11 163 xor 3,3,4 164 add 14,14,0 165 andc 0,6,11 166 rotrwi 4,4,14 167 or 5,5,0 168 add 14,14,17 169 xor 3,3,4 170 add 14,14,5 171 add 14,14,3 172 173 rotrwi 3,15,2 174 rotrwi 4,15,13 175 and 5,15,8 176 and 0,15,9 177 xor 3,3,4 178 rotrwi 4,4,9 179 xor 5,5,0 180 and 0,8,9 181 xor 3,3,4 182 add 10,10,14 183 xor 5,5,0 184 lwz 0,8(7) 185 add 14,14,3 186 add 14,14,5 187 188 lwz 18,8(31) 189 rotrwi 3,10,6 190 rotrwi 4,10,11 191 and 5,11,10 192 xor 3,3,4 193 add 6,6,0 194 andc 0,12,10 195 rotrwi 4,4,14 196 or 5,5,0 197 add 6,6,18 198 xor 3,3,4 199 add 6,6,5 200 add 6,6,3 201 202 rotrwi 3,14,2 203 rotrwi 4,14,13 204 and 5,14,15 205 and 0,14,8 206 xor 3,3,4 207 rotrwi 4,4,9 208 xor 5,5,0 209 and 0,15,8 210 xor 3,3,4 211 add 9,9,6 212 xor 5,5,0 213 lwz 0,12(7) 214 add 6,6,3 215 add 6,6,5 216 217 lwz 19,12(31) 218 rotrwi 3,9,6 219 rotrwi 4,9,11 220 and 5,10,9 221 xor 3,3,4 222 add 12,12,0 223 andc 0,11,9 224 rotrwi 4,4,14 225 or 5,5,0 226 add 12,12,19 227 xor 3,3,4 228 add 12,12,5 229 add 12,12,3 230 231 rotrwi 3,6,2 232 rotrwi 4,6,13 233 and 5,6,14 234 and 0,6,15 235 xor 3,3,4 236 rotrwi 4,4,9 237 xor 5,5,0 238 and 0,14,15 239 xor 3,3,4 240 add 8,8,12 241 xor 5,5,0 242 lwz 0,16(7) 243 add 12,12,3 244 add 12,12,5 245 246 lwz 20,16(31) 247 rotrwi 3,8,6 248 rotrwi 4,8,11 249 and 5,9,8 250 xor 3,3,4 251 add 11,11,0 252 andc 0,10,8 253 rotrwi 4,4,14 254 or 5,5,0 255 add 11,11,20 256 xor 3,3,4 257 add 11,11,5 258 add 11,11,3 259 260 rotrwi 3,12,2 261 rotrwi 4,12,13 262 and 5,12,6 263 and 0,12,14 264 xor 3,3,4 265 rotrwi 4,4,9 266 xor 5,5,0 267 and 0,6,14 268 xor 3,3,4 269 add 15,15,11 270 xor 5,5,0 271 lwz 0,20(7) 272 add 11,11,3 273 add 11,11,5 274 275 lwz 21,20(31) 276 rotrwi 3,15,6 277 rotrwi 4,15,11 278 and 5,8,15 279 xor 3,3,4 280 add 10,10,0 281 andc 0,9,15 282 rotrwi 4,4,14 283 or 5,5,0 284 add 10,10,21 285 xor 3,3,4 286 add 10,10,5 287 add 10,10,3 288 289 rotrwi 3,11,2 290 rotrwi 4,11,13 291 and 5,11,12 292 and 0,11,6 293 xor 3,3,4 294 rotrwi 4,4,9 295 xor 5,5,0 296 and 0,12,6 297 xor 3,3,4 298 add 14,14,10 299 xor 5,5,0 300 lwz 0,24(7) 301 add 10,10,3 302 add 10,10,5 303 304 lwz 22,24(31) 305 rotrwi 3,14,6 306 rotrwi 4,14,11 307 and 5,15,14 308 xor 3,3,4 309 add 9,9,0 310 andc 0,8,14 311 rotrwi 4,4,14 312 or 5,5,0 313 add 9,9,22 314 xor 3,3,4 315 add 9,9,5 316 add 9,9,3 317 318 rotrwi 3,10,2 319 rotrwi 4,10,13 320 and 5,10,11 321 and 0,10,12 322 xor 3,3,4 323 rotrwi 4,4,9 324 xor 5,5,0 325 and 0,11,12 326 xor 3,3,4 327 add 6,6,9 328 xor 5,5,0 329 lwz 0,28(7) 330 add 9,9,3 331 add 9,9,5 332 333 lwz 23,28(31) 334 rotrwi 3,6,6 335 rotrwi 4,6,11 336 and 5,14,6 337 xor 3,3,4 338 add 8,8,0 339 andc 0,15,6 340 rotrwi 4,4,14 341 or 5,5,0 342 add 8,8,23 343 xor 3,3,4 344 add 8,8,5 345 add 8,8,3 346 347 rotrwi 3,9,2 348 rotrwi 4,9,13 349 and 5,9,10 350 and 0,9,11 351 xor 3,3,4 352 rotrwi 4,4,9 353 xor 5,5,0 354 and 0,10,11 355 xor 3,3,4 356 add 12,12,8 357 xor 5,5,0 358 lwz 0,32(7) 359 add 8,8,3 360 add 8,8,5 361 362 lwz 24,32(31) 363 rotrwi 3,12,6 364 rotrwi 4,12,11 365 and 5,6,12 366 xor 3,3,4 367 add 15,15,0 368 andc 0,14,12 369 rotrwi 4,4,14 370 or 5,5,0 371 add 15,15,24 372 xor 3,3,4 373 add 15,15,5 374 add 15,15,3 375 376 rotrwi 3,8,2 377 rotrwi 4,8,13 378 and 5,8,9 379 and 0,8,10 380 xor 3,3,4 381 rotrwi 4,4,9 382 xor 5,5,0 383 and 0,9,10 384 xor 3,3,4 385 add 11,11,15 386 xor 5,5,0 387 lwz 0,36(7) 388 add 15,15,3 389 add 15,15,5 390 391 lwz 25,36(31) 392 rotrwi 3,11,6 393 rotrwi 4,11,11 394 and 5,12,11 395 xor 3,3,4 396 add 14,14,0 397 andc 0,6,11 398 rotrwi 4,4,14 399 or 5,5,0 400 add 14,14,25 401 xor 3,3,4 402 add 14,14,5 403 add 14,14,3 404 405 rotrwi 3,15,2 406 rotrwi 4,15,13 407 and 5,15,8 408 and 0,15,9 409 xor 3,3,4 410 rotrwi 4,4,9 411 xor 5,5,0 412 and 0,8,9 413 xor 3,3,4 414 add 10,10,14 415 xor 5,5,0 416 lwz 0,40(7) 417 add 14,14,3 418 add 14,14,5 419 420 lwz 26,40(31) 421 rotrwi 3,10,6 422 rotrwi 4,10,11 423 and 5,11,10 424 xor 3,3,4 425 add 6,6,0 426 andc 0,12,10 427 rotrwi 4,4,14 428 or 5,5,0 429 add 6,6,26 430 xor 3,3,4 431 add 6,6,5 432 add 6,6,3 433 434 rotrwi 3,14,2 435 rotrwi 4,14,13 436 and 5,14,15 437 and 0,14,8 438 xor 3,3,4 439 rotrwi 4,4,9 440 xor 5,5,0 441 and 0,15,8 442 xor 3,3,4 443 add 9,9,6 444 xor 5,5,0 445 lwz 0,44(7) 446 add 6,6,3 447 add 6,6,5 448 449 lwz 27,44(31) 450 rotrwi 3,9,6 451 rotrwi 4,9,11 452 and 5,10,9 453 xor 3,3,4 454 add 12,12,0 455 andc 0,11,9 456 rotrwi 4,4,14 457 or 5,5,0 458 add 12,12,27 459 xor 3,3,4 460 add 12,12,5 461 add 12,12,3 462 463 rotrwi 3,6,2 464 rotrwi 4,6,13 465 and 5,6,14 466 and 0,6,15 467 xor 3,3,4 468 rotrwi 4,4,9 469 xor 5,5,0 470 and 0,14,15 471 xor 3,3,4 472 add 8,8,12 473 xor 5,5,0 474 lwz 0,48(7) 475 add 12,12,3 476 add 12,12,5 477 478 lwz 28,48(31) 479 rotrwi 3,8,6 480 rotrwi 4,8,11 481 and 5,9,8 482 xor 3,3,4 483 add 11,11,0 484 andc 0,10,8 485 rotrwi 4,4,14 486 or 5,5,0 487 add 11,11,28 488 xor 3,3,4 489 add 11,11,5 490 add 11,11,3 491 492 rotrwi 3,12,2 493 rotrwi 4,12,13 494 and 5,12,6 495 and 0,12,14 496 xor 3,3,4 497 rotrwi 4,4,9 498 xor 5,5,0 499 and 0,6,14 500 xor 3,3,4 501 add 15,15,11 502 xor 5,5,0 503 lwz 0,52(7) 504 add 11,11,3 505 add 11,11,5 506 507 lwz 29,52(31) 508 rotrwi 3,15,6 509 rotrwi 4,15,11 510 and 5,8,15 511 xor 3,3,4 512 add 10,10,0 513 andc 0,9,15 514 rotrwi 4,4,14 515 or 5,5,0 516 add 10,10,29 517 xor 3,3,4 518 add 10,10,5 519 add 10,10,3 520 521 rotrwi 3,11,2 522 rotrwi 4,11,13 523 and 5,11,12 524 and 0,11,6 525 xor 3,3,4 526 rotrwi 4,4,9 527 xor 5,5,0 528 and 0,12,6 529 xor 3,3,4 530 add 14,14,10 531 xor 5,5,0 532 lwz 0,56(7) 533 add 10,10,3 534 add 10,10,5 535 536 lwz 30,56(31) 537 rotrwi 3,14,6 538 rotrwi 4,14,11 539 and 5,15,14 540 xor 3,3,4 541 add 9,9,0 542 andc 0,8,14 543 rotrwi 4,4,14 544 or 5,5,0 545 add 9,9,30 546 xor 3,3,4 547 add 9,9,5 548 add 9,9,3 549 550 rotrwi 3,10,2 551 rotrwi 4,10,13 552 and 5,10,11 553 and 0,10,12 554 xor 3,3,4 555 rotrwi 4,4,9 556 xor 5,5,0 557 and 0,11,12 558 xor 3,3,4 559 add 6,6,9 560 xor 5,5,0 561 lwz 0,60(7) 562 add 9,9,3 563 add 9,9,5 564 565 lwz 31,60(31) 566 rotrwi 3,6,6 567 rotrwi 4,6,11 568 and 5,14,6 569 xor 3,3,4 570 add 8,8,0 571 andc 0,15,6 572 rotrwi 4,4,14 573 or 5,5,0 574 add 8,8,31 575 xor 3,3,4 576 add 8,8,5 577 add 8,8,3 578 579 rotrwi 3,9,2 580 rotrwi 4,9,13 581 and 5,9,10 582 and 0,9,11 583 xor 3,3,4 584 rotrwi 4,4,9 585 xor 5,5,0 586 and 0,10,11 587 xor 3,3,4 588 add 12,12,8 589 xor 5,5,0 590 add 8,8,3 591 add 8,8,5 592 593 li 5,3 594 mtctr 5 595.align 4 596Lrounds: 597 addi 7,7,64 598 rotrwi 3,17,7 599 rotrwi 4,17,18 600 rotrwi 5,30,17 601 rotrwi 0,30,19 602 xor 3,3,4 603 srwi 4,17,3 604 xor 5,5,0 605 srwi 0,30,10 606 add 16,16,25 607 xor 3,3,4 608 xor 5,5,0 609 lwz 0,0(7) 610 add 16,16,3 611 add 16,16,5 612 rotrwi 3,12,6 613 rotrwi 4,12,11 614 and 5,6,12 615 xor 3,3,4 616 add 15,15,0 617 andc 0,14,12 618 rotrwi 4,4,14 619 or 5,5,0 620 add 15,15,16 621 xor 3,3,4 622 add 15,15,5 623 add 15,15,3 624 625 rotrwi 3,8,2 626 rotrwi 4,8,13 627 and 5,8,9 628 and 0,8,10 629 xor 3,3,4 630 rotrwi 4,4,9 631 xor 5,5,0 632 and 0,9,10 633 xor 3,3,4 634 add 11,11,15 635 xor 5,5,0 636 add 15,15,3 637 add 15,15,5 638 639 rotrwi 3,18,7 640 rotrwi 4,18,18 641 rotrwi 5,31,17 642 rotrwi 0,31,19 643 xor 3,3,4 644 srwi 4,18,3 645 xor 5,5,0 646 srwi 0,31,10 647 add 17,17,26 648 xor 3,3,4 649 xor 5,5,0 650 lwz 0,4(7) 651 add 17,17,3 652 add 17,17,5 653 rotrwi 3,11,6 654 rotrwi 4,11,11 655 and 5,12,11 656 xor 3,3,4 657 add 14,14,0 658 andc 0,6,11 659 rotrwi 4,4,14 660 or 5,5,0 661 add 14,14,17 662 xor 3,3,4 663 add 14,14,5 664 add 14,14,3 665 666 rotrwi 3,15,2 667 rotrwi 4,15,13 668 and 5,15,8 669 and 0,15,9 670 xor 3,3,4 671 rotrwi 4,4,9 672 xor 5,5,0 673 and 0,8,9 674 xor 3,3,4 675 add 10,10,14 676 xor 5,5,0 677 add 14,14,3 678 add 14,14,5 679 680 rotrwi 3,19,7 681 rotrwi 4,19,18 682 rotrwi 5,16,17 683 rotrwi 0,16,19 684 xor 3,3,4 685 srwi 4,19,3 686 xor 5,5,0 687 srwi 0,16,10 688 add 18,18,27 689 xor 3,3,4 690 xor 5,5,0 691 lwz 0,8(7) 692 add 18,18,3 693 add 18,18,5 694 rotrwi 3,10,6 695 rotrwi 4,10,11 696 and 5,11,10 697 xor 3,3,4 698 add 6,6,0 699 andc 0,12,10 700 rotrwi 4,4,14 701 or 5,5,0 702 add 6,6,18 703 xor 3,3,4 704 add 6,6,5 705 add 6,6,3 706 707 rotrwi 3,14,2 708 rotrwi 4,14,13 709 and 5,14,15 710 and 0,14,8 711 xor 3,3,4 712 rotrwi 4,4,9 713 xor 5,5,0 714 and 0,15,8 715 xor 3,3,4 716 add 9,9,6 717 xor 5,5,0 718 add 6,6,3 719 add 6,6,5 720 721 rotrwi 3,20,7 722 rotrwi 4,20,18 723 rotrwi 5,17,17 724 rotrwi 0,17,19 725 xor 3,3,4 726 srwi 4,20,3 727 xor 5,5,0 728 srwi 0,17,10 729 add 19,19,28 730 xor 3,3,4 731 xor 5,5,0 732 lwz 0,12(7) 733 add 19,19,3 734 add 19,19,5 735 rotrwi 3,9,6 736 rotrwi 4,9,11 737 and 5,10,9 738 xor 3,3,4 739 add 12,12,0 740 andc 0,11,9 741 rotrwi 4,4,14 742 or 5,5,0 743 add 12,12,19 744 xor 3,3,4 745 add 12,12,5 746 add 12,12,3 747 748 rotrwi 3,6,2 749 rotrwi 4,6,13 750 and 5,6,14 751 and 0,6,15 752 xor 3,3,4 753 rotrwi 4,4,9 754 xor 5,5,0 755 and 0,14,15 756 xor 3,3,4 757 add 8,8,12 758 xor 5,5,0 759 add 12,12,3 760 add 12,12,5 761 762 rotrwi 3,21,7 763 rotrwi 4,21,18 764 rotrwi 5,18,17 765 rotrwi 0,18,19 766 xor 3,3,4 767 srwi 4,21,3 768 xor 5,5,0 769 srwi 0,18,10 770 add 20,20,29 771 xor 3,3,4 772 xor 5,5,0 773 lwz 0,16(7) 774 add 20,20,3 775 add 20,20,5 776 rotrwi 3,8,6 777 rotrwi 4,8,11 778 and 5,9,8 779 xor 3,3,4 780 add 11,11,0 781 andc 0,10,8 782 rotrwi 4,4,14 783 or 5,5,0 784 add 11,11,20 785 xor 3,3,4 786 add 11,11,5 787 add 11,11,3 788 789 rotrwi 3,12,2 790 rotrwi 4,12,13 791 and 5,12,6 792 and 0,12,14 793 xor 3,3,4 794 rotrwi 4,4,9 795 xor 5,5,0 796 and 0,6,14 797 xor 3,3,4 798 add 15,15,11 799 xor 5,5,0 800 add 11,11,3 801 add 11,11,5 802 803 rotrwi 3,22,7 804 rotrwi 4,22,18 805 rotrwi 5,19,17 806 rotrwi 0,19,19 807 xor 3,3,4 808 srwi 4,22,3 809 xor 5,5,0 810 srwi 0,19,10 811 add 21,21,30 812 xor 3,3,4 813 xor 5,5,0 814 lwz 0,20(7) 815 add 21,21,3 816 add 21,21,5 817 rotrwi 3,15,6 818 rotrwi 4,15,11 819 and 5,8,15 820 xor 3,3,4 821 add 10,10,0 822 andc 0,9,15 823 rotrwi 4,4,14 824 or 5,5,0 825 add 10,10,21 826 xor 3,3,4 827 add 10,10,5 828 add 10,10,3 829 830 rotrwi 3,11,2 831 rotrwi 4,11,13 832 and 5,11,12 833 and 0,11,6 834 xor 3,3,4 835 rotrwi 4,4,9 836 xor 5,5,0 837 and 0,12,6 838 xor 3,3,4 839 add 14,14,10 840 xor 5,5,0 841 add 10,10,3 842 add 10,10,5 843 844 rotrwi 3,23,7 845 rotrwi 4,23,18 846 rotrwi 5,20,17 847 rotrwi 0,20,19 848 xor 3,3,4 849 srwi 4,23,3 850 xor 5,5,0 851 srwi 0,20,10 852 add 22,22,31 853 xor 3,3,4 854 xor 5,5,0 855 lwz 0,24(7) 856 add 22,22,3 857 add 22,22,5 858 rotrwi 3,14,6 859 rotrwi 4,14,11 860 and 5,15,14 861 xor 3,3,4 862 add 9,9,0 863 andc 0,8,14 864 rotrwi 4,4,14 865 or 5,5,0 866 add 9,9,22 867 xor 3,3,4 868 add 9,9,5 869 add 9,9,3 870 871 rotrwi 3,10,2 872 rotrwi 4,10,13 873 and 5,10,11 874 and 0,10,12 875 xor 3,3,4 876 rotrwi 4,4,9 877 xor 5,5,0 878 and 0,11,12 879 xor 3,3,4 880 add 6,6,9 881 xor 5,5,0 882 add 9,9,3 883 add 9,9,5 884 885 rotrwi 3,24,7 886 rotrwi 4,24,18 887 rotrwi 5,21,17 888 rotrwi 0,21,19 889 xor 3,3,4 890 srwi 4,24,3 891 xor 5,5,0 892 srwi 0,21,10 893 add 23,23,16 894 xor 3,3,4 895 xor 5,5,0 896 lwz 0,28(7) 897 add 23,23,3 898 add 23,23,5 899 rotrwi 3,6,6 900 rotrwi 4,6,11 901 and 5,14,6 902 xor 3,3,4 903 add 8,8,0 904 andc 0,15,6 905 rotrwi 4,4,14 906 or 5,5,0 907 add 8,8,23 908 xor 3,3,4 909 add 8,8,5 910 add 8,8,3 911 912 rotrwi 3,9,2 913 rotrwi 4,9,13 914 and 5,9,10 915 and 0,9,11 916 xor 3,3,4 917 rotrwi 4,4,9 918 xor 5,5,0 919 and 0,10,11 920 xor 3,3,4 921 add 12,12,8 922 xor 5,5,0 923 add 8,8,3 924 add 8,8,5 925 926 rotrwi 3,25,7 927 rotrwi 4,25,18 928 rotrwi 5,22,17 929 rotrwi 0,22,19 930 xor 3,3,4 931 srwi 4,25,3 932 xor 5,5,0 933 srwi 0,22,10 934 add 24,24,17 935 xor 3,3,4 936 xor 5,5,0 937 lwz 0,32(7) 938 add 24,24,3 939 add 24,24,5 940 rotrwi 3,12,6 941 rotrwi 4,12,11 942 and 5,6,12 943 xor 3,3,4 944 add 15,15,0 945 andc 0,14,12 946 rotrwi 4,4,14 947 or 5,5,0 948 add 15,15,24 949 xor 3,3,4 950 add 15,15,5 951 add 15,15,3 952 953 rotrwi 3,8,2 954 rotrwi 4,8,13 955 and 5,8,9 956 and 0,8,10 957 xor 3,3,4 958 rotrwi 4,4,9 959 xor 5,5,0 960 and 0,9,10 961 xor 3,3,4 962 add 11,11,15 963 xor 5,5,0 964 add 15,15,3 965 add 15,15,5 966 967 rotrwi 3,26,7 968 rotrwi 4,26,18 969 rotrwi 5,23,17 970 rotrwi 0,23,19 971 xor 3,3,4 972 srwi 4,26,3 973 xor 5,5,0 974 srwi 0,23,10 975 add 25,25,18 976 xor 3,3,4 977 xor 5,5,0 978 lwz 0,36(7) 979 add 25,25,3 980 add 25,25,5 981 rotrwi 3,11,6 982 rotrwi 4,11,11 983 and 5,12,11 984 xor 3,3,4 985 add 14,14,0 986 andc 0,6,11 987 rotrwi 4,4,14 988 or 5,5,0 989 add 14,14,25 990 xor 3,3,4 991 add 14,14,5 992 add 14,14,3 993 994 rotrwi 3,15,2 995 rotrwi 4,15,13 996 and 5,15,8 997 and 0,15,9 998 xor 3,3,4 999 rotrwi 4,4,9 1000 xor 5,5,0 1001 and 0,8,9 1002 xor 3,3,4 1003 add 10,10,14 1004 xor 5,5,0 1005 add 14,14,3 1006 add 14,14,5 1007 1008 rotrwi 3,27,7 1009 rotrwi 4,27,18 1010 rotrwi 5,24,17 1011 rotrwi 0,24,19 1012 xor 3,3,4 1013 srwi 4,27,3 1014 xor 5,5,0 1015 srwi 0,24,10 1016 add 26,26,19 1017 xor 3,3,4 1018 xor 5,5,0 1019 lwz 0,40(7) 1020 add 26,26,3 1021 add 26,26,5 1022 rotrwi 3,10,6 1023 rotrwi 4,10,11 1024 and 5,11,10 1025 xor 3,3,4 1026 add 6,6,0 1027 andc 0,12,10 1028 rotrwi 4,4,14 1029 or 5,5,0 1030 add 6,6,26 1031 xor 3,3,4 1032 add 6,6,5 1033 add 6,6,3 1034 1035 rotrwi 3,14,2 1036 rotrwi 4,14,13 1037 and 5,14,15 1038 and 0,14,8 1039 xor 3,3,4 1040 rotrwi 4,4,9 1041 xor 5,5,0 1042 and 0,15,8 1043 xor 3,3,4 1044 add 9,9,6 1045 xor 5,5,0 1046 add 6,6,3 1047 add 6,6,5 1048 1049 rotrwi 3,28,7 1050 rotrwi 4,28,18 1051 rotrwi 5,25,17 1052 rotrwi 0,25,19 1053 xor 3,3,4 1054 srwi 4,28,3 1055 xor 5,5,0 1056 srwi 0,25,10 1057 add 27,27,20 1058 xor 3,3,4 1059 xor 5,5,0 1060 lwz 0,44(7) 1061 add 27,27,3 1062 add 27,27,5 1063 rotrwi 3,9,6 1064 rotrwi 4,9,11 1065 and 5,10,9 1066 xor 3,3,4 1067 add 12,12,0 1068 andc 0,11,9 1069 rotrwi 4,4,14 1070 or 5,5,0 1071 add 12,12,27 1072 xor 3,3,4 1073 add 12,12,5 1074 add 12,12,3 1075 1076 rotrwi 3,6,2 1077 rotrwi 4,6,13 1078 and 5,6,14 1079 and 0,6,15 1080 xor 3,3,4 1081 rotrwi 4,4,9 1082 xor 5,5,0 1083 and 0,14,15 1084 xor 3,3,4 1085 add 8,8,12 1086 xor 5,5,0 1087 add 12,12,3 1088 add 12,12,5 1089 1090 rotrwi 3,29,7 1091 rotrwi 4,29,18 1092 rotrwi 5,26,17 1093 rotrwi 0,26,19 1094 xor 3,3,4 1095 srwi 4,29,3 1096 xor 5,5,0 1097 srwi 0,26,10 1098 add 28,28,21 1099 xor 3,3,4 1100 xor 5,5,0 1101 lwz 0,48(7) 1102 add 28,28,3 1103 add 28,28,5 1104 rotrwi 3,8,6 1105 rotrwi 4,8,11 1106 and 5,9,8 1107 xor 3,3,4 1108 add 11,11,0 1109 andc 0,10,8 1110 rotrwi 4,4,14 1111 or 5,5,0 1112 add 11,11,28 1113 xor 3,3,4 1114 add 11,11,5 1115 add 11,11,3 1116 1117 rotrwi 3,12,2 1118 rotrwi 4,12,13 1119 and 5,12,6 1120 and 0,12,14 1121 xor 3,3,4 1122 rotrwi 4,4,9 1123 xor 5,5,0 1124 and 0,6,14 1125 xor 3,3,4 1126 add 15,15,11 1127 xor 5,5,0 1128 add 11,11,3 1129 add 11,11,5 1130 1131 rotrwi 3,30,7 1132 rotrwi 4,30,18 1133 rotrwi 5,27,17 1134 rotrwi 0,27,19 1135 xor 3,3,4 1136 srwi 4,30,3 1137 xor 5,5,0 1138 srwi 0,27,10 1139 add 29,29,22 1140 xor 3,3,4 1141 xor 5,5,0 1142 lwz 0,52(7) 1143 add 29,29,3 1144 add 29,29,5 1145 rotrwi 3,15,6 1146 rotrwi 4,15,11 1147 and 5,8,15 1148 xor 3,3,4 1149 add 10,10,0 1150 andc 0,9,15 1151 rotrwi 4,4,14 1152 or 5,5,0 1153 add 10,10,29 1154 xor 3,3,4 1155 add 10,10,5 1156 add 10,10,3 1157 1158 rotrwi 3,11,2 1159 rotrwi 4,11,13 1160 and 5,11,12 1161 and 0,11,6 1162 xor 3,3,4 1163 rotrwi 4,4,9 1164 xor 5,5,0 1165 and 0,12,6 1166 xor 3,3,4 1167 add 14,14,10 1168 xor 5,5,0 1169 add 10,10,3 1170 add 10,10,5 1171 1172 rotrwi 3,31,7 1173 rotrwi 4,31,18 1174 rotrwi 5,28,17 1175 rotrwi 0,28,19 1176 xor 3,3,4 1177 srwi 4,31,3 1178 xor 5,5,0 1179 srwi 0,28,10 1180 add 30,30,23 1181 xor 3,3,4 1182 xor 5,5,0 1183 lwz 0,56(7) 1184 add 30,30,3 1185 add 30,30,5 1186 rotrwi 3,14,6 1187 rotrwi 4,14,11 1188 and 5,15,14 1189 xor 3,3,4 1190 add 9,9,0 1191 andc 0,8,14 1192 rotrwi 4,4,14 1193 or 5,5,0 1194 add 9,9,30 1195 xor 3,3,4 1196 add 9,9,5 1197 add 9,9,3 1198 1199 rotrwi 3,10,2 1200 rotrwi 4,10,13 1201 and 5,10,11 1202 and 0,10,12 1203 xor 3,3,4 1204 rotrwi 4,4,9 1205 xor 5,5,0 1206 and 0,11,12 1207 xor 3,3,4 1208 add 6,6,9 1209 xor 5,5,0 1210 add 9,9,3 1211 add 9,9,5 1212 1213 rotrwi 3,16,7 1214 rotrwi 4,16,18 1215 rotrwi 5,29,17 1216 rotrwi 0,29,19 1217 xor 3,3,4 1218 srwi 4,16,3 1219 xor 5,5,0 1220 srwi 0,29,10 1221 add 31,31,24 1222 xor 3,3,4 1223 xor 5,5,0 1224 lwz 0,60(7) 1225 add 31,31,3 1226 add 31,31,5 1227 rotrwi 3,6,6 1228 rotrwi 4,6,11 1229 and 5,14,6 1230 xor 3,3,4 1231 add 8,8,0 1232 andc 0,15,6 1233 rotrwi 4,4,14 1234 or 5,5,0 1235 add 8,8,31 1236 xor 3,3,4 1237 add 8,8,5 1238 add 8,8,3 1239 1240 rotrwi 3,9,2 1241 rotrwi 4,9,13 1242 and 5,9,10 1243 and 0,9,11 1244 xor 3,3,4 1245 rotrwi 4,4,9 1246 xor 5,5,0 1247 and 0,10,11 1248 xor 3,3,4 1249 add 12,12,8 1250 xor 5,5,0 1251 add 8,8,3 1252 add 8,8,5 1253 1254 bc 16,0,Lrounds 1255 1256 ld 3,144(1) 1257 ld 31,136(1) 1258 ld 5,128(1) 1259 subi 7,7,192 1260 1261 lwz 16,0(3) 1262 lwz 17,4(3) 1263 lwz 18,8(3) 1264 lwz 19,12(3) 1265 lwz 20,16(3) 1266 lwz 21,20(3) 1267 lwz 22,24(3) 1268 addi 31,31,64 1269 lwz 23,28(3) 1270 add 8,8,16 1271 add 9,9,17 1272 std 31,136(1) 1273 add 10,10,18 1274 stw 8,0(3) 1275 add 11,11,19 1276 stw 9,4(3) 1277 add 12,12,20 1278 stw 10,8(3) 1279 add 6,6,21 1280 stw 11,12(3) 1281 add 14,14,22 1282 stw 12,16(3) 1283 add 15,15,23 1284 stw 6,20(3) 1285 stw 14,24(3) 1286 cmpld 31,5 1287 stw 15,28(3) 1288 bne Lsha2_block_private 1289 blr 1290.long 0 1291.byte 0,12,0x14,0,0,0,0,0 1292 1293.align 6 1294LPICmeup: 1295 mflr 0 1296 bcl 20,31,$+4 1297 mflr 7 1298 addi 7,7,56 1299 mtlr 0 1300 blr 1301.long 0 1302.byte 0,12,0x14,0,0,0,0,0 1303.space 28 1304.long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 1305.long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 1306.long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 1307.long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 1308.long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc 1309.long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da 1310.long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 1311.long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 1312.long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 1313.long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 1314.long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 1315.long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 1316.long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 1317.long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 1318.long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 1319.long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 1320