diff options
Diffstat (limited to 'deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/sha/sha512-ppc.s')
-rw-r--r-- | deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/sha/sha512-ppc.s | 3070 |
1 files changed, 3070 insertions, 0 deletions
diff --git a/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/sha/sha512-ppc.s b/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/sha/sha512-ppc.s new file mode 100644 index 0000000000..2ae1bd579f --- /dev/null +++ b/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/sha/sha512-ppc.s @@ -0,0 +1,3070 @@ +.machine "any" +.text + +.globl sha512_block_ppc +.type sha512_block_ppc,@function +.align 6 +sha512_block_ppc: + stwu 1,-256(1) + mflr 0 + slwi 5,5,7 + + stw 3,168(1) + + stw 14,184(1) + stw 15,188(1) + stw 16,192(1) + stw 17,196(1) + stw 18,200(1) + stw 19,204(1) + stw 20,208(1) + stw 21,212(1) + stw 22,216(1) + stw 23,220(1) + stw 24,224(1) + stw 25,228(1) + stw 26,232(1) + stw 27,236(1) + stw 28,240(1) + stw 29,244(1) + stw 30,248(1) + stw 31,252(1) + stw 0,260(1) + lwz 16,0(3) + lwz 17,4(3) + lwz 18,8(3) + lwz 19,12(3) + lwz 20,16(3) + lwz 21,20(3) + lwz 22,24(3) + lwz 23,28(3) + lwz 24,32(3) + lwz 25,36(3) + lwz 26,40(3) + lwz 27,44(3) + lwz 28,48(3) + lwz 29,52(3) + lwz 30,56(3) + lwz 31,60(3) + bl .LPICmeup +.LPICedup: + andi. 0,4,3 + bne .Lunaligned +.Laligned: + add 5,4,5 + stw 5,160(1) + stw 4,164(1) + bl .Lsha2_block_private + b .Ldone + + + + + + + +.align 4 +.Lunaligned: + subfic 0,4,4096 + andi. 0,0,3968 + beq .Lcross_page + .long 0x7c050040 + ble .Laligned + subfc 5,0,5 + add 0,4,0 + stw 5,156(1) + stw 0,160(1) + stw 4,164(1) + bl .Lsha2_block_private + + lwz 5,156(1) +.Lcross_page: + li 0,32 + mtctr 0 + addi 12,1,24 +.Lmemcpy: + lbz 8,0(4) + lbz 9,1(4) + lbz 10,2(4) + lbz 11,3(4) + addi 4,4,4 + stb 8,0(12) + stb 9,1(12) + stb 10,2(12) + stb 11,3(12) + addi 12,12,4 + bdnz .Lmemcpy + stw 4,152(1) + addi 0,1,152 + addi 4,1,24 + stw 5,156(1) + stw 0,160(1) + stw 4,164(1) + bl .Lsha2_block_private + lwz 4,152(1) + lwz 5,156(1) + addic. 5,5,-128 + bne .Lunaligned + +.Ldone: + lwz 0,260(1) + lwz 14,184(1) + lwz 15,188(1) + lwz 16,192(1) + lwz 17,196(1) + lwz 18,200(1) + lwz 19,204(1) + lwz 20,208(1) + lwz 21,212(1) + lwz 22,216(1) + lwz 23,220(1) + lwz 24,224(1) + lwz 25,228(1) + lwz 26,232(1) + lwz 27,236(1) + lwz 28,240(1) + lwz 29,244(1) + lwz 30,248(1) + lwz 31,252(1) + mtlr 0 + addi 1,1,256 + blr +.long 0 +.byte 0,12,4,1,0x80,18,3,0 +.long 0 +.align 4 +.Lsha2_block_private: + lwz 8,0(4) + xor 14,19,21 + lwz 6,4(4) + xor 15,18,20 + lwz 9,4(7) + xor 11,27,29 + lwz 10,0(7) + xor 12,26,28 + addc 31,31,6 + stw 6,24(1) + + srwi 0,25,14 + srwi 5,24,14 + and 11,11,25 + adde 30,30,8 + and 12,12,24 + stw 8,28(1) + srwi 6,25,18 + srwi 8,24,18 + addc 31,31,9 + insrwi 0,24,14,0 + insrwi 5,25,14,0 + xor 11,11,29 + adde 30,30,10 + xor 12,12,28 + insrwi 6,24,18,0 + insrwi 8,25,18,0 + addc 31,31,11 + srwi 9,24,41-32 + srwi 10,25,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,25,41-32,0 + insrwi 10,24,41-32,0 + xor 11,17,19 + adde 30,30,12 + xor 12,16,18 + xor 0,0,9 + xor 5,5,10 + + srwi 6,17,28 + and 14,14,11 + addc 31,31,0 + and 15,15,12 + srwi 8,16,28 + srwi 0,16,34-32 + adde 30,30,5 + srwi 5,17,34-32 + insrwi 6,16,28,0 + insrwi 8,17,28,0 + xor 14,14,19 + addc 23,23,31 + xor 15,15,18 + insrwi 0,17,34-32,0 + insrwi 5,16,34-32,0 + adde 22,22,30 + srwi 9,16,39-32 + srwi 10,17,39-32 + xor 0,0,6 + addc 31,31,14 + xor 5,5,8 + insrwi 9,17,39-32,0 + insrwi 10,16,39-32,0 + adde 30,30,15 + lwz 8,8(4) + lwz 6,12(4) + xor 0,0,9 + xor 5,5,10 + addc 31,31,0 + adde 30,30,5 + lwz 9,12(7) + xor 14,25,27 + lwz 10,8(7) + xor 15,24,26 + addc 29,29,6 + stw 6,32(1) + + srwi 0,23,14 + srwi 5,22,14 + and 14,14,23 + adde 28,28,8 + and 15,15,22 + stw 8,36(1) + srwi 6,23,18 + srwi 8,22,18 + addc 29,29,9 + insrwi 0,22,14,0 + insrwi 5,23,14,0 + xor 14,14,27 + adde 28,28,10 + xor 15,15,26 + insrwi 6,22,18,0 + insrwi 8,23,18,0 + addc 29,29,14 + srwi 9,22,41-32 + srwi 10,23,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,23,41-32,0 + insrwi 10,22,41-32,0 + xor 14,31,17 + adde 28,28,15 + xor 15,30,16 + xor 0,0,9 + xor 5,5,10 + + srwi 6,31,28 + and 11,11,14 + addc 29,29,0 + and 12,12,15 + srwi 8,30,28 + srwi 0,30,34-32 + adde 28,28,5 + srwi 5,31,34-32 + insrwi 6,30,28,0 + insrwi 8,31,28,0 + xor 11,11,17 + addc 21,21,29 + xor 12,12,16 + insrwi 0,31,34-32,0 + insrwi 5,30,34-32,0 + adde 20,20,28 + srwi 9,30,39-32 + srwi 10,31,39-32 + xor 0,0,6 + addc 29,29,11 + xor 5,5,8 + insrwi 9,31,39-32,0 + insrwi 10,30,39-32,0 + adde 28,28,12 + lwz 8,16(4) + lwz 6,20(4) + xor 0,0,9 + xor 5,5,10 + addc 29,29,0 + adde 28,28,5 + lwz 9,20(7) + xor 11,23,25 + lwz 10,16(7) + xor 12,22,24 + addc 27,27,6 + stw 6,40(1) + + srwi 0,21,14 + srwi 5,20,14 + and 11,11,21 + adde 26,26,8 + and 12,12,20 + stw 8,44(1) + srwi 6,21,18 + srwi 8,20,18 + addc 27,27,9 + insrwi 0,20,14,0 + insrwi 5,21,14,0 + xor 11,11,25 + adde 26,26,10 + xor 12,12,24 + insrwi 6,20,18,0 + insrwi 8,21,18,0 + addc 27,27,11 + srwi 9,20,41-32 + srwi 10,21,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,21,41-32,0 + insrwi 10,20,41-32,0 + xor 11,29,31 + adde 26,26,12 + xor 12,28,30 + xor 0,0,9 + xor 5,5,10 + + srwi 6,29,28 + and 14,14,11 + addc 27,27,0 + and 15,15,12 + srwi 8,28,28 + srwi 0,28,34-32 + adde 26,26,5 + srwi 5,29,34-32 + insrwi 6,28,28,0 + insrwi 8,29,28,0 + xor 14,14,31 + addc 19,19,27 + xor 15,15,30 + insrwi 0,29,34-32,0 + insrwi 5,28,34-32,0 + adde 18,18,26 + srwi 9,28,39-32 + srwi 10,29,39-32 + xor 0,0,6 + addc 27,27,14 + xor 5,5,8 + insrwi 9,29,39-32,0 + insrwi 10,28,39-32,0 + adde 26,26,15 + lwz 8,24(4) + lwz 6,28(4) + xor 0,0,9 + xor 5,5,10 + addc 27,27,0 + adde 26,26,5 + lwz 9,28(7) + xor 14,21,23 + lwz 10,24(7) + xor 15,20,22 + addc 25,25,6 + stw 6,48(1) + + srwi 0,19,14 + srwi 5,18,14 + and 14,14,19 + adde 24,24,8 + and 15,15,18 + stw 8,52(1) + srwi 6,19,18 + srwi 8,18,18 + addc 25,25,9 + insrwi 0,18,14,0 + insrwi 5,19,14,0 + xor 14,14,23 + adde 24,24,10 + xor 15,15,22 + insrwi 6,18,18,0 + insrwi 8,19,18,0 + addc 25,25,14 + srwi 9,18,41-32 + srwi 10,19,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,19,41-32,0 + insrwi 10,18,41-32,0 + xor 14,27,29 + adde 24,24,15 + xor 15,26,28 + xor 0,0,9 + xor 5,5,10 + + srwi 6,27,28 + and 11,11,14 + addc 25,25,0 + and 12,12,15 + srwi 8,26,28 + srwi 0,26,34-32 + adde 24,24,5 + srwi 5,27,34-32 + insrwi 6,26,28,0 + insrwi 8,27,28,0 + xor 11,11,29 + addc 17,17,25 + xor 12,12,28 + insrwi 0,27,34-32,0 + insrwi 5,26,34-32,0 + adde 16,16,24 + srwi 9,26,39-32 + srwi 10,27,39-32 + xor 0,0,6 + addc 25,25,11 + xor 5,5,8 + insrwi 9,27,39-32,0 + insrwi 10,26,39-32,0 + adde 24,24,12 + lwz 8,32(4) + lwz 6,36(4) + xor 0,0,9 + xor 5,5,10 + addc 25,25,0 + adde 24,24,5 + lwz 9,36(7) + xor 11,19,21 + lwz 10,32(7) + xor 12,18,20 + addc 23,23,6 + stw 6,56(1) + + srwi 0,17,14 + srwi 5,16,14 + and 11,11,17 + adde 22,22,8 + and 12,12,16 + stw 8,60(1) + srwi 6,17,18 + srwi 8,16,18 + addc 23,23,9 + insrwi 0,16,14,0 + insrwi 5,17,14,0 + xor 11,11,21 + adde 22,22,10 + xor 12,12,20 + insrwi 6,16,18,0 + insrwi 8,17,18,0 + addc 23,23,11 + srwi 9,16,41-32 + srwi 10,17,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,17,41-32,0 + insrwi 10,16,41-32,0 + xor 11,25,27 + adde 22,22,12 + xor 12,24,26 + xor 0,0,9 + xor 5,5,10 + + srwi 6,25,28 + and 14,14,11 + addc 23,23,0 + and 15,15,12 + srwi 8,24,28 + srwi 0,24,34-32 + adde 22,22,5 + srwi 5,25,34-32 + insrwi 6,24,28,0 + insrwi 8,25,28,0 + xor 14,14,27 + addc 31,31,23 + xor 15,15,26 + insrwi 0,25,34-32,0 + insrwi 5,24,34-32,0 + adde 30,30,22 + srwi 9,24,39-32 + srwi 10,25,39-32 + xor 0,0,6 + addc 23,23,14 + xor 5,5,8 + insrwi 9,25,39-32,0 + insrwi 10,24,39-32,0 + adde 22,22,15 + lwz 8,40(4) + lwz 6,44(4) + xor 0,0,9 + xor 5,5,10 + addc 23,23,0 + adde 22,22,5 + lwz 9,44(7) + xor 14,17,19 + lwz 10,40(7) + xor 15,16,18 + addc 21,21,6 + stw 6,64(1) + + srwi 0,31,14 + srwi 5,30,14 + and 14,14,31 + adde 20,20,8 + and 15,15,30 + stw 8,68(1) + srwi 6,31,18 + srwi 8,30,18 + addc 21,21,9 + insrwi 0,30,14,0 + insrwi 5,31,14,0 + xor 14,14,19 + adde 20,20,10 + xor 15,15,18 + insrwi 6,30,18,0 + insrwi 8,31,18,0 + addc 21,21,14 + srwi 9,30,41-32 + srwi 10,31,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,31,41-32,0 + insrwi 10,30,41-32,0 + xor 14,23,25 + adde 20,20,15 + xor 15,22,24 + xor 0,0,9 + xor 5,5,10 + + srwi 6,23,28 + and 11,11,14 + addc 21,21,0 + and 12,12,15 + srwi 8,22,28 + srwi 0,22,34-32 + adde 20,20,5 + srwi 5,23,34-32 + insrwi 6,22,28,0 + insrwi 8,23,28,0 + xor 11,11,25 + addc 29,29,21 + xor 12,12,24 + insrwi 0,23,34-32,0 + insrwi 5,22,34-32,0 + adde 28,28,20 + srwi 9,22,39-32 + srwi 10,23,39-32 + xor 0,0,6 + addc 21,21,11 + xor 5,5,8 + insrwi 9,23,39-32,0 + insrwi 10,22,39-32,0 + adde 20,20,12 + lwz 8,48(4) + lwz 6,52(4) + xor 0,0,9 + xor 5,5,10 + addc 21,21,0 + adde 20,20,5 + lwz 9,52(7) + xor 11,31,17 + lwz 10,48(7) + xor 12,30,16 + addc 19,19,6 + stw 6,72(1) + + srwi 0,29,14 + srwi 5,28,14 + and 11,11,29 + adde 18,18,8 + and 12,12,28 + stw 8,76(1) + srwi 6,29,18 + srwi 8,28,18 + addc 19,19,9 + insrwi 0,28,14,0 + insrwi 5,29,14,0 + xor 11,11,17 + adde 18,18,10 + xor 12,12,16 + insrwi 6,28,18,0 + insrwi 8,29,18,0 + addc 19,19,11 + srwi 9,28,41-32 + srwi 10,29,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,29,41-32,0 + insrwi 10,28,41-32,0 + xor 11,21,23 + adde 18,18,12 + xor 12,20,22 + xor 0,0,9 + xor 5,5,10 + + srwi 6,21,28 + and 14,14,11 + addc 19,19,0 + and 15,15,12 + srwi 8,20,28 + srwi 0,20,34-32 + adde 18,18,5 + srwi 5,21,34-32 + insrwi 6,20,28,0 + insrwi 8,21,28,0 + xor 14,14,23 + addc 27,27,19 + xor 15,15,22 + insrwi 0,21,34-32,0 + insrwi 5,20,34-32,0 + adde 26,26,18 + srwi 9,20,39-32 + srwi 10,21,39-32 + xor 0,0,6 + addc 19,19,14 + xor 5,5,8 + insrwi 9,21,39-32,0 + insrwi 10,20,39-32,0 + adde 18,18,15 + lwz 8,56(4) + lwz 6,60(4) + xor 0,0,9 + xor 5,5,10 + addc 19,19,0 + adde 18,18,5 + lwz 9,60(7) + xor 14,29,31 + lwz 10,56(7) + xor 15,28,30 + addc 17,17,6 + stw 6,80(1) + + srwi 0,27,14 + srwi 5,26,14 + and 14,14,27 + adde 16,16,8 + and 15,15,26 + stw 8,84(1) + srwi 6,27,18 + srwi 8,26,18 + addc 17,17,9 + insrwi 0,26,14,0 + insrwi 5,27,14,0 + xor 14,14,31 + adde 16,16,10 + xor 15,15,30 + insrwi 6,26,18,0 + insrwi 8,27,18,0 + addc 17,17,14 + srwi 9,26,41-32 + srwi 10,27,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,27,41-32,0 + insrwi 10,26,41-32,0 + xor 14,19,21 + adde 16,16,15 + xor 15,18,20 + xor 0,0,9 + xor 5,5,10 + + srwi 6,19,28 + and 11,11,14 + addc 17,17,0 + and 12,12,15 + srwi 8,18,28 + srwi 0,18,34-32 + adde 16,16,5 + srwi 5,19,34-32 + insrwi 6,18,28,0 + insrwi 8,19,28,0 + xor 11,11,21 + addc 25,25,17 + xor 12,12,20 + insrwi 0,19,34-32,0 + insrwi 5,18,34-32,0 + adde 24,24,16 + srwi 9,18,39-32 + srwi 10,19,39-32 + xor 0,0,6 + addc 17,17,11 + xor 5,5,8 + insrwi 9,19,39-32,0 + insrwi 10,18,39-32,0 + adde 16,16,12 + lwz 8,64(4) + lwz 6,68(4) + xor 0,0,9 + xor 5,5,10 + addc 17,17,0 + adde 16,16,5 + lwz 9,68(7) + xor 11,27,29 + lwz 10,64(7) + xor 12,26,28 + addc 31,31,6 + stw 6,88(1) + + srwi 0,25,14 + srwi 5,24,14 + and 11,11,25 + adde 30,30,8 + and 12,12,24 + stw 8,92(1) + srwi 6,25,18 + srwi 8,24,18 + addc 31,31,9 + insrwi 0,24,14,0 + insrwi 5,25,14,0 + xor 11,11,29 + adde 30,30,10 + xor 12,12,28 + insrwi 6,24,18,0 + insrwi 8,25,18,0 + addc 31,31,11 + srwi 9,24,41-32 + srwi 10,25,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,25,41-32,0 + insrwi 10,24,41-32,0 + xor 11,17,19 + adde 30,30,12 + xor 12,16,18 + xor 0,0,9 + xor 5,5,10 + + srwi 6,17,28 + and 14,14,11 + addc 31,31,0 + and 15,15,12 + srwi 8,16,28 + srwi 0,16,34-32 + adde 30,30,5 + srwi 5,17,34-32 + insrwi 6,16,28,0 + insrwi 8,17,28,0 + xor 14,14,19 + addc 23,23,31 + xor 15,15,18 + insrwi 0,17,34-32,0 + insrwi 5,16,34-32,0 + adde 22,22,30 + srwi 9,16,39-32 + srwi 10,17,39-32 + xor 0,0,6 + addc 31,31,14 + xor 5,5,8 + insrwi 9,17,39-32,0 + insrwi 10,16,39-32,0 + adde 30,30,15 + lwz 8,72(4) + lwz 6,76(4) + xor 0,0,9 + xor 5,5,10 + addc 31,31,0 + adde 30,30,5 + lwz 9,76(7) + xor 14,25,27 + lwz 10,72(7) + xor 15,24,26 + addc 29,29,6 + stw 6,96(1) + + srwi 0,23,14 + srwi 5,22,14 + and 14,14,23 + adde 28,28,8 + and 15,15,22 + stw 8,100(1) + srwi 6,23,18 + srwi 8,22,18 + addc 29,29,9 + insrwi 0,22,14,0 + insrwi 5,23,14,0 + xor 14,14,27 + adde 28,28,10 + xor 15,15,26 + insrwi 6,22,18,0 + insrwi 8,23,18,0 + addc 29,29,14 + srwi 9,22,41-32 + srwi 10,23,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,23,41-32,0 + insrwi 10,22,41-32,0 + xor 14,31,17 + adde 28,28,15 + xor 15,30,16 + xor 0,0,9 + xor 5,5,10 + + srwi 6,31,28 + and 11,11,14 + addc 29,29,0 + and 12,12,15 + srwi 8,30,28 + srwi 0,30,34-32 + adde 28,28,5 + srwi 5,31,34-32 + insrwi 6,30,28,0 + insrwi 8,31,28,0 + xor 11,11,17 + addc 21,21,29 + xor 12,12,16 + insrwi 0,31,34-32,0 + insrwi 5,30,34-32,0 + adde 20,20,28 + srwi 9,30,39-32 + srwi 10,31,39-32 + xor 0,0,6 + addc 29,29,11 + xor 5,5,8 + insrwi 9,31,39-32,0 + insrwi 10,30,39-32,0 + adde 28,28,12 + lwz 8,80(4) + lwz 6,84(4) + xor 0,0,9 + xor 5,5,10 + addc 29,29,0 + adde 28,28,5 + lwz 9,84(7) + xor 11,23,25 + lwz 10,80(7) + xor 12,22,24 + addc 27,27,6 + stw 6,104(1) + + srwi 0,21,14 + srwi 5,20,14 + and 11,11,21 + adde 26,26,8 + and 12,12,20 + stw 8,108(1) + srwi 6,21,18 + srwi 8,20,18 + addc 27,27,9 + insrwi 0,20,14,0 + insrwi 5,21,14,0 + xor 11,11,25 + adde 26,26,10 + xor 12,12,24 + insrwi 6,20,18,0 + insrwi 8,21,18,0 + addc 27,27,11 + srwi 9,20,41-32 + srwi 10,21,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,21,41-32,0 + insrwi 10,20,41-32,0 + xor 11,29,31 + adde 26,26,12 + xor 12,28,30 + xor 0,0,9 + xor 5,5,10 + + srwi 6,29,28 + and 14,14,11 + addc 27,27,0 + and 15,15,12 + srwi 8,28,28 + srwi 0,28,34-32 + adde 26,26,5 + srwi 5,29,34-32 + insrwi 6,28,28,0 + insrwi 8,29,28,0 + xor 14,14,31 + addc 19,19,27 + xor 15,15,30 + insrwi 0,29,34-32,0 + insrwi 5,28,34-32,0 + adde 18,18,26 + srwi 9,28,39-32 + srwi 10,29,39-32 + xor 0,0,6 + addc 27,27,14 + xor 5,5,8 + insrwi 9,29,39-32,0 + insrwi 10,28,39-32,0 + adde 26,26,15 + lwz 8,88(4) + lwz 6,92(4) + xor 0,0,9 + xor 5,5,10 + addc 27,27,0 + adde 26,26,5 + lwz 9,92(7) + xor 14,21,23 + lwz 10,88(7) + xor 15,20,22 + addc 25,25,6 + stw 6,112(1) + + srwi 0,19,14 + srwi 5,18,14 + and 14,14,19 + adde 24,24,8 + and 15,15,18 + stw 8,116(1) + srwi 6,19,18 + srwi 8,18,18 + addc 25,25,9 + insrwi 0,18,14,0 + insrwi 5,19,14,0 + xor 14,14,23 + adde 24,24,10 + xor 15,15,22 + insrwi 6,18,18,0 + insrwi 8,19,18,0 + addc 25,25,14 + srwi 9,18,41-32 + srwi 10,19,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,19,41-32,0 + insrwi 10,18,41-32,0 + xor 14,27,29 + adde 24,24,15 + xor 15,26,28 + xor 0,0,9 + xor 5,5,10 + + srwi 6,27,28 + and 11,11,14 + addc 25,25,0 + and 12,12,15 + srwi 8,26,28 + srwi 0,26,34-32 + adde 24,24,5 + srwi 5,27,34-32 + insrwi 6,26,28,0 + insrwi 8,27,28,0 + xor 11,11,29 + addc 17,17,25 + xor 12,12,28 + insrwi 0,27,34-32,0 + insrwi 5,26,34-32,0 + adde 16,16,24 + srwi 9,26,39-32 + srwi 10,27,39-32 + xor 0,0,6 + addc 25,25,11 + xor 5,5,8 + insrwi 9,27,39-32,0 + insrwi 10,26,39-32,0 + adde 24,24,12 + lwz 8,96(4) + lwz 6,100(4) + xor 0,0,9 + xor 5,5,10 + addc 25,25,0 + adde 24,24,5 + lwz 9,100(7) + xor 11,19,21 + lwz 10,96(7) + xor 12,18,20 + addc 23,23,6 + stw 6,120(1) + + srwi 0,17,14 + srwi 5,16,14 + and 11,11,17 + adde 22,22,8 + and 12,12,16 + stw 8,124(1) + srwi 6,17,18 + srwi 8,16,18 + addc 23,23,9 + insrwi 0,16,14,0 + insrwi 5,17,14,0 + xor 11,11,21 + adde 22,22,10 + xor 12,12,20 + insrwi 6,16,18,0 + insrwi 8,17,18,0 + addc 23,23,11 + srwi 9,16,41-32 + srwi 10,17,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,17,41-32,0 + insrwi 10,16,41-32,0 + xor 11,25,27 + adde 22,22,12 + xor 12,24,26 + xor 0,0,9 + xor 5,5,10 + + srwi 6,25,28 + and 14,14,11 + addc 23,23,0 + and 15,15,12 + srwi 8,24,28 + srwi 0,24,34-32 + adde 22,22,5 + srwi 5,25,34-32 + insrwi 6,24,28,0 + insrwi 8,25,28,0 + xor 14,14,27 + addc 31,31,23 + xor 15,15,26 + insrwi 0,25,34-32,0 + insrwi 5,24,34-32,0 + adde 30,30,22 + srwi 9,24,39-32 + srwi 10,25,39-32 + xor 0,0,6 + addc 23,23,14 + xor 5,5,8 + insrwi 9,25,39-32,0 + insrwi 10,24,39-32,0 + adde 22,22,15 + lwz 8,104(4) + lwz 6,108(4) + xor 0,0,9 + xor 5,5,10 + addc 23,23,0 + adde 22,22,5 + lwz 9,108(7) + xor 14,17,19 + lwz 10,104(7) + xor 15,16,18 + addc 21,21,6 + stw 6,128(1) + + srwi 0,31,14 + srwi 5,30,14 + and 14,14,31 + adde 20,20,8 + and 15,15,30 + stw 8,132(1) + srwi 6,31,18 + srwi 8,30,18 + addc 21,21,9 + insrwi 0,30,14,0 + insrwi 5,31,14,0 + xor 14,14,19 + adde 20,20,10 + xor 15,15,18 + insrwi 6,30,18,0 + insrwi 8,31,18,0 + addc 21,21,14 + srwi 9,30,41-32 + srwi 10,31,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,31,41-32,0 + insrwi 10,30,41-32,0 + xor 14,23,25 + adde 20,20,15 + xor 15,22,24 + xor 0,0,9 + xor 5,5,10 + + srwi 6,23,28 + and 11,11,14 + addc 21,21,0 + and 12,12,15 + srwi 8,22,28 + srwi 0,22,34-32 + adde 20,20,5 + srwi 5,23,34-32 + insrwi 6,22,28,0 + insrwi 8,23,28,0 + xor 11,11,25 + addc 29,29,21 + xor 12,12,24 + insrwi 0,23,34-32,0 + insrwi 5,22,34-32,0 + adde 28,28,20 + srwi 9,22,39-32 + srwi 10,23,39-32 + xor 0,0,6 + addc 21,21,11 + xor 5,5,8 + insrwi 9,23,39-32,0 + insrwi 10,22,39-32,0 + adde 20,20,12 + lwz 8,112(4) + lwz 6,116(4) + xor 0,0,9 + xor 5,5,10 + addc 21,21,0 + adde 20,20,5 + lwz 9,116(7) + xor 11,31,17 + lwz 10,112(7) + xor 12,30,16 + addc 19,19,6 + stw 6,136(1) + + srwi 0,29,14 + srwi 5,28,14 + and 11,11,29 + adde 18,18,8 + and 12,12,28 + stw 8,140(1) + srwi 6,29,18 + srwi 8,28,18 + addc 19,19,9 + insrwi 0,28,14,0 + insrwi 5,29,14,0 + xor 11,11,17 + adde 18,18,10 + xor 12,12,16 + insrwi 6,28,18,0 + insrwi 8,29,18,0 + addc 19,19,11 + srwi 9,28,41-32 + srwi 10,29,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,29,41-32,0 + insrwi 10,28,41-32,0 + xor 11,21,23 + adde 18,18,12 + xor 12,20,22 + xor 0,0,9 + xor 5,5,10 + + srwi 6,21,28 + and 14,14,11 + addc 19,19,0 + and 15,15,12 + srwi 8,20,28 + srwi 0,20,34-32 + adde 18,18,5 + srwi 5,21,34-32 + insrwi 6,20,28,0 + insrwi 8,21,28,0 + xor 14,14,23 + addc 27,27,19 + xor 15,15,22 + insrwi 0,21,34-32,0 + insrwi 5,20,34-32,0 + adde 26,26,18 + srwi 9,20,39-32 + srwi 10,21,39-32 + xor 0,0,6 + addc 19,19,14 + xor 5,5,8 + insrwi 9,21,39-32,0 + insrwi 10,20,39-32,0 + adde 18,18,15 + lwz 8,120(4) + lwz 6,124(4) + xor 0,0,9 + xor 5,5,10 + addc 19,19,0 + adde 18,18,5 + lwz 9,124(7) + xor 14,29,31 + lwz 10,120(7) + xor 15,28,30 + addc 17,17,6 + stw 6,144(1) + + srwi 0,27,14 + srwi 5,26,14 + and 14,14,27 + adde 16,16,8 + and 15,15,26 + stw 8,148(1) + srwi 6,27,18 + srwi 8,26,18 + addc 17,17,9 + insrwi 0,26,14,0 + insrwi 5,27,14,0 + xor 14,14,31 + adde 16,16,10 + xor 15,15,30 + insrwi 6,26,18,0 + insrwi 8,27,18,0 + addc 17,17,14 + srwi 9,26,41-32 + srwi 10,27,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,27,41-32,0 + insrwi 10,26,41-32,0 + xor 14,19,21 + adde 16,16,15 + xor 15,18,20 + xor 0,0,9 + xor 5,5,10 + + srwi 6,19,28 + and 11,11,14 + addc 17,17,0 + and 12,12,15 + srwi 8,18,28 + srwi 0,18,34-32 + adde 16,16,5 + srwi 5,19,34-32 + insrwi 6,18,28,0 + insrwi 8,19,28,0 + xor 11,11,21 + addc 25,25,17 + xor 12,12,20 + insrwi 0,19,34-32,0 + insrwi 5,18,34-32,0 + adde 24,24,16 + srwi 9,18,39-32 + srwi 10,19,39-32 + xor 0,0,6 + addc 17,17,11 + xor 5,5,8 + insrwi 9,19,39-32,0 + insrwi 10,18,39-32,0 + adde 16,16,12 + lwz 6,32(1) + lwz 8,36(1) + xor 0,0,9 + xor 5,5,10 + addc 17,17,0 + adde 16,16,5 + lwz 3,24(1) + lwz 4,28(1) + li 11,4 + mtctr 11 +.align 4 +.Lrounds: + addi 7,7,128 + srwi 0,6,1 + srwi 5,8,1 + srwi 9,6,8 + srwi 10,8,8 + insrwi 0,8,1,0 + insrwi 5,6,1,0 + srwi 11,6,7 + insrwi 9,8,8,0 + insrwi 10,6,8,0 + insrwi 11,8,7,0 + xor 0,0,9 + lwz 9,136(1) + srwi 12,8,7 + xor 5,5,10 + lwz 10,140(1) + xor 11,11,0 + srwi 0,9,19 + xor 12,12,5 + srwi 5,10,19 + addc 3,3,11 + srwi 11,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 4,4,12 + srwi 12,9,61-32 + + insrwi 11,9,61-32,0 + srwi 9,9,6 + insrwi 12,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,11 + lwz 11,96(1) + srwi 10,10,6 + xor 5,5,12 + lwz 12,100(1) + xor 0,0,9 + addc 3,3,11 + xor 5,5,10 + adde 4,4,12 + addc 3,3,0 + adde 4,4,5 + lwz 9,4(7) + xor 11,27,29 + lwz 10,0(7) + xor 12,26,28 + addc 31,31,3 + stw 3,24(1) + + srwi 0,25,14 + srwi 5,24,14 + and 11,11,25 + adde 30,30,4 + and 12,12,24 + stw 4,28(1) + srwi 3,25,18 + srwi 4,24,18 + addc 31,31,9 + insrwi 0,24,14,0 + insrwi 5,25,14,0 + xor 11,11,29 + adde 30,30,10 + xor 12,12,28 + insrwi 3,24,18,0 + insrwi 4,25,18,0 + addc 31,31,11 + srwi 9,24,41-32 + srwi 10,25,41-32 + xor 0,0,3 + xor 5,5,4 + insrwi 9,25,41-32,0 + insrwi 10,24,41-32,0 + xor 11,17,19 + adde 30,30,12 + xor 12,16,18 + xor 0,0,9 + xor 5,5,10 + + srwi 3,17,28 + and 14,14,11 + addc 31,31,0 + and 15,15,12 + srwi 4,16,28 + srwi 0,16,34-32 + adde 30,30,5 + srwi 5,17,34-32 + insrwi 3,16,28,0 + insrwi 4,17,28,0 + xor 14,14,19 + addc 23,23,31 + xor 15,15,18 + insrwi 0,17,34-32,0 + insrwi 5,16,34-32,0 + adde 22,22,30 + srwi 9,16,39-32 + srwi 10,17,39-32 + xor 0,0,3 + addc 31,31,14 + xor 5,5,4 + insrwi 9,17,39-32,0 + insrwi 10,16,39-32,0 + adde 30,30,15 + lwz 3,40(1) + lwz 4,44(1) + xor 0,0,9 + xor 5,5,10 + addc 31,31,0 + adde 30,30,5 + srwi 0,3,1 + srwi 5,4,1 + srwi 9,3,8 + srwi 10,4,8 + insrwi 0,4,1,0 + insrwi 5,3,1,0 + srwi 14,3,7 + insrwi 9,4,8,0 + insrwi 10,3,8,0 + insrwi 14,4,7,0 + xor 0,0,9 + lwz 9,144(1) + srwi 15,4,7 + xor 5,5,10 + lwz 10,148(1) + xor 14,14,0 + srwi 0,9,19 + xor 15,15,5 + srwi 5,10,19 + addc 6,6,14 + srwi 14,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 8,8,15 + srwi 15,9,61-32 + + insrwi 14,9,61-32,0 + srwi 9,9,6 + insrwi 15,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,14 + lwz 14,104(1) + srwi 10,10,6 + xor 5,5,15 + lwz 15,108(1) + xor 0,0,9 + addc 6,6,14 + xor 5,5,10 + adde 8,8,15 + addc 6,6,0 + adde 8,8,5 + lwz 9,12(7) + xor 14,25,27 + lwz 10,8(7) + xor 15,24,26 + addc 29,29,6 + stw 6,32(1) + + srwi 0,23,14 + srwi 5,22,14 + and 14,14,23 + adde 28,28,8 + and 15,15,22 + stw 8,36(1) + srwi 6,23,18 + srwi 8,22,18 + addc 29,29,9 + insrwi 0,22,14,0 + insrwi 5,23,14,0 + xor 14,14,27 + adde 28,28,10 + xor 15,15,26 + insrwi 6,22,18,0 + insrwi 8,23,18,0 + addc 29,29,14 + srwi 9,22,41-32 + srwi 10,23,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,23,41-32,0 + insrwi 10,22,41-32,0 + xor 14,31,17 + adde 28,28,15 + xor 15,30,16 + xor 0,0,9 + xor 5,5,10 + + srwi 6,31,28 + and 11,11,14 + addc 29,29,0 + and 12,12,15 + srwi 8,30,28 + srwi 0,30,34-32 + adde 28,28,5 + srwi 5,31,34-32 + insrwi 6,30,28,0 + insrwi 8,31,28,0 + xor 11,11,17 + addc 21,21,29 + xor 12,12,16 + insrwi 0,31,34-32,0 + insrwi 5,30,34-32,0 + adde 20,20,28 + srwi 9,30,39-32 + srwi 10,31,39-32 + xor 0,0,6 + addc 29,29,11 + xor 5,5,8 + insrwi 9,31,39-32,0 + insrwi 10,30,39-32,0 + adde 28,28,12 + lwz 6,48(1) + lwz 8,52(1) + xor 0,0,9 + xor 5,5,10 + addc 29,29,0 + adde 28,28,5 + srwi 0,6,1 + srwi 5,8,1 + srwi 9,6,8 + srwi 10,8,8 + insrwi 0,8,1,0 + insrwi 5,6,1,0 + srwi 11,6,7 + insrwi 9,8,8,0 + insrwi 10,6,8,0 + insrwi 11,8,7,0 + xor 0,0,9 + lwz 9,24(1) + srwi 12,8,7 + xor 5,5,10 + lwz 10,28(1) + xor 11,11,0 + srwi 0,9,19 + xor 12,12,5 + srwi 5,10,19 + addc 3,3,11 + srwi 11,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 4,4,12 + srwi 12,9,61-32 + + insrwi 11,9,61-32,0 + srwi 9,9,6 + insrwi 12,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,11 + lwz 11,112(1) + srwi 10,10,6 + xor 5,5,12 + lwz 12,116(1) + xor 0,0,9 + addc 3,3,11 + xor 5,5,10 + adde 4,4,12 + addc 3,3,0 + adde 4,4,5 + lwz 9,20(7) + xor 11,23,25 + lwz 10,16(7) + xor 12,22,24 + addc 27,27,3 + stw 3,40(1) + + srwi 0,21,14 + srwi 5,20,14 + and 11,11,21 + adde 26,26,4 + and 12,12,20 + stw 4,44(1) + srwi 3,21,18 + srwi 4,20,18 + addc 27,27,9 + insrwi 0,20,14,0 + insrwi 5,21,14,0 + xor 11,11,25 + adde 26,26,10 + xor 12,12,24 + insrwi 3,20,18,0 + insrwi 4,21,18,0 + addc 27,27,11 + srwi 9,20,41-32 + srwi 10,21,41-32 + xor 0,0,3 + xor 5,5,4 + insrwi 9,21,41-32,0 + insrwi 10,20,41-32,0 + xor 11,29,31 + adde 26,26,12 + xor 12,28,30 + xor 0,0,9 + xor 5,5,10 + + srwi 3,29,28 + and 14,14,11 + addc 27,27,0 + and 15,15,12 + srwi 4,28,28 + srwi 0,28,34-32 + adde 26,26,5 + srwi 5,29,34-32 + insrwi 3,28,28,0 + insrwi 4,29,28,0 + xor 14,14,31 + addc 19,19,27 + xor 15,15,30 + insrwi 0,29,34-32,0 + insrwi 5,28,34-32,0 + adde 18,18,26 + srwi 9,28,39-32 + srwi 10,29,39-32 + xor 0,0,3 + addc 27,27,14 + xor 5,5,4 + insrwi 9,29,39-32,0 + insrwi 10,28,39-32,0 + adde 26,26,15 + lwz 3,56(1) + lwz 4,60(1) + xor 0,0,9 + xor 5,5,10 + addc 27,27,0 + adde 26,26,5 + srwi 0,3,1 + srwi 5,4,1 + srwi 9,3,8 + srwi 10,4,8 + insrwi 0,4,1,0 + insrwi 5,3,1,0 + srwi 14,3,7 + insrwi 9,4,8,0 + insrwi 10,3,8,0 + insrwi 14,4,7,0 + xor 0,0,9 + lwz 9,32(1) + srwi 15,4,7 + xor 5,5,10 + lwz 10,36(1) + xor 14,14,0 + srwi 0,9,19 + xor 15,15,5 + srwi 5,10,19 + addc 6,6,14 + srwi 14,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 8,8,15 + srwi 15,9,61-32 + + insrwi 14,9,61-32,0 + srwi 9,9,6 + insrwi 15,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,14 + lwz 14,120(1) + srwi 10,10,6 + xor 5,5,15 + lwz 15,124(1) + xor 0,0,9 + addc 6,6,14 + xor 5,5,10 + adde 8,8,15 + addc 6,6,0 + adde 8,8,5 + lwz 9,28(7) + xor 14,21,23 + lwz 10,24(7) + xor 15,20,22 + addc 25,25,6 + stw 6,48(1) + + srwi 0,19,14 + srwi 5,18,14 + and 14,14,19 + adde 24,24,8 + and 15,15,18 + stw 8,52(1) + srwi 6,19,18 + srwi 8,18,18 + addc 25,25,9 + insrwi 0,18,14,0 + insrwi 5,19,14,0 + xor 14,14,23 + adde 24,24,10 + xor 15,15,22 + insrwi 6,18,18,0 + insrwi 8,19,18,0 + addc 25,25,14 + srwi 9,18,41-32 + srwi 10,19,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,19,41-32,0 + insrwi 10,18,41-32,0 + xor 14,27,29 + adde 24,24,15 + xor 15,26,28 + xor 0,0,9 + xor 5,5,10 + + srwi 6,27,28 + and 11,11,14 + addc 25,25,0 + and 12,12,15 + srwi 8,26,28 + srwi 0,26,34-32 + adde 24,24,5 + srwi 5,27,34-32 + insrwi 6,26,28,0 + insrwi 8,27,28,0 + xor 11,11,29 + addc 17,17,25 + xor 12,12,28 + insrwi 0,27,34-32,0 + insrwi 5,26,34-32,0 + adde 16,16,24 + srwi 9,26,39-32 + srwi 10,27,39-32 + xor 0,0,6 + addc 25,25,11 + xor 5,5,8 + insrwi 9,27,39-32,0 + insrwi 10,26,39-32,0 + adde 24,24,12 + lwz 6,64(1) + lwz 8,68(1) + xor 0,0,9 + xor 5,5,10 + addc 25,25,0 + adde 24,24,5 + srwi 0,6,1 + srwi 5,8,1 + srwi 9,6,8 + srwi 10,8,8 + insrwi 0,8,1,0 + insrwi 5,6,1,0 + srwi 11,6,7 + insrwi 9,8,8,0 + insrwi 10,6,8,0 + insrwi 11,8,7,0 + xor 0,0,9 + lwz 9,40(1) + srwi 12,8,7 + xor 5,5,10 + lwz 10,44(1) + xor 11,11,0 + srwi 0,9,19 + xor 12,12,5 + srwi 5,10,19 + addc 3,3,11 + srwi 11,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 4,4,12 + srwi 12,9,61-32 + + insrwi 11,9,61-32,0 + srwi 9,9,6 + insrwi 12,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,11 + lwz 11,128(1) + srwi 10,10,6 + xor 5,5,12 + lwz 12,132(1) + xor 0,0,9 + addc 3,3,11 + xor 5,5,10 + adde 4,4,12 + addc 3,3,0 + adde 4,4,5 + lwz 9,36(7) + xor 11,19,21 + lwz 10,32(7) + xor 12,18,20 + addc 23,23,3 + stw 3,56(1) + + srwi 0,17,14 + srwi 5,16,14 + and 11,11,17 + adde 22,22,4 + and 12,12,16 + stw 4,60(1) + srwi 3,17,18 + srwi 4,16,18 + addc 23,23,9 + insrwi 0,16,14,0 + insrwi 5,17,14,0 + xor 11,11,21 + adde 22,22,10 + xor 12,12,20 + insrwi 3,16,18,0 + insrwi 4,17,18,0 + addc 23,23,11 + srwi 9,16,41-32 + srwi 10,17,41-32 + xor 0,0,3 + xor 5,5,4 + insrwi 9,17,41-32,0 + insrwi 10,16,41-32,0 + xor 11,25,27 + adde 22,22,12 + xor 12,24,26 + xor 0,0,9 + xor 5,5,10 + + srwi 3,25,28 + and 14,14,11 + addc 23,23,0 + and 15,15,12 + srwi 4,24,28 + srwi 0,24,34-32 + adde 22,22,5 + srwi 5,25,34-32 + insrwi 3,24,28,0 + insrwi 4,25,28,0 + xor 14,14,27 + addc 31,31,23 + xor 15,15,26 + insrwi 0,25,34-32,0 + insrwi 5,24,34-32,0 + adde 30,30,22 + srwi 9,24,39-32 + srwi 10,25,39-32 + xor 0,0,3 + addc 23,23,14 + xor 5,5,4 + insrwi 9,25,39-32,0 + insrwi 10,24,39-32,0 + adde 22,22,15 + lwz 3,72(1) + lwz 4,76(1) + xor 0,0,9 + xor 5,5,10 + addc 23,23,0 + adde 22,22,5 + srwi 0,3,1 + srwi 5,4,1 + srwi 9,3,8 + srwi 10,4,8 + insrwi 0,4,1,0 + insrwi 5,3,1,0 + srwi 14,3,7 + insrwi 9,4,8,0 + insrwi 10,3,8,0 + insrwi 14,4,7,0 + xor 0,0,9 + lwz 9,48(1) + srwi 15,4,7 + xor 5,5,10 + lwz 10,52(1) + xor 14,14,0 + srwi 0,9,19 + xor 15,15,5 + srwi 5,10,19 + addc 6,6,14 + srwi 14,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 8,8,15 + srwi 15,9,61-32 + + insrwi 14,9,61-32,0 + srwi 9,9,6 + insrwi 15,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,14 + lwz 14,136(1) + srwi 10,10,6 + xor 5,5,15 + lwz 15,140(1) + xor 0,0,9 + addc 6,6,14 + xor 5,5,10 + adde 8,8,15 + addc 6,6,0 + adde 8,8,5 + lwz 9,44(7) + xor 14,17,19 + lwz 10,40(7) + xor 15,16,18 + addc 21,21,6 + stw 6,64(1) + + srwi 0,31,14 + srwi 5,30,14 + and 14,14,31 + adde 20,20,8 + and 15,15,30 + stw 8,68(1) + srwi 6,31,18 + srwi 8,30,18 + addc 21,21,9 + insrwi 0,30,14,0 + insrwi 5,31,14,0 + xor 14,14,19 + adde 20,20,10 + xor 15,15,18 + insrwi 6,30,18,0 + insrwi 8,31,18,0 + addc 21,21,14 + srwi 9,30,41-32 + srwi 10,31,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,31,41-32,0 + insrwi 10,30,41-32,0 + xor 14,23,25 + adde 20,20,15 + xor 15,22,24 + xor 0,0,9 + xor 5,5,10 + + srwi 6,23,28 + and 11,11,14 + addc 21,21,0 + and 12,12,15 + srwi 8,22,28 + srwi 0,22,34-32 + adde 20,20,5 + srwi 5,23,34-32 + insrwi 6,22,28,0 + insrwi 8,23,28,0 + xor 11,11,25 + addc 29,29,21 + xor 12,12,24 + insrwi 0,23,34-32,0 + insrwi 5,22,34-32,0 + adde 28,28,20 + srwi 9,22,39-32 + srwi 10,23,39-32 + xor 0,0,6 + addc 21,21,11 + xor 5,5,8 + insrwi 9,23,39-32,0 + insrwi 10,22,39-32,0 + adde 20,20,12 + lwz 6,80(1) + lwz 8,84(1) + xor 0,0,9 + xor 5,5,10 + addc 21,21,0 + adde 20,20,5 + srwi 0,6,1 + srwi 5,8,1 + srwi 9,6,8 + srwi 10,8,8 + insrwi 0,8,1,0 + insrwi 5,6,1,0 + srwi 11,6,7 + insrwi 9,8,8,0 + insrwi 10,6,8,0 + insrwi 11,8,7,0 + xor 0,0,9 + lwz 9,56(1) + srwi 12,8,7 + xor 5,5,10 + lwz 10,60(1) + xor 11,11,0 + srwi 0,9,19 + xor 12,12,5 + srwi 5,10,19 + addc 3,3,11 + srwi 11,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 4,4,12 + srwi 12,9,61-32 + + insrwi 11,9,61-32,0 + srwi 9,9,6 + insrwi 12,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,11 + lwz 11,144(1) + srwi 10,10,6 + xor 5,5,12 + lwz 12,148(1) + xor 0,0,9 + addc 3,3,11 + xor 5,5,10 + adde 4,4,12 + addc 3,3,0 + adde 4,4,5 + lwz 9,52(7) + xor 11,31,17 + lwz 10,48(7) + xor 12,30,16 + addc 19,19,3 + stw 3,72(1) + + srwi 0,29,14 + srwi 5,28,14 + and 11,11,29 + adde 18,18,4 + and 12,12,28 + stw 4,76(1) + srwi 3,29,18 + srwi 4,28,18 + addc 19,19,9 + insrwi 0,28,14,0 + insrwi 5,29,14,0 + xor 11,11,17 + adde 18,18,10 + xor 12,12,16 + insrwi 3,28,18,0 + insrwi 4,29,18,0 + addc 19,19,11 + srwi 9,28,41-32 + srwi 10,29,41-32 + xor 0,0,3 + xor 5,5,4 + insrwi 9,29,41-32,0 + insrwi 10,28,41-32,0 + xor 11,21,23 + adde 18,18,12 + xor 12,20,22 + xor 0,0,9 + xor 5,5,10 + + srwi 3,21,28 + and 14,14,11 + addc 19,19,0 + and 15,15,12 + srwi 4,20,28 + srwi 0,20,34-32 + adde 18,18,5 + srwi 5,21,34-32 + insrwi 3,20,28,0 + insrwi 4,21,28,0 + xor 14,14,23 + addc 27,27,19 + xor 15,15,22 + insrwi 0,21,34-32,0 + insrwi 5,20,34-32,0 + adde 26,26,18 + srwi 9,20,39-32 + srwi 10,21,39-32 + xor 0,0,3 + addc 19,19,14 + xor 5,5,4 + insrwi 9,21,39-32,0 + insrwi 10,20,39-32,0 + adde 18,18,15 + lwz 3,88(1) + lwz 4,92(1) + xor 0,0,9 + xor 5,5,10 + addc 19,19,0 + adde 18,18,5 + srwi 0,3,1 + srwi 5,4,1 + srwi 9,3,8 + srwi 10,4,8 + insrwi 0,4,1,0 + insrwi 5,3,1,0 + srwi 14,3,7 + insrwi 9,4,8,0 + insrwi 10,3,8,0 + insrwi 14,4,7,0 + xor 0,0,9 + lwz 9,64(1) + srwi 15,4,7 + xor 5,5,10 + lwz 10,68(1) + xor 14,14,0 + srwi 0,9,19 + xor 15,15,5 + srwi 5,10,19 + addc 6,6,14 + srwi 14,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 8,8,15 + srwi 15,9,61-32 + + insrwi 14,9,61-32,0 + srwi 9,9,6 + insrwi 15,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,14 + lwz 14,24(1) + srwi 10,10,6 + xor 5,5,15 + lwz 15,28(1) + xor 0,0,9 + addc 6,6,14 + xor 5,5,10 + adde 8,8,15 + addc 6,6,0 + adde 8,8,5 + lwz 9,60(7) + xor 14,29,31 + lwz 10,56(7) + xor 15,28,30 + addc 17,17,6 + stw 6,80(1) + + srwi 0,27,14 + srwi 5,26,14 + and 14,14,27 + adde 16,16,8 + and 15,15,26 + stw 8,84(1) + srwi 6,27,18 + srwi 8,26,18 + addc 17,17,9 + insrwi 0,26,14,0 + insrwi 5,27,14,0 + xor 14,14,31 + adde 16,16,10 + xor 15,15,30 + insrwi 6,26,18,0 + insrwi 8,27,18,0 + addc 17,17,14 + srwi 9,26,41-32 + srwi 10,27,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,27,41-32,0 + insrwi 10,26,41-32,0 + xor 14,19,21 + adde 16,16,15 + xor 15,18,20 + xor 0,0,9 + xor 5,5,10 + + srwi 6,19,28 + and 11,11,14 + addc 17,17,0 + and 12,12,15 + srwi 8,18,28 + srwi 0,18,34-32 + adde 16,16,5 + srwi 5,19,34-32 + insrwi 6,18,28,0 + insrwi 8,19,28,0 + xor 11,11,21 + addc 25,25,17 + xor 12,12,20 + insrwi 0,19,34-32,0 + insrwi 5,18,34-32,0 + adde 24,24,16 + srwi 9,18,39-32 + srwi 10,19,39-32 + xor 0,0,6 + addc 17,17,11 + xor 5,5,8 + insrwi 9,19,39-32,0 + insrwi 10,18,39-32,0 + adde 16,16,12 + lwz 6,96(1) + lwz 8,100(1) + xor 0,0,9 + xor 5,5,10 + addc 17,17,0 + adde 16,16,5 + srwi 0,6,1 + srwi 5,8,1 + srwi 9,6,8 + srwi 10,8,8 + insrwi 0,8,1,0 + insrwi 5,6,1,0 + srwi 11,6,7 + insrwi 9,8,8,0 + insrwi 10,6,8,0 + insrwi 11,8,7,0 + xor 0,0,9 + lwz 9,72(1) + srwi 12,8,7 + xor 5,5,10 + lwz 10,76(1) + xor 11,11,0 + srwi 0,9,19 + xor 12,12,5 + srwi 5,10,19 + addc 3,3,11 + srwi 11,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 4,4,12 + srwi 12,9,61-32 + + insrwi 11,9,61-32,0 + srwi 9,9,6 + insrwi 12,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,11 + lwz 11,32(1) + srwi 10,10,6 + xor 5,5,12 + lwz 12,36(1) + xor 0,0,9 + addc 3,3,11 + xor 5,5,10 + adde 4,4,12 + addc 3,3,0 + adde 4,4,5 + lwz 9,68(7) + xor 11,27,29 + lwz 10,64(7) + xor 12,26,28 + addc 31,31,3 + stw 3,88(1) + + srwi 0,25,14 + srwi 5,24,14 + and 11,11,25 + adde 30,30,4 + and 12,12,24 + stw 4,92(1) + srwi 3,25,18 + srwi 4,24,18 + addc 31,31,9 + insrwi 0,24,14,0 + insrwi 5,25,14,0 + xor 11,11,29 + adde 30,30,10 + xor 12,12,28 + insrwi 3,24,18,0 + insrwi 4,25,18,0 + addc 31,31,11 + srwi 9,24,41-32 + srwi 10,25,41-32 + xor 0,0,3 + xor 5,5,4 + insrwi 9,25,41-32,0 + insrwi 10,24,41-32,0 + xor 11,17,19 + adde 30,30,12 + xor 12,16,18 + xor 0,0,9 + xor 5,5,10 + + srwi 3,17,28 + and 14,14,11 + addc 31,31,0 + and 15,15,12 + srwi 4,16,28 + srwi 0,16,34-32 + adde 30,30,5 + srwi 5,17,34-32 + insrwi 3,16,28,0 + insrwi 4,17,28,0 + xor 14,14,19 + addc 23,23,31 + xor 15,15,18 + insrwi 0,17,34-32,0 + insrwi 5,16,34-32,0 + adde 22,22,30 + srwi 9,16,39-32 + srwi 10,17,39-32 + xor 0,0,3 + addc 31,31,14 + xor 5,5,4 + insrwi 9,17,39-32,0 + insrwi 10,16,39-32,0 + adde 30,30,15 + lwz 3,104(1) + lwz 4,108(1) + xor 0,0,9 + xor 5,5,10 + addc 31,31,0 + adde 30,30,5 + srwi 0,3,1 + srwi 5,4,1 + srwi 9,3,8 + srwi 10,4,8 + insrwi 0,4,1,0 + insrwi 5,3,1,0 + srwi 14,3,7 + insrwi 9,4,8,0 + insrwi 10,3,8,0 + insrwi 14,4,7,0 + xor 0,0,9 + lwz 9,80(1) + srwi 15,4,7 + xor 5,5,10 + lwz 10,84(1) + xor 14,14,0 + srwi 0,9,19 + xor 15,15,5 + srwi 5,10,19 + addc 6,6,14 + srwi 14,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 8,8,15 + srwi 15,9,61-32 + + insrwi 14,9,61-32,0 + srwi 9,9,6 + insrwi 15,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,14 + lwz 14,40(1) + srwi 10,10,6 + xor 5,5,15 + lwz 15,44(1) + xor 0,0,9 + addc 6,6,14 + xor 5,5,10 + adde 8,8,15 + addc 6,6,0 + adde 8,8,5 + lwz 9,76(7) + xor 14,25,27 + lwz 10,72(7) + xor 15,24,26 + addc 29,29,6 + stw 6,96(1) + + srwi 0,23,14 + srwi 5,22,14 + and 14,14,23 + adde 28,28,8 + and 15,15,22 + stw 8,100(1) + srwi 6,23,18 + srwi 8,22,18 + addc 29,29,9 + insrwi 0,22,14,0 + insrwi 5,23,14,0 + xor 14,14,27 + adde 28,28,10 + xor 15,15,26 + insrwi 6,22,18,0 + insrwi 8,23,18,0 + addc 29,29,14 + srwi 9,22,41-32 + srwi 10,23,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,23,41-32,0 + insrwi 10,22,41-32,0 + xor 14,31,17 + adde 28,28,15 + xor 15,30,16 + xor 0,0,9 + xor 5,5,10 + + srwi 6,31,28 + and 11,11,14 + addc 29,29,0 + and 12,12,15 + srwi 8,30,28 + srwi 0,30,34-32 + adde 28,28,5 + srwi 5,31,34-32 + insrwi 6,30,28,0 + insrwi 8,31,28,0 + xor 11,11,17 + addc 21,21,29 + xor 12,12,16 + insrwi 0,31,34-32,0 + insrwi 5,30,34-32,0 + adde 20,20,28 + srwi 9,30,39-32 + srwi 10,31,39-32 + xor 0,0,6 + addc 29,29,11 + xor 5,5,8 + insrwi 9,31,39-32,0 + insrwi 10,30,39-32,0 + adde 28,28,12 + lwz 6,112(1) + lwz 8,116(1) + xor 0,0,9 + xor 5,5,10 + addc 29,29,0 + adde 28,28,5 + srwi 0,6,1 + srwi 5,8,1 + srwi 9,6,8 + srwi 10,8,8 + insrwi 0,8,1,0 + insrwi 5,6,1,0 + srwi 11,6,7 + insrwi 9,8,8,0 + insrwi 10,6,8,0 + insrwi 11,8,7,0 + xor 0,0,9 + lwz 9,88(1) + srwi 12,8,7 + xor 5,5,10 + lwz 10,92(1) + xor 11,11,0 + srwi 0,9,19 + xor 12,12,5 + srwi 5,10,19 + addc 3,3,11 + srwi 11,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 4,4,12 + srwi 12,9,61-32 + + insrwi 11,9,61-32,0 + srwi 9,9,6 + insrwi 12,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,11 + lwz 11,48(1) + srwi 10,10,6 + xor 5,5,12 + lwz 12,52(1) + xor 0,0,9 + addc 3,3,11 + xor 5,5,10 + adde 4,4,12 + addc 3,3,0 + adde 4,4,5 + lwz 9,84(7) + xor 11,23,25 + lwz 10,80(7) + xor 12,22,24 + addc 27,27,3 + stw 3,104(1) + + srwi 0,21,14 + srwi 5,20,14 + and 11,11,21 + adde 26,26,4 + and 12,12,20 + stw 4,108(1) + srwi 3,21,18 + srwi 4,20,18 + addc 27,27,9 + insrwi 0,20,14,0 + insrwi 5,21,14,0 + xor 11,11,25 + adde 26,26,10 + xor 12,12,24 + insrwi 3,20,18,0 + insrwi 4,21,18,0 + addc 27,27,11 + srwi 9,20,41-32 + srwi 10,21,41-32 + xor 0,0,3 + xor 5,5,4 + insrwi 9,21,41-32,0 + insrwi 10,20,41-32,0 + xor 11,29,31 + adde 26,26,12 + xor 12,28,30 + xor 0,0,9 + xor 5,5,10 + + srwi 3,29,28 + and 14,14,11 + addc 27,27,0 + and 15,15,12 + srwi 4,28,28 + srwi 0,28,34-32 + adde 26,26,5 + srwi 5,29,34-32 + insrwi 3,28,28,0 + insrwi 4,29,28,0 + xor 14,14,31 + addc 19,19,27 + xor 15,15,30 + insrwi 0,29,34-32,0 + insrwi 5,28,34-32,0 + adde 18,18,26 + srwi 9,28,39-32 + srwi 10,29,39-32 + xor 0,0,3 + addc 27,27,14 + xor 5,5,4 + insrwi 9,29,39-32,0 + insrwi 10,28,39-32,0 + adde 26,26,15 + lwz 3,120(1) + lwz 4,124(1) + xor 0,0,9 + xor 5,5,10 + addc 27,27,0 + adde 26,26,5 + srwi 0,3,1 + srwi 5,4,1 + srwi 9,3,8 + srwi 10,4,8 + insrwi 0,4,1,0 + insrwi 5,3,1,0 + srwi 14,3,7 + insrwi 9,4,8,0 + insrwi 10,3,8,0 + insrwi 14,4,7,0 + xor 0,0,9 + lwz 9,96(1) + srwi 15,4,7 + xor 5,5,10 + lwz 10,100(1) + xor 14,14,0 + srwi 0,9,19 + xor 15,15,5 + srwi 5,10,19 + addc 6,6,14 + srwi 14,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 8,8,15 + srwi 15,9,61-32 + + insrwi 14,9,61-32,0 + srwi 9,9,6 + insrwi 15,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,14 + lwz 14,56(1) + srwi 10,10,6 + xor 5,5,15 + lwz 15,60(1) + xor 0,0,9 + addc 6,6,14 + xor 5,5,10 + adde 8,8,15 + addc 6,6,0 + adde 8,8,5 + lwz 9,92(7) + xor 14,21,23 + lwz 10,88(7) + xor 15,20,22 + addc 25,25,6 + stw 6,112(1) + + srwi 0,19,14 + srwi 5,18,14 + and 14,14,19 + adde 24,24,8 + and 15,15,18 + stw 8,116(1) + srwi 6,19,18 + srwi 8,18,18 + addc 25,25,9 + insrwi 0,18,14,0 + insrwi 5,19,14,0 + xor 14,14,23 + adde 24,24,10 + xor 15,15,22 + insrwi 6,18,18,0 + insrwi 8,19,18,0 + addc 25,25,14 + srwi 9,18,41-32 + srwi 10,19,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,19,41-32,0 + insrwi 10,18,41-32,0 + xor 14,27,29 + adde 24,24,15 + xor 15,26,28 + xor 0,0,9 + xor 5,5,10 + + srwi 6,27,28 + and 11,11,14 + addc 25,25,0 + and 12,12,15 + srwi 8,26,28 + srwi 0,26,34-32 + adde 24,24,5 + srwi 5,27,34-32 + insrwi 6,26,28,0 + insrwi 8,27,28,0 + xor 11,11,29 + addc 17,17,25 + xor 12,12,28 + insrwi 0,27,34-32,0 + insrwi 5,26,34-32,0 + adde 16,16,24 + srwi 9,26,39-32 + srwi 10,27,39-32 + xor 0,0,6 + addc 25,25,11 + xor 5,5,8 + insrwi 9,27,39-32,0 + insrwi 10,26,39-32,0 + adde 24,24,12 + lwz 6,128(1) + lwz 8,132(1) + xor 0,0,9 + xor 5,5,10 + addc 25,25,0 + adde 24,24,5 + srwi 0,6,1 + srwi 5,8,1 + srwi 9,6,8 + srwi 10,8,8 + insrwi 0,8,1,0 + insrwi 5,6,1,0 + srwi 11,6,7 + insrwi 9,8,8,0 + insrwi 10,6,8,0 + insrwi 11,8,7,0 + xor 0,0,9 + lwz 9,104(1) + srwi 12,8,7 + xor 5,5,10 + lwz 10,108(1) + xor 11,11,0 + srwi 0,9,19 + xor 12,12,5 + srwi 5,10,19 + addc 3,3,11 + srwi 11,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 4,4,12 + srwi 12,9,61-32 + + insrwi 11,9,61-32,0 + srwi 9,9,6 + insrwi 12,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,11 + lwz 11,64(1) + srwi 10,10,6 + xor 5,5,12 + lwz 12,68(1) + xor 0,0,9 + addc 3,3,11 + xor 5,5,10 + adde 4,4,12 + addc 3,3,0 + adde 4,4,5 + lwz 9,100(7) + xor 11,19,21 + lwz 10,96(7) + xor 12,18,20 + addc 23,23,3 + stw 3,120(1) + + srwi 0,17,14 + srwi 5,16,14 + and 11,11,17 + adde 22,22,4 + and 12,12,16 + stw 4,124(1) + srwi 3,17,18 + srwi 4,16,18 + addc 23,23,9 + insrwi 0,16,14,0 + insrwi 5,17,14,0 + xor 11,11,21 + adde 22,22,10 + xor 12,12,20 + insrwi 3,16,18,0 + insrwi 4,17,18,0 + addc 23,23,11 + srwi 9,16,41-32 + srwi 10,17,41-32 + xor 0,0,3 + xor 5,5,4 + insrwi 9,17,41-32,0 + insrwi 10,16,41-32,0 + xor 11,25,27 + adde 22,22,12 + xor 12,24,26 + xor 0,0,9 + xor 5,5,10 + + srwi 3,25,28 + and 14,14,11 + addc 23,23,0 + and 15,15,12 + srwi 4,24,28 + srwi 0,24,34-32 + adde 22,22,5 + srwi 5,25,34-32 + insrwi 3,24,28,0 + insrwi 4,25,28,0 + xor 14,14,27 + addc 31,31,23 + xor 15,15,26 + insrwi 0,25,34-32,0 + insrwi 5,24,34-32,0 + adde 30,30,22 + srwi 9,24,39-32 + srwi 10,25,39-32 + xor 0,0,3 + addc 23,23,14 + xor 5,5,4 + insrwi 9,25,39-32,0 + insrwi 10,24,39-32,0 + adde 22,22,15 + lwz 3,136(1) + lwz 4,140(1) + xor 0,0,9 + xor 5,5,10 + addc 23,23,0 + adde 22,22,5 + srwi 0,3,1 + srwi 5,4,1 + srwi 9,3,8 + srwi 10,4,8 + insrwi 0,4,1,0 + insrwi 5,3,1,0 + srwi 14,3,7 + insrwi 9,4,8,0 + insrwi 10,3,8,0 + insrwi 14,4,7,0 + xor 0,0,9 + lwz 9,112(1) + srwi 15,4,7 + xor 5,5,10 + lwz 10,116(1) + xor 14,14,0 + srwi 0,9,19 + xor 15,15,5 + srwi 5,10,19 + addc 6,6,14 + srwi 14,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 8,8,15 + srwi 15,9,61-32 + + insrwi 14,9,61-32,0 + srwi 9,9,6 + insrwi 15,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,14 + lwz 14,72(1) + srwi 10,10,6 + xor 5,5,15 + lwz 15,76(1) + xor 0,0,9 + addc 6,6,14 + xor 5,5,10 + adde 8,8,15 + addc 6,6,0 + adde 8,8,5 + lwz 9,108(7) + xor 14,17,19 + lwz 10,104(7) + xor 15,16,18 + addc 21,21,6 + stw 6,128(1) + + srwi 0,31,14 + srwi 5,30,14 + and 14,14,31 + adde 20,20,8 + and 15,15,30 + stw 8,132(1) + srwi 6,31,18 + srwi 8,30,18 + addc 21,21,9 + insrwi 0,30,14,0 + insrwi 5,31,14,0 + xor 14,14,19 + adde 20,20,10 + xor 15,15,18 + insrwi 6,30,18,0 + insrwi 8,31,18,0 + addc 21,21,14 + srwi 9,30,41-32 + srwi 10,31,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,31,41-32,0 + insrwi 10,30,41-32,0 + xor 14,23,25 + adde 20,20,15 + xor 15,22,24 + xor 0,0,9 + xor 5,5,10 + + srwi 6,23,28 + and 11,11,14 + addc 21,21,0 + and 12,12,15 + srwi 8,22,28 + srwi 0,22,34-32 + adde 20,20,5 + srwi 5,23,34-32 + insrwi 6,22,28,0 + insrwi 8,23,28,0 + xor 11,11,25 + addc 29,29,21 + xor 12,12,24 + insrwi 0,23,34-32,0 + insrwi 5,22,34-32,0 + adde 28,28,20 + srwi 9,22,39-32 + srwi 10,23,39-32 + xor 0,0,6 + addc 21,21,11 + xor 5,5,8 + insrwi 9,23,39-32,0 + insrwi 10,22,39-32,0 + adde 20,20,12 + lwz 6,144(1) + lwz 8,148(1) + xor 0,0,9 + xor 5,5,10 + addc 21,21,0 + adde 20,20,5 + srwi 0,6,1 + srwi 5,8,1 + srwi 9,6,8 + srwi 10,8,8 + insrwi 0,8,1,0 + insrwi 5,6,1,0 + srwi 11,6,7 + insrwi 9,8,8,0 + insrwi 10,6,8,0 + insrwi 11,8,7,0 + xor 0,0,9 + lwz 9,120(1) + srwi 12,8,7 + xor 5,5,10 + lwz 10,124(1) + xor 11,11,0 + srwi 0,9,19 + xor 12,12,5 + srwi 5,10,19 + addc 3,3,11 + srwi 11,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 4,4,12 + srwi 12,9,61-32 + + insrwi 11,9,61-32,0 + srwi 9,9,6 + insrwi 12,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,11 + lwz 11,80(1) + srwi 10,10,6 + xor 5,5,12 + lwz 12,84(1) + xor 0,0,9 + addc 3,3,11 + xor 5,5,10 + adde 4,4,12 + addc 3,3,0 + adde 4,4,5 + lwz 9,116(7) + xor 11,31,17 + lwz 10,112(7) + xor 12,30,16 + addc 19,19,3 + stw 3,136(1) + + srwi 0,29,14 + srwi 5,28,14 + and 11,11,29 + adde 18,18,4 + and 12,12,28 + stw 4,140(1) + srwi 3,29,18 + srwi 4,28,18 + addc 19,19,9 + insrwi 0,28,14,0 + insrwi 5,29,14,0 + xor 11,11,17 + adde 18,18,10 + xor 12,12,16 + insrwi 3,28,18,0 + insrwi 4,29,18,0 + addc 19,19,11 + srwi 9,28,41-32 + srwi 10,29,41-32 + xor 0,0,3 + xor 5,5,4 + insrwi 9,29,41-32,0 + insrwi 10,28,41-32,0 + xor 11,21,23 + adde 18,18,12 + xor 12,20,22 + xor 0,0,9 + xor 5,5,10 + + srwi 3,21,28 + and 14,14,11 + addc 19,19,0 + and 15,15,12 + srwi 4,20,28 + srwi 0,20,34-32 + adde 18,18,5 + srwi 5,21,34-32 + insrwi 3,20,28,0 + insrwi 4,21,28,0 + xor 14,14,23 + addc 27,27,19 + xor 15,15,22 + insrwi 0,21,34-32,0 + insrwi 5,20,34-32,0 + adde 26,26,18 + srwi 9,20,39-32 + srwi 10,21,39-32 + xor 0,0,3 + addc 19,19,14 + xor 5,5,4 + insrwi 9,21,39-32,0 + insrwi 10,20,39-32,0 + adde 18,18,15 + lwz 3,24(1) + lwz 4,28(1) + xor 0,0,9 + xor 5,5,10 + addc 19,19,0 + adde 18,18,5 + srwi 0,3,1 + srwi 5,4,1 + srwi 9,3,8 + srwi 10,4,8 + insrwi 0,4,1,0 + insrwi 5,3,1,0 + srwi 14,3,7 + insrwi 9,4,8,0 + insrwi 10,3,8,0 + insrwi 14,4,7,0 + xor 0,0,9 + lwz 9,128(1) + srwi 15,4,7 + xor 5,5,10 + lwz 10,132(1) + xor 14,14,0 + srwi 0,9,19 + xor 15,15,5 + srwi 5,10,19 + addc 6,6,14 + srwi 14,10,61-32 + insrwi 0,10,19,0 + insrwi 5,9,19,0 + adde 8,8,15 + srwi 15,9,61-32 + + insrwi 14,9,61-32,0 + srwi 9,9,6 + insrwi 15,10,61-32,0 + insrwi 9,10,6,0 + xor 0,0,14 + lwz 14,88(1) + srwi 10,10,6 + xor 5,5,15 + lwz 15,92(1) + xor 0,0,9 + addc 6,6,14 + xor 5,5,10 + adde 8,8,15 + addc 6,6,0 + adde 8,8,5 + lwz 9,124(7) + xor 14,29,31 + lwz 10,120(7) + xor 15,28,30 + addc 17,17,6 + stw 6,144(1) + + srwi 0,27,14 + srwi 5,26,14 + and 14,14,27 + adde 16,16,8 + and 15,15,26 + stw 8,148(1) + srwi 6,27,18 + srwi 8,26,18 + addc 17,17,9 + insrwi 0,26,14,0 + insrwi 5,27,14,0 + xor 14,14,31 + adde 16,16,10 + xor 15,15,30 + insrwi 6,26,18,0 + insrwi 8,27,18,0 + addc 17,17,14 + srwi 9,26,41-32 + srwi 10,27,41-32 + xor 0,0,6 + xor 5,5,8 + insrwi 9,27,41-32,0 + insrwi 10,26,41-32,0 + xor 14,19,21 + adde 16,16,15 + xor 15,18,20 + xor 0,0,9 + xor 5,5,10 + + srwi 6,19,28 + and 11,11,14 + addc 17,17,0 + and 12,12,15 + srwi 8,18,28 + srwi 0,18,34-32 + adde 16,16,5 + srwi 5,19,34-32 + insrwi 6,18,28,0 + insrwi 8,19,28,0 + xor 11,11,21 + addc 25,25,17 + xor 12,12,20 + insrwi 0,19,34-32,0 + insrwi 5,18,34-32,0 + adde 24,24,16 + srwi 9,18,39-32 + srwi 10,19,39-32 + xor 0,0,6 + addc 17,17,11 + xor 5,5,8 + insrwi 9,19,39-32,0 + insrwi 10,18,39-32,0 + adde 16,16,12 + lwz 6,32(1) + lwz 8,36(1) + xor 0,0,9 + xor 5,5,10 + addc 17,17,0 + adde 16,16,5 + bdnz .Lrounds + + lwz 3,168(1) + lwz 4,164(1) + lwz 5,160(1) + subi 7,7,512 + + lwz 6,0(3) + lwz 8,4(3) + lwz 9,8(3) + lwz 10,12(3) + lwz 11,16(3) + lwz 12,20(3) + lwz 14,24(3) + addc 17,17,8 + lwz 15,28(3) + adde 16,16,6 + lwz 6,32(3) + addc 19,19,10 + lwz 8,36(3) + adde 18,18,9 + lwz 9,40(3) + addc 21,21,12 + lwz 10,44(3) + adde 20,20,11 + lwz 11,48(3) + addc 23,23,15 + lwz 12,52(3) + adde 22,22,14 + lwz 14,56(3) + addc 25,25,8 + lwz 15,60(3) + adde 24,24,6 + stw 16,0(3) + stw 17,4(3) + addc 27,27,10 + stw 18,8(3) + stw 19,12(3) + adde 26,26,9 + stw 20,16(3) + stw 21,20(3) + addc 29,29,12 + stw 22,24(3) + stw 23,28(3) + adde 28,28,11 + stw 24,32(3) + stw 25,36(3) + addc 31,31,15 + stw 26,40(3) + stw 27,44(3) + adde 30,30,14 + stw 28,48(3) + stw 29,52(3) + stw 30,56(3) + stw 31,60(3) + + addi 4,4,128 + stw 4,164(1) + .long 0x7c042840 + bne .Lsha2_block_private + blr +.long 0 +.byte 0,12,0x14,0,0,0,0,0 +.size sha512_block_ppc,.-sha512_block_ppc +.align 6 +.LPICmeup: + mflr 0 + bcl 20,31,$+4 + mflr 7 + addi 7,7,56 + mtlr 0 + blr +.long 0 +.byte 0,12,0x14,0,0,0,0,0 +.space 28 +.long 0x428a2f98,0xd728ae22 +.long 0x71374491,0x23ef65cd +.long 0xb5c0fbcf,0xec4d3b2f +.long 0xe9b5dba5,0x8189dbbc +.long 0x3956c25b,0xf348b538 +.long 0x59f111f1,0xb605d019 +.long 0x923f82a4,0xaf194f9b +.long 0xab1c5ed5,0xda6d8118 +.long 0xd807aa98,0xa3030242 +.long 0x12835b01,0x45706fbe +.long 0x243185be,0x4ee4b28c +.long 0x550c7dc3,0xd5ffb4e2 +.long 0x72be5d74,0xf27b896f +.long 0x80deb1fe,0x3b1696b1 +.long 0x9bdc06a7,0x25c71235 +.long 0xc19bf174,0xcf692694 +.long 0xe49b69c1,0x9ef14ad2 +.long 0xefbe4786,0x384f25e3 +.long 0x0fc19dc6,0x8b8cd5b5 +.long 0x240ca1cc,0x77ac9c65 +.long 0x2de92c6f,0x592b0275 +.long 0x4a7484aa,0x6ea6e483 +.long 0x5cb0a9dc,0xbd41fbd4 +.long 0x76f988da,0x831153b5 +.long 0x983e5152,0xee66dfab +.long 0xa831c66d,0x2db43210 +.long 0xb00327c8,0x98fb213f +.long 0xbf597fc7,0xbeef0ee4 +.long 0xc6e00bf3,0x3da88fc2 +.long 0xd5a79147,0x930aa725 +.long 0x06ca6351,0xe003826f +.long 0x14292967,0x0a0e6e70 +.long 0x27b70a85,0x46d22ffc +.long 0x2e1b2138,0x5c26c926 +.long 0x4d2c6dfc,0x5ac42aed +.long 0x53380d13,0x9d95b3df +.long 0x650a7354,0x8baf63de +.long 0x766a0abb,0x3c77b2a8 +.long 0x81c2c92e,0x47edaee6 +.long 0x92722c85,0x1482353b +.long 0xa2bfe8a1,0x4cf10364 +.long 0xa81a664b,0xbc423001 +.long 0xc24b8b70,0xd0f89791 +.long 0xc76c51a3,0x0654be30 +.long 0xd192e819,0xd6ef5218 +.long 0xd6990624,0x5565a910 +.long 0xf40e3585,0x5771202a +.long 0x106aa070,0x32bbd1b8 +.long 0x19a4c116,0xb8d2d0c8 +.long 0x1e376c08,0x5141ab53 +.long 0x2748774c,0xdf8eeb99 +.long 0x34b0bcb5,0xe19b48a8 +.long 0x391c0cb3,0xc5c95a63 +.long 0x4ed8aa4a,0xe3418acb +.long 0x5b9cca4f,0x7763e373 +.long 0x682e6ff3,0xd6b2b8a3 +.long 0x748f82ee,0x5defb2fc +.long 0x78a5636f,0x43172f60 +.long 0x84c87814,0xa1f0ab72 +.long 0x8cc70208,0x1a6439ec +.long 0x90befffa,0x23631e28 +.long 0xa4506ceb,0xde82bde9 +.long 0xbef9a3f7,0xb2c67915 +.long 0xc67178f2,0xe372532b +.long 0xca273ece,0xea26619c +.long 0xd186b8c7,0x21c0c207 +.long 0xeada7dd6,0xcde0eb1e +.long 0xf57d4f7f,0xee6ed178 +.long 0x06f067aa,0x72176fba +.long 0x0a637dc5,0xa2c898a6 +.long 0x113f9804,0xbef90dae +.long 0x1b710b35,0x131c471b +.long 0x28db77f5,0x23047d84 +.long 0x32caab7b,0x40c72493 +.long 0x3c9ebe0a,0x15c9bebc +.long 0x431d67c4,0x9c100d4c +.long 0x4cc5d4be,0xcb3e42b6 +.long 0x597f299c,0xfc657e2a +.long 0x5fcb6fab,0x3ad6faec +.long 0x6c44198c,0x4a475817 |