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