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