1.machine "any" 2 3.text 4 5.align 7 6rcon: 7.byte 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00 8.byte 0x1b,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b,0x00,0x00,0x00 9.byte 0x0d,0x0e,0x0f,0x0c,0x0d,0x0e,0x0f,0x0c,0x0d,0x0e,0x0f,0x0c,0x0d,0x0e,0x0f,0x0c 10.byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 11.Lconsts: 12 mflr 0 13 bcl 20,31,$+4 14 mflr 6 15 addi 6,6,-0x48 16 mtlr 0 17 blr 18.long 0 19.byte 0,12,0x14,0,0,0,0,0 20.byte 65,69,83,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,32,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 21.align 2 22 23.globl aes_p8_set_encrypt_key 24.type aes_p8_set_encrypt_key,@function 25.section ".opd","aw" 26.align 3 27aes_p8_set_encrypt_key: 28.quad .aes_p8_set_encrypt_key,.TOC.@tocbase,0 29.previous 30 31.align 5 32.aes_p8_set_encrypt_key: 33.Lset_encrypt_key: 34 mflr 11 35 std 11,16(1) 36 37 li 6,-1 38 cmpldi 3,0 39 beq- .Lenc_key_abort 40 cmpldi 5,0 41 beq- .Lenc_key_abort 42 li 6,-2 43 cmpwi 4,128 44 blt- .Lenc_key_abort 45 cmpwi 4,256 46 bgt- .Lenc_key_abort 47 andi. 0,4,0x3f 48 bne- .Lenc_key_abort 49 50 lis 0,0xfff0 51 mfspr 12,256 52 mtspr 256,0 53 54 bl .Lconsts 55 mtlr 11 56 57 neg 9,3 58 lvx 1,0,3 59 addi 3,3,15 60 lvsr 3,0,9 61 li 8,0x20 62 cmpwi 4,192 63 lvx 2,0,3 64 65 lvx 4,0,6 66 67 lvx 5,8,6 68 addi 6,6,0x10 69 vperm 1,1,2,3 70 li 7,8 71 vxor 0,0,0 72 mtctr 7 73 74 lvsr 8,0,5 75 vspltisb 9,-1 76 lvx 10,0,5 77 vperm 9,0,9,8 78 79 blt .Loop128 80 addi 3,3,8 81 beq .L192 82 addi 3,3,8 83 b .L256 84 85.align 4 86.Loop128: 87 vperm 3,1,1,5 88 vsldoi 6,0,1,12 89 vperm 11,1,1,8 90 vsel 7,10,11,9 91 vor 10,11,11 92.long 0x10632509 93 stvx 7,0,5 94 addi 5,5,16 95 96 vxor 1,1,6 97 vsldoi 6,0,6,12 98 vxor 1,1,6 99 vsldoi 6,0,6,12 100 vxor 1,1,6 101 vadduwm 4,4,4 102 vxor 1,1,3 103 bc 16,0,.Loop128 104 105 lvx 4,0,6 106 107 vperm 3,1,1,5 108 vsldoi 6,0,1,12 109 vperm 11,1,1,8 110 vsel 7,10,11,9 111 vor 10,11,11 112.long 0x10632509 113 stvx 7,0,5 114 addi 5,5,16 115 116 vxor 1,1,6 117 vsldoi 6,0,6,12 118 vxor 1,1,6 119 vsldoi 6,0,6,12 120 vxor 1,1,6 121 vadduwm 4,4,4 122 vxor 1,1,3 123 124 vperm 3,1,1,5 125 vsldoi 6,0,1,12 126 vperm 11,1,1,8 127 vsel 7,10,11,9 128 vor 10,11,11 129.long 0x10632509 130 stvx 7,0,5 131 addi 5,5,16 132 133 vxor 1,1,6 134 vsldoi 6,0,6,12 135 vxor 1,1,6 136 vsldoi 6,0,6,12 137 vxor 1,1,6 138 vxor 1,1,3 139 vperm 11,1,1,8 140 vsel 7,10,11,9 141 vor 10,11,11 142 stvx 7,0,5 143 144 addi 3,5,15 145 addi 5,5,0x50 146 147 li 8,10 148 b .Ldone 149 150.align 4 151.L192: 152 lvx 6,0,3 153 li 7,4 154 vperm 11,1,1,8 155 vsel 7,10,11,9 156 vor 10,11,11 157 stvx 7,0,5 158 addi 5,5,16 159 vperm 2,2,6,3 160 vspltisb 3,8 161 mtctr 7 162 vsububm 5,5,3 163 164.Loop192: 165 vperm 3,2,2,5 166 vsldoi 6,0,1,12 167.long 0x10632509 168 169 vxor 1,1,6 170 vsldoi 6,0,6,12 171 vxor 1,1,6 172 vsldoi 6,0,6,12 173 vxor 1,1,6 174 175 vsldoi 7,0,2,8 176 vspltw 6,1,3 177 vxor 6,6,2 178 vsldoi 2,0,2,12 179 vadduwm 4,4,4 180 vxor 2,2,6 181 vxor 1,1,3 182 vxor 2,2,3 183 vsldoi 7,7,1,8 184 185 vperm 3,2,2,5 186 vsldoi 6,0,1,12 187 vperm 11,7,7,8 188 vsel 7,10,11,9 189 vor 10,11,11 190.long 0x10632509 191 stvx 7,0,5 192 addi 5,5,16 193 194 vsldoi 7,1,2,8 195 vxor 1,1,6 196 vsldoi 6,0,6,12 197 vperm 11,7,7,8 198 vsel 7,10,11,9 199 vor 10,11,11 200 vxor 1,1,6 201 vsldoi 6,0,6,12 202 vxor 1,1,6 203 stvx 7,0,5 204 addi 5,5,16 205 206 vspltw 6,1,3 207 vxor 6,6,2 208 vsldoi 2,0,2,12 209 vadduwm 4,4,4 210 vxor 2,2,6 211 vxor 1,1,3 212 vxor 2,2,3 213 vperm 11,1,1,8 214 vsel 7,10,11,9 215 vor 10,11,11 216 stvx 7,0,5 217 addi 3,5,15 218 addi 5,5,16 219 bc 16,0,.Loop192 220 221 li 8,12 222 addi 5,5,0x20 223 b .Ldone 224 225.align 4 226.L256: 227 lvx 6,0,3 228 li 7,7 229 li 8,14 230 vperm 11,1,1,8 231 vsel 7,10,11,9 232 vor 10,11,11 233 stvx 7,0,5 234 addi 5,5,16 235 vperm 2,2,6,3 236 mtctr 7 237 238.Loop256: 239 vperm 3,2,2,5 240 vsldoi 6,0,1,12 241 vperm 11,2,2,8 242 vsel 7,10,11,9 243 vor 10,11,11 244.long 0x10632509 245 stvx 7,0,5 246 addi 5,5,16 247 248 vxor 1,1,6 249 vsldoi 6,0,6,12 250 vxor 1,1,6 251 vsldoi 6,0,6,12 252 vxor 1,1,6 253 vadduwm 4,4,4 254 vxor 1,1,3 255 vperm 11,1,1,8 256 vsel 7,10,11,9 257 vor 10,11,11 258 stvx 7,0,5 259 addi 3,5,15 260 addi 5,5,16 261 bdz .Ldone 262 263 vspltw 3,1,3 264 vsldoi 6,0,2,12 265.long 0x106305C8 266 267 vxor 2,2,6 268 vsldoi 6,0,6,12 269 vxor 2,2,6 270 vsldoi 6,0,6,12 271 vxor 2,2,6 272 273 vxor 2,2,3 274 b .Loop256 275 276.align 4 277.Ldone: 278 lvx 2,0,3 279 vsel 2,10,2,9 280 stvx 2,0,3 281 li 6,0 282 mtspr 256,12 283 stw 8,0(5) 284 285.Lenc_key_abort: 286 mr 3,6 287 blr 288.long 0 289.byte 0,12,0x14,1,0,0,3,0 290.long 0 291 292 293.globl aes_p8_set_decrypt_key 294.type aes_p8_set_decrypt_key,@function 295.section ".opd","aw" 296.align 3 297aes_p8_set_decrypt_key: 298.quad .aes_p8_set_decrypt_key,.TOC.@tocbase,0 299.previous 300 301.align 5 302.aes_p8_set_decrypt_key: 303 stdu 1,-64(1) 304 mflr 10 305 std 10,64+16(1) 306 bl .Lset_encrypt_key 307 mtlr 10 308 309 cmpwi 3,0 310 bne- .Ldec_key_abort 311 312 slwi 7,8,4 313 subi 3,5,240 314 srwi 8,8,1 315 add 5,3,7 316 mtctr 8 317 318.Ldeckey: 319 lwz 0, 0(3) 320 lwz 6, 4(3) 321 lwz 7, 8(3) 322 lwz 8, 12(3) 323 addi 3,3,16 324 lwz 9, 0(5) 325 lwz 10,4(5) 326 lwz 11,8(5) 327 lwz 12,12(5) 328 stw 0, 0(5) 329 stw 6, 4(5) 330 stw 7, 8(5) 331 stw 8, 12(5) 332 subi 5,5,16 333 stw 9, -16(3) 334 stw 10,-12(3) 335 stw 11,-8(3) 336 stw 12,-4(3) 337 bc 16,0,.Ldeckey 338 339 xor 3,3,3 340.Ldec_key_abort: 341 addi 1,1,64 342 blr 343.long 0 344.byte 0,12,4,1,0x80,0,3,0 345.long 0 346 347.globl aes_p8_encrypt 348.type aes_p8_encrypt,@function 349.section ".opd","aw" 350.align 3 351aes_p8_encrypt: 352.quad .aes_p8_encrypt,.TOC.@tocbase,0 353.previous 354 355.align 5 356.aes_p8_encrypt: 357 lwz 6,240(5) 358 lis 0,0xfc00 359 mfspr 12,256 360 li 7,15 361 mtspr 256,0 362 363 lvx 0,0,3 364 neg 11,4 365 lvx 1,7,3 366 lvsl 2,0,3 367 368 lvsl 3,0,11 369 370 li 7,16 371 vperm 0,0,1,2 372 lvx 1,0,5 373 lvsl 5,0,5 374 srwi 6,6,1 375 lvx 2,7,5 376 addi 7,7,16 377 subi 6,6,1 378 vperm 1,1,2,5 379 380 vxor 0,0,1 381 lvx 1,7,5 382 addi 7,7,16 383 mtctr 6 384 385.Loop_enc: 386 vperm 2,2,1,5 387.long 0x10001508 388 lvx 2,7,5 389 addi 7,7,16 390 vperm 1,1,2,5 391.long 0x10000D08 392 lvx 1,7,5 393 addi 7,7,16 394 bc 16,0,.Loop_enc 395 396 vperm 2,2,1,5 397.long 0x10001508 398 lvx 2,7,5 399 vperm 1,1,2,5 400.long 0x10000D09 401 402 vspltisb 2,-1 403 vxor 1,1,1 404 li 7,15 405 vperm 2,1,2,3 406 407 lvx 1,0,4 408 vperm 0,0,0,3 409 vsel 1,1,0,2 410 lvx 4,7,4 411 stvx 1,0,4 412 vsel 0,0,4,2 413 stvx 0,7,4 414 415 mtspr 256,12 416 blr 417.long 0 418.byte 0,12,0x14,0,0,0,3,0 419.long 0 420 421.globl aes_p8_decrypt 422.type aes_p8_decrypt,@function 423.section ".opd","aw" 424.align 3 425aes_p8_decrypt: 426.quad .aes_p8_decrypt,.TOC.@tocbase,0 427.previous 428 429.align 5 430.aes_p8_decrypt: 431 lwz 6,240(5) 432 lis 0,0xfc00 433 mfspr 12,256 434 li 7,15 435 mtspr 256,0 436 437 lvx 0,0,3 438 neg 11,4 439 lvx 1,7,3 440 lvsl 2,0,3 441 442 lvsl 3,0,11 443 444 li 7,16 445 vperm 0,0,1,2 446 lvx 1,0,5 447 lvsl 5,0,5 448 srwi 6,6,1 449 lvx 2,7,5 450 addi 7,7,16 451 subi 6,6,1 452 vperm 1,1,2,5 453 454 vxor 0,0,1 455 lvx 1,7,5 456 addi 7,7,16 457 mtctr 6 458 459.Loop_dec: 460 vperm 2,2,1,5 461.long 0x10001548 462 lvx 2,7,5 463 addi 7,7,16 464 vperm 1,1,2,5 465.long 0x10000D48 466 lvx 1,7,5 467 addi 7,7,16 468 bc 16,0,.Loop_dec 469 470 vperm 2,2,1,5 471.long 0x10001548 472 lvx 2,7,5 473 vperm 1,1,2,5 474.long 0x10000D49 475 476 vspltisb 2,-1 477 vxor 1,1,1 478 li 7,15 479 vperm 2,1,2,3 480 481 lvx 1,0,4 482 vperm 0,0,0,3 483 vsel 1,1,0,2 484 lvx 4,7,4 485 stvx 1,0,4 486 vsel 0,0,4,2 487 stvx 0,7,4 488 489 mtspr 256,12 490 blr 491.long 0 492.byte 0,12,0x14,0,0,0,3,0 493.long 0 494 495.globl aes_p8_cbc_encrypt 496.type aes_p8_cbc_encrypt,@function 497.section ".opd","aw" 498.align 3 499aes_p8_cbc_encrypt: 500.quad .aes_p8_cbc_encrypt,.TOC.@tocbase,0 501.previous 502 503.align 5 504.aes_p8_cbc_encrypt: 505 cmpldi 5,16 506 bltlr 507 508 cmpwi 8,0 509 lis 0,0xffe0 510 mfspr 12,256 511 mtspr 256,0 512 513 li 10,15 514 vxor 0,0,0 515 516 517 lvx 4,0,7 518 lvsl 6,0,7 519 lvx 5,10,7 520 521 vperm 4,4,5,6 522 523 neg 11,3 524 lvsl 10,0,6 525 lwz 9,240(6) 526 527 lvsr 6,0,11 528 lvx 5,0,3 529 addi 3,3,15 530 531 532 lvsr 8,0,4 533 vspltisb 9,-1 534 lvx 7,0,4 535 vperm 9,0,9,8 536 537 538 srwi 9,9,1 539 li 10,16 540 subi 9,9,1 541 beq .Lcbc_dec 542 543.Lcbc_enc: 544 vor 2,5,5 545 lvx 5,0,3 546 addi 3,3,16 547 mtctr 9 548 subi 5,5,16 549 550 lvx 0,0,6 551 vperm 2,2,5,6 552 lvx 1,10,6 553 addi 10,10,16 554 vperm 0,0,1,10 555 vxor 2,2,0 556 lvx 0,10,6 557 addi 10,10,16 558 vxor 2,2,4 559 560.Loop_cbc_enc: 561 vperm 1,1,0,10 562.long 0x10420D08 563 lvx 1,10,6 564 addi 10,10,16 565 vperm 0,0,1,10 566.long 0x10420508 567 lvx 0,10,6 568 addi 10,10,16 569 bc 16,0,.Loop_cbc_enc 570 571 vperm 1,1,0,10 572.long 0x10420D08 573 lvx 1,10,6 574 li 10,16 575 vperm 0,0,1,10 576.long 0x10820509 577 cmpldi 5,16 578 579 vperm 3,4,4,8 580 vsel 2,7,3,9 581 vor 7,3,3 582 stvx 2,0,4 583 addi 4,4,16 584 bge .Lcbc_enc 585 586 b .Lcbc_done 587 588.align 4 589.Lcbc_dec: 590 cmpldi 5,128 591 bge _aesp8_cbc_decrypt8x 592 vor 3,5,5 593 lvx 5,0,3 594 addi 3,3,16 595 mtctr 9 596 subi 5,5,16 597 598 lvx 0,0,6 599 vperm 3,3,5,6 600 lvx 1,10,6 601 addi 10,10,16 602 vperm 0,0,1,10 603 vxor 2,3,0 604 lvx 0,10,6 605 addi 10,10,16 606 607.Loop_cbc_dec: 608 vperm 1,1,0,10 609.long 0x10420D48 610 lvx 1,10,6 611 addi 10,10,16 612 vperm 0,0,1,10 613.long 0x10420548 614 lvx 0,10,6 615 addi 10,10,16 616 bc 16,0,.Loop_cbc_dec 617 618 vperm 1,1,0,10 619.long 0x10420D48 620 lvx 1,10,6 621 li 10,16 622 vperm 0,0,1,10 623.long 0x10420549 624 cmpldi 5,16 625 626 vxor 2,2,4 627 vor 4,3,3 628 vperm 3,2,2,8 629 vsel 2,7,3,9 630 vor 7,3,3 631 stvx 2,0,4 632 addi 4,4,16 633 bge .Lcbc_dec 634 635.Lcbc_done: 636 addi 4,4,-1 637 lvx 2,0,4 638 vsel 2,7,2,9 639 stvx 2,0,4 640 641 neg 8,7 642 li 10,15 643 vxor 0,0,0 644 vspltisb 9,-1 645 646 lvsl 8,0,8 647 vperm 9,0,9,8 648 649 lvx 7,0,7 650 vperm 4,4,4,8 651 vsel 2,7,4,9 652 lvx 5,10,7 653 stvx 2,0,7 654 vsel 2,4,5,9 655 stvx 2,10,7 656 657 mtspr 256,12 658 blr 659.long 0 660.byte 0,12,0x14,0,0,0,6,0 661.long 0 662.align 5 663_aesp8_cbc_decrypt8x: 664 stdu 1,-448(1) 665 li 10,207 666 li 11,223 667 stvx 20,10,1 668 addi 10,10,32 669 stvx 21,11,1 670 addi 11,11,32 671 stvx 22,10,1 672 addi 10,10,32 673 stvx 23,11,1 674 addi 11,11,32 675 stvx 24,10,1 676 addi 10,10,32 677 stvx 25,11,1 678 addi 11,11,32 679 stvx 26,10,1 680 addi 10,10,32 681 stvx 27,11,1 682 addi 11,11,32 683 stvx 28,10,1 684 addi 10,10,32 685 stvx 29,11,1 686 addi 11,11,32 687 stvx 30,10,1 688 stvx 31,11,1 689 li 0,-1 690 stw 12,396(1) 691 li 8,0x10 692 std 26,400(1) 693 li 26,0x20 694 std 27,408(1) 695 li 27,0x30 696 std 28,416(1) 697 li 28,0x40 698 std 29,424(1) 699 li 29,0x50 700 std 30,432(1) 701 li 30,0x60 702 std 31,440(1) 703 li 31,0x70 704 mtspr 256,0 705 706 subi 9,9,3 707 subi 5,5,128 708 709 lvx 23,0,6 710 lvx 30,8,6 711 addi 6,6,0x20 712 lvx 31,0,6 713 vperm 23,23,30,10 714 addi 11,1,64+15 715 mtctr 9 716 717.Load_cbc_dec_key: 718 vperm 24,30,31,10 719 lvx 30,8,6 720 addi 6,6,0x20 721 stvx 24,0,11 722 vperm 25,31,30,10 723 lvx 31,0,6 724 stvx 25,8,11 725 addi 11,11,0x20 726 bc 16,0,.Load_cbc_dec_key 727 728 lvx 26,8,6 729 vperm 24,30,31,10 730 lvx 27,26,6 731 stvx 24,0,11 732 vperm 25,31,26,10 733 lvx 28,27,6 734 stvx 25,8,11 735 addi 11,1,64+15 736 vperm 26,26,27,10 737 lvx 29,28,6 738 vperm 27,27,28,10 739 lvx 30,29,6 740 vperm 28,28,29,10 741 lvx 31,30,6 742 vperm 29,29,30,10 743 lvx 14,31,6 744 vperm 30,30,31,10 745 lvx 24,0,11 746 vperm 31,31,14,10 747 lvx 25,8,11 748 749 750 751 subi 3,3,15 752 753 754.long 0x7C001E99 755 756 757.long 0x7C281E99 758 759.long 0x7C5A1E99 760 761.long 0x7C7B1E99 762 763.long 0x7D5C1E99 764 765 vxor 14,0,23 766.long 0x7D7D1E99 767 768 vxor 15,1,23 769.long 0x7D9E1E99 770 771 vxor 16,2,23 772.long 0x7DBF1E99 773 addi 3,3,0x80 774 775 vxor 17,3,23 776 777 vxor 18,10,23 778 779 vxor 19,11,23 780 vxor 20,12,23 781 vxor 21,13,23 782 783 mtctr 9 784 b .Loop_cbc_dec8x 785.align 5 786.Loop_cbc_dec8x: 787.long 0x11CEC548 788.long 0x11EFC548 789.long 0x1210C548 790.long 0x1231C548 791.long 0x1252C548 792.long 0x1273C548 793.long 0x1294C548 794.long 0x12B5C548 795 lvx 24,26,11 796 addi 11,11,0x20 797 798.long 0x11CECD48 799.long 0x11EFCD48 800.long 0x1210CD48 801.long 0x1231CD48 802.long 0x1252CD48 803.long 0x1273CD48 804.long 0x1294CD48 805.long 0x12B5CD48 806 lvx 25,8,11 807 bc 16,0,.Loop_cbc_dec8x 808 809 subic 5,5,128 810.long 0x11CEC548 811.long 0x11EFC548 812.long 0x1210C548 813.long 0x1231C548 814.long 0x1252C548 815.long 0x1273C548 816.long 0x1294C548 817.long 0x12B5C548 818 819 subfe. 0,0,0 820.long 0x11CECD48 821.long 0x11EFCD48 822.long 0x1210CD48 823.long 0x1231CD48 824.long 0x1252CD48 825.long 0x1273CD48 826.long 0x1294CD48 827.long 0x12B5CD48 828 829 and 0,0,5 830.long 0x11CED548 831.long 0x11EFD548 832.long 0x1210D548 833.long 0x1231D548 834.long 0x1252D548 835.long 0x1273D548 836.long 0x1294D548 837.long 0x12B5D548 838 839 add 3,3,0 840 841 842 843.long 0x11CEDD48 844.long 0x11EFDD48 845.long 0x1210DD48 846.long 0x1231DD48 847.long 0x1252DD48 848.long 0x1273DD48 849.long 0x1294DD48 850.long 0x12B5DD48 851 852 addi 11,1,64+15 853.long 0x11CEE548 854.long 0x11EFE548 855.long 0x1210E548 856.long 0x1231E548 857.long 0x1252E548 858.long 0x1273E548 859.long 0x1294E548 860.long 0x12B5E548 861 lvx 24,0,11 862 863.long 0x11CEED48 864.long 0x11EFED48 865.long 0x1210ED48 866.long 0x1231ED48 867.long 0x1252ED48 868.long 0x1273ED48 869.long 0x1294ED48 870.long 0x12B5ED48 871 lvx 25,8,11 872 873.long 0x11CEF548 874 vxor 4,4,31 875.long 0x11EFF548 876 vxor 0,0,31 877.long 0x1210F548 878 vxor 1,1,31 879.long 0x1231F548 880 vxor 2,2,31 881.long 0x1252F548 882 vxor 3,3,31 883.long 0x1273F548 884 vxor 10,10,31 885.long 0x1294F548 886 vxor 11,11,31 887.long 0x12B5F548 888 vxor 12,12,31 889 890.long 0x11CE2549 891.long 0x11EF0549 892.long 0x7C001E99 893.long 0x12100D49 894.long 0x7C281E99 895.long 0x12311549 896 897.long 0x7C5A1E99 898.long 0x12521D49 899 900.long 0x7C7B1E99 901.long 0x12735549 902 903.long 0x7D5C1E99 904.long 0x12945D49 905 906.long 0x7D7D1E99 907.long 0x12B56549 908 909.long 0x7D9E1E99 910 vor 4,13,13 911 912.long 0x7DBF1E99 913 addi 3,3,0x80 914 915 916 917.long 0x7DC02799 918 919 vxor 14,0,23 920 921.long 0x7DE82799 922 923 vxor 15,1,23 924 925.long 0x7E1A2799 926 vxor 16,2,23 927 928.long 0x7E3B2799 929 vxor 17,3,23 930 931.long 0x7E5C2799 932 vxor 18,10,23 933 934.long 0x7E7D2799 935 vxor 19,11,23 936 937.long 0x7E9E2799 938 vxor 20,12,23 939.long 0x7EBF2799 940 addi 4,4,0x80 941 vxor 21,13,23 942 943 mtctr 9 944 beq .Loop_cbc_dec8x 945 946 addic. 5,5,128 947 beq .Lcbc_dec8x_done 948 nop 949 nop 950 951.Loop_cbc_dec8x_tail: 952.long 0x11EFC548 953.long 0x1210C548 954.long 0x1231C548 955.long 0x1252C548 956.long 0x1273C548 957.long 0x1294C548 958.long 0x12B5C548 959 lvx 24,26,11 960 addi 11,11,0x20 961 962.long 0x11EFCD48 963.long 0x1210CD48 964.long 0x1231CD48 965.long 0x1252CD48 966.long 0x1273CD48 967.long 0x1294CD48 968.long 0x12B5CD48 969 lvx 25,8,11 970 bc 16,0,.Loop_cbc_dec8x_tail 971 972.long 0x11EFC548 973.long 0x1210C548 974.long 0x1231C548 975.long 0x1252C548 976.long 0x1273C548 977.long 0x1294C548 978.long 0x12B5C548 979 980.long 0x11EFCD48 981.long 0x1210CD48 982.long 0x1231CD48 983.long 0x1252CD48 984.long 0x1273CD48 985.long 0x1294CD48 986.long 0x12B5CD48 987 988.long 0x11EFD548 989.long 0x1210D548 990.long 0x1231D548 991.long 0x1252D548 992.long 0x1273D548 993.long 0x1294D548 994.long 0x12B5D548 995 996.long 0x11EFDD48 997.long 0x1210DD48 998.long 0x1231DD48 999.long 0x1252DD48 1000.long 0x1273DD48 1001.long 0x1294DD48 1002.long 0x12B5DD48 1003 1004.long 0x11EFE548 1005.long 0x1210E548 1006.long 0x1231E548 1007.long 0x1252E548 1008.long 0x1273E548 1009.long 0x1294E548 1010.long 0x12B5E548 1011 1012.long 0x11EFED48 1013.long 0x1210ED48 1014.long 0x1231ED48 1015.long 0x1252ED48 1016.long 0x1273ED48 1017.long 0x1294ED48 1018.long 0x12B5ED48 1019 1020.long 0x11EFF548 1021 vxor 4,4,31 1022.long 0x1210F548 1023 vxor 1,1,31 1024.long 0x1231F548 1025 vxor 2,2,31 1026.long 0x1252F548 1027 vxor 3,3,31 1028.long 0x1273F548 1029 vxor 10,10,31 1030.long 0x1294F548 1031 vxor 11,11,31 1032.long 0x12B5F548 1033 vxor 12,12,31 1034 1035 cmplwi 5,32 1036 blt .Lcbc_dec8x_one 1037 nop 1038 beq .Lcbc_dec8x_two 1039 cmplwi 5,64 1040 blt .Lcbc_dec8x_three 1041 nop 1042 beq .Lcbc_dec8x_four 1043 cmplwi 5,96 1044 blt .Lcbc_dec8x_five 1045 nop 1046 beq .Lcbc_dec8x_six 1047 1048.Lcbc_dec8x_seven: 1049.long 0x11EF2549 1050.long 0x12100D49 1051.long 0x12311549 1052.long 0x12521D49 1053.long 0x12735549 1054.long 0x12945D49 1055.long 0x12B56549 1056 vor 4,13,13 1057 1058 1059 1060.long 0x7DE02799 1061 1062.long 0x7E082799 1063 1064.long 0x7E3A2799 1065 1066.long 0x7E5B2799 1067 1068.long 0x7E7C2799 1069 1070.long 0x7E9D2799 1071.long 0x7EBE2799 1072 addi 4,4,0x70 1073 b .Lcbc_dec8x_done 1074 1075.align 5 1076.Lcbc_dec8x_six: 1077.long 0x12102549 1078.long 0x12311549 1079.long 0x12521D49 1080.long 0x12735549 1081.long 0x12945D49 1082.long 0x12B56549 1083 vor 4,13,13 1084 1085 1086 1087.long 0x7E002799 1088 1089.long 0x7E282799 1090 1091.long 0x7E5A2799 1092 1093.long 0x7E7B2799 1094 1095.long 0x7E9C2799 1096.long 0x7EBD2799 1097 addi 4,4,0x60 1098 b .Lcbc_dec8x_done 1099 1100.align 5 1101.Lcbc_dec8x_five: 1102.long 0x12312549 1103.long 0x12521D49 1104.long 0x12735549 1105.long 0x12945D49 1106.long 0x12B56549 1107 vor 4,13,13 1108 1109 1110 1111.long 0x7E202799 1112 1113.long 0x7E482799 1114 1115.long 0x7E7A2799 1116 1117.long 0x7E9B2799 1118.long 0x7EBC2799 1119 addi 4,4,0x50 1120 b .Lcbc_dec8x_done 1121 1122.align 5 1123.Lcbc_dec8x_four: 1124.long 0x12522549 1125.long 0x12735549 1126.long 0x12945D49 1127.long 0x12B56549 1128 vor 4,13,13 1129 1130 1131 1132.long 0x7E402799 1133 1134.long 0x7E682799 1135 1136.long 0x7E9A2799 1137.long 0x7EBB2799 1138 addi 4,4,0x40 1139 b .Lcbc_dec8x_done 1140 1141.align 5 1142.Lcbc_dec8x_three: 1143.long 0x12732549 1144.long 0x12945D49 1145.long 0x12B56549 1146 vor 4,13,13 1147 1148 1149 1150.long 0x7E602799 1151 1152.long 0x7E882799 1153.long 0x7EBA2799 1154 addi 4,4,0x30 1155 b .Lcbc_dec8x_done 1156 1157.align 5 1158.Lcbc_dec8x_two: 1159.long 0x12942549 1160.long 0x12B56549 1161 vor 4,13,13 1162 1163 1164 1165.long 0x7E802799 1166.long 0x7EA82799 1167 addi 4,4,0x20 1168 b .Lcbc_dec8x_done 1169 1170.align 5 1171.Lcbc_dec8x_one: 1172.long 0x12B52549 1173 vor 4,13,13 1174 1175 1176.long 0x7EA02799 1177 addi 4,4,0x10 1178 1179.Lcbc_dec8x_done: 1180 1181.long 0x7C803F99 1182 1183 li 10,79 1184 li 11,95 1185 stvx 6,10,1 1186 addi 10,10,32 1187 stvx 6,11,1 1188 addi 11,11,32 1189 stvx 6,10,1 1190 addi 10,10,32 1191 stvx 6,11,1 1192 addi 11,11,32 1193 stvx 6,10,1 1194 addi 10,10,32 1195 stvx 6,11,1 1196 addi 11,11,32 1197 stvx 6,10,1 1198 addi 10,10,32 1199 stvx 6,11,1 1200 addi 11,11,32 1201 1202 mtspr 256,12 1203 lvx 20,10,1 1204 addi 10,10,32 1205 lvx 21,11,1 1206 addi 11,11,32 1207 lvx 22,10,1 1208 addi 10,10,32 1209 lvx 23,11,1 1210 addi 11,11,32 1211 lvx 24,10,1 1212 addi 10,10,32 1213 lvx 25,11,1 1214 addi 11,11,32 1215 lvx 26,10,1 1216 addi 10,10,32 1217 lvx 27,11,1 1218 addi 11,11,32 1219 lvx 28,10,1 1220 addi 10,10,32 1221 lvx 29,11,1 1222 addi 11,11,32 1223 lvx 30,10,1 1224 lvx 31,11,1 1225 ld 26,400(1) 1226 ld 27,408(1) 1227 ld 28,416(1) 1228 ld 29,424(1) 1229 ld 30,432(1) 1230 ld 31,440(1) 1231 addi 1,1,448 1232 blr 1233.long 0 1234.byte 0,12,0x04,0,0x80,6,6,0 1235.long 0 1236 1237.globl aes_p8_ctr32_encrypt_blocks 1238.type aes_p8_ctr32_encrypt_blocks,@function 1239.section ".opd","aw" 1240.align 3 1241aes_p8_ctr32_encrypt_blocks: 1242.quad .aes_p8_ctr32_encrypt_blocks,.TOC.@tocbase,0 1243.previous 1244 1245.align 5 1246.aes_p8_ctr32_encrypt_blocks: 1247 cmpldi 5,1 1248 bltlr 1249 1250 lis 0,0xfff0 1251 mfspr 12,256 1252 mtspr 256,0 1253 1254 li 10,15 1255 vxor 0,0,0 1256 1257 1258 lvx 4,0,7 1259 lvsl 6,0,7 1260 lvx 5,10,7 1261 vspltisb 11,1 1262 1263 vperm 4,4,5,6 1264 vsldoi 11,0,11,1 1265 1266 neg 11,3 1267 lvsl 10,0,6 1268 lwz 9,240(6) 1269 1270 lvsr 6,0,11 1271 lvx 5,0,3 1272 addi 3,3,15 1273 1274 1275 srwi 9,9,1 1276 li 10,16 1277 subi 9,9,1 1278 1279 cmpldi 5,8 1280 bge _aesp8_ctr32_encrypt8x 1281 1282 lvsr 8,0,4 1283 vspltisb 9,-1 1284 lvx 7,0,4 1285 vperm 9,0,9,8 1286 1287 1288 lvx 0,0,6 1289 mtctr 9 1290 lvx 1,10,6 1291 addi 10,10,16 1292 vperm 0,0,1,10 1293 vxor 2,4,0 1294 lvx 0,10,6 1295 addi 10,10,16 1296 b .Loop_ctr32_enc 1297 1298.align 5 1299.Loop_ctr32_enc: 1300 vperm 1,1,0,10 1301.long 0x10420D08 1302 lvx 1,10,6 1303 addi 10,10,16 1304 vperm 0,0,1,10 1305.long 0x10420508 1306 lvx 0,10,6 1307 addi 10,10,16 1308 bc 16,0,.Loop_ctr32_enc 1309 1310 vadduwm 4,4,11 1311 vor 3,5,5 1312 lvx 5,0,3 1313 addi 3,3,16 1314 subic. 5,5,1 1315 1316 vperm 1,1,0,10 1317.long 0x10420D08 1318 lvx 1,10,6 1319 vperm 3,3,5,6 1320 li 10,16 1321 vperm 1,0,1,10 1322 lvx 0,0,6 1323 vxor 3,3,1 1324.long 0x10421D09 1325 1326 lvx 1,10,6 1327 addi 10,10,16 1328 vperm 2,2,2,8 1329 vsel 3,7,2,9 1330 mtctr 9 1331 vperm 0,0,1,10 1332 vor 7,2,2 1333 vxor 2,4,0 1334 lvx 0,10,6 1335 addi 10,10,16 1336 stvx 3,0,4 1337 addi 4,4,16 1338 bne .Loop_ctr32_enc 1339 1340 addi 4,4,-1 1341 lvx 2,0,4 1342 vsel 2,7,2,9 1343 stvx 2,0,4 1344 1345 mtspr 256,12 1346 blr 1347.long 0 1348.byte 0,12,0x14,0,0,0,6,0 1349.long 0 1350.align 5 1351_aesp8_ctr32_encrypt8x: 1352 stdu 1,-448(1) 1353 li 10,207 1354 li 11,223 1355 stvx 20,10,1 1356 addi 10,10,32 1357 stvx 21,11,1 1358 addi 11,11,32 1359 stvx 22,10,1 1360 addi 10,10,32 1361 stvx 23,11,1 1362 addi 11,11,32 1363 stvx 24,10,1 1364 addi 10,10,32 1365 stvx 25,11,1 1366 addi 11,11,32 1367 stvx 26,10,1 1368 addi 10,10,32 1369 stvx 27,11,1 1370 addi 11,11,32 1371 stvx 28,10,1 1372 addi 10,10,32 1373 stvx 29,11,1 1374 addi 11,11,32 1375 stvx 30,10,1 1376 stvx 31,11,1 1377 li 0,-1 1378 stw 12,396(1) 1379 li 8,0x10 1380 std 26,400(1) 1381 li 26,0x20 1382 std 27,408(1) 1383 li 27,0x30 1384 std 28,416(1) 1385 li 28,0x40 1386 std 29,424(1) 1387 li 29,0x50 1388 std 30,432(1) 1389 li 30,0x60 1390 std 31,440(1) 1391 li 31,0x70 1392 mtspr 256,0 1393 1394 subi 9,9,3 1395 1396 lvx 23,0,6 1397 lvx 30,8,6 1398 addi 6,6,0x20 1399 lvx 31,0,6 1400 vperm 23,23,30,10 1401 addi 11,1,64+15 1402 mtctr 9 1403 1404.Load_ctr32_enc_key: 1405 vperm 24,30,31,10 1406 lvx 30,8,6 1407 addi 6,6,0x20 1408 stvx 24,0,11 1409 vperm 25,31,30,10 1410 lvx 31,0,6 1411 stvx 25,8,11 1412 addi 11,11,0x20 1413 bc 16,0,.Load_ctr32_enc_key 1414 1415 lvx 26,8,6 1416 vperm 24,30,31,10 1417 lvx 27,26,6 1418 stvx 24,0,11 1419 vperm 25,31,26,10 1420 lvx 28,27,6 1421 stvx 25,8,11 1422 addi 11,1,64+15 1423 vperm 26,26,27,10 1424 lvx 29,28,6 1425 vperm 27,27,28,10 1426 lvx 30,29,6 1427 vperm 28,28,29,10 1428 lvx 31,30,6 1429 vperm 29,29,30,10 1430 lvx 15,31,6 1431 vperm 30,30,31,10 1432 lvx 24,0,11 1433 vperm 31,31,15,10 1434 lvx 25,8,11 1435 1436 vadduwm 7,11,11 1437 subi 3,3,15 1438 sldi 5,5,4 1439 1440 vadduwm 16,4,11 1441 vadduwm 17,4,7 1442 vxor 15,4,23 1443 1444 vadduwm 18,16,7 1445 vxor 16,16,23 1446 1447 vadduwm 19,17,7 1448 vxor 17,17,23 1449 1450 vadduwm 20,18,7 1451 vxor 18,18,23 1452 1453 vadduwm 21,19,7 1454 vxor 19,19,23 1455 vadduwm 22,20,7 1456 vxor 20,20,23 1457 vadduwm 4,21,7 1458 vxor 21,21,23 1459 vxor 22,22,23 1460 1461 mtctr 9 1462 b .Loop_ctr32_enc8x 1463.align 5 1464.Loop_ctr32_enc8x: 1465.long 0x11EFC508 1466.long 0x1210C508 1467.long 0x1231C508 1468.long 0x1252C508 1469.long 0x1273C508 1470.long 0x1294C508 1471.long 0x12B5C508 1472.long 0x12D6C508 1473.Loop_ctr32_enc8x_middle: 1474 lvx 24,26,11 1475 addi 11,11,0x20 1476 1477.long 0x11EFCD08 1478.long 0x1210CD08 1479.long 0x1231CD08 1480.long 0x1252CD08 1481.long 0x1273CD08 1482.long 0x1294CD08 1483.long 0x12B5CD08 1484.long 0x12D6CD08 1485 lvx 25,8,11 1486 bc 16,0,.Loop_ctr32_enc8x 1487 1488 subic 11,5,256 1489.long 0x11EFC508 1490.long 0x1210C508 1491.long 0x1231C508 1492.long 0x1252C508 1493.long 0x1273C508 1494.long 0x1294C508 1495.long 0x12B5C508 1496.long 0x12D6C508 1497 1498 subfe 0,0,0 1499.long 0x11EFCD08 1500.long 0x1210CD08 1501.long 0x1231CD08 1502.long 0x1252CD08 1503.long 0x1273CD08 1504.long 0x1294CD08 1505.long 0x12B5CD08 1506.long 0x12D6CD08 1507 1508 and 0,0,11 1509 addi 11,1,64+15 1510.long 0x11EFD508 1511.long 0x1210D508 1512.long 0x1231D508 1513.long 0x1252D508 1514.long 0x1273D508 1515.long 0x1294D508 1516.long 0x12B5D508 1517.long 0x12D6D508 1518 lvx 24,0,11 1519 1520 subic 5,5,129 1521.long 0x11EFDD08 1522 addi 5,5,1 1523.long 0x1210DD08 1524.long 0x1231DD08 1525.long 0x1252DD08 1526.long 0x1273DD08 1527.long 0x1294DD08 1528.long 0x12B5DD08 1529.long 0x12D6DD08 1530 lvx 25,8,11 1531 1532.long 0x11EFE508 1533.long 0x7C001E99 1534.long 0x1210E508 1535.long 0x7C281E99 1536.long 0x1231E508 1537.long 0x7C5A1E99 1538.long 0x1252E508 1539.long 0x7C7B1E99 1540.long 0x1273E508 1541.long 0x7D5C1E99 1542.long 0x1294E508 1543.long 0x7D9D1E99 1544.long 0x12B5E508 1545.long 0x7DBE1E99 1546.long 0x12D6E508 1547.long 0x7DDF1E99 1548 addi 3,3,0x80 1549 1550.long 0x11EFED08 1551 1552.long 0x1210ED08 1553 1554.long 0x1231ED08 1555 1556.long 0x1252ED08 1557 1558.long 0x1273ED08 1559 1560.long 0x1294ED08 1561 1562.long 0x12B5ED08 1563 1564.long 0x12D6ED08 1565 1566 1567 add 3,3,0 1568 1569 1570 1571 subfe. 0,0,0 1572.long 0x11EFF508 1573 vxor 0,0,31 1574.long 0x1210F508 1575 vxor 1,1,31 1576.long 0x1231F508 1577 vxor 2,2,31 1578.long 0x1252F508 1579 vxor 3,3,31 1580.long 0x1273F508 1581 vxor 10,10,31 1582.long 0x1294F508 1583 vxor 12,12,31 1584.long 0x12B5F508 1585 vxor 13,13,31 1586.long 0x12D6F508 1587 vxor 14,14,31 1588 1589 bne .Lctr32_enc8x_break 1590 1591.long 0x100F0509 1592.long 0x10300D09 1593 vadduwm 16,4,11 1594.long 0x10511509 1595 vadduwm 17,4,7 1596 vxor 15,4,23 1597.long 0x10721D09 1598 vadduwm 18,16,7 1599 vxor 16,16,23 1600.long 0x11535509 1601 vadduwm 19,17,7 1602 vxor 17,17,23 1603.long 0x11946509 1604 vadduwm 20,18,7 1605 vxor 18,18,23 1606.long 0x11B56D09 1607 vadduwm 21,19,7 1608 vxor 19,19,23 1609.long 0x11D67509 1610 vadduwm 22,20,7 1611 vxor 20,20,23 1612 1613 vadduwm 4,21,7 1614 vxor 21,21,23 1615 1616 vxor 22,22,23 1617 mtctr 9 1618 1619.long 0x11EFC508 1620.long 0x7C002799 1621 1622.long 0x1210C508 1623.long 0x7C282799 1624 1625.long 0x1231C508 1626.long 0x7C5A2799 1627 1628.long 0x1252C508 1629.long 0x7C7B2799 1630 1631.long 0x1273C508 1632.long 0x7D5C2799 1633 1634.long 0x1294C508 1635.long 0x7D9D2799 1636 1637.long 0x12B5C508 1638.long 0x7DBE2799 1639.long 0x12D6C508 1640.long 0x7DDF2799 1641 addi 4,4,0x80 1642 1643 b .Loop_ctr32_enc8x_middle 1644 1645.align 5 1646.Lctr32_enc8x_break: 1647 cmpwi 5,-0x60 1648 blt .Lctr32_enc8x_one 1649 nop 1650 beq .Lctr32_enc8x_two 1651 cmpwi 5,-0x40 1652 blt .Lctr32_enc8x_three 1653 nop 1654 beq .Lctr32_enc8x_four 1655 cmpwi 5,-0x20 1656 blt .Lctr32_enc8x_five 1657 nop 1658 beq .Lctr32_enc8x_six 1659 cmpwi 5,0x00 1660 blt .Lctr32_enc8x_seven 1661 1662.Lctr32_enc8x_eight: 1663.long 0x11EF0509 1664.long 0x12100D09 1665.long 0x12311509 1666.long 0x12521D09 1667.long 0x12735509 1668.long 0x12946509 1669.long 0x12B56D09 1670.long 0x12D67509 1671 1672 1673 1674.long 0x7DE02799 1675 1676.long 0x7E082799 1677 1678.long 0x7E3A2799 1679 1680.long 0x7E5B2799 1681 1682.long 0x7E7C2799 1683 1684.long 0x7E9D2799 1685 1686.long 0x7EBE2799 1687.long 0x7EDF2799 1688 addi 4,4,0x80 1689 b .Lctr32_enc8x_done 1690 1691.align 5 1692.Lctr32_enc8x_seven: 1693.long 0x11EF0D09 1694.long 0x12101509 1695.long 0x12311D09 1696.long 0x12525509 1697.long 0x12736509 1698.long 0x12946D09 1699.long 0x12B57509 1700 1701 1702 1703.long 0x7DE02799 1704 1705.long 0x7E082799 1706 1707.long 0x7E3A2799 1708 1709.long 0x7E5B2799 1710 1711.long 0x7E7C2799 1712 1713.long 0x7E9D2799 1714.long 0x7EBE2799 1715 addi 4,4,0x70 1716 b .Lctr32_enc8x_done 1717 1718.align 5 1719.Lctr32_enc8x_six: 1720.long 0x11EF1509 1721.long 0x12101D09 1722.long 0x12315509 1723.long 0x12526509 1724.long 0x12736D09 1725.long 0x12947509 1726 1727 1728 1729.long 0x7DE02799 1730 1731.long 0x7E082799 1732 1733.long 0x7E3A2799 1734 1735.long 0x7E5B2799 1736 1737.long 0x7E7C2799 1738.long 0x7E9D2799 1739 addi 4,4,0x60 1740 b .Lctr32_enc8x_done 1741 1742.align 5 1743.Lctr32_enc8x_five: 1744.long 0x11EF1D09 1745.long 0x12105509 1746.long 0x12316509 1747.long 0x12526D09 1748.long 0x12737509 1749 1750 1751 1752.long 0x7DE02799 1753 1754.long 0x7E082799 1755 1756.long 0x7E3A2799 1757 1758.long 0x7E5B2799 1759.long 0x7E7C2799 1760 addi 4,4,0x50 1761 b .Lctr32_enc8x_done 1762 1763.align 5 1764.Lctr32_enc8x_four: 1765.long 0x11EF5509 1766.long 0x12106509 1767.long 0x12316D09 1768.long 0x12527509 1769 1770 1771 1772.long 0x7DE02799 1773 1774.long 0x7E082799 1775 1776.long 0x7E3A2799 1777.long 0x7E5B2799 1778 addi 4,4,0x40 1779 b .Lctr32_enc8x_done 1780 1781.align 5 1782.Lctr32_enc8x_three: 1783.long 0x11EF6509 1784.long 0x12106D09 1785.long 0x12317509 1786 1787 1788 1789.long 0x7DE02799 1790 1791.long 0x7E082799 1792.long 0x7E3A2799 1793 addi 4,4,0x30 1794 b .Lcbc_dec8x_done 1795 1796.align 5 1797.Lctr32_enc8x_two: 1798.long 0x11EF6D09 1799.long 0x12107509 1800 1801 1802 1803.long 0x7DE02799 1804.long 0x7E082799 1805 addi 4,4,0x20 1806 b .Lcbc_dec8x_done 1807 1808.align 5 1809.Lctr32_enc8x_one: 1810.long 0x11EF7509 1811 1812 1813.long 0x7DE02799 1814 addi 4,4,0x10 1815 1816.Lctr32_enc8x_done: 1817 li 10,79 1818 li 11,95 1819 stvx 6,10,1 1820 addi 10,10,32 1821 stvx 6,11,1 1822 addi 11,11,32 1823 stvx 6,10,1 1824 addi 10,10,32 1825 stvx 6,11,1 1826 addi 11,11,32 1827 stvx 6,10,1 1828 addi 10,10,32 1829 stvx 6,11,1 1830 addi 11,11,32 1831 stvx 6,10,1 1832 addi 10,10,32 1833 stvx 6,11,1 1834 addi 11,11,32 1835 1836 mtspr 256,12 1837 lvx 20,10,1 1838 addi 10,10,32 1839 lvx 21,11,1 1840 addi 11,11,32 1841 lvx 22,10,1 1842 addi 10,10,32 1843 lvx 23,11,1 1844 addi 11,11,32 1845 lvx 24,10,1 1846 addi 10,10,32 1847 lvx 25,11,1 1848 addi 11,11,32 1849 lvx 26,10,1 1850 addi 10,10,32 1851 lvx 27,11,1 1852 addi 11,11,32 1853 lvx 28,10,1 1854 addi 10,10,32 1855 lvx 29,11,1 1856 addi 11,11,32 1857 lvx 30,10,1 1858 lvx 31,11,1 1859 ld 26,400(1) 1860 ld 27,408(1) 1861 ld 28,416(1) 1862 ld 29,424(1) 1863 ld 30,432(1) 1864 ld 31,440(1) 1865 addi 1,1,448 1866 blr 1867.long 0 1868.byte 0,12,0x04,0,0x80,6,6,0 1869.long 0 1870 1871