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