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