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