root/sys/crypto/openssl/powerpc/sha512-ppc.S
/* Do not modify. This file is auto-generated from sha512-ppc.pl. */
.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