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