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