1/* $FreeBSD$ */ 2/* Do not modify. This file is auto-generated from ppc.pl. */ 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85.globl bn_sqr_comba4 86.type bn_sqr_comba4,@function 87.globl bn_sqr_comba8 88.type bn_sqr_comba8,@function 89.globl bn_mul_comba4 90.type bn_mul_comba4,@function 91.globl bn_mul_comba8 92.type bn_mul_comba8,@function 93.globl bn_sub_words 94.type bn_sub_words,@function 95.globl bn_add_words 96.type bn_add_words,@function 97.globl bn_div_words 98.type bn_div_words,@function 99.globl bn_sqr_words 100.type bn_sqr_words,@function 101.globl bn_mul_words 102.type bn_mul_words,@function 103.globl bn_mul_add_words 104.type bn_mul_add_words,@function 105 106 107 108.machine "any" 109.text 110 111 112 113 114 115 116 117 118.align 4 119bn_sqr_comba4: 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 xor 0,0,0 136 137 138 139 lwz 5,0(4) 140 mullw 9,5,5 141 mulhwu 10,5,5 142 143 144 145 146 stw 9,0(3) 147 148 lwz 6,4(4) 149 mullw 7,5,6 150 mulhwu 8,5,6 151 152 addc 7,7,7 153 adde 8,8,8 154 addze 9,0 155 156 157 addc 10,7,10 158 addze 11,8 159 addze 9,9 160 161 stw 10,4(3) 162 163 mullw 7,6,6 164 mulhwu 8,6,6 165 addc 11,7,11 166 adde 9,8,9 167 addze 10,0 168 169 lwz 6,8(4) 170 mullw 7,5,6 171 mulhwu 8,5,6 172 173 addc 7,7,7 174 adde 8,8,8 175 addze 10,10 176 177 addc 11,7,11 178 adde 9,8,9 179 addze 10,10 180 stw 11,8(3) 181 182 lwz 6,12(4) 183 mullw 7,5,6 184 mulhwu 8,5,6 185 addc 7,7,7 186 adde 8,8,8 187 addze 11,0 188 189 addc 9,7,9 190 adde 10,8,10 191 addze 11,11 192 193 lwz 5,4(4) 194 lwz 6,8(4) 195 mullw 7,5,6 196 mulhwu 8,5,6 197 198 addc 7,7,7 199 adde 8,8,8 200 addze 11,11 201 addc 9,7,9 202 adde 10,8,10 203 addze 11,11 204 stw 9,12(3) 205 206 mullw 7,6,6 207 mulhwu 8,6,6 208 addc 10,7,10 209 adde 11,8,11 210 addze 9,0 211 212 lwz 6,12(4) 213 mullw 7,5,6 214 mulhwu 8,5,6 215 addc 7,7,7 216 adde 8,8,8 217 addze 9,9 218 219 addc 10,7,10 220 adde 11,8,11 221 addze 9,9 222 stw 10,16(3) 223 224 lwz 5,8(4) 225 mullw 7,5,6 226 mulhwu 8,5,6 227 addc 7,7,7 228 adde 8,8,8 229 addze 10,0 230 231 addc 11,7,11 232 adde 9,8,9 233 addze 10,10 234 stw 11,20(3) 235 236 mullw 7,6,6 237 mulhwu 8,6,6 238 addc 9,7,9 239 adde 10,8,10 240 241 stw 9,24(3) 242 stw 10,28(3) 243 blr 244.long 0 245.byte 0,12,0x14,0,0,0,2,0 246.long 0 247.size bn_sqr_comba4,.-bn_sqr_comba4 248 249 250 251 252 253 254 255 256.align 4 257bn_sqr_comba8: 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 xor 0,0,0 278 279 280 281 lwz 5,0(4) 282 mullw 9,5,5 283 mulhwu 10,5,5 284 stw 9,0(3) 285 286 lwz 6,4(4) 287 mullw 7,5,6 288 mulhwu 8,5,6 289 290 addc 10,7,10 291 adde 11,8,0 292 addze 9,0 293 294 addc 10,7,10 295 adde 11,8,11 296 addze 9,9 297 298 stw 10,4(3) 299 300 301 mullw 7,6,6 302 mulhwu 8,6,6 303 addc 11,7,11 304 adde 9,8,9 305 addze 10,0 306 307 lwz 6,8(4) 308 mullw 7,5,6 309 mulhwu 8,5,6 310 311 addc 11,7,11 312 adde 9,8,9 313 addze 10,10 314 315 addc 11,7,11 316 adde 9,8,9 317 addze 10,10 318 319 stw 11,8(3) 320 321 lwz 6,12(4) 322 mullw 7,5,6 323 mulhwu 8,5,6 324 325 addc 9,7,9 326 adde 10,8,10 327 addze 11,0 328 329 addc 9,7,9 330 adde 10,8,10 331 addze 11,11 332 333 lwz 5,4(4) 334 lwz 6,8(4) 335 mullw 7,5,6 336 mulhwu 8,5,6 337 338 addc 9,7,9 339 adde 10,8,10 340 addze 11,11 341 342 addc 9,7,9 343 adde 10,8,10 344 addze 11,11 345 346 stw 9,12(3) 347 348 mullw 7,6,6 349 mulhwu 8,6,6 350 351 addc 10,7,10 352 adde 11,8,11 353 addze 9,0 354 355 lwz 6,12(4) 356 mullw 7,5,6 357 mulhwu 8,5,6 358 359 addc 10,7,10 360 adde 11,8,11 361 addze 9,9 362 363 addc 10,7,10 364 adde 11,8,11 365 addze 9,9 366 367 lwz 5,0(4) 368 lwz 6,16(4) 369 mullw 7,5,6 370 mulhwu 8,5,6 371 372 addc 10,7,10 373 adde 11,8,11 374 addze 9,9 375 376 addc 10,7,10 377 adde 11,8,11 378 addze 9,9 379 stw 10,16(3) 380 381 lwz 6,20(4) 382 mullw 7,5,6 383 mulhwu 8,5,6 384 385 addc 11,7,11 386 adde 9,8,9 387 addze 10,0 388 389 addc 11,7,11 390 adde 9,8,9 391 addze 10,10 392 393 lwz 5,4(4) 394 lwz 6,16(4) 395 mullw 7,5,6 396 mulhwu 8,5,6 397 398 addc 11,7,11 399 adde 9,8,9 400 addze 10,10 401 402 addc 11,7,11 403 adde 9,8,9 404 addze 10,10 405 406 lwz 5,8(4) 407 lwz 6,12(4) 408 mullw 7,5,6 409 mulhwu 8,5,6 410 411 addc 11,7,11 412 adde 9,8,9 413 addze 10,10 414 415 addc 11,7,11 416 adde 9,8,9 417 addze 10,10 418 stw 11,20(3) 419 420 mullw 7,6,6 421 mulhwu 8,6,6 422 addc 9,7,9 423 adde 10,8,10 424 addze 11,0 425 426 lwz 6,16(4) 427 mullw 7,5,6 428 mulhwu 8,5,6 429 430 addc 9,7,9 431 adde 10,8,10 432 addze 11,11 433 434 addc 9,7,9 435 adde 10,8,10 436 addze 11,11 437 438 lwz 5,4(4) 439 lwz 6,20(4) 440 mullw 7,5,6 441 mulhwu 8,5,6 442 443 addc 9,7,9 444 adde 10,8,10 445 addze 11,11 446 447 addc 9,7,9 448 adde 10,8,10 449 addze 11,11 450 451 lwz 5,0(4) 452 lwz 6,24(4) 453 mullw 7,5,6 454 mulhwu 8,5,6 455 addc 9,7,9 456 adde 10,8,10 457 addze 11,11 458 addc 9,7,9 459 adde 10,8,10 460 addze 11,11 461 stw 9,24(3) 462 463 lwz 6,28(4) 464 mullw 7,5,6 465 mulhwu 8,5,6 466 467 addc 10,7,10 468 adde 11,8,11 469 addze 9,0 470 addc 10,7,10 471 adde 11,8,11 472 addze 9,9 473 474 lwz 5,4(4) 475 lwz 6,24(4) 476 mullw 7,5,6 477 mulhwu 8,5,6 478 479 addc 10,7,10 480 adde 11,8,11 481 addze 9,9 482 addc 10,7,10 483 adde 11,8,11 484 addze 9,9 485 486 lwz 5,8(4) 487 lwz 6,20(4) 488 mullw 7,5,6 489 mulhwu 8,5,6 490 addc 10,7,10 491 adde 11,8,11 492 addze 9,9 493 addc 10,7,10 494 adde 11,8,11 495 addze 9,9 496 497 lwz 5,12(4) 498 lwz 6,16(4) 499 mullw 7,5,6 500 mulhwu 8,5,6 501 502 addc 10,7,10 503 adde 11,8,11 504 addze 9,9 505 addc 10,7,10 506 adde 11,8,11 507 addze 9,9 508 stw 10,28(3) 509 510 mullw 7,6,6 511 mulhwu 8,6,6 512 addc 11,7,11 513 adde 9,8,9 514 addze 10,0 515 516 lwz 6,20(4) 517 mullw 7,5,6 518 mulhwu 8,5,6 519 addc 11,7,11 520 adde 9,8,9 521 addze 10,10 522 addc 11,7,11 523 adde 9,8,9 524 addze 10,10 525 526 lwz 5,8(4) 527 lwz 6,24(4) 528 mullw 7,5,6 529 mulhwu 8,5,6 530 addc 11,7,11 531 adde 9,8,9 532 addze 10,10 533 534 addc 11,7,11 535 adde 9,8,9 536 addze 10,10 537 538 lwz 5,4(4) 539 lwz 6,28(4) 540 mullw 7,5,6 541 mulhwu 8,5,6 542 addc 11,7,11 543 adde 9,8,9 544 addze 10,10 545 addc 11,7,11 546 adde 9,8,9 547 addze 10,10 548 stw 11,32(3) 549 550 lwz 5,8(4) 551 mullw 7,5,6 552 mulhwu 8,5,6 553 554 addc 9,7,9 555 adde 10,8,10 556 addze 11,0 557 addc 9,7,9 558 adde 10,8,10 559 addze 11,11 560 561 lwz 5,12(4) 562 lwz 6,24(4) 563 mullw 7,5,6 564 mulhwu 8,5,6 565 addc 9,7,9 566 adde 10,8,10 567 addze 11,11 568 addc 9,7,9 569 adde 10,8,10 570 addze 11,11 571 572 lwz 5,16(4) 573 lwz 6,20(4) 574 mullw 7,5,6 575 mulhwu 8,5,6 576 addc 9,7,9 577 adde 10,8,10 578 addze 11,11 579 addc 9,7,9 580 adde 10,8,10 581 addze 11,11 582 stw 9,36(3) 583 584 mullw 7,6,6 585 mulhwu 8,6,6 586 addc 10,7,10 587 adde 11,8,11 588 addze 9,0 589 590 lwz 6,24(4) 591 mullw 7,5,6 592 mulhwu 8,5,6 593 addc 10,7,10 594 adde 11,8,11 595 addze 9,9 596 addc 10,7,10 597 adde 11,8,11 598 addze 9,9 599 600 lwz 5,12(4) 601 lwz 6,28(4) 602 mullw 7,5,6 603 mulhwu 8,5,6 604 addc 10,7,10 605 adde 11,8,11 606 addze 9,9 607 addc 10,7,10 608 adde 11,8,11 609 addze 9,9 610 stw 10,40(3) 611 612 lwz 5,16(4) 613 mullw 7,5,6 614 mulhwu 8,5,6 615 addc 11,7,11 616 adde 9,8,9 617 addze 10,0 618 addc 11,7,11 619 adde 9,8,9 620 addze 10,10 621 622 lwz 5,20(4) 623 lwz 6,24(4) 624 mullw 7,5,6 625 mulhwu 8,5,6 626 addc 11,7,11 627 adde 9,8,9 628 addze 10,10 629 addc 11,7,11 630 adde 9,8,9 631 addze 10,10 632 stw 11,44(3) 633 634 mullw 7,6,6 635 mulhwu 8,6,6 636 addc 9,7,9 637 adde 10,8,10 638 addze 11,0 639 640 lwz 6,28(4) 641 mullw 7,5,6 642 mulhwu 8,5,6 643 addc 9,7,9 644 adde 10,8,10 645 addze 11,11 646 addc 9,7,9 647 adde 10,8,10 648 addze 11,11 649 stw 9,48(3) 650 651 652 lwz 5,24(4) 653 mullw 7,5,6 654 mulhwu 8,5,6 655 addc 10,7,10 656 adde 11,8,11 657 addze 9,0 658 addc 10,7,10 659 adde 11,8,11 660 addze 9,9 661 stw 10,52(3) 662 663 mullw 7,6,6 664 mulhwu 8,6,6 665 addc 11,7,11 666 adde 9,8,9 667 stw 11,56(3) 668 stw 9, 60(3) 669 670 671 blr 672.long 0 673.byte 0,12,0x14,0,0,0,2,0 674.long 0 675.size bn_sqr_comba8,.-bn_sqr_comba8 676 677 678 679 680 681 682 683 684.align 4 685bn_mul_comba4: 686 687 688 689 690 691 692 693 694 695 696 697 xor 0,0,0 698 699 lwz 6,0(4) 700 lwz 7,0(5) 701 mullw 10,6,7 702 mulhwu 11,6,7 703 stw 10,0(3) 704 705 lwz 7,4(5) 706 mullw 8,6,7 707 mulhwu 9,6,7 708 addc 11,8,11 709 adde 12,9,0 710 addze 10,0 711 712 lwz 6, 4(4) 713 lwz 7, 0(5) 714 mullw 8,6,7 715 mulhwu 9,6,7 716 addc 11,8,11 717 adde 12,9,12 718 addze 10,10 719 stw 11,4(3) 720 721 lwz 6,8(4) 722 mullw 8,6,7 723 mulhwu 9,6,7 724 addc 12,8,12 725 adde 10,9,10 726 addze 11,0 727 728 lwz 6,4(4) 729 lwz 7,4(5) 730 mullw 8,6,7 731 mulhwu 9,6,7 732 addc 12,8,12 733 adde 10,9,10 734 addze 11,11 735 736 lwz 6,0(4) 737 lwz 7,8(5) 738 mullw 8,6,7 739 mulhwu 9,6,7 740 addc 12,8,12 741 adde 10,9,10 742 addze 11,11 743 stw 12,8(3) 744 745 lwz 7,12(5) 746 mullw 8,6,7 747 mulhwu 9,6,7 748 addc 10,8,10 749 adde 11,9,11 750 addze 12,0 751 752 lwz 6,4(4) 753 lwz 7,8(5) 754 mullw 8,6,7 755 mulhwu 9,6,7 756 addc 10,8,10 757 adde 11,9,11 758 addze 12,12 759 760 lwz 6,8(4) 761 lwz 7,4(5) 762 mullw 8,6,7 763 mulhwu 9,6,7 764 addc 10,8,10 765 adde 11,9,11 766 addze 12,12 767 768 lwz 6,12(4) 769 lwz 7,0(5) 770 mullw 8,6,7 771 mulhwu 9,6,7 772 addc 10,8,10 773 adde 11,9,11 774 addze 12,12 775 stw 10,12(3) 776 777 lwz 7,4(5) 778 mullw 8,6,7 779 mulhwu 9,6,7 780 addc 11,8,11 781 adde 12,9,12 782 addze 10,0 783 784 lwz 6,8(4) 785 lwz 7,8(5) 786 mullw 8,6,7 787 mulhwu 9,6,7 788 addc 11,8,11 789 adde 12,9,12 790 addze 10,10 791 792 lwz 6,4(4) 793 lwz 7,12(5) 794 mullw 8,6,7 795 mulhwu 9,6,7 796 addc 11,8,11 797 adde 12,9,12 798 addze 10,10 799 stw 11,16(3) 800 801 lwz 6,8(4) 802 mullw 8,6,7 803 mulhwu 9,6,7 804 addc 12,8,12 805 adde 10,9,10 806 addze 11,0 807 808 lwz 6,12(4) 809 lwz 7,8(5) 810 mullw 8,6,7 811 mulhwu 9,6,7 812 addc 12,8,12 813 adde 10,9,10 814 addze 11,11 815 stw 12,20(3) 816 817 lwz 7,12(5) 818 mullw 8,6,7 819 mulhwu 9,6,7 820 addc 10,8,10 821 adde 11,9,11 822 823 stw 10,24(3) 824 stw 11,28(3) 825 blr 826.long 0 827.byte 0,12,0x14,0,0,0,3,0 828.long 0 829.size bn_mul_comba4,.-bn_mul_comba4 830 831 832 833 834 835 836 837 838.align 4 839bn_mul_comba8: 840 841 842 843 844 845 846 847 848 849 850 851 xor 0,0,0 852 853 854 lwz 6,0(4) 855 lwz 7,0(5) 856 mullw 10,6,7 857 mulhwu 11,6,7 858 stw 10,0(3) 859 860 lwz 7,4(5) 861 mullw 8,6,7 862 mulhwu 9,6,7 863 addc 11,11,8 864 addze 12,9 865 addze 10,0 866 867 lwz 6,4(4) 868 lwz 7,0(5) 869 mullw 8,6,7 870 mulhwu 9,6,7 871 addc 11,11,8 872 adde 12,12,9 873 addze 10,10 874 stw 11,4(3) 875 876 lwz 6,8(4) 877 mullw 8,6,7 878 mulhwu 9,6,7 879 addc 12,12,8 880 adde 10,10,9 881 addze 11,0 882 883 lwz 6,4(4) 884 lwz 7,4(5) 885 mullw 8,6,7 886 mulhwu 9,6,7 887 addc 12,12,8 888 adde 10,10,9 889 addze 11,11 890 891 lwz 6,0(4) 892 lwz 7,8(5) 893 mullw 8,6,7 894 mulhwu 9,6,7 895 addc 12,12,8 896 adde 10,10,9 897 addze 11,11 898 stw 12,8(3) 899 900 lwz 7,12(5) 901 mullw 8,6,7 902 mulhwu 9,6,7 903 addc 10,10,8 904 adde 11,11,9 905 addze 12,0 906 907 lwz 6,4(4) 908 lwz 7,8(5) 909 mullw 8,6,7 910 mulhwu 9,6,7 911 addc 10,10,8 912 adde 11,11,9 913 addze 12,12 914 915 916 lwz 6,8(4) 917 lwz 7,4(5) 918 mullw 8,6,7 919 mulhwu 9,6,7 920 addc 10,10,8 921 adde 11,11,9 922 addze 12,12 923 924 lwz 6,12(4) 925 lwz 7,0(5) 926 mullw 8,6,7 927 mulhwu 9,6,7 928 addc 10,10,8 929 adde 11,11,9 930 addze 12,12 931 stw 10,12(3) 932 933 lwz 6,16(4) 934 mullw 8,6,7 935 mulhwu 9,6,7 936 addc 11,11,8 937 adde 12,12,9 938 addze 10,0 939 940 lwz 6,12(4) 941 lwz 7,4(5) 942 mullw 8,6,7 943 mulhwu 9,6,7 944 addc 11,11,8 945 adde 12,12,9 946 addze 10,10 947 948 lwz 6,8(4) 949 lwz 7,8(5) 950 mullw 8,6,7 951 mulhwu 9,6,7 952 addc 11,11,8 953 adde 12,12,9 954 addze 10,10 955 956 lwz 6,4(4) 957 lwz 7,12(5) 958 mullw 8,6,7 959 mulhwu 9,6,7 960 addc 11,11,8 961 adde 12,12,9 962 addze 10,10 963 964 lwz 6,0(4) 965 lwz 7,16(5) 966 mullw 8,6,7 967 mulhwu 9,6,7 968 addc 11,11,8 969 adde 12,12,9 970 addze 10,10 971 stw 11,16(3) 972 973 lwz 7,20(5) 974 mullw 8,6,7 975 mulhwu 9,6,7 976 addc 12,12,8 977 adde 10,10,9 978 addze 11,0 979 980 lwz 6,4(4) 981 lwz 7,16(5) 982 mullw 8,6,7 983 mulhwu 9,6,7 984 addc 12,12,8 985 adde 10,10,9 986 addze 11,11 987 988 lwz 6,8(4) 989 lwz 7,12(5) 990 mullw 8,6,7 991 mulhwu 9,6,7 992 addc 12,12,8 993 adde 10,10,9 994 addze 11,11 995 996 lwz 6,12(4) 997 lwz 7,8(5) 998 mullw 8,6,7 999 mulhwu 9,6,7 1000 addc 12,12,8 1001 adde 10,10,9 1002 addze 11,11 1003 1004 lwz 6,16(4) 1005 lwz 7,4(5) 1006 mullw 8,6,7 1007 mulhwu 9,6,7 1008 addc 12,12,8 1009 adde 10,10,9 1010 addze 11,11 1011 1012 lwz 6,20(4) 1013 lwz 7,0(5) 1014 mullw 8,6,7 1015 mulhwu 9,6,7 1016 addc 12,12,8 1017 adde 10,10,9 1018 addze 11,11 1019 stw 12,20(3) 1020 1021 lwz 6,24(4) 1022 mullw 8,6,7 1023 mulhwu 9,6,7 1024 addc 10,10,8 1025 adde 11,11,9 1026 addze 12,0 1027 1028 lwz 6,20(4) 1029 lwz 7,4(5) 1030 mullw 8,6,7 1031 mulhwu 9,6,7 1032 addc 10,10,8 1033 adde 11,11,9 1034 addze 12,12 1035 1036 lwz 6,16(4) 1037 lwz 7,8(5) 1038 mullw 8,6,7 1039 mulhwu 9,6,7 1040 addc 10,10,8 1041 adde 11,11,9 1042 addze 12,12 1043 1044 lwz 6,12(4) 1045 lwz 7,12(5) 1046 mullw 8,6,7 1047 mulhwu 9,6,7 1048 addc 10,10,8 1049 adde 11,11,9 1050 addze 12,12 1051 1052 lwz 6,8(4) 1053 lwz 7,16(5) 1054 mullw 8,6,7 1055 mulhwu 9,6,7 1056 addc 10,10,8 1057 adde 11,11,9 1058 addze 12,12 1059 1060 lwz 6,4(4) 1061 lwz 7,20(5) 1062 mullw 8,6,7 1063 mulhwu 9,6,7 1064 addc 10,10,8 1065 adde 11,11,9 1066 addze 12,12 1067 1068 lwz 6,0(4) 1069 lwz 7,24(5) 1070 mullw 8,6,7 1071 mulhwu 9,6,7 1072 addc 10,10,8 1073 adde 11,11,9 1074 addze 12,12 1075 stw 10,24(3) 1076 1077 lwz 7,28(5) 1078 mullw 8,6,7 1079 mulhwu 9,6,7 1080 addc 11,11,8 1081 adde 12,12,9 1082 addze 10,0 1083 1084 lwz 6,4(4) 1085 lwz 7,24(5) 1086 mullw 8,6,7 1087 mulhwu 9,6,7 1088 addc 11,11,8 1089 adde 12,12,9 1090 addze 10,10 1091 1092 lwz 6,8(4) 1093 lwz 7,20(5) 1094 mullw 8,6,7 1095 mulhwu 9,6,7 1096 addc 11,11,8 1097 adde 12,12,9 1098 addze 10,10 1099 1100 lwz 6,12(4) 1101 lwz 7,16(5) 1102 mullw 8,6,7 1103 mulhwu 9,6,7 1104 addc 11,11,8 1105 adde 12,12,9 1106 addze 10,10 1107 1108 lwz 6,16(4) 1109 lwz 7,12(5) 1110 mullw 8,6,7 1111 mulhwu 9,6,7 1112 addc 11,11,8 1113 adde 12,12,9 1114 addze 10,10 1115 1116 lwz 6,20(4) 1117 lwz 7,8(5) 1118 mullw 8,6,7 1119 mulhwu 9,6,7 1120 addc 11,11,8 1121 adde 12,12,9 1122 addze 10,10 1123 1124 lwz 6,24(4) 1125 lwz 7,4(5) 1126 mullw 8,6,7 1127 mulhwu 9,6,7 1128 addc 11,11,8 1129 adde 12,12,9 1130 addze 10,10 1131 1132 lwz 6,28(4) 1133 lwz 7,0(5) 1134 mullw 8,6,7 1135 mulhwu 9,6,7 1136 addc 11,11,8 1137 adde 12,12,9 1138 addze 10,10 1139 stw 11,28(3) 1140 1141 lwz 7,4(5) 1142 mullw 8,6,7 1143 mulhwu 9,6,7 1144 addc 12,12,8 1145 adde 10,10,9 1146 addze 11,0 1147 1148 lwz 6,24(4) 1149 lwz 7,8(5) 1150 mullw 8,6,7 1151 mulhwu 9,6,7 1152 addc 12,12,8 1153 adde 10,10,9 1154 addze 11,11 1155 1156 lwz 6,20(4) 1157 lwz 7,12(5) 1158 mullw 8,6,7 1159 mulhwu 9,6,7 1160 addc 12,12,8 1161 adde 10,10,9 1162 addze 11,11 1163 1164 lwz 6,16(4) 1165 lwz 7,16(5) 1166 mullw 8,6,7 1167 mulhwu 9,6,7 1168 addc 12,12,8 1169 adde 10,10,9 1170 addze 11,11 1171 1172 lwz 6,12(4) 1173 lwz 7,20(5) 1174 mullw 8,6,7 1175 mulhwu 9,6,7 1176 addc 12,12,8 1177 adde 10,10,9 1178 addze 11,11 1179 1180 lwz 6,8(4) 1181 lwz 7,24(5) 1182 mullw 8,6,7 1183 mulhwu 9,6,7 1184 addc 12,12,8 1185 adde 10,10,9 1186 addze 11,11 1187 1188 lwz 6,4(4) 1189 lwz 7,28(5) 1190 mullw 8,6,7 1191 mulhwu 9,6,7 1192 addc 12,12,8 1193 adde 10,10,9 1194 addze 11,11 1195 stw 12,32(3) 1196 1197 lwz 6,8(4) 1198 mullw 8,6,7 1199 mulhwu 9,6,7 1200 addc 10,10,8 1201 adde 11,11,9 1202 addze 12,0 1203 1204 lwz 6,12(4) 1205 lwz 7,24(5) 1206 mullw 8,6,7 1207 mulhwu 9,6,7 1208 addc 10,10,8 1209 adde 11,11,9 1210 addze 12,12 1211 1212 lwz 6,16(4) 1213 lwz 7,20(5) 1214 mullw 8,6,7 1215 mulhwu 9,6,7 1216 addc 10,10,8 1217 adde 11,11,9 1218 addze 12,12 1219 1220 lwz 6,20(4) 1221 lwz 7,16(5) 1222 mullw 8,6,7 1223 mulhwu 9,6,7 1224 addc 10,10,8 1225 adde 11,11,9 1226 addze 12,12 1227 1228 lwz 6,24(4) 1229 lwz 7,12(5) 1230 mullw 8,6,7 1231 mulhwu 9,6,7 1232 addc 10,10,8 1233 adde 11,11,9 1234 addze 12,12 1235 1236 lwz 6,28(4) 1237 lwz 7,8(5) 1238 mullw 8,6,7 1239 mulhwu 9,6,7 1240 addc 10,10,8 1241 adde 11,11,9 1242 addze 12,12 1243 stw 10,36(3) 1244 1245 lwz 7,12(5) 1246 mullw 8,6,7 1247 mulhwu 9,6,7 1248 addc 11,11,8 1249 adde 12,12,9 1250 addze 10,0 1251 1252 lwz 6,24(4) 1253 lwz 7,16(5) 1254 mullw 8,6,7 1255 mulhwu 9,6,7 1256 addc 11,11,8 1257 adde 12,12,9 1258 addze 10,10 1259 1260 lwz 6,20(4) 1261 lwz 7,20(5) 1262 mullw 8,6,7 1263 mulhwu 9,6,7 1264 addc 11,11,8 1265 adde 12,12,9 1266 addze 10,10 1267 1268 lwz 6,16(4) 1269 lwz 7,24(5) 1270 mullw 8,6,7 1271 mulhwu 9,6,7 1272 addc 11,11,8 1273 adde 12,12,9 1274 addze 10,10 1275 1276 lwz 6,12(4) 1277 lwz 7,28(5) 1278 mullw 8,6,7 1279 mulhwu 9,6,7 1280 addc 11,11,8 1281 adde 12,12,9 1282 addze 10,10 1283 stw 11,40(3) 1284 1285 lwz 6,16(4) 1286 mullw 8,6,7 1287 mulhwu 9,6,7 1288 addc 12,12,8 1289 adde 10,10,9 1290 addze 11,0 1291 1292 lwz 6,20(4) 1293 lwz 7,24(5) 1294 mullw 8,6,7 1295 mulhwu 9,6,7 1296 addc 12,12,8 1297 adde 10,10,9 1298 addze 11,11 1299 1300 lwz 6,24(4) 1301 lwz 7,20(5) 1302 mullw 8,6,7 1303 mulhwu 9,6,7 1304 addc 12,12,8 1305 adde 10,10,9 1306 addze 11,11 1307 1308 lwz 6,28(4) 1309 lwz 7,16(5) 1310 mullw 8,6,7 1311 mulhwu 9,6,7 1312 addc 12,12,8 1313 adde 10,10,9 1314 addze 11,11 1315 stw 12,44(3) 1316 1317 lwz 7,20(5) 1318 mullw 8,6,7 1319 mulhwu 9,6,7 1320 addc 10,10,8 1321 adde 11,11,9 1322 addze 12,0 1323 1324 lwz 6,24(4) 1325 lwz 7,24(5) 1326 mullw 8,6,7 1327 mulhwu 9,6,7 1328 addc 10,10,8 1329 adde 11,11,9 1330 addze 12,12 1331 1332 lwz 6,20(4) 1333 lwz 7,28(5) 1334 mullw 8,6,7 1335 mulhwu 9,6,7 1336 addc 10,10,8 1337 adde 11,11,9 1338 addze 12,12 1339 stw 10,48(3) 1340 1341 lwz 6,24(4) 1342 mullw 8,6,7 1343 mulhwu 9,6,7 1344 addc 11,11,8 1345 adde 12,12,9 1346 addze 10,0 1347 1348 lwz 6,28(4) 1349 lwz 7,24(5) 1350 mullw 8,6,7 1351 mulhwu 9,6,7 1352 addc 11,11,8 1353 adde 12,12,9 1354 addze 10,10 1355 stw 11,52(3) 1356 1357 lwz 7,28(5) 1358 mullw 8,6,7 1359 mulhwu 9,6,7 1360 addc 12,12,8 1361 adde 10,10,9 1362 stw 12,56(3) 1363 stw 10,60(3) 1364 blr 1365.long 0 1366.byte 0,12,0x14,0,0,0,3,0 1367.long 0 1368.size bn_mul_comba8,.-bn_mul_comba8 1369 1370 1371 1372 1373 1374 1375 1376 1377.align 4 1378bn_sub_words: 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 xor 0,0,0 1393 1394 1395 1396 subfc. 7,0,6 1397 1398 1399 beq .Lppcasm_sub_adios 1400 addi 4,4,-4 1401 addi 3,3,-4 1402 addi 5,5,-4 1403 mtctr 6 1404.Lppcasm_sub_mainloop: 1405 lwzu 7,4(4) 1406 lwzu 8,4(5) 1407 subfe 6,8,7 1408 1409 1410 stwu 6,4(3) 1411 bdnz .Lppcasm_sub_mainloop 1412.Lppcasm_sub_adios: 1413 subfze 3,0 1414 andi. 3,3,1 1415 blr 1416.long 0 1417.byte 0,12,0x14,0,0,0,4,0 1418.long 0 1419.size bn_sub_words,.-bn_sub_words 1420 1421 1422 1423 1424 1425 1426 1427 1428.align 4 1429bn_add_words: 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 xor 0,0,0 1444 1445 1446 1447 addic. 6,6,0 1448 beq .Lppcasm_add_adios 1449 addi 4,4,-4 1450 addi 3,3,-4 1451 addi 5,5,-4 1452 mtctr 6 1453.Lppcasm_add_mainloop: 1454 lwzu 7,4(4) 1455 lwzu 8,4(5) 1456 adde 8,7,8 1457 stwu 8,4(3) 1458 bdnz .Lppcasm_add_mainloop 1459.Lppcasm_add_adios: 1460 addze 3,0 1461 blr 1462.long 0 1463.byte 0,12,0x14,0,0,0,4,0 1464.long 0 1465.size bn_add_words,.-bn_add_words 1466 1467 1468 1469 1470 1471 1472 1473 1474.align 4 1475bn_div_words: 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 cmplwi 0,5,0 1488 bne .Lppcasm_div1 1489 li 3,-1 1490 blr 1491.Lppcasm_div1: 1492 xor 0,0,0 1493 li 8,32 1494 cntlzw. 7,5 1495 beq .Lppcasm_div2 1496 subf 8,7,8 1497 srw. 9,3,8 1498 tw 16,9,0 1499.Lppcasm_div2: 1500 .long 0x7c032840 1501 blt .Lppcasm_div3 1502 subf 3,5,3 1503.Lppcasm_div3: 1504 cmpi 0,0,7,0 1505 beq .Lppcasm_div4 1506 slw 3,3,7 1507 srw 8,4,8 1508 slw 5,5,7 1509 or 3,3,8 1510 slw 4,4,7 1511.Lppcasm_div4: 1512 srwi 9,5,16 1513 1514 1515 li 6,2 1516 mtctr 6 1517.Lppcasm_divouterloop: 1518 srwi 8,3,16 1519 srwi 11,4,16 1520 1521 .long 0x7c084840 1522 bne .Lppcasm_div5 1523 1524 li 8,-1 1525 clrlwi 8,8,16 1526 b .Lppcasm_div6 1527.Lppcasm_div5: 1528 divwu 8,3,9 1529.Lppcasm_div6: 1530 mullw 12,9,8 1531 clrlwi 10,5,16 1532 mullw 6,8,10 1533 1534.Lppcasm_divinnerloop: 1535 subf 10,12,3 1536 srwi 7,10,16 1537 addic. 7,7,0 1538 1539 1540 1541 slwi 7,10,16 1542 or 7,7,11 1543 .long 0x7c863840 1544 bne .Lppcasm_divinnerexit 1545 ble 1,.Lppcasm_divinnerexit 1546 addi 8,8,-1 1547 subf 12,9,12 1548 clrlwi 10,5,16 1549 subf 6,10,6 1550 b .Lppcasm_divinnerloop 1551.Lppcasm_divinnerexit: 1552 srwi 10,6,16 1553 slwi 11,6,16 1554 .long 0x7c845840 1555 add 12,12,10 1556 bge 1,.Lppcasm_div7 1557 addi 12,12,1 1558.Lppcasm_div7: 1559 subf 11,11,4 1560 .long 0x7c836040 1561 bge 1,.Lppcasm_div8 1562 addi 8,8,-1 1563 add 3,5,3 1564.Lppcasm_div8: 1565 subf 12,12,3 1566 slwi 4,11,16 1567 1568 1569 1570 insrwi 11,12,16,16 1571 rotlwi 3,11,16 1572 bdz .Lppcasm_div9 1573 slwi 0,8,16 1574 b .Lppcasm_divouterloop 1575.Lppcasm_div9: 1576 or 3,8,0 1577 blr 1578.long 0 1579.byte 0,12,0x14,0,0,0,3,0 1580.long 0 1581.size bn_div_words,.-bn_div_words 1582 1583 1584 1585 1586 1587 1588 1589.align 4 1590bn_sqr_words: 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 addic. 5,5,0 1606 beq .Lppcasm_sqr_adios 1607 addi 4,4,-4 1608 addi 3,3,-4 1609 mtctr 5 1610.Lppcasm_sqr_mainloop: 1611 1612 lwzu 6,4(4) 1613 mullw 7,6,6 1614 mulhwu 8,6,6 1615 stwu 7,4(3) 1616 stwu 8,4(3) 1617 bdnz .Lppcasm_sqr_mainloop 1618.Lppcasm_sqr_adios: 1619 blr 1620.long 0 1621.byte 0,12,0x14,0,0,0,3,0 1622.long 0 1623.size bn_sqr_words,.-bn_sqr_words 1624 1625 1626 1627 1628 1629 1630 1631 1632.align 4 1633bn_mul_words: 1634 1635 1636 1637 1638 1639 1640 1641 xor 0,0,0 1642 xor 12,12,12 1643 rlwinm. 7,5,30,2,31 1644 beq .Lppcasm_mw_REM 1645 mtctr 7 1646.Lppcasm_mw_LOOP: 1647 1648 lwz 8,0(4) 1649 mullw 9,6,8 1650 mulhwu 10,6,8 1651 addc 9,9,12 1652 1653 1654 1655 1656 stw 9,0(3) 1657 1658 lwz 8,4(4) 1659 mullw 11,6,8 1660 mulhwu 12,6,8 1661 adde 11,11,10 1662 1663 stw 11,4(3) 1664 1665 lwz 8,8(4) 1666 mullw 9,6,8 1667 mulhwu 10,6,8 1668 adde 9,9,12 1669 1670 stw 9,8(3) 1671 1672 lwz 8,12(4) 1673 mullw 11,6,8 1674 mulhwu 12,6,8 1675 adde 11,11,10 1676 addze 12,12 1677 1678 stw 11,12(3) 1679 1680 addi 3,3,16 1681 addi 4,4,16 1682 bdnz .Lppcasm_mw_LOOP 1683 1684.Lppcasm_mw_REM: 1685 andi. 5,5,0x3 1686 beq .Lppcasm_mw_OVER 1687 1688 lwz 8,0(4) 1689 mullw 9,6,8 1690 mulhwu 10,6,8 1691 addc 9,9,12 1692 addze 10,10 1693 stw 9,0(3) 1694 addi 12,10,0 1695 1696 addi 5,5,-1 1697 cmpli 0,0,5,0 1698 beq .Lppcasm_mw_OVER 1699 1700 1701 1702 lwz 8,4(4) 1703 mullw 9,6,8 1704 mulhwu 10,6,8 1705 addc 9,9,12 1706 addze 10,10 1707 stw 9,4(3) 1708 addi 12,10,0 1709 1710 addi 5,5,-1 1711 cmpli 0,0,5,0 1712 beq .Lppcasm_mw_OVER 1713 1714 1715 lwz 8,8(4) 1716 mullw 9,6,8 1717 mulhwu 10,6,8 1718 addc 9,9,12 1719 addze 10,10 1720 stw 9,8(3) 1721 addi 12,10,0 1722 1723.Lppcasm_mw_OVER: 1724 addi 3,12,0 1725 blr 1726.long 0 1727.byte 0,12,0x14,0,0,0,4,0 1728.long 0 1729.size bn_mul_words,.-bn_mul_words 1730 1731 1732 1733 1734 1735 1736 1737 1738.align 4 1739bn_mul_add_words: 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 xor 0,0,0 1751 xor 12,12,12 1752 rlwinm. 7,5,30,2,31 1753 beq .Lppcasm_maw_leftover 1754 mtctr 7 1755.Lppcasm_maw_mainloop: 1756 1757 lwz 8,0(4) 1758 lwz 11,0(3) 1759 mullw 9,6,8 1760 mulhwu 10,6,8 1761 addc 9,9,12 1762 addze 10,10 1763 addc 9,9,11 1764 1765 1766 1767 1768 1769 1770 stw 9,0(3) 1771 1772 1773 lwz 8,4(4) 1774 lwz 9,4(3) 1775 mullw 11,6,8 1776 mulhwu 12,6,8 1777 adde 11,11,10 1778 addze 12,12 1779 addc 11,11,9 1780 1781 stw 11,4(3) 1782 1783 1784 lwz 8,8(4) 1785 mullw 9,6,8 1786 lwz 11,8(3) 1787 mulhwu 10,6,8 1788 adde 9,9,12 1789 addze 10,10 1790 addc 9,9,11 1791 1792 stw 9,8(3) 1793 1794 1795 lwz 8,12(4) 1796 mullw 11,6,8 1797 lwz 9,12(3) 1798 mulhwu 12,6,8 1799 adde 11,11,10 1800 addze 12,12 1801 addc 11,11,9 1802 addze 12,12 1803 stw 11,12(3) 1804 addi 3,3,16 1805 addi 4,4,16 1806 bdnz .Lppcasm_maw_mainloop 1807 1808.Lppcasm_maw_leftover: 1809 andi. 5,5,0x3 1810 beq .Lppcasm_maw_adios 1811 addi 3,3,-4 1812 addi 4,4,-4 1813 1814 mtctr 5 1815 lwzu 8,4(4) 1816 mullw 9,6,8 1817 mulhwu 10,6,8 1818 lwzu 11,4(3) 1819 addc 9,9,11 1820 addze 10,10 1821 addc 9,9,12 1822 addze 12,10 1823 stw 9,0(3) 1824 1825 bdz .Lppcasm_maw_adios 1826 1827 lwzu 8,4(4) 1828 mullw 9,6,8 1829 mulhwu 10,6,8 1830 lwzu 11,4(3) 1831 addc 9,9,11 1832 addze 10,10 1833 addc 9,9,12 1834 addze 12,10 1835 stw 9,0(3) 1836 1837 bdz .Lppcasm_maw_adios 1838 1839 lwzu 8,4(4) 1840 mullw 9,6,8 1841 mulhwu 10,6,8 1842 lwzu 11,4(3) 1843 addc 9,9,11 1844 addze 10,10 1845 addc 9,9,12 1846 addze 12,10 1847 stw 9,0(3) 1848 1849.Lppcasm_maw_adios: 1850 addi 3,12,0 1851 blr 1852.long 0 1853.byte 0,12,0x14,0,0,0,4,0 1854.long 0 1855.size bn_mul_add_words,.-bn_mul_add_words 1856.align 4 1857