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