summaryrefslogtreecommitdiff
path: root/deps/openssl/config/archs/linux-ppc/asm_avx2/crypto/sha/sha512-ppc.s
diff options
context:
space:
mode:
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.s3070
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