diff options
Diffstat (limited to 'deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/sha/sha1-mips.S')
-rw-r--r-- | deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/sha/sha1-mips.S | 3039 |
1 files changed, 3039 insertions, 0 deletions
diff --git a/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/sha/sha1-mips.S b/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/sha/sha1-mips.S new file mode 100644 index 0000000000..87a15a40a5 --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/sha/sha1-mips.S @@ -0,0 +1,3039 @@ +#include "mips_arch.h" + +.text + +.set noat +.set noreorder +.align 5 +.globl sha1_block_data_order +.ent sha1_block_data_order +sha1_block_data_order: + .frame $29,16*8,$31 + .mask 0xc0ff0000,-8 + .set noreorder + dsubu $29,16*8 + sd $31,(16-1)*8($29) + sd $30,(16-2)*8($29) + sd $23,(16-3)*8($29) + sd $22,(16-4)*8($29) + sd $21,(16-5)*8($29) + sd $20,(16-6)*8($29) + sd $19,(16-7)*8($29) + sd $18,(16-8)*8($29) + sd $17,(16-9)*8($29) + sd $16,(16-10)*8($29) + dsll $6,6 + daddu $6,$5 + sd $6,0($29) + lw $1,0($4) + lw $2,4($4) + lw $3,8($4) + lw $7,12($4) + b .Loop + lw $24,16($4) +.align 4 +.Loop: + .set reorder +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lui $31,0x5a82 + lw $8,($5) + ori $31,0x7999 # K_00_19 +#else + lwl $8,3($5) + lui $31,0x5a82 + lwr $8,0($5) + ori $31,0x7999 # K_00_19 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $8,$8 # byte swap(0) + rotr $8,$8,16 +#else + srl $25,$8,24 # byte swap(0) + srl $6,$8,8 + andi $30,$8,0xFF00 + sll $8,$8,24 + andi $6,0xFF00 + sll $30,$30,8 + or $8,$25 + or $6,$30 + or $8,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 0 + xor $25,$3,$7 + rotr $6,$1,27 + and $25,$2 + addu $24,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $9,1*4($5) +#else + lwl $9,1*4+3($5) + lwr $9,1*4+0($5) +#endif + xor $25,$7 + addu $24,$8 + rotr $2,$2,2 + addu $24,$25 +#else + lwl $9,1*4+3($5) + sll $25,$1,5 # 0 + addu $24,$31 + lwr $9,1*4+0($5) + srl $6,$1,27 + addu $24,$25 + xor $25,$3,$7 + addu $24,$6 + sll $30,$2,30 + and $25,$2 + srl $2,$2,2 + xor $25,$7 + addu $24,$8 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $9,$9 # byte swap(1) + rotr $9,$9,16 +#else + srl $25,$9,24 # byte swap(1) + srl $6,$9,8 + andi $30,$9,0xFF00 + sll $9,$9,24 + andi $6,0xFF00 + sll $30,$30,8 + or $9,$25 + or $6,$30 + or $9,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 1 + xor $25,$2,$3 + rotr $6,$24,27 + and $25,$1 + addu $7,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $10,2*4($5) +#else + lwl $10,2*4+3($5) + lwr $10,2*4+0($5) +#endif + xor $25,$3 + addu $7,$9 + rotr $1,$1,2 + addu $7,$25 +#else + lwl $10,2*4+3($5) + sll $25,$24,5 # 1 + addu $7,$31 + lwr $10,2*4+0($5) + srl $6,$24,27 + addu $7,$25 + xor $25,$2,$3 + addu $7,$6 + sll $30,$1,30 + and $25,$1 + srl $1,$1,2 + xor $25,$3 + addu $7,$9 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $10,$10 # byte swap(2) + rotr $10,$10,16 +#else + srl $25,$10,24 # byte swap(2) + srl $6,$10,8 + andi $30,$10,0xFF00 + sll $10,$10,24 + andi $6,0xFF00 + sll $30,$30,8 + or $10,$25 + or $6,$30 + or $10,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 2 + xor $25,$1,$2 + rotr $6,$7,27 + and $25,$24 + addu $3,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $11,3*4($5) +#else + lwl $11,3*4+3($5) + lwr $11,3*4+0($5) +#endif + xor $25,$2 + addu $3,$10 + rotr $24,$24,2 + addu $3,$25 +#else + lwl $11,3*4+3($5) + sll $25,$7,5 # 2 + addu $3,$31 + lwr $11,3*4+0($5) + srl $6,$7,27 + addu $3,$25 + xor $25,$1,$2 + addu $3,$6 + sll $30,$24,30 + and $25,$24 + srl $24,$24,2 + xor $25,$2 + addu $3,$10 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $11,$11 # byte swap(3) + rotr $11,$11,16 +#else + srl $25,$11,24 # byte swap(3) + srl $6,$11,8 + andi $30,$11,0xFF00 + sll $11,$11,24 + andi $6,0xFF00 + sll $30,$30,8 + or $11,$25 + or $6,$30 + or $11,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 3 + xor $25,$24,$1 + rotr $6,$3,27 + and $25,$7 + addu $2,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $12,4*4($5) +#else + lwl $12,4*4+3($5) + lwr $12,4*4+0($5) +#endif + xor $25,$1 + addu $2,$11 + rotr $7,$7,2 + addu $2,$25 +#else + lwl $12,4*4+3($5) + sll $25,$3,5 # 3 + addu $2,$31 + lwr $12,4*4+0($5) + srl $6,$3,27 + addu $2,$25 + xor $25,$24,$1 + addu $2,$6 + sll $30,$7,30 + and $25,$7 + srl $7,$7,2 + xor $25,$1 + addu $2,$11 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $12,$12 # byte swap(4) + rotr $12,$12,16 +#else + srl $25,$12,24 # byte swap(4) + srl $6,$12,8 + andi $30,$12,0xFF00 + sll $12,$12,24 + andi $6,0xFF00 + sll $30,$30,8 + or $12,$25 + or $6,$30 + or $12,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 4 + xor $25,$7,$24 + rotr $6,$2,27 + and $25,$3 + addu $1,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $13,5*4($5) +#else + lwl $13,5*4+3($5) + lwr $13,5*4+0($5) +#endif + xor $25,$24 + addu $1,$12 + rotr $3,$3,2 + addu $1,$25 +#else + lwl $13,5*4+3($5) + sll $25,$2,5 # 4 + addu $1,$31 + lwr $13,5*4+0($5) + srl $6,$2,27 + addu $1,$25 + xor $25,$7,$24 + addu $1,$6 + sll $30,$3,30 + and $25,$3 + srl $3,$3,2 + xor $25,$24 + addu $1,$12 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $13,$13 # byte swap(5) + rotr $13,$13,16 +#else + srl $25,$13,24 # byte swap(5) + srl $6,$13,8 + andi $30,$13,0xFF00 + sll $13,$13,24 + andi $6,0xFF00 + sll $30,$30,8 + or $13,$25 + or $6,$30 + or $13,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 5 + xor $25,$3,$7 + rotr $6,$1,27 + and $25,$2 + addu $24,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $14,6*4($5) +#else + lwl $14,6*4+3($5) + lwr $14,6*4+0($5) +#endif + xor $25,$7 + addu $24,$13 + rotr $2,$2,2 + addu $24,$25 +#else + lwl $14,6*4+3($5) + sll $25,$1,5 # 5 + addu $24,$31 + lwr $14,6*4+0($5) + srl $6,$1,27 + addu $24,$25 + xor $25,$3,$7 + addu $24,$6 + sll $30,$2,30 + and $25,$2 + srl $2,$2,2 + xor $25,$7 + addu $24,$13 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $14,$14 # byte swap(6) + rotr $14,$14,16 +#else + srl $25,$14,24 # byte swap(6) + srl $6,$14,8 + andi $30,$14,0xFF00 + sll $14,$14,24 + andi $6,0xFF00 + sll $30,$30,8 + or $14,$25 + or $6,$30 + or $14,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 6 + xor $25,$2,$3 + rotr $6,$24,27 + and $25,$1 + addu $7,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $15,7*4($5) +#else + lwl $15,7*4+3($5) + lwr $15,7*4+0($5) +#endif + xor $25,$3 + addu $7,$14 + rotr $1,$1,2 + addu $7,$25 +#else + lwl $15,7*4+3($5) + sll $25,$24,5 # 6 + addu $7,$31 + lwr $15,7*4+0($5) + srl $6,$24,27 + addu $7,$25 + xor $25,$2,$3 + addu $7,$6 + sll $30,$1,30 + and $25,$1 + srl $1,$1,2 + xor $25,$3 + addu $7,$14 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $15,$15 # byte swap(7) + rotr $15,$15,16 +#else + srl $25,$15,24 # byte swap(7) + srl $6,$15,8 + andi $30,$15,0xFF00 + sll $15,$15,24 + andi $6,0xFF00 + sll $30,$30,8 + or $15,$25 + or $6,$30 + or $15,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 7 + xor $25,$1,$2 + rotr $6,$7,27 + and $25,$24 + addu $3,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $16,8*4($5) +#else + lwl $16,8*4+3($5) + lwr $16,8*4+0($5) +#endif + xor $25,$2 + addu $3,$15 + rotr $24,$24,2 + addu $3,$25 +#else + lwl $16,8*4+3($5) + sll $25,$7,5 # 7 + addu $3,$31 + lwr $16,8*4+0($5) + srl $6,$7,27 + addu $3,$25 + xor $25,$1,$2 + addu $3,$6 + sll $30,$24,30 + and $25,$24 + srl $24,$24,2 + xor $25,$2 + addu $3,$15 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $16,$16 # byte swap(8) + rotr $16,$16,16 +#else + srl $25,$16,24 # byte swap(8) + srl $6,$16,8 + andi $30,$16,0xFF00 + sll $16,$16,24 + andi $6,0xFF00 + sll $30,$30,8 + or $16,$25 + or $6,$30 + or $16,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 8 + xor $25,$24,$1 + rotr $6,$3,27 + and $25,$7 + addu $2,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $17,9*4($5) +#else + lwl $17,9*4+3($5) + lwr $17,9*4+0($5) +#endif + xor $25,$1 + addu $2,$16 + rotr $7,$7,2 + addu $2,$25 +#else + lwl $17,9*4+3($5) + sll $25,$3,5 # 8 + addu $2,$31 + lwr $17,9*4+0($5) + srl $6,$3,27 + addu $2,$25 + xor $25,$24,$1 + addu $2,$6 + sll $30,$7,30 + and $25,$7 + srl $7,$7,2 + xor $25,$1 + addu $2,$16 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $17,$17 # byte swap(9) + rotr $17,$17,16 +#else + srl $25,$17,24 # byte swap(9) + srl $6,$17,8 + andi $30,$17,0xFF00 + sll $17,$17,24 + andi $6,0xFF00 + sll $30,$30,8 + or $17,$25 + or $6,$30 + or $17,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 9 + xor $25,$7,$24 + rotr $6,$2,27 + and $25,$3 + addu $1,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $18,10*4($5) +#else + lwl $18,10*4+3($5) + lwr $18,10*4+0($5) +#endif + xor $25,$24 + addu $1,$17 + rotr $3,$3,2 + addu $1,$25 +#else + lwl $18,10*4+3($5) + sll $25,$2,5 # 9 + addu $1,$31 + lwr $18,10*4+0($5) + srl $6,$2,27 + addu $1,$25 + xor $25,$7,$24 + addu $1,$6 + sll $30,$3,30 + and $25,$3 + srl $3,$3,2 + xor $25,$24 + addu $1,$17 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $18,$18 # byte swap(10) + rotr $18,$18,16 +#else + srl $25,$18,24 # byte swap(10) + srl $6,$18,8 + andi $30,$18,0xFF00 + sll $18,$18,24 + andi $6,0xFF00 + sll $30,$30,8 + or $18,$25 + or $6,$30 + or $18,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 10 + xor $25,$3,$7 + rotr $6,$1,27 + and $25,$2 + addu $24,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $19,11*4($5) +#else + lwl $19,11*4+3($5) + lwr $19,11*4+0($5) +#endif + xor $25,$7 + addu $24,$18 + rotr $2,$2,2 + addu $24,$25 +#else + lwl $19,11*4+3($5) + sll $25,$1,5 # 10 + addu $24,$31 + lwr $19,11*4+0($5) + srl $6,$1,27 + addu $24,$25 + xor $25,$3,$7 + addu $24,$6 + sll $30,$2,30 + and $25,$2 + srl $2,$2,2 + xor $25,$7 + addu $24,$18 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $19,$19 # byte swap(11) + rotr $19,$19,16 +#else + srl $25,$19,24 # byte swap(11) + srl $6,$19,8 + andi $30,$19,0xFF00 + sll $19,$19,24 + andi $6,0xFF00 + sll $30,$30,8 + or $19,$25 + or $6,$30 + or $19,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 11 + xor $25,$2,$3 + rotr $6,$24,27 + and $25,$1 + addu $7,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $20,12*4($5) +#else + lwl $20,12*4+3($5) + lwr $20,12*4+0($5) +#endif + xor $25,$3 + addu $7,$19 + rotr $1,$1,2 + addu $7,$25 +#else + lwl $20,12*4+3($5) + sll $25,$24,5 # 11 + addu $7,$31 + lwr $20,12*4+0($5) + srl $6,$24,27 + addu $7,$25 + xor $25,$2,$3 + addu $7,$6 + sll $30,$1,30 + and $25,$1 + srl $1,$1,2 + xor $25,$3 + addu $7,$19 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $20,$20 # byte swap(12) + rotr $20,$20,16 +#else + srl $25,$20,24 # byte swap(12) + srl $6,$20,8 + andi $30,$20,0xFF00 + sll $20,$20,24 + andi $6,0xFF00 + sll $30,$30,8 + or $20,$25 + or $6,$30 + or $20,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 12 + xor $25,$1,$2 + rotr $6,$7,27 + and $25,$24 + addu $3,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $21,13*4($5) +#else + lwl $21,13*4+3($5) + lwr $21,13*4+0($5) +#endif + xor $25,$2 + addu $3,$20 + rotr $24,$24,2 + addu $3,$25 +#else + lwl $21,13*4+3($5) + sll $25,$7,5 # 12 + addu $3,$31 + lwr $21,13*4+0($5) + srl $6,$7,27 + addu $3,$25 + xor $25,$1,$2 + addu $3,$6 + sll $30,$24,30 + and $25,$24 + srl $24,$24,2 + xor $25,$2 + addu $3,$20 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $21,$21 # byte swap(13) + rotr $21,$21,16 +#else + srl $25,$21,24 # byte swap(13) + srl $6,$21,8 + andi $30,$21,0xFF00 + sll $21,$21,24 + andi $6,0xFF00 + sll $30,$30,8 + or $21,$25 + or $6,$30 + or $21,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 13 + xor $25,$24,$1 + rotr $6,$3,27 + and $25,$7 + addu $2,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $22,14*4($5) +#else + lwl $22,14*4+3($5) + lwr $22,14*4+0($5) +#endif + xor $25,$1 + addu $2,$21 + rotr $7,$7,2 + addu $2,$25 +#else + lwl $22,14*4+3($5) + sll $25,$3,5 # 13 + addu $2,$31 + lwr $22,14*4+0($5) + srl $6,$3,27 + addu $2,$25 + xor $25,$24,$1 + addu $2,$6 + sll $30,$7,30 + and $25,$7 + srl $7,$7,2 + xor $25,$1 + addu $2,$21 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $22,$22 # byte swap(14) + rotr $22,$22,16 +#else + srl $25,$22,24 # byte swap(14) + srl $6,$22,8 + andi $30,$22,0xFF00 + sll $22,$22,24 + andi $6,0xFF00 + sll $30,$30,8 + or $22,$25 + or $6,$30 + or $22,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 14 + xor $25,$7,$24 + rotr $6,$2,27 + and $25,$3 + addu $1,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $23,15*4($5) +#else + lwl $23,15*4+3($5) + lwr $23,15*4+0($5) +#endif + xor $25,$24 + addu $1,$22 + rotr $3,$3,2 + addu $1,$25 +#else + lwl $23,15*4+3($5) + sll $25,$2,5 # 14 + addu $1,$31 + lwr $23,15*4+0($5) + srl $6,$2,27 + addu $1,$25 + xor $25,$7,$24 + addu $1,$6 + sll $30,$3,30 + and $25,$3 + srl $3,$3,2 + xor $25,$24 + addu $1,$22 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $23,$23 # byte swap(15) + rotr $23,$23,16 +#else + srl $25,$23,24 # byte swap(15) + srl $6,$23,8 + andi $30,$23,0xFF00 + sll $23,$23,24 + andi $6,0xFF00 + sll $30,$30,8 + or $23,$25 + or $23,$6 + or $23,$30 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 15 + xor $8,$10 + xor $25,$3,$7 + rotr $6,$1,27 + xor $8,$16 + and $25,$2 + addu $24,$6 + xor $8,$21 + xor $25,$7 + addu $24,$23 + rotr $8,$8,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $8,$10 + sll $25,$1,5 # 15 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $8,$16 + xor $25,$3,$7 + addu $24,$6 + xor $8,$21 + sll $30,$2,30 + and $25,$2 + srl $6,$8,31 + addu $8,$8 + srl $2,$2,2 + xor $25,$7 + or $8,$6 + addu $24,$23 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 16 + xor $9,$11 + xor $25,$2,$3 + rotr $6,$24,27 + xor $9,$17 + and $25,$1 + addu $7,$6 + xor $9,$22 + xor $25,$3 + addu $7,$8 + rotr $9,$9,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $9,$11 + sll $25,$24,5 # 16 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $9,$17 + xor $25,$2,$3 + addu $7,$6 + xor $9,$22 + sll $30,$1,30 + and $25,$1 + srl $6,$9,31 + addu $9,$9 + srl $1,$1,2 + xor $25,$3 + or $9,$6 + addu $7,$8 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 17 + xor $10,$12 + xor $25,$1,$2 + rotr $6,$7,27 + xor $10,$18 + and $25,$24 + addu $3,$6 + xor $10,$23 + xor $25,$2 + addu $3,$9 + rotr $10,$10,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $10,$12 + sll $25,$7,5 # 17 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $10,$18 + xor $25,$1,$2 + addu $3,$6 + xor $10,$23 + sll $30,$24,30 + and $25,$24 + srl $6,$10,31 + addu $10,$10 + srl $24,$24,2 + xor $25,$2 + or $10,$6 + addu $3,$9 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 18 + xor $11,$13 + xor $25,$24,$1 + rotr $6,$3,27 + xor $11,$19 + and $25,$7 + addu $2,$6 + xor $11,$8 + xor $25,$1 + addu $2,$10 + rotr $11,$11,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $11,$13 + sll $25,$3,5 # 18 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $11,$19 + xor $25,$24,$1 + addu $2,$6 + xor $11,$8 + sll $30,$7,30 + and $25,$7 + srl $6,$11,31 + addu $11,$11 + srl $7,$7,2 + xor $25,$1 + or $11,$6 + addu $2,$10 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 19 + xor $12,$14 + xor $25,$7,$24 + rotr $6,$2,27 + xor $12,$20 + and $25,$3 + addu $1,$6 + xor $12,$9 + xor $25,$24 + addu $1,$11 + rotr $12,$12,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $12,$14 + sll $25,$2,5 # 19 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $12,$20 + xor $25,$7,$24 + addu $1,$6 + xor $12,$9 + sll $30,$3,30 + and $25,$3 + srl $6,$12,31 + addu $12,$12 + srl $3,$3,2 + xor $25,$24 + or $12,$6 + addu $1,$11 + or $3,$30 + addu $1,$25 +#endif + lui $31,0x6ed9 + ori $31,0xeba1 # K_20_39 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $13,$15 + addu $24,$31 # 20 + rotr $6,$1,27 + xor $13,$21 + xor $25,$3,$7 + addu $24,$6 + xor $13,$10 + xor $25,$2 + addu $24,$12 + rotr $13,$13,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $13,$15 + sll $25,$1,5 # 20 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $13,$21 + xor $25,$3,$7 + addu $24,$6 + xor $13,$10 + sll $30,$2,30 + xor $25,$2 + srl $6,$13,31 + addu $13,$13 + srl $2,$2,2 + addu $24,$12 + or $13,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $14,$16 + addu $7,$31 # 21 + rotr $6,$24,27 + xor $14,$22 + xor $25,$2,$3 + addu $7,$6 + xor $14,$11 + xor $25,$1 + addu $7,$13 + rotr $14,$14,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $14,$16 + sll $25,$24,5 # 21 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $14,$22 + xor $25,$2,$3 + addu $7,$6 + xor $14,$11 + sll $30,$1,30 + xor $25,$1 + srl $6,$14,31 + addu $14,$14 + srl $1,$1,2 + addu $7,$13 + or $14,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $15,$17 + addu $3,$31 # 22 + rotr $6,$7,27 + xor $15,$23 + xor $25,$1,$2 + addu $3,$6 + xor $15,$12 + xor $25,$24 + addu $3,$14 + rotr $15,$15,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $15,$17 + sll $25,$7,5 # 22 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $15,$23 + xor $25,$1,$2 + addu $3,$6 + xor $15,$12 + sll $30,$24,30 + xor $25,$24 + srl $6,$15,31 + addu $15,$15 + srl $24,$24,2 + addu $3,$14 + or $15,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $16,$18 + addu $2,$31 # 23 + rotr $6,$3,27 + xor $16,$8 + xor $25,$24,$1 + addu $2,$6 + xor $16,$13 + xor $25,$7 + addu $2,$15 + rotr $16,$16,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $16,$18 + sll $25,$3,5 # 23 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $16,$8 + xor $25,$24,$1 + addu $2,$6 + xor $16,$13 + sll $30,$7,30 + xor $25,$7 + srl $6,$16,31 + addu $16,$16 + srl $7,$7,2 + addu $2,$15 + or $16,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $17,$19 + addu $1,$31 # 24 + rotr $6,$2,27 + xor $17,$9 + xor $25,$7,$24 + addu $1,$6 + xor $17,$14 + xor $25,$3 + addu $1,$16 + rotr $17,$17,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $17,$19 + sll $25,$2,5 # 24 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $17,$9 + xor $25,$7,$24 + addu $1,$6 + xor $17,$14 + sll $30,$3,30 + xor $25,$3 + srl $6,$17,31 + addu $17,$17 + srl $3,$3,2 + addu $1,$16 + or $17,$6 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $18,$20 + addu $24,$31 # 25 + rotr $6,$1,27 + xor $18,$10 + xor $25,$3,$7 + addu $24,$6 + xor $18,$15 + xor $25,$2 + addu $24,$17 + rotr $18,$18,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $18,$20 + sll $25,$1,5 # 25 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $18,$10 + xor $25,$3,$7 + addu $24,$6 + xor $18,$15 + sll $30,$2,30 + xor $25,$2 + srl $6,$18,31 + addu $18,$18 + srl $2,$2,2 + addu $24,$17 + or $18,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $19,$21 + addu $7,$31 # 26 + rotr $6,$24,27 + xor $19,$11 + xor $25,$2,$3 + addu $7,$6 + xor $19,$16 + xor $25,$1 + addu $7,$18 + rotr $19,$19,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $19,$21 + sll $25,$24,5 # 26 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $19,$11 + xor $25,$2,$3 + addu $7,$6 + xor $19,$16 + sll $30,$1,30 + xor $25,$1 + srl $6,$19,31 + addu $19,$19 + srl $1,$1,2 + addu $7,$18 + or $19,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $20,$22 + addu $3,$31 # 27 + rotr $6,$7,27 + xor $20,$12 + xor $25,$1,$2 + addu $3,$6 + xor $20,$17 + xor $25,$24 + addu $3,$19 + rotr $20,$20,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $20,$22 + sll $25,$7,5 # 27 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $20,$12 + xor $25,$1,$2 + addu $3,$6 + xor $20,$17 + sll $30,$24,30 + xor $25,$24 + srl $6,$20,31 + addu $20,$20 + srl $24,$24,2 + addu $3,$19 + or $20,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $21,$23 + addu $2,$31 # 28 + rotr $6,$3,27 + xor $21,$13 + xor $25,$24,$1 + addu $2,$6 + xor $21,$18 + xor $25,$7 + addu $2,$20 + rotr $21,$21,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $21,$23 + sll $25,$3,5 # 28 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $21,$13 + xor $25,$24,$1 + addu $2,$6 + xor $21,$18 + sll $30,$7,30 + xor $25,$7 + srl $6,$21,31 + addu $21,$21 + srl $7,$7,2 + addu $2,$20 + or $21,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $22,$8 + addu $1,$31 # 29 + rotr $6,$2,27 + xor $22,$14 + xor $25,$7,$24 + addu $1,$6 + xor $22,$19 + xor $25,$3 + addu $1,$21 + rotr $22,$22,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $22,$8 + sll $25,$2,5 # 29 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $22,$14 + xor $25,$7,$24 + addu $1,$6 + xor $22,$19 + sll $30,$3,30 + xor $25,$3 + srl $6,$22,31 + addu $22,$22 + srl $3,$3,2 + addu $1,$21 + or $22,$6 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $23,$9 + addu $24,$31 # 30 + rotr $6,$1,27 + xor $23,$15 + xor $25,$3,$7 + addu $24,$6 + xor $23,$20 + xor $25,$2 + addu $24,$22 + rotr $23,$23,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $23,$9 + sll $25,$1,5 # 30 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $23,$15 + xor $25,$3,$7 + addu $24,$6 + xor $23,$20 + sll $30,$2,30 + xor $25,$2 + srl $6,$23,31 + addu $23,$23 + srl $2,$2,2 + addu $24,$22 + or $23,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $8,$10 + addu $7,$31 # 31 + rotr $6,$24,27 + xor $8,$16 + xor $25,$2,$3 + addu $7,$6 + xor $8,$21 + xor $25,$1 + addu $7,$23 + rotr $8,$8,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $8,$10 + sll $25,$24,5 # 31 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $8,$16 + xor $25,$2,$3 + addu $7,$6 + xor $8,$21 + sll $30,$1,30 + xor $25,$1 + srl $6,$8,31 + addu $8,$8 + srl $1,$1,2 + addu $7,$23 + or $8,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $9,$11 + addu $3,$31 # 32 + rotr $6,$7,27 + xor $9,$17 + xor $25,$1,$2 + addu $3,$6 + xor $9,$22 + xor $25,$24 + addu $3,$8 + rotr $9,$9,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $9,$11 + sll $25,$7,5 # 32 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $9,$17 + xor $25,$1,$2 + addu $3,$6 + xor $9,$22 + sll $30,$24,30 + xor $25,$24 + srl $6,$9,31 + addu $9,$9 + srl $24,$24,2 + addu $3,$8 + or $9,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $10,$12 + addu $2,$31 # 33 + rotr $6,$3,27 + xor $10,$18 + xor $25,$24,$1 + addu $2,$6 + xor $10,$23 + xor $25,$7 + addu $2,$9 + rotr $10,$10,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $10,$12 + sll $25,$3,5 # 33 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $10,$18 + xor $25,$24,$1 + addu $2,$6 + xor $10,$23 + sll $30,$7,30 + xor $25,$7 + srl $6,$10,31 + addu $10,$10 + srl $7,$7,2 + addu $2,$9 + or $10,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $11,$13 + addu $1,$31 # 34 + rotr $6,$2,27 + xor $11,$19 + xor $25,$7,$24 + addu $1,$6 + xor $11,$8 + xor $25,$3 + addu $1,$10 + rotr $11,$11,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $11,$13 + sll $25,$2,5 # 34 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $11,$19 + xor $25,$7,$24 + addu $1,$6 + xor $11,$8 + sll $30,$3,30 + xor $25,$3 + srl $6,$11,31 + addu $11,$11 + srl $3,$3,2 + addu $1,$10 + or $11,$6 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $12,$14 + addu $24,$31 # 35 + rotr $6,$1,27 + xor $12,$20 + xor $25,$3,$7 + addu $24,$6 + xor $12,$9 + xor $25,$2 + addu $24,$11 + rotr $12,$12,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $12,$14 + sll $25,$1,5 # 35 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $12,$20 + xor $25,$3,$7 + addu $24,$6 + xor $12,$9 + sll $30,$2,30 + xor $25,$2 + srl $6,$12,31 + addu $12,$12 + srl $2,$2,2 + addu $24,$11 + or $12,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $13,$15 + addu $7,$31 # 36 + rotr $6,$24,27 + xor $13,$21 + xor $25,$2,$3 + addu $7,$6 + xor $13,$10 + xor $25,$1 + addu $7,$12 + rotr $13,$13,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $13,$15 + sll $25,$24,5 # 36 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $13,$21 + xor $25,$2,$3 + addu $7,$6 + xor $13,$10 + sll $30,$1,30 + xor $25,$1 + srl $6,$13,31 + addu $13,$13 + srl $1,$1,2 + addu $7,$12 + or $13,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $14,$16 + addu $3,$31 # 37 + rotr $6,$7,27 + xor $14,$22 + xor $25,$1,$2 + addu $3,$6 + xor $14,$11 + xor $25,$24 + addu $3,$13 + rotr $14,$14,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $14,$16 + sll $25,$7,5 # 37 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $14,$22 + xor $25,$1,$2 + addu $3,$6 + xor $14,$11 + sll $30,$24,30 + xor $25,$24 + srl $6,$14,31 + addu $14,$14 + srl $24,$24,2 + addu $3,$13 + or $14,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $15,$17 + addu $2,$31 # 38 + rotr $6,$3,27 + xor $15,$23 + xor $25,$24,$1 + addu $2,$6 + xor $15,$12 + xor $25,$7 + addu $2,$14 + rotr $15,$15,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $15,$17 + sll $25,$3,5 # 38 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $15,$23 + xor $25,$24,$1 + addu $2,$6 + xor $15,$12 + sll $30,$7,30 + xor $25,$7 + srl $6,$15,31 + addu $15,$15 + srl $7,$7,2 + addu $2,$14 + or $15,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $16,$18 + addu $1,$31 # 39 + rotr $6,$2,27 + xor $16,$8 + xor $25,$7,$24 + addu $1,$6 + xor $16,$13 + xor $25,$3 + addu $1,$15 + rotr $16,$16,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $16,$18 + sll $25,$2,5 # 39 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $16,$8 + xor $25,$7,$24 + addu $1,$6 + xor $16,$13 + sll $30,$3,30 + xor $25,$3 + srl $6,$16,31 + addu $16,$16 + srl $3,$3,2 + addu $1,$15 + or $16,$6 + or $3,$30 + addu $1,$25 +#endif + lui $31,0x8f1b + ori $31,0xbcdc # K_40_59 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 40 + and $25,$3,$7 + xor $17,$19 + rotr $6,$1,27 + addu $24,$25 + xor $17,$9 + xor $25,$3,$7 + addu $24,$6 + xor $17,$14 + and $25,$2 + addu $24,$16 + rotr $17,$17,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $17,$19 + sll $25,$1,5 # 40 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $17,$9 + and $25,$3,$7 + addu $24,$6 + xor $17,$14 + sll $30,$2,30 + addu $24,$25 + srl $6,$17,31 + xor $25,$3,$7 + addu $17,$17 + and $25,$2 + srl $2,$2,2 + or $17,$6 + addu $24,$16 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 41 + and $25,$2,$3 + xor $18,$20 + rotr $6,$24,27 + addu $7,$25 + xor $18,$10 + xor $25,$2,$3 + addu $7,$6 + xor $18,$15 + and $25,$1 + addu $7,$17 + rotr $18,$18,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $18,$20 + sll $25,$24,5 # 41 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $18,$10 + and $25,$2,$3 + addu $7,$6 + xor $18,$15 + sll $30,$1,30 + addu $7,$25 + srl $6,$18,31 + xor $25,$2,$3 + addu $18,$18 + and $25,$1 + srl $1,$1,2 + or $18,$6 + addu $7,$17 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 42 + and $25,$1,$2 + xor $19,$21 + rotr $6,$7,27 + addu $3,$25 + xor $19,$11 + xor $25,$1,$2 + addu $3,$6 + xor $19,$16 + and $25,$24 + addu $3,$18 + rotr $19,$19,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $19,$21 + sll $25,$7,5 # 42 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $19,$11 + and $25,$1,$2 + addu $3,$6 + xor $19,$16 + sll $30,$24,30 + addu $3,$25 + srl $6,$19,31 + xor $25,$1,$2 + addu $19,$19 + and $25,$24 + srl $24,$24,2 + or $19,$6 + addu $3,$18 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 43 + and $25,$24,$1 + xor $20,$22 + rotr $6,$3,27 + addu $2,$25 + xor $20,$12 + xor $25,$24,$1 + addu $2,$6 + xor $20,$17 + and $25,$7 + addu $2,$19 + rotr $20,$20,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $20,$22 + sll $25,$3,5 # 43 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $20,$12 + and $25,$24,$1 + addu $2,$6 + xor $20,$17 + sll $30,$7,30 + addu $2,$25 + srl $6,$20,31 + xor $25,$24,$1 + addu $20,$20 + and $25,$7 + srl $7,$7,2 + or $20,$6 + addu $2,$19 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 44 + and $25,$7,$24 + xor $21,$23 + rotr $6,$2,27 + addu $1,$25 + xor $21,$13 + xor $25,$7,$24 + addu $1,$6 + xor $21,$18 + and $25,$3 + addu $1,$20 + rotr $21,$21,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $21,$23 + sll $25,$2,5 # 44 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $21,$13 + and $25,$7,$24 + addu $1,$6 + xor $21,$18 + sll $30,$3,30 + addu $1,$25 + srl $6,$21,31 + xor $25,$7,$24 + addu $21,$21 + and $25,$3 + srl $3,$3,2 + or $21,$6 + addu $1,$20 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 45 + and $25,$3,$7 + xor $22,$8 + rotr $6,$1,27 + addu $24,$25 + xor $22,$14 + xor $25,$3,$7 + addu $24,$6 + xor $22,$19 + and $25,$2 + addu $24,$21 + rotr $22,$22,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $22,$8 + sll $25,$1,5 # 45 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $22,$14 + and $25,$3,$7 + addu $24,$6 + xor $22,$19 + sll $30,$2,30 + addu $24,$25 + srl $6,$22,31 + xor $25,$3,$7 + addu $22,$22 + and $25,$2 + srl $2,$2,2 + or $22,$6 + addu $24,$21 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 46 + and $25,$2,$3 + xor $23,$9 + rotr $6,$24,27 + addu $7,$25 + xor $23,$15 + xor $25,$2,$3 + addu $7,$6 + xor $23,$20 + and $25,$1 + addu $7,$22 + rotr $23,$23,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $23,$9 + sll $25,$24,5 # 46 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $23,$15 + and $25,$2,$3 + addu $7,$6 + xor $23,$20 + sll $30,$1,30 + addu $7,$25 + srl $6,$23,31 + xor $25,$2,$3 + addu $23,$23 + and $25,$1 + srl $1,$1,2 + or $23,$6 + addu $7,$22 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 47 + and $25,$1,$2 + xor $8,$10 + rotr $6,$7,27 + addu $3,$25 + xor $8,$16 + xor $25,$1,$2 + addu $3,$6 + xor $8,$21 + and $25,$24 + addu $3,$23 + rotr $8,$8,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $8,$10 + sll $25,$7,5 # 47 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $8,$16 + and $25,$1,$2 + addu $3,$6 + xor $8,$21 + sll $30,$24,30 + addu $3,$25 + srl $6,$8,31 + xor $25,$1,$2 + addu $8,$8 + and $25,$24 + srl $24,$24,2 + or $8,$6 + addu $3,$23 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 48 + and $25,$24,$1 + xor $9,$11 + rotr $6,$3,27 + addu $2,$25 + xor $9,$17 + xor $25,$24,$1 + addu $2,$6 + xor $9,$22 + and $25,$7 + addu $2,$8 + rotr $9,$9,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $9,$11 + sll $25,$3,5 # 48 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $9,$17 + and $25,$24,$1 + addu $2,$6 + xor $9,$22 + sll $30,$7,30 + addu $2,$25 + srl $6,$9,31 + xor $25,$24,$1 + addu $9,$9 + and $25,$7 + srl $7,$7,2 + or $9,$6 + addu $2,$8 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 49 + and $25,$7,$24 + xor $10,$12 + rotr $6,$2,27 + addu $1,$25 + xor $10,$18 + xor $25,$7,$24 + addu $1,$6 + xor $10,$23 + and $25,$3 + addu $1,$9 + rotr $10,$10,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $10,$12 + sll $25,$2,5 # 49 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $10,$18 + and $25,$7,$24 + addu $1,$6 + xor $10,$23 + sll $30,$3,30 + addu $1,$25 + srl $6,$10,31 + xor $25,$7,$24 + addu $10,$10 + and $25,$3 + srl $3,$3,2 + or $10,$6 + addu $1,$9 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 50 + and $25,$3,$7 + xor $11,$13 + rotr $6,$1,27 + addu $24,$25 + xor $11,$19 + xor $25,$3,$7 + addu $24,$6 + xor $11,$8 + and $25,$2 + addu $24,$10 + rotr $11,$11,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $11,$13 + sll $25,$1,5 # 50 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $11,$19 + and $25,$3,$7 + addu $24,$6 + xor $11,$8 + sll $30,$2,30 + addu $24,$25 + srl $6,$11,31 + xor $25,$3,$7 + addu $11,$11 + and $25,$2 + srl $2,$2,2 + or $11,$6 + addu $24,$10 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 51 + and $25,$2,$3 + xor $12,$14 + rotr $6,$24,27 + addu $7,$25 + xor $12,$20 + xor $25,$2,$3 + addu $7,$6 + xor $12,$9 + and $25,$1 + addu $7,$11 + rotr $12,$12,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $12,$14 + sll $25,$24,5 # 51 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $12,$20 + and $25,$2,$3 + addu $7,$6 + xor $12,$9 + sll $30,$1,30 + addu $7,$25 + srl $6,$12,31 + xor $25,$2,$3 + addu $12,$12 + and $25,$1 + srl $1,$1,2 + or $12,$6 + addu $7,$11 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 52 + and $25,$1,$2 + xor $13,$15 + rotr $6,$7,27 + addu $3,$25 + xor $13,$21 + xor $25,$1,$2 + addu $3,$6 + xor $13,$10 + and $25,$24 + addu $3,$12 + rotr $13,$13,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $13,$15 + sll $25,$7,5 # 52 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $13,$21 + and $25,$1,$2 + addu $3,$6 + xor $13,$10 + sll $30,$24,30 + addu $3,$25 + srl $6,$13,31 + xor $25,$1,$2 + addu $13,$13 + and $25,$24 + srl $24,$24,2 + or $13,$6 + addu $3,$12 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 53 + and $25,$24,$1 + xor $14,$16 + rotr $6,$3,27 + addu $2,$25 + xor $14,$22 + xor $25,$24,$1 + addu $2,$6 + xor $14,$11 + and $25,$7 + addu $2,$13 + rotr $14,$14,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $14,$16 + sll $25,$3,5 # 53 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $14,$22 + and $25,$24,$1 + addu $2,$6 + xor $14,$11 + sll $30,$7,30 + addu $2,$25 + srl $6,$14,31 + xor $25,$24,$1 + addu $14,$14 + and $25,$7 + srl $7,$7,2 + or $14,$6 + addu $2,$13 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 54 + and $25,$7,$24 + xor $15,$17 + rotr $6,$2,27 + addu $1,$25 + xor $15,$23 + xor $25,$7,$24 + addu $1,$6 + xor $15,$12 + and $25,$3 + addu $1,$14 + rotr $15,$15,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $15,$17 + sll $25,$2,5 # 54 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $15,$23 + and $25,$7,$24 + addu $1,$6 + xor $15,$12 + sll $30,$3,30 + addu $1,$25 + srl $6,$15,31 + xor $25,$7,$24 + addu $15,$15 + and $25,$3 + srl $3,$3,2 + or $15,$6 + addu $1,$14 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 55 + and $25,$3,$7 + xor $16,$18 + rotr $6,$1,27 + addu $24,$25 + xor $16,$8 + xor $25,$3,$7 + addu $24,$6 + xor $16,$13 + and $25,$2 + addu $24,$15 + rotr $16,$16,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $16,$18 + sll $25,$1,5 # 55 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $16,$8 + and $25,$3,$7 + addu $24,$6 + xor $16,$13 + sll $30,$2,30 + addu $24,$25 + srl $6,$16,31 + xor $25,$3,$7 + addu $16,$16 + and $25,$2 + srl $2,$2,2 + or $16,$6 + addu $24,$15 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 56 + and $25,$2,$3 + xor $17,$19 + rotr $6,$24,27 + addu $7,$25 + xor $17,$9 + xor $25,$2,$3 + addu $7,$6 + xor $17,$14 + and $25,$1 + addu $7,$16 + rotr $17,$17,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $17,$19 + sll $25,$24,5 # 56 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $17,$9 + and $25,$2,$3 + addu $7,$6 + xor $17,$14 + sll $30,$1,30 + addu $7,$25 + srl $6,$17,31 + xor $25,$2,$3 + addu $17,$17 + and $25,$1 + srl $1,$1,2 + or $17,$6 + addu $7,$16 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 57 + and $25,$1,$2 + xor $18,$20 + rotr $6,$7,27 + addu $3,$25 + xor $18,$10 + xor $25,$1,$2 + addu $3,$6 + xor $18,$15 + and $25,$24 + addu $3,$17 + rotr $18,$18,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $18,$20 + sll $25,$7,5 # 57 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $18,$10 + and $25,$1,$2 + addu $3,$6 + xor $18,$15 + sll $30,$24,30 + addu $3,$25 + srl $6,$18,31 + xor $25,$1,$2 + addu $18,$18 + and $25,$24 + srl $24,$24,2 + or $18,$6 + addu $3,$17 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 58 + and $25,$24,$1 + xor $19,$21 + rotr $6,$3,27 + addu $2,$25 + xor $19,$11 + xor $25,$24,$1 + addu $2,$6 + xor $19,$16 + and $25,$7 + addu $2,$18 + rotr $19,$19,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $19,$21 + sll $25,$3,5 # 58 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $19,$11 + and $25,$24,$1 + addu $2,$6 + xor $19,$16 + sll $30,$7,30 + addu $2,$25 + srl $6,$19,31 + xor $25,$24,$1 + addu $19,$19 + and $25,$7 + srl $7,$7,2 + or $19,$6 + addu $2,$18 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 59 + and $25,$7,$24 + xor $20,$22 + rotr $6,$2,27 + addu $1,$25 + xor $20,$12 + xor $25,$7,$24 + addu $1,$6 + xor $20,$17 + and $25,$3 + addu $1,$19 + rotr $20,$20,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $20,$22 + sll $25,$2,5 # 59 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $20,$12 + and $25,$7,$24 + addu $1,$6 + xor $20,$17 + sll $30,$3,30 + addu $1,$25 + srl $6,$20,31 + xor $25,$7,$24 + addu $20,$20 + and $25,$3 + srl $3,$3,2 + or $20,$6 + addu $1,$19 + or $3,$30 + addu $1,$25 +#endif + lui $31,0xca62 + ori $31,0xc1d6 # K_60_79 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $21,$23 + addu $24,$31 # 60 + rotr $6,$1,27 + xor $21,$13 + xor $25,$3,$7 + addu $24,$6 + xor $21,$18 + xor $25,$2 + addu $24,$20 + rotr $21,$21,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $21,$23 + sll $25,$1,5 # 60 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $21,$13 + xor $25,$3,$7 + addu $24,$6 + xor $21,$18 + sll $30,$2,30 + xor $25,$2 + srl $6,$21,31 + addu $21,$21 + srl $2,$2,2 + addu $24,$20 + or $21,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $22,$8 + addu $7,$31 # 61 + rotr $6,$24,27 + xor $22,$14 + xor $25,$2,$3 + addu $7,$6 + xor $22,$19 + xor $25,$1 + addu $7,$21 + rotr $22,$22,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $22,$8 + sll $25,$24,5 # 61 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $22,$14 + xor $25,$2,$3 + addu $7,$6 + xor $22,$19 + sll $30,$1,30 + xor $25,$1 + srl $6,$22,31 + addu $22,$22 + srl $1,$1,2 + addu $7,$21 + or $22,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $23,$9 + addu $3,$31 # 62 + rotr $6,$7,27 + xor $23,$15 + xor $25,$1,$2 + addu $3,$6 + xor $23,$20 + xor $25,$24 + addu $3,$22 + rotr $23,$23,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $23,$9 + sll $25,$7,5 # 62 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $23,$15 + xor $25,$1,$2 + addu $3,$6 + xor $23,$20 + sll $30,$24,30 + xor $25,$24 + srl $6,$23,31 + addu $23,$23 + srl $24,$24,2 + addu $3,$22 + or $23,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $8,$10 + addu $2,$31 # 63 + rotr $6,$3,27 + xor $8,$16 + xor $25,$24,$1 + addu $2,$6 + xor $8,$21 + xor $25,$7 + addu $2,$23 + rotr $8,$8,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $8,$10 + sll $25,$3,5 # 63 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $8,$16 + xor $25,$24,$1 + addu $2,$6 + xor $8,$21 + sll $30,$7,30 + xor $25,$7 + srl $6,$8,31 + addu $8,$8 + srl $7,$7,2 + addu $2,$23 + or $8,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $9,$11 + addu $1,$31 # 64 + rotr $6,$2,27 + xor $9,$17 + xor $25,$7,$24 + addu $1,$6 + xor $9,$22 + xor $25,$3 + addu $1,$8 + rotr $9,$9,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $9,$11 + sll $25,$2,5 # 64 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $9,$17 + xor $25,$7,$24 + addu $1,$6 + xor $9,$22 + sll $30,$3,30 + xor $25,$3 + srl $6,$9,31 + addu $9,$9 + srl $3,$3,2 + addu $1,$8 + or $9,$6 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $10,$12 + addu $24,$31 # 65 + rotr $6,$1,27 + xor $10,$18 + xor $25,$3,$7 + addu $24,$6 + xor $10,$23 + xor $25,$2 + addu $24,$9 + rotr $10,$10,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $10,$12 + sll $25,$1,5 # 65 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $10,$18 + xor $25,$3,$7 + addu $24,$6 + xor $10,$23 + sll $30,$2,30 + xor $25,$2 + srl $6,$10,31 + addu $10,$10 + srl $2,$2,2 + addu $24,$9 + or $10,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $11,$13 + addu $7,$31 # 66 + rotr $6,$24,27 + xor $11,$19 + xor $25,$2,$3 + addu $7,$6 + xor $11,$8 + xor $25,$1 + addu $7,$10 + rotr $11,$11,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $11,$13 + sll $25,$24,5 # 66 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $11,$19 + xor $25,$2,$3 + addu $7,$6 + xor $11,$8 + sll $30,$1,30 + xor $25,$1 + srl $6,$11,31 + addu $11,$11 + srl $1,$1,2 + addu $7,$10 + or $11,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $12,$14 + addu $3,$31 # 67 + rotr $6,$7,27 + xor $12,$20 + xor $25,$1,$2 + addu $3,$6 + xor $12,$9 + xor $25,$24 + addu $3,$11 + rotr $12,$12,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $12,$14 + sll $25,$7,5 # 67 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $12,$20 + xor $25,$1,$2 + addu $3,$6 + xor $12,$9 + sll $30,$24,30 + xor $25,$24 + srl $6,$12,31 + addu $12,$12 + srl $24,$24,2 + addu $3,$11 + or $12,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $13,$15 + addu $2,$31 # 68 + rotr $6,$3,27 + xor $13,$21 + xor $25,$24,$1 + addu $2,$6 + xor $13,$10 + xor $25,$7 + addu $2,$12 + rotr $13,$13,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $13,$15 + sll $25,$3,5 # 68 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $13,$21 + xor $25,$24,$1 + addu $2,$6 + xor $13,$10 + sll $30,$7,30 + xor $25,$7 + srl $6,$13,31 + addu $13,$13 + srl $7,$7,2 + addu $2,$12 + or $13,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $14,$16 + addu $1,$31 # 69 + rotr $6,$2,27 + xor $14,$22 + xor $25,$7,$24 + addu $1,$6 + xor $14,$11 + xor $25,$3 + addu $1,$13 + rotr $14,$14,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $14,$16 + sll $25,$2,5 # 69 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $14,$22 + xor $25,$7,$24 + addu $1,$6 + xor $14,$11 + sll $30,$3,30 + xor $25,$3 + srl $6,$14,31 + addu $14,$14 + srl $3,$3,2 + addu $1,$13 + or $14,$6 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $15,$17 + addu $24,$31 # 70 + rotr $6,$1,27 + xor $15,$23 + xor $25,$3,$7 + addu $24,$6 + xor $15,$12 + xor $25,$2 + addu $24,$14 + rotr $15,$15,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $15,$17 + sll $25,$1,5 # 70 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $15,$23 + xor $25,$3,$7 + addu $24,$6 + xor $15,$12 + sll $30,$2,30 + xor $25,$2 + srl $6,$15,31 + addu $15,$15 + srl $2,$2,2 + addu $24,$14 + or $15,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $16,$18 + addu $7,$31 # 71 + rotr $6,$24,27 + xor $16,$8 + xor $25,$2,$3 + addu $7,$6 + xor $16,$13 + xor $25,$1 + addu $7,$15 + rotr $16,$16,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $16,$18 + sll $25,$24,5 # 71 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $16,$8 + xor $25,$2,$3 + addu $7,$6 + xor $16,$13 + sll $30,$1,30 + xor $25,$1 + srl $6,$16,31 + addu $16,$16 + srl $1,$1,2 + addu $7,$15 + or $16,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $17,$19 + addu $3,$31 # 72 + rotr $6,$7,27 + xor $17,$9 + xor $25,$1,$2 + addu $3,$6 + xor $17,$14 + xor $25,$24 + addu $3,$16 + rotr $17,$17,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $17,$19 + sll $25,$7,5 # 72 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $17,$9 + xor $25,$1,$2 + addu $3,$6 + xor $17,$14 + sll $30,$24,30 + xor $25,$24 + srl $6,$17,31 + addu $17,$17 + srl $24,$24,2 + addu $3,$16 + or $17,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $18,$20 + addu $2,$31 # 73 + rotr $6,$3,27 + xor $18,$10 + xor $25,$24,$1 + addu $2,$6 + xor $18,$15 + xor $25,$7 + addu $2,$17 + rotr $18,$18,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $18,$20 + sll $25,$3,5 # 73 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $18,$10 + xor $25,$24,$1 + addu $2,$6 + xor $18,$15 + sll $30,$7,30 + xor $25,$7 + srl $6,$18,31 + addu $18,$18 + srl $7,$7,2 + addu $2,$17 + or $18,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $19,$21 + addu $1,$31 # 74 + rotr $6,$2,27 + xor $19,$11 + xor $25,$7,$24 + addu $1,$6 + xor $19,$16 + xor $25,$3 + addu $1,$18 + rotr $19,$19,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $19,$21 + sll $25,$2,5 # 74 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $19,$11 + xor $25,$7,$24 + addu $1,$6 + xor $19,$16 + sll $30,$3,30 + xor $25,$3 + srl $6,$19,31 + addu $19,$19 + srl $3,$3,2 + addu $1,$18 + or $19,$6 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $20,$22 + addu $24,$31 # 75 + rotr $6,$1,27 + xor $20,$12 + xor $25,$3,$7 + addu $24,$6 + xor $20,$17 + xor $25,$2 + addu $24,$19 + rotr $20,$20,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $20,$22 + sll $25,$1,5 # 75 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $20,$12 + xor $25,$3,$7 + addu $24,$6 + xor $20,$17 + sll $30,$2,30 + xor $25,$2 + srl $6,$20,31 + addu $20,$20 + srl $2,$2,2 + addu $24,$19 + or $20,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $21,$23 + addu $7,$31 # 76 + rotr $6,$24,27 + xor $21,$13 + xor $25,$2,$3 + addu $7,$6 + xor $21,$18 + xor $25,$1 + addu $7,$20 + rotr $21,$21,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $21,$23 + sll $25,$24,5 # 76 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $21,$13 + xor $25,$2,$3 + addu $7,$6 + xor $21,$18 + sll $30,$1,30 + xor $25,$1 + srl $6,$21,31 + addu $21,$21 + srl $1,$1,2 + addu $7,$20 + or $21,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $22,$8 + addu $3,$31 # 77 + rotr $6,$7,27 + xor $22,$14 + xor $25,$1,$2 + addu $3,$6 + xor $22,$19 + xor $25,$24 + addu $3,$21 + rotr $22,$22,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $22,$8 + sll $25,$7,5 # 77 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $22,$14 + xor $25,$1,$2 + addu $3,$6 + xor $22,$19 + sll $30,$24,30 + xor $25,$24 + srl $6,$22,31 + addu $22,$22 + srl $24,$24,2 + addu $3,$21 + or $22,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $23,$9 + addu $2,$31 # 78 + rotr $6,$3,27 + xor $23,$15 + xor $25,$24,$1 + addu $2,$6 + xor $23,$20 + xor $25,$7 + addu $2,$22 + rotr $23,$23,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $23,$9 + sll $25,$3,5 # 78 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $23,$15 + xor $25,$24,$1 + addu $2,$6 + xor $23,$20 + sll $30,$7,30 + xor $25,$7 + srl $6,$23,31 + addu $23,$23 + srl $7,$7,2 + addu $2,$22 + or $23,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + lw $8,0($4) + addu $1,$31 # 79 + lw $9,4($4) + rotr $6,$2,27 + lw $10,8($4) + xor $25,$7,$24 + addu $1,$6 + lw $11,12($4) + xor $25,$3 + addu $1,$23 + lw $12,16($4) + rotr $3,$3,2 + addu $1,$25 +#else + lw $8,0($4) + sll $25,$2,5 # 79 + addu $1,$31 + lw $9,4($4) + srl $6,$2,27 + addu $1,$25 + lw $10,8($4) + xor $25,$7,$24 + addu $1,$6 + lw $11,12($4) + sll $30,$3,30 + xor $25,$3 + lw $12,16($4) + srl $3,$3,2 + addu $1,$23 + or $3,$30 + addu $1,$25 +#endif + daddu $5,64 + ld $6,0($29) + + addu $1,$8 + addu $2,$9 + sw $1,0($4) + addu $3,$10 + addu $7,$11 + sw $2,4($4) + addu $24,$12 + sw $3,8($4) + sw $7,12($4) + sw $24,16($4) + .set noreorder + bne $5,$6,.Loop + nop + + .set noreorder + ld $31,(16-1)*8($29) + ld $30,(16-2)*8($29) + ld $23,(16-3)*8($29) + ld $22,(16-4)*8($29) + ld $21,(16-5)*8($29) + ld $20,(16-6)*8($29) + ld $19,(16-7)*8($29) + ld $18,(16-8)*8($29) + ld $17,(16-9)*8($29) + ld $16,(16-10)*8($29) + jr $31 + daddu $29,16*8 +.end sha1_block_data_order +.rdata +.asciiz "SHA1 for MIPS, CRYPTOGAMS by <appro@openssl.org>" |