1 .machine "any" 2 .csect .text[PR],7 3 .globl .poly1305_init_int 4 .align 4 5 .poly1305_init_int: 6 xor 0,0,0 7 std 0,0(3) 8 std 0,8(3) 9 std 0,16(3) 10 stw 0,24(3) 11 12 cmpld 4,0 13 beq- Lno_key 14 li 7,4 15 lwbrx 10,0,4 16 li 11,8 17 lwbrx 7,7,4 18 li 8,12 19 lwbrx 11,11,4 20 lwbrx 8,8,4 21 insrdi 10,7,32,0 22 insrdi 11,8,32,0 23 lis 8,0xfff 24 ori 8,8,0xfffc 25 insrdi 8,8,32,0 26 ori 7,8,3 27 28 and 10,10,7 29 and 11,11,8 30 31 std 10,32(3) 32 std 11,40(3) 33 34 Lno_key: 35 xor 3,3,3 36 blr 37 .long 0 38 .byte 0,12,0x14,0,0,0,2,0 39 40 41 .globl .poly1305_blocks 42 .align 4 43 .poly1305_blocks: 44 Lpoly1305_blocks: 45 srdi. 5,5,4 46 beq- Labort 47 48 stdu 1,-192(1) 49 mflr 0 50 std 27,152(1) 51 std 28,160(1) 52 std 29,168(1) 53 std 30,176(1) 54 std 31,184(1) 55 std 0,208(1) 56 57 ld 27,32(3) 58 ld 28,40(3) 59 60 ld 7,0(3) 61 ld 8,8(3) 62 ld 9,16(3) 63 64 srdi 29,28,2 65 mtctr 5 66 add 29,29,28 67 li 0,3 68 b Loop 69 70 .align 4 71 Loop: 72 li 10,4 73 lwbrx 30,0,4 74 li 31,8 75 lwbrx 10,10,4 76 li 11,12 77 lwbrx 31,31,4 78 lwbrx 11,11,4 79 insrdi 30,10,32,0 80 insrdi 31,11,32,0 81 addi 4,4,16 82 83 addc 7,7,30 84 adde 8,8,31 85 86 mulld 10,7,27 87 mulhdu 11,7,27 88 adde 9,9,6 89 90 mulld 30,8,29 91 mulhdu 31,8,29 92 addc 10,10,30 93 adde 11,11,31 94 95 mulld 30,7,28 96 mulhdu 12,7,28 97 addc 11,11,30 98 addze 12,12 99 100 mulld 30,8,27 101 mulhdu 31,8,27 102 addc 11,11,30 103 adde 12,12,31 104 105 mulld 30,9,29 106 mulld 31,9,27 107 addc 11,11,30 108 adde 12,12,31 109 110 andc 30,12,0 111 and 9,12,0 112 srdi 31,30,2 113 add 30,30,31 114 addc 7,10,30 115 addze 8,11 116 addze 9,9 117 118 bc 16,0,Loop 119 120 std 7,0(3) 121 std 8,8(3) 122 std 9,16(3) 123 124 ld 27,152(1) 125 ld 28,160(1) 126 ld 29,168(1) 127 ld 30,176(1) 128 ld 31,184(1) 129 addi 1,1,192 130 Labort: 131 blr 132 .long 0 133 .byte 0,12,4,1,0x80,5,4,0 134 135 .globl .poly1305_emit 136 .align 5 137 .poly1305_emit: 138 lwz 7,0(3) 139 lwz 8,4(3) 140 lwz 9,8(3) 141 lwz 10,12(3) 142 lwz 11,16(3) 143 lwz 0,24(3) 144 145 sldi 8,8,26 146 sldi 12,9,52 147 srdi 9,9,12 148 sldi 10,10,14 149 add 7,7,8 150 addc 7,7,12 151 sldi 12,11,40 152 srdi 11,11,24 153 adde 8,9,10 154 addc 8,8,12 155 addze 9,11 156 157 ld 10,0(3) 158 ld 11,8(3) 159 ld 12,16(3) 160 161 neg 0,0 162 xor 7,7,10 163 xor 8,8,11 164 xor 9,9,12 165 and 7,7,0 166 and 8,8,0 167 and 9,9,0 168 xor 7,7,10 169 xor 8,8,11 170 xor 9,9,12 171 172 addic 10,7,5 173 addze 11,8 174 addze 12,9 175 176 srdi 12,12,2 177 neg 12,12 178 179 andc 7,7,12 180 and 10,10,12 181 andc 8,8,12 182 and 11,11,12 183 or 7,7,10 184 or 8,8,11 185 186 lwz 12,4(5) 187 lwz 9,12(5) 188 lwz 10,0(5) 189 lwz 11,8(5) 190 191 insrdi 10,12,32,0 192 insrdi 11,9,32,0 193 194 addc 7,7,10 195 adde 8,8,11 196 197 addi 3,4,-1 198 addi 4,4,7 199 200 stbu 7,1(3) 201 srdi 7,7,8 202 stbu 8,1(4) 203 srdi 8,8,8 204 205 stbu 7,1(3) 206 srdi 7,7,8 207 stbu 8,1(4) 208 srdi 8,8,8 209 210 stbu 7,1(3) 211 srdi 7,7,8 212 stbu 8,1(4) 213 srdi 8,8,8 214 215 stbu 7,1(3) 216 srdi 7,7,8 217 stbu 8,1(4) 218 srdi 8,8,8 219 220 stbu 7,1(3) 221 srdi 7,7,8 222 stbu 8,1(4) 223 srdi 8,8,8 224 225 stbu 7,1(3) 226 srdi 7,7,8 227 stbu 8,1(4) 228 srdi 8,8,8 229 230 stbu 7,1(3) 231 srdi 7,7,8 232 stbu 8,1(4) 233 srdi 8,8,8 234 235 stbu 7,1(3) 236 stbu 8,1(4) 237 238 blr 239 .long 0 240 .byte 0,12,0x14,0,0,0,3,0 241 242 .globl .poly1305_blocks_vsx 243 .align 5 244 .poly1305_blocks_vsx: 245 lwz 7,24(3) 246 cmpldi 5,128 247 bge __poly1305_blocks_vsx 248 249 neg 0,7 250 lwz 7,0(3) 251 lwz 8,4(3) 252 lwz 9,8(3) 253 lwz 10,12(3) 254 lwz 11,16(3) 255 256 sldi 8,8,26 257 sldi 12,9,52 258 add 7,7,8 259 srdi 9,9,12 260 sldi 10,10,14 261 addc 7,7,12 262 sldi 8,11,40 263 adde 9,9,10 264 srdi 11,11,24 265 addc 9,9,8 266 addze 11,11 267 268 ld 8,0(3) 269 ld 10,8(3) 270 ld 12,16(3) 271 272 xor 7,7,8 273 xor 9,9,10 274 xor 11,11,12 275 and 7,7,0 276 and 9,9,0 277 and 11,11,0 278 xor 7,7,8 279 xor 9,9,10 280 xor 11,11,12 281 282 li 0,0 283 std 7,0(3) 284 std 9,8(3) 285 std 11,16(3) 286 stw 0,24(3) 287 288 b Lpoly1305_blocks 289 .long 0 290 .byte 0,12,0x14,0,0,0,4,0 291 292 293 .align 5 294 __poly1305_mul: 295 mulld 9,6,27 296 mulhdu 10,6,27 297 298 mulld 30,7,29 299 mulhdu 31,7,29 300 addc 9,9,30 301 adde 10,10,31 302 303 mulld 30,6,28 304 mulhdu 11,6,28 305 addc 10,10,30 306 addze 11,11 307 308 mulld 30,7,27 309 mulhdu 31,7,27 310 addc 10,10,30 311 adde 11,11,31 312 313 mulld 30,8,29 314 mulld 31,8,27 315 addc 10,10,30 316 adde 11,11,31 317 318 andc 30,11,0 319 and 8,11,0 320 srdi 31,30,2 321 add 30,30,31 322 addc 6,9,30 323 addze 7,10 324 addze 8,8 325 326 blr 327 .long 0 328 .byte 0,12,0x14,0,0,0,0,0 329 330 331 .align 5 332 __poly1305_splat: 333 rldicl 9,6,0,38 334 rldicl 10,6,38,38 335 stw 9,0x00(31) 336 337 rldicl 11,6,12,52 338 slwi 9,10,2 339 stw 10,0x10(31) 340 add 9,9,10 341 stw 9,0x20(31) 342 343 insrdi 11,7,14,38 344 slwi 9,11,2 345 stw 11,0x30(31) 346 add 9,9,11 347 stw 9,0x40(31) 348 349 rldicl 10,7,50,38 350 rldicl 11,7,24,40 351 slwi 9,10,2 352 stw 10,0x50(31) 353 add 9,9,10 354 stw 9,0x60(31) 355 356 insrdi 11,8,3,37 357 slwi 9,11,2 358 stw 11,0x70(31) 359 add 9,9,11 360 stw 9,0x80(31) 361 362 blr 363 .long 0 364 .byte 0,12,0x14,0,0,0,0,0 365 366 367 .align 5 368 __poly1305_blocks_vsx: 369 stdu 1,-416(1) 370 mflr 0 371 li 10,191 372 li 11,207 373 li 12,-1 374 stvx 20,10,1 375 addi 10,10,32 376 stvx 21,11,1 377 addi 11,11,32 378 stvx 22,10,1 379 addi 10,10,32 380 stvx 23,11,1 381 addi 11,11,32 382 stvx 24,10,1 383 addi 10,10,32 384 stvx 25,11,1 385 addi 11,11,32 386 stvx 26,10,1 387 addi 10,10,32 388 stvx 27,11,1 389 addi 11,11,32 390 stvx 28,10,1 391 addi 10,10,32 392 stvx 29,11,1 393 addi 11,11,32 394 stvx 30,10,1 395 stvx 31,11,1 396 stw 12,372(1) 397 li 12,-1 398 or 12,12,12 399 std 27,376(1) 400 std 28,384(1) 401 std 29,392(1) 402 std 30,400(1) 403 std 31,408(1) 404 std 0,432(1) 405 406 bl LPICmeup 407 408 li 27,0x10 409 li 28,0x20 410 li 29,0x30 411 li 30,0x40 412 li 31,0x50 413 .long 0x7FA06699 414 .long 0x7F3B6699 415 .long 0x7F7C6699 416 .long 0x7FFD6699 417 .long 0x7FDE6699 418 419 cmplwi 7,0 420 bne Lskip_init_vsx 421 422 ld 27,32(3) 423 ld 28,40(3) 424 srdi 29,28,2 425 li 0,3 426 add 29,29,28 427 428 mr 6,27 429 mr 7,28 430 li 8,0 431 addi 31,3,56 432 bl __poly1305_splat 433 434 bl __poly1305_mul 435 addi 31,3,48 436 bl __poly1305_splat 437 438 bl __poly1305_mul 439 addi 31,3,60 440 bl __poly1305_splat 441 442 bl __poly1305_mul 443 addi 31,3,52 444 bl __poly1305_splat 445 446 ld 6,0(3) 447 ld 7,8(3) 448 ld 8,16(3) 449 450 rldicl 9,6,0,38 451 rldicl 10,6,38,38 452 rldicl 11,6,12,52 453 .long 0x7C0901E7 454 insrdi 11,7,14,38 455 .long 0x7C2A01E7 456 rldicl 10,7,50,38 457 .long 0x7C4B01E7 458 rldicl 11,7,24,40 459 .long 0x7C6A01E7 460 insrdi 11,8,3,37 461 .long 0x7C8B01E7 462 li 0,1 463 stw 0,24(3) 464 b Loaded_vsx 465 466 .align 4 467 Lskip_init_vsx: 468 li 27,4 469 li 28,8 470 li 29,12 471 li 30,16 472 .long 0x7C001819 473 .long 0x7C3B1819 474 .long 0x7C5C1819 475 .long 0x7C7D1819 476 .long 0x7C9E1819 477 478 Loaded_vsx: 479 li 27,0x10 480 li 28,0x20 481 li 29,0x30 482 li 30,0x40 483 li 31,0x50 484 li 7,0x60 485 li 8,0x70 486 addi 10,3,64 487 addi 11,1,63 488 489 vxor 20,20,20 490 .long 0xF000A057 491 .long 0xF021A057 492 .long 0xF042A057 493 .long 0xF063A057 494 .long 0xF084A057 495 496 .long 0x7F5F6699 497 .long 0x7EA02699 498 .long 0x7EDB2699 499 .long 0x7EFC2699 500 .long 0x7F1D2699 501 vperm 21,21,21,26 502 vperm 22,22,22,26 503 vperm 23,23,23,26 504 vperm 24,24,24,26 505 506 .long 0xF0B5B057 507 vspltisb 26,4 508 vperm 7,21,22,31 509 vspltisb 28,14 510 .long 0xF115B357 511 512 .long 0x10C5CEC4 513 .long 0x10E7D6C4 514 .long 0x1128DEC4 515 .long 0x1108E6C4 516 vand 5,5,29 517 vand 6,6,29 518 vand 7,7,29 519 vand 8,8,29 520 521 .long 0xF2B7C057 522 vperm 22,23,24,31 523 .long 0xF2F7C357 524 525 .long 0x1295CEC4 526 .long 0x12D6D6C4 527 .long 0x1317DEC4 528 .long 0x12F7E6C4 529 vand 21,21,29 530 vand 20,20,29 531 vand 22,22,29 532 vand 23,23,29 533 534 535 .long 0x11384E8C 536 .long 0x10B52E8C 537 .long 0x10D4368C 538 .long 0x10F63E8C 539 .long 0x1117468C 540 vor 9,9,30 541 542 .long 0x7D5D1A99 543 .long 0x7D605299 544 .long 0x7D9B5299 545 .long 0x7DBC5299 546 .long 0x7DDD5299 547 .long 0x7EBE5299 548 .long 0x7EDF5299 549 .long 0x7EE75299 550 .long 0x7F085299 551 stvx 11,0,11 552 stvx 12,27,11 553 stvx 13,28,11 554 stvx 14,29,11 555 stvx 21,30,11 556 stvx 22,31,11 557 stvx 23,7,11 558 stvx 24,8,11 559 560 addi 4,4,0x40 561 addi 12,12,0x50 562 addi 0,5,-64 563 srdi 0,0,6 564 mtctr 0 565 b Loop_vsx 566 567 .align 4 568 Loop_vsx: 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 .long 0x11E55288 584 .long 0x12055A88 585 .long 0x12256A88 586 .long 0x12466A88 587 588 .long 0x12865288 589 .long 0x1210A0C0 590 .long 0x12865A88 591 .long 0x1231A0C0 592 .long 0x12676A88 593 .long 0x12896288 594 .long 0x11EFA0C0 595 .long 0x12875A88 596 .long 0x1252A0C0 597 lvx 12,31,11 598 .long 0x12885A88 599 .long 0x1273A0C0 600 lvx 11,30,11 601 602 .long 0x104238C0 603 .long 0x100028C0 604 .long 0x106340C0 605 .long 0x102130C0 606 .long 0x108448C0 607 608 .long 0x12887288 609 .long 0x11EFA0C0 610 .long 0x12897288 611 .long 0x1210A0C0 612 .long 0x12875288 613 .long 0x1231A0C0 614 .long 0x12885288 615 .long 0x1252A0C0 616 lvx 14,8,11 617 .long 0x12895288 618 .long 0x1273A0C0 619 lvx 13,7,11 620 621 .long 0x12876288 622 .long 0x11EFA0C0 623 .long 0x12886288 624 .long 0x1210A0C0 625 .long 0x12896288 626 .long 0x1231A0C0 627 .long 0x12855A88 628 .long 0x1252A0C0 629 .long 0x12865A88 630 .long 0x1273A0C0 631 632 .long 0x7F406699 633 .long 0x7EA02699 634 .long 0x7EDB2699 635 .long 0x7EFC2699 636 .long 0x7F1D2699 637 vperm 21,21,21,26 638 vperm 22,22,22,26 639 vperm 23,23,23,26 640 vperm 24,24,24,26 641 642 .long 0x12867288 643 .long 0x11EFA0C0 644 .long 0x12877288 645 .long 0x1210A0C0 646 .long 0x12887288 647 .long 0x1231A0C0 648 .long 0x12897288 649 .long 0x1252A0C0 650 .long 0x12856A88 651 .long 0x1273A0C0 652 653 .long 0xF0B5B057 654 vspltisb 26,4 655 vperm 7,21,22,31 656 .long 0xF115B357 657 658 659 .long 0x12805088 660 .long 0x11EFA0C0 661 .long 0x12815088 662 .long 0x1210A0C0 663 .long 0x12825088 664 .long 0x1231A0C0 665 .long 0x12835088 666 .long 0x1252A0C0 667 .long 0x12845088 668 .long 0x1273A0C0 669 670 .long 0xF2B7C057 671 vperm 22,23,24,31 672 .long 0xF2F7C357 673 674 .long 0x12826088 675 .long 0x11EFA0C0 676 .long 0x12836088 677 .long 0x1210A0C0 678 .long 0x12846088 679 .long 0x1231A0C0 680 .long 0x12805888 681 .long 0x1252A0C0 682 lvx 12,27,11 683 .long 0x12815888 684 .long 0x1273A0C0 685 lvx 11,0,11 686 687 .long 0x10C5CEC4 688 .long 0x10E7D6C4 689 .long 0x1128DEC4 690 .long 0x1108E6C4 691 692 .long 0x12817088 693 .long 0x11EFA0C0 694 .long 0x12827088 695 .long 0x1210A0C0 696 .long 0x12837088 697 .long 0x1231A0C0 698 .long 0x12847088 699 .long 0x1252A0C0 700 lvx 14,29,11 701 .long 0x12806888 702 .long 0x1273A0C0 703 lvx 13,28,11 704 705 vand 5,5,29 706 vand 6,6,29 707 vand 7,7,29 708 vand 8,8,29 709 710 .long 0x12846088 711 .long 0x11EFA0C0 712 .long 0x12805888 713 .long 0x1210A0C0 714 .long 0x12815888 715 .long 0x1231A0C0 716 .long 0x12825888 717 .long 0x1252A0C0 718 .long 0x12835888 719 .long 0x1273A0C0 720 721 .long 0x12D6D6C4 722 .long 0x1355CEC4 723 .long 0x1317DEC4 724 .long 0x12F7E6C4 725 726 .long 0x12837088 727 .long 0x11EFA0C0 728 .long 0x12847088 729 .long 0x1210A0C0 730 .long 0x12806888 731 .long 0x1231A0C0 732 .long 0x12816888 733 .long 0x1252A0C0 734 .long 0x12826888 735 .long 0x1273A0C0 736 737 vand 21,21,29 738 vand 26,26,29 739 vand 22,22,29 740 vand 23,23,29 741 742 743 744 745 746 vspltisb 20,2 747 .long 0x1092CEC4 748 .long 0x102FCEC4 749 vand 3,18,29 750 vand 0,15,29 751 .long 0x108498C0 752 .long 0x102180C0 753 754 .long 0x11384E8C 755 .long 0x10B52E8C 756 .long 0x10DA368C 757 .long 0x10F63E8C 758 .long 0x1117468C 759 vor 9,9,30 760 761 .long 0x1264CEC4 762 .long 0x1201CEC4 763 vand 4,4,29 764 vand 1,1,29 765 .long 0x100098C0 766 .long 0x105180C0 767 768 .long 0x1273A5C4 769 .long 0x1222CEC4 770 vand 2,2,29 771 .long 0x100098C0 772 .long 0x106388C0 773 774 .long 0x11E0CEC4 775 .long 0x1243CEC4 776 vand 0,0,29 777 vand 3,3,29 778 .long 0x102178C0 779 .long 0x108490C0 780 781 addi 4,4,0x40 782 bc 16,0,Loop_vsx 783 784 neg 5,5 785 andi. 5,5,0x30 786 sub 4,4,5 787 788 .long 0x7D5D1E99 789 .long 0x7D605699 790 .long 0x7D9B5699 791 .long 0x7DBC5699 792 .long 0x7DDD5699 793 794 Last_vsx: 795 .long 0x11E55288 796 .long 0x12065288 797 .long 0x12275288 798 .long 0x12485288 799 .long 0x12695288 800 801 .long 0x12896288 802 .long 0x11EFA0C0 803 .long 0x12855A88 804 .long 0x1210A0C0 805 .long 0x12865A88 806 .long 0x1231A0C0 807 .long 0x12875A88 808 .long 0x1252A0C0 809 .long 0x7D9F5699 810 .long 0x12885A88 811 .long 0x1273A0C0 812 .long 0x7D7E5699 813 814 .long 0x104238C0 815 .long 0x100028C0 816 .long 0x106340C0 817 .long 0x102130C0 818 .long 0x108448C0 819 820 .long 0x12887288 821 .long 0x11EFA0C0 822 .long 0x12897288 823 .long 0x1210A0C0 824 .long 0x12856A88 825 .long 0x1231A0C0 826 .long 0x12866A88 827 .long 0x1252A0C0 828 .long 0x7DC85699 829 .long 0x12876A88 830 .long 0x1273A0C0 831 .long 0x7DA75699 832 833 .long 0x12876288 834 .long 0x11EFA0C0 835 .long 0x12886288 836 .long 0x1210A0C0 837 .long 0x12896288 838 .long 0x1231A0C0 839 .long 0x12855A88 840 .long 0x1252A0C0 841 .long 0x12865A88 842 .long 0x1273A0C0 843 844 .long 0x12867288 845 .long 0x11EFA0C0 846 .long 0x12877288 847 .long 0x1210A0C0 848 .long 0x12887288 849 .long 0x1231A0C0 850 .long 0x12897288 851 .long 0x1252A0C0 852 .long 0x12856A88 853 .long 0x1273A0C0 854 855 856 .long 0x12805088 857 .long 0x11EFA0C0 858 .long 0x12815088 859 .long 0x1210A0C0 860 .long 0x12825088 861 .long 0x1231A0C0 862 .long 0x12835088 863 .long 0x1252A0C0 864 .long 0x12845088 865 .long 0x1273A0C0 866 867 .long 0x12826088 868 .long 0x11EFA0C0 869 .long 0x12836088 870 .long 0x1210A0C0 871 .long 0x12846088 872 .long 0x1231A0C0 873 .long 0x12805888 874 .long 0x1252A0C0 875 .long 0x7D9B5699 876 .long 0x12815888 877 .long 0x1273A0C0 878 .long 0x7D605699 879 880 .long 0x12817088 881 .long 0x11EFA0C0 882 .long 0x12827088 883 .long 0x1210A0C0 884 .long 0x12837088 885 .long 0x1231A0C0 886 .long 0x12847088 887 .long 0x1252A0C0 888 .long 0x7DDD5699 889 .long 0x12806888 890 .long 0x1273A0C0 891 .long 0x7DBC5699 892 893 .long 0x12846088 894 .long 0x11EFA0C0 895 .long 0x12805888 896 .long 0x1210A0C0 897 .long 0x12815888 898 .long 0x1231A0C0 899 .long 0x12825888 900 .long 0x1252A0C0 901 .long 0x12835888 902 .long 0x1273A0C0 903 904 .long 0x12837088 905 .long 0x11EFA0C0 906 .long 0x12847088 907 .long 0x1210A0C0 908 .long 0x12806888 909 .long 0x1231A0C0 910 .long 0x12816888 911 .long 0x1252A0C0 912 .long 0x12826888 913 .long 0x1273A0C0 914 915 916 917 918 .long 0xF00F7A57 919 .long 0xF0308257 920 .long 0xF0518A57 921 .long 0xF0729257 922 .long 0xF0939A57 923 .long 0x11EF00C0 924 .long 0x121008C0 925 .long 0x123110C0 926 .long 0x125218C0 927 .long 0x127320C0 928 929 930 931 932 vspltisb 20,2 933 .long 0x1092CEC4 934 .long 0x102FCEC4 935 vand 3,18,29 936 vand 0,15,29 937 .long 0x108498C0 938 .long 0x102180C0 939 940 .long 0x1264CEC4 941 .long 0x1201CEC4 942 vand 4,4,29 943 vand 1,1,29 944 .long 0x100098C0 945 .long 0x105180C0 946 947 .long 0x1273A5C4 948 .long 0x1222CEC4 949 vand 2,2,29 950 .long 0x100098C0 951 .long 0x106388C0 952 953 .long 0x11E0CEC4 954 .long 0x1243CEC4 955 vand 0,0,29 956 vand 3,3,29 957 .long 0x102178C0 958 .long 0x108490C0 959 960 beq Ldone_vsx 961 962 add 6,12,5 963 964 .long 0x7F406699 965 .long 0x7EA02699 966 .long 0x7EDB2699 967 .long 0x7EFC2699 968 .long 0x7F1D2699 969 vperm 21,21,21,26 970 vperm 22,22,22,26 971 vperm 23,23,23,26 972 vperm 24,24,24,26 973 974 .long 0xF0B5B057 975 vspltisb 26,4 976 vperm 7,21,22,31 977 .long 0xF115B357 978 979 .long 0x10C5CEC4 980 .long 0x10E7D6C4 981 .long 0x1128DEC4 982 .long 0x1108E6C4 983 vand 5,5,29 984 vand 6,6,29 985 vand 7,7,29 986 vand 8,8,29 987 988 .long 0xF297C057 989 vperm 21,23,24,31 990 .long 0xF2D7C357 991 992 .long 0x7DE03699 993 .long 0x7E1D3699 994 995 .long 0x12F4CEC4 996 .long 0x12B5D6C4 997 .long 0x1316DEC4 998 .long 0x12D6E6C4 999 vand 20,20,29 1000 vand 23,23,29 1001 vand 21,21,29 1002 vand 22,22,29 1003 1004 1005 .long 0x11384E8C 1006 .long 0x10B42E8C 1007 .long 0x10D7368C 1008 .long 0x10F53E8C 1009 .long 0x1116468C 1010 vor 9,9,30 1011 1012 vperm 0,0,0,15 1013 vand 5,5, 16 1014 vperm 1,1,1,15 1015 vand 6,6, 16 1016 vperm 2,2,2,15 1017 vand 7,7, 16 1018 vperm 3,3,3,15 1019 vand 8,8, 16 1020 vperm 4,4,4,15 1021 vand 9,9, 16 1022 1023 .long 0x10A500C0 1024 vxor 0,0,0 1025 .long 0x10C608C0 1026 vxor 1,1,1 1027 .long 0x10E710C0 1028 vxor 2,2,2 1029 .long 0x110818C0 1030 vxor 3,3,3 1031 .long 0x112920C0 1032 vxor 4,4,4 1033 1034 xor. 5,5,5 1035 b Last_vsx 1036 1037 .align 4 1038 Ldone_vsx: 1039 ld 0,432(1) 1040 li 27,4 1041 li 28,8 1042 li 29,12 1043 li 30,16 1044 .long 0x7C001919 1045 .long 0x7C3B1919 1046 .long 0x7C5C1919 1047 .long 0x7C7D1919 1048 .long 0x7C9E1919 1049 1050 lwz 12,372(1) 1051 mtlr 0 1052 li 10,191 1053 li 11,207 1054 or 12,12,12 1055 lvx 20,10,1 1056 addi 10,10,32 1057 lvx 21,11,1 1058 addi 11,11,32 1059 lvx 22,10,1 1060 addi 10,10,32 1061 lvx 23,11,1 1062 addi 11,11,32 1063 lvx 24,10,1 1064 addi 10,10,32 1065 lvx 25,11,1 1066 addi 11,11,32 1067 lvx 26,10,1 1068 addi 10,10,32 1069 lvx 27,11,1 1070 addi 11,11,32 1071 lvx 28,10,1 1072 addi 10,10,32 1073 lvx 29,11,1 1074 addi 11,11,32 1075 lvx 30,10,1 1076 lvx 31,11,1 1077 ld 27,376(1) 1078 ld 28,384(1) 1079 ld 29,392(1) 1080 ld 30,400(1) 1081 ld 31,408(1) 1082 addi 1,1,416 1083 blr 1084 .long 0 1085 .byte 0,12,0x04,1,0x80,5,4,0 1086 .long 0 1087 1088 1089 .align 6 1090 LPICmeup: 1091 mflr 0 1092 bcl 20,31,$+4 1093 mflr 12 1094 addi 12,12,56 1095 mtlr 0 1096 blr 1097 .long 0 1098 .byte 0,12,0x14,0,0,0,0,0 1099 .space 28 1100 1101 .long 0x00000000,0x03ffffff 1102 .long 0x00000000,0x03ffffff 1103 .long 0x00000000,0x0000001a 1104 .long 0x00000000,0x0000001a 1105 .long 0x00000000,0x00000028 1106 .long 0x00000000,0x00000028 1107 .long 0x00000000,0x0e0f0001 1108 .long 0x00000000,0x1e1f1011 1109 .long 0x01000000,0x01000000 1110 .long 0x01000000,0x01000000 1111 .long 0x07060504,0x03020100 1112 .long 0x0f0e0d0c,0x0b0a0908 1113 1114 .long 0x00000000,0x00000000 1115 .long 0x00000000,0x04050607 1116 .long 0x04050607,0x00000000 1117 .long 0x00000000,0x00000000 1118 .long 0x00000000,0x00000000 1119 .long 0x04050607,0x00000000 1120 1121 .long 0xffffffff,0x00000000 1122 .long 0xffffffff,0xffffffff 1123 .long 0xffffffff,0x00000000 1124 .long 0xffffffff,0x00000000 1125 .long 0x00000000,0x00000000 1126 .long 0xffffffff,0x00000000 1127 .byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,64,100,111,116,45,97,115,109,0 1128 .align 2 1129