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