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