mirror of
https://github.com/coolsnowwolf/packages.git
synced 2025-05-03 00:41:00 +08:00
23742 lines
494 KiB
Diff
23742 lines
494 KiB
Diff
diff -urN a/deps/openssl/config/archs/linux-mips/asm/crypto/aes/aes-mips.S b/deps/openssl/config/archs/linux-mips/asm/crypto/aes/aes-mips.S
|
||
--- a/deps/openssl/config/archs/linux-mips/asm/crypto/aes/aes-mips.S 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mips/asm/crypto/aes/aes-mips.S 2019-12-25 13:49:19.976298828 +0900
|
||
@@ -0,0 +1,1870 @@
|
||
+#include "mips_arch.h"
|
||
+
|
||
+.text
|
||
+#if !defined(__mips_eabi) && (!defined(__vxworks) || defined(__pic__))
|
||
+.option pic2
|
||
+#endif
|
||
+.set noat
|
||
+.align 5
|
||
+.ent _mips_AES_encrypt
|
||
+_mips_AES_encrypt:
|
||
+ .frame $29,0,$31
|
||
+ .set reorder
|
||
+ lw $12,0($6)
|
||
+ lw $13,4($6)
|
||
+ lw $14,8($6)
|
||
+ lw $15,12($6)
|
||
+ lw $30,240($6)
|
||
+ addu $3,$6,16
|
||
+
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+
|
||
+ subu $30,1
|
||
+#if defined(__mips_smartmips)
|
||
+ ext $1,$9,16,8
|
||
+.Loop_enc:
|
||
+ ext $2,$10,16,8
|
||
+ ext $24,$11,16,8
|
||
+ ext $25,$8,16,8
|
||
+ lwxs $12,$1($7) # Te1[s1>>16]
|
||
+ ext $1,$10,8,8
|
||
+ lwxs $13,$2($7) # Te1[s2>>16]
|
||
+ ext $2,$11,8,8
|
||
+ lwxs $14,$24($7) # Te1[s3>>16]
|
||
+ ext $24,$8,8,8
|
||
+ lwxs $15,$25($7) # Te1[s0>>16]
|
||
+ ext $25,$9,8,8
|
||
+
|
||
+ lwxs $16,$1($7) # Te2[s2>>8]
|
||
+ ext $1,$11,0,8
|
||
+ lwxs $17,$2($7) # Te2[s3>>8]
|
||
+ ext $2,$8,0,8
|
||
+ lwxs $18,$24($7) # Te2[s0>>8]
|
||
+ ext $24,$9,0,8
|
||
+ lwxs $19,$25($7) # Te2[s1>>8]
|
||
+ ext $25,$10,0,8
|
||
+
|
||
+ lwxs $20,$1($7) # Te3[s3]
|
||
+ ext $1,$8,24,8
|
||
+ lwxs $21,$2($7) # Te3[s0]
|
||
+ ext $2,$9,24,8
|
||
+ lwxs $22,$24($7) # Te3[s1]
|
||
+ ext $24,$10,24,8
|
||
+ lwxs $23,$25($7) # Te3[s2]
|
||
+ ext $25,$11,24,8
|
||
+
|
||
+ rotr $12,$12,8
|
||
+ rotr $13,$13,8
|
||
+ rotr $14,$14,8
|
||
+ rotr $15,$15,8
|
||
+
|
||
+ rotr $16,$16,16
|
||
+ rotr $17,$17,16
|
||
+ rotr $18,$18,16
|
||
+ rotr $19,$19,16
|
||
+
|
||
+ xor $12,$16
|
||
+ lwxs $16,$1($7) # Te0[s0>>24]
|
||
+ xor $13,$17
|
||
+ lwxs $17,$2($7) # Te0[s1>>24]
|
||
+ xor $14,$18
|
||
+ lwxs $18,$24($7) # Te0[s2>>24]
|
||
+ xor $15,$19
|
||
+ lwxs $19,$25($7) # Te0[s3>>24]
|
||
+
|
||
+ rotr $20,$20,24
|
||
+ lw $8,0($3)
|
||
+ rotr $21,$21,24
|
||
+ lw $9,4($3)
|
||
+ rotr $22,$22,24
|
||
+ lw $10,8($3)
|
||
+ rotr $23,$23,24
|
||
+ lw $11,12($3)
|
||
+
|
||
+ xor $12,$20
|
||
+ xor $13,$21
|
||
+ xor $14,$22
|
||
+ xor $15,$23
|
||
+
|
||
+ xor $12,$16
|
||
+ xor $13,$17
|
||
+ xor $14,$18
|
||
+ xor $15,$19
|
||
+
|
||
+ subu $30,1
|
||
+ addu $3,16
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+ .set noreorder
|
||
+ bnez $30,.Loop_enc
|
||
+ ext $1,$9,16,8
|
||
+
|
||
+ srl $1,$9,14
|
||
+#else
|
||
+ srl $1,$9,14
|
||
+.Loop_enc:
|
||
+ srl $2,$10,14
|
||
+ srl $24,$11,14
|
||
+ srl $25,$8,14
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ lw $12,0($1) # Te1[s1>>16]
|
||
+ srl $1,$10,6
|
||
+ lw $13,0($2) # Te1[s2>>16]
|
||
+ srl $2,$11,6
|
||
+ lw $14,0($24) # Te1[s3>>16]
|
||
+ srl $24,$8,6
|
||
+ lw $15,0($25) # Te1[s0>>16]
|
||
+ srl $25,$9,6
|
||
+#else
|
||
+ lwl $12,3($1) # Te1[s1>>16]
|
||
+ lwl $13,3($2) # Te1[s2>>16]
|
||
+ lwl $14,3($24) # Te1[s3>>16]
|
||
+ lwl $15,3($25) # Te1[s0>>16]
|
||
+ lwr $12,2($1) # Te1[s1>>16]
|
||
+ srl $1,$10,6
|
||
+ lwr $13,2($2) # Te1[s2>>16]
|
||
+ srl $2,$11,6
|
||
+ lwr $14,2($24) # Te1[s3>>16]
|
||
+ srl $24,$8,6
|
||
+ lwr $15,2($25) # Te1[s0>>16]
|
||
+ srl $25,$9,6
|
||
+#endif
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ rotr $12,$12,8
|
||
+ rotr $13,$13,8
|
||
+ rotr $14,$14,8
|
||
+ rotr $15,$15,8
|
||
+# if defined(_MIPSEL)
|
||
+ lw $16,0($1) # Te2[s2>>8]
|
||
+ sll $1,$11,2
|
||
+ lw $17,0($2) # Te2[s3>>8]
|
||
+ sll $2,$8,2
|
||
+ lw $18,0($24) # Te2[s0>>8]
|
||
+ sll $24,$9,2
|
||
+ lw $19,0($25) # Te2[s1>>8]
|
||
+ sll $25,$10,2
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lw $20,0($1) # Te3[s3]
|
||
+ ins $1,$8,2,8
|
||
+ lw $21,0($2) # Te3[s0]
|
||
+ ins $2,$9,2,8
|
||
+ lw $22,0($24) # Te3[s1]
|
||
+ ins $24,$10,2,8
|
||
+ lw $23,0($25) # Te3[s2]
|
||
+ ins $25,$11,2,8
|
||
+# else
|
||
+ lw $16,0($1) # Te2[s2>>8]
|
||
+ ins $1,$11,2,8
|
||
+ lw $17,0($2) # Te2[s3>>8]
|
||
+ ins $2,$8,2,8
|
||
+ lw $18,0($24) # Te2[s0>>8]
|
||
+ ins $24,$9,2,8
|
||
+ lw $19,0($25) # Te2[s1>>8]
|
||
+ ins $25,$10,2,8
|
||
+
|
||
+ lw $20,0($1) # Te3[s3]
|
||
+ srl $1,$8,22
|
||
+ lw $21,0($2) # Te3[s0]
|
||
+ srl $2,$9,22
|
||
+ lw $22,0($24) # Te3[s1]
|
||
+ srl $24,$10,22
|
||
+ lw $23,0($25) # Te3[s2]
|
||
+ srl $25,$11,22
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+# endif
|
||
+ rotr $16,$16,16
|
||
+ rotr $17,$17,16
|
||
+ rotr $18,$18,16
|
||
+ rotr $19,$19,16
|
||
+
|
||
+ rotr $20,$20,24
|
||
+ rotr $21,$21,24
|
||
+ rotr $22,$22,24
|
||
+ rotr $23,$23,24
|
||
+#else
|
||
+ lwl $16,2($1) # Te2[s2>>8]
|
||
+ lwl $17,2($2) # Te2[s3>>8]
|
||
+ lwl $18,2($24) # Te2[s0>>8]
|
||
+ lwl $19,2($25) # Te2[s1>>8]
|
||
+ lwr $16,1($1) # Te2[s2>>8]
|
||
+ sll $1,$11,2
|
||
+ lwr $17,1($2) # Te2[s3>>8]
|
||
+ sll $2,$8,2
|
||
+ lwr $18,1($24) # Te2[s0>>8]
|
||
+ sll $24,$9,2
|
||
+ lwr $19,1($25) # Te2[s1>>8]
|
||
+ sll $25,$10,2
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lwl $20,1($1) # Te3[s3]
|
||
+ lwl $21,1($2) # Te3[s0]
|
||
+ lwl $22,1($24) # Te3[s1]
|
||
+ lwl $23,1($25) # Te3[s2]
|
||
+ lwr $20,0($1) # Te3[s3]
|
||
+ srl $1,$8,22
|
||
+ lwr $21,0($2) # Te3[s0]
|
||
+ srl $2,$9,22
|
||
+ lwr $22,0($24) # Te3[s1]
|
||
+ srl $24,$10,22
|
||
+ lwr $23,0($25) # Te3[s2]
|
||
+ srl $25,$11,22
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#endif
|
||
+ xor $12,$16
|
||
+ lw $16,0($1) # Te0[s0>>24]
|
||
+ xor $13,$17
|
||
+ lw $17,0($2) # Te0[s1>>24]
|
||
+ xor $14,$18
|
||
+ lw $18,0($24) # Te0[s2>>24]
|
||
+ xor $15,$19
|
||
+ lw $19,0($25) # Te0[s3>>24]
|
||
+
|
||
+ xor $12,$20
|
||
+ lw $8,0($3)
|
||
+ xor $13,$21
|
||
+ lw $9,4($3)
|
||
+ xor $14,$22
|
||
+ lw $10,8($3)
|
||
+ xor $15,$23
|
||
+ lw $11,12($3)
|
||
+
|
||
+ xor $12,$16
|
||
+ xor $13,$17
|
||
+ xor $14,$18
|
||
+ xor $15,$19
|
||
+
|
||
+ subu $30,1
|
||
+ addu $3,16
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+ .set noreorder
|
||
+ bnez $30,.Loop_enc
|
||
+ srl $1,$9,14
|
||
+#endif
|
||
+
|
||
+ .set reorder
|
||
+ srl $2,$10,14
|
||
+ srl $24,$11,14
|
||
+ srl $25,$8,14
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $12,2($1) # Te4[s1>>16]
|
||
+ srl $1,$10,6
|
||
+ lbu $13,2($2) # Te4[s2>>16]
|
||
+ srl $2,$11,6
|
||
+ lbu $14,2($24) # Te4[s3>>16]
|
||
+ srl $24,$8,6
|
||
+ lbu $15,2($25) # Te4[s0>>16]
|
||
+ srl $25,$9,6
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+# if defined(_MIPSEL)
|
||
+ lbu $16,2($1) # Te4[s2>>8]
|
||
+ ins $1,$8,2,8
|
||
+ lbu $17,2($2) # Te4[s3>>8]
|
||
+ ins $2,$9,2,8
|
||
+ lbu $18,2($24) # Te4[s0>>8]
|
||
+ ins $24,$10,2,8
|
||
+ lbu $19,2($25) # Te4[s1>>8]
|
||
+ ins $25,$11,2,8
|
||
+
|
||
+ lbu $20,2($1) # Te4[s0>>24]
|
||
+ sll $1,$11,2
|
||
+ lbu $21,2($2) # Te4[s1>>24]
|
||
+ sll $2,$8,2
|
||
+ lbu $22,2($24) # Te4[s2>>24]
|
||
+ sll $24,$9,2
|
||
+ lbu $23,2($25) # Te4[s3>>24]
|
||
+ sll $25,$10,2
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+# else
|
||
+ lbu $16,2($1) # Te4[s2>>8]
|
||
+ srl $1,$8,22
|
||
+ lbu $17,2($2) # Te4[s3>>8]
|
||
+ srl $2,$9,22
|
||
+ lbu $18,2($24) # Te4[s0>>8]
|
||
+ srl $24,$10,22
|
||
+ lbu $19,2($25) # Te4[s1>>8]
|
||
+ srl $25,$11,22
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $20,2($1) # Te4[s0>>24]
|
||
+ ins $1,$11,2,8
|
||
+ lbu $21,2($2) # Te4[s1>>24]
|
||
+ ins $2,$8,2,8
|
||
+ lbu $22,2($24) # Te4[s2>>24]
|
||
+ ins $24,$9,2,8
|
||
+ lbu $23,2($25) # Te4[s3>>24]
|
||
+ ins $25,$10,2,8
|
||
+# endif
|
||
+ sll $12,$12,16
|
||
+ sll $13,$13,16
|
||
+ sll $14,$14,16
|
||
+ sll $15,$15,16
|
||
+
|
||
+ ins $12,$16,8,8
|
||
+ lbu $16,2($1) # Te4[s3]
|
||
+ ins $13,$17,8,8
|
||
+ lbu $17,2($2) # Te4[s0]
|
||
+ ins $14,$18,8,8
|
||
+ lbu $18,2($24) # Te4[s1]
|
||
+ ins $15,$19,8,8
|
||
+ lbu $19,2($25) # Te4[s2]
|
||
+
|
||
+ ins $12,$20,24,8
|
||
+ lw $8,0($3)
|
||
+ ins $13,$21,24,8
|
||
+ lw $9,4($3)
|
||
+ ins $14,$22,24,8
|
||
+ lw $10,8($3)
|
||
+ ins $15,$23,24,8
|
||
+ lw $11,12($3)
|
||
+
|
||
+ ins $12,$16,0,8
|
||
+ ins $13,$17,0,8
|
||
+ ins $14,$18,0,8
|
||
+ ins $15,$19,0,8
|
||
+#else
|
||
+ lbu $16,2($1) # Te4[s2>>8]
|
||
+ srl $1,$8,22
|
||
+ lbu $17,2($2) # Te4[s3>>8]
|
||
+ srl $2,$9,22
|
||
+ lbu $18,2($24) # Te4[s0>>8]
|
||
+ srl $24,$10,22
|
||
+ lbu $19,2($25) # Te4[s1>>8]
|
||
+ srl $25,$11,22
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $20,2($1) # Te4[s0>>24]
|
||
+ sll $1,$11,2
|
||
+ lbu $21,2($2) # Te4[s1>>24]
|
||
+ sll $2,$8,2
|
||
+ lbu $22,2($24) # Te4[s2>>24]
|
||
+ sll $24,$9,2
|
||
+ lbu $23,2($25) # Te4[s3>>24]
|
||
+ sll $25,$10,2
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+
|
||
+ sll $12,$12,16
|
||
+ sll $13,$13,16
|
||
+ sll $14,$14,16
|
||
+ sll $15,$15,16
|
||
+
|
||
+ sll $16,$16,8
|
||
+ sll $17,$17,8
|
||
+ sll $18,$18,8
|
||
+ sll $19,$19,8
|
||
+
|
||
+ xor $12,$16
|
||
+ lbu $16,2($1) # Te4[s3]
|
||
+ xor $13,$17
|
||
+ lbu $17,2($2) # Te4[s0]
|
||
+ xor $14,$18
|
||
+ lbu $18,2($24) # Te4[s1]
|
||
+ xor $15,$19
|
||
+ lbu $19,2($25) # Te4[s2]
|
||
+
|
||
+ sll $20,$20,24
|
||
+ lw $8,0($3)
|
||
+ sll $21,$21,24
|
||
+ lw $9,4($3)
|
||
+ sll $22,$22,24
|
||
+ lw $10,8($3)
|
||
+ sll $23,$23,24
|
||
+ lw $11,12($3)
|
||
+
|
||
+ xor $12,$20
|
||
+ xor $13,$21
|
||
+ xor $14,$22
|
||
+ xor $15,$23
|
||
+
|
||
+ #sll $16,$16,0
|
||
+ #sll $17,$17,0
|
||
+ #sll $18,$18,0
|
||
+ #sll $19,$19,0
|
||
+
|
||
+ xor $12,$16
|
||
+ xor $13,$17
|
||
+ xor $14,$18
|
||
+ xor $15,$19
|
||
+#endif
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+
|
||
+ jr $31
|
||
+.end _mips_AES_encrypt
|
||
+
|
||
+.align 5
|
||
+.globl AES_encrypt
|
||
+.ent AES_encrypt
|
||
+AES_encrypt:
|
||
+ .frame $29,64,$31
|
||
+ .mask 0xc0ff0000,-4
|
||
+ .set noreorder
|
||
+ .cpload $25
|
||
+ subu $29,64
|
||
+ sw $31,64-1*4($29)
|
||
+ sw $30,64-2*4($29)
|
||
+ sw $23,64-3*4($29)
|
||
+ sw $22,64-4*4($29)
|
||
+ sw $21,64-5*4($29)
|
||
+ sw $20,64-6*4($29)
|
||
+ sw $19,64-7*4($29)
|
||
+ sw $18,64-8*4($29)
|
||
+ sw $17,64-9*4($29)
|
||
+ sw $16,64-10*4($29)
|
||
+ .set reorder
|
||
+ la $7,AES_Te # PIC-ified 'load address'
|
||
+
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $8,0($4)
|
||
+ lw $9,4($4)
|
||
+ lw $10,8($4)
|
||
+ lw $11,12($4)
|
||
+#else
|
||
+ lwl $8,0+0($4)
|
||
+ lwl $9,4+0($4)
|
||
+ lwl $10,8+0($4)
|
||
+ lwl $11,12+0($4)
|
||
+ lwr $8,0+3($4)
|
||
+ lwr $9,4+3($4)
|
||
+ lwr $10,8+3($4)
|
||
+ lwr $11,12+3($4)
|
||
+#endif
|
||
+
|
||
+ bal _mips_AES_encrypt
|
||
+
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ sw $8,0($5)
|
||
+ sw $9,4($5)
|
||
+ sw $10,8($5)
|
||
+ sw $11,12($5)
|
||
+#else
|
||
+ swr $8,0+3($5)
|
||
+ swr $9,4+3($5)
|
||
+ swr $10,8+3($5)
|
||
+ swr $11,12+3($5)
|
||
+ swl $8,0+0($5)
|
||
+ swl $9,4+0($5)
|
||
+ swl $10,8+0($5)
|
||
+ swl $11,12+0($5)
|
||
+#endif
|
||
+
|
||
+ .set noreorder
|
||
+ lw $31,64-1*4($29)
|
||
+ lw $30,64-2*4($29)
|
||
+ lw $23,64-3*4($29)
|
||
+ lw $22,64-4*4($29)
|
||
+ lw $21,64-5*4($29)
|
||
+ lw $20,64-6*4($29)
|
||
+ lw $19,64-7*4($29)
|
||
+ lw $18,64-8*4($29)
|
||
+ lw $17,64-9*4($29)
|
||
+ lw $16,64-10*4($29)
|
||
+ jr $31
|
||
+ addu $29,64
|
||
+.end AES_encrypt
|
||
+.align 5
|
||
+.ent _mips_AES_decrypt
|
||
+_mips_AES_decrypt:
|
||
+ .frame $29,0,$31
|
||
+ .set reorder
|
||
+ lw $12,0($6)
|
||
+ lw $13,4($6)
|
||
+ lw $14,8($6)
|
||
+ lw $15,12($6)
|
||
+ lw $30,240($6)
|
||
+ addu $3,$6,16
|
||
+
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+
|
||
+ subu $30,1
|
||
+#if defined(__mips_smartmips)
|
||
+ ext $1,$11,16,8
|
||
+.Loop_dec:
|
||
+ ext $2,$8,16,8
|
||
+ ext $24,$9,16,8
|
||
+ ext $25,$10,16,8
|
||
+ lwxs $12,$1($7) # Td1[s3>>16]
|
||
+ ext $1,$10,8,8
|
||
+ lwxs $13,$2($7) # Td1[s0>>16]
|
||
+ ext $2,$11,8,8
|
||
+ lwxs $14,$24($7) # Td1[s1>>16]
|
||
+ ext $24,$8,8,8
|
||
+ lwxs $15,$25($7) # Td1[s2>>16]
|
||
+ ext $25,$9,8,8
|
||
+
|
||
+ lwxs $16,$1($7) # Td2[s2>>8]
|
||
+ ext $1,$9,0,8
|
||
+ lwxs $17,$2($7) # Td2[s3>>8]
|
||
+ ext $2,$10,0,8
|
||
+ lwxs $18,$24($7) # Td2[s0>>8]
|
||
+ ext $24,$11,0,8
|
||
+ lwxs $19,$25($7) # Td2[s1>>8]
|
||
+ ext $25,$8,0,8
|
||
+
|
||
+ lwxs $20,$1($7) # Td3[s1]
|
||
+ ext $1,$8,24,8
|
||
+ lwxs $21,$2($7) # Td3[s2]
|
||
+ ext $2,$9,24,8
|
||
+ lwxs $22,$24($7) # Td3[s3]
|
||
+ ext $24,$10,24,8
|
||
+ lwxs $23,$25($7) # Td3[s0]
|
||
+ ext $25,$11,24,8
|
||
+
|
||
+ rotr $12,$12,8
|
||
+ rotr $13,$13,8
|
||
+ rotr $14,$14,8
|
||
+ rotr $15,$15,8
|
||
+
|
||
+ rotr $16,$16,16
|
||
+ rotr $17,$17,16
|
||
+ rotr $18,$18,16
|
||
+ rotr $19,$19,16
|
||
+
|
||
+ xor $12,$16
|
||
+ lwxs $16,$1($7) # Td0[s0>>24]
|
||
+ xor $13,$17
|
||
+ lwxs $17,$2($7) # Td0[s1>>24]
|
||
+ xor $14,$18
|
||
+ lwxs $18,$24($7) # Td0[s2>>24]
|
||
+ xor $15,$19
|
||
+ lwxs $19,$25($7) # Td0[s3>>24]
|
||
+
|
||
+ rotr $20,$20,24
|
||
+ lw $8,0($3)
|
||
+ rotr $21,$21,24
|
||
+ lw $9,4($3)
|
||
+ rotr $22,$22,24
|
||
+ lw $10,8($3)
|
||
+ rotr $23,$23,24
|
||
+ lw $11,12($3)
|
||
+
|
||
+ xor $12,$20
|
||
+ xor $13,$21
|
||
+ xor $14,$22
|
||
+ xor $15,$23
|
||
+
|
||
+ xor $12,$16
|
||
+ xor $13,$17
|
||
+ xor $14,$18
|
||
+ xor $15,$19
|
||
+
|
||
+ subu $30,1
|
||
+ addu $3,16
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+ .set noreorder
|
||
+ bnez $30,.Loop_dec
|
||
+ ext $1,$11,16,8
|
||
+
|
||
+ srl $1,$11,14
|
||
+#else
|
||
+ srl $1,$11,14
|
||
+.Loop_dec:
|
||
+ srl $2,$8,14
|
||
+ srl $24,$9,14
|
||
+ srl $25,$10,14
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ lw $12,0($1) # Td1[s3>>16]
|
||
+ srl $1,$10,6
|
||
+ lw $13,0($2) # Td1[s0>>16]
|
||
+ srl $2,$11,6
|
||
+ lw $14,0($24) # Td1[s1>>16]
|
||
+ srl $24,$8,6
|
||
+ lw $15,0($25) # Td1[s2>>16]
|
||
+ srl $25,$9,6
|
||
+#else
|
||
+ lwl $12,3($1) # Td1[s3>>16]
|
||
+ lwl $13,3($2) # Td1[s0>>16]
|
||
+ lwl $14,3($24) # Td1[s1>>16]
|
||
+ lwl $15,3($25) # Td1[s2>>16]
|
||
+ lwr $12,2($1) # Td1[s3>>16]
|
||
+ srl $1,$10,6
|
||
+ lwr $13,2($2) # Td1[s0>>16]
|
||
+ srl $2,$11,6
|
||
+ lwr $14,2($24) # Td1[s1>>16]
|
||
+ srl $24,$8,6
|
||
+ lwr $15,2($25) # Td1[s2>>16]
|
||
+ srl $25,$9,6
|
||
+#endif
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ rotr $12,$12,8
|
||
+ rotr $13,$13,8
|
||
+ rotr $14,$14,8
|
||
+ rotr $15,$15,8
|
||
+# if defined(_MIPSEL)
|
||
+ lw $16,0($1) # Td2[s2>>8]
|
||
+ sll $1,$9,2
|
||
+ lw $17,0($2) # Td2[s3>>8]
|
||
+ sll $2,$10,2
|
||
+ lw $18,0($24) # Td2[s0>>8]
|
||
+ sll $24,$11,2
|
||
+ lw $19,0($25) # Td2[s1>>8]
|
||
+ sll $25,$8,2
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lw $20,0($1) # Td3[s1]
|
||
+ ins $1,$8,2,8
|
||
+ lw $21,0($2) # Td3[s2]
|
||
+ ins $2,$9,2,8
|
||
+ lw $22,0($24) # Td3[s3]
|
||
+ ins $24,$10,2,8
|
||
+ lw $23,0($25) # Td3[s0]
|
||
+ ins $25,$11,2,8
|
||
+#else
|
||
+ lw $16,0($1) # Td2[s2>>8]
|
||
+ ins $1,$9,2,8
|
||
+ lw $17,0($2) # Td2[s3>>8]
|
||
+ ins $2,$10,2,8
|
||
+ lw $18,0($24) # Td2[s0>>8]
|
||
+ ins $24,$11,2,8
|
||
+ lw $19,0($25) # Td2[s1>>8]
|
||
+ ins $25,$8,2,8
|
||
+
|
||
+ lw $20,0($1) # Td3[s1]
|
||
+ srl $1,$8,22
|
||
+ lw $21,0($2) # Td3[s2]
|
||
+ srl $2,$9,22
|
||
+ lw $22,0($24) # Td3[s3]
|
||
+ srl $24,$10,22
|
||
+ lw $23,0($25) # Td3[s0]
|
||
+ srl $25,$11,22
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#endif
|
||
+ rotr $16,$16,16
|
||
+ rotr $17,$17,16
|
||
+ rotr $18,$18,16
|
||
+ rotr $19,$19,16
|
||
+
|
||
+ rotr $20,$20,24
|
||
+ rotr $21,$21,24
|
||
+ rotr $22,$22,24
|
||
+ rotr $23,$23,24
|
||
+#else
|
||
+ lwl $16,2($1) # Td2[s2>>8]
|
||
+ lwl $17,2($2) # Td2[s3>>8]
|
||
+ lwl $18,2($24) # Td2[s0>>8]
|
||
+ lwl $19,2($25) # Td2[s1>>8]
|
||
+ lwr $16,1($1) # Td2[s2>>8]
|
||
+ sll $1,$9,2
|
||
+ lwr $17,1($2) # Td2[s3>>8]
|
||
+ sll $2,$10,2
|
||
+ lwr $18,1($24) # Td2[s0>>8]
|
||
+ sll $24,$11,2
|
||
+ lwr $19,1($25) # Td2[s1>>8]
|
||
+ sll $25,$8,2
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lwl $20,1($1) # Td3[s1]
|
||
+ lwl $21,1($2) # Td3[s2]
|
||
+ lwl $22,1($24) # Td3[s3]
|
||
+ lwl $23,1($25) # Td3[s0]
|
||
+ lwr $20,0($1) # Td3[s1]
|
||
+ srl $1,$8,22
|
||
+ lwr $21,0($2) # Td3[s2]
|
||
+ srl $2,$9,22
|
||
+ lwr $22,0($24) # Td3[s3]
|
||
+ srl $24,$10,22
|
||
+ lwr $23,0($25) # Td3[s0]
|
||
+ srl $25,$11,22
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#endif
|
||
+
|
||
+ xor $12,$16
|
||
+ lw $16,0($1) # Td0[s0>>24]
|
||
+ xor $13,$17
|
||
+ lw $17,0($2) # Td0[s1>>24]
|
||
+ xor $14,$18
|
||
+ lw $18,0($24) # Td0[s2>>24]
|
||
+ xor $15,$19
|
||
+ lw $19,0($25) # Td0[s3>>24]
|
||
+
|
||
+ xor $12,$20
|
||
+ lw $8,0($3)
|
||
+ xor $13,$21
|
||
+ lw $9,4($3)
|
||
+ xor $14,$22
|
||
+ lw $10,8($3)
|
||
+ xor $15,$23
|
||
+ lw $11,12($3)
|
||
+
|
||
+ xor $12,$16
|
||
+ xor $13,$17
|
||
+ xor $14,$18
|
||
+ xor $15,$19
|
||
+
|
||
+ subu $30,1
|
||
+ addu $3,16
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+ .set noreorder
|
||
+ bnez $30,.Loop_dec
|
||
+ srl $1,$11,14
|
||
+#endif
|
||
+
|
||
+ .set reorder
|
||
+ lw $16,1024($7) # prefetch Td4
|
||
+ srl $1,$11,16
|
||
+ lw $17,1024+32($7)
|
||
+ srl $2,$8,16
|
||
+ lw $18,1024+64($7)
|
||
+ srl $24,$9,16
|
||
+ lw $19,1024+96($7)
|
||
+ srl $25,$10,16
|
||
+ lw $20,1024+128($7)
|
||
+ and $1,0xff
|
||
+ lw $21,1024+160($7)
|
||
+ and $2,0xff
|
||
+ lw $22,1024+192($7)
|
||
+ and $24,0xff
|
||
+ lw $23,1024+224($7)
|
||
+ and $25,0xff
|
||
+
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $12,1024($1) # Td4[s3>>16]
|
||
+ srl $1,$10,8
|
||
+ lbu $13,1024($2) # Td4[s0>>16]
|
||
+ srl $2,$11,8
|
||
+ lbu $14,1024($24) # Td4[s1>>16]
|
||
+ srl $24,$8,8
|
||
+ lbu $15,1024($25) # Td4[s2>>16]
|
||
+ srl $25,$9,8
|
||
+
|
||
+ and $1,0xff
|
||
+ and $2,0xff
|
||
+ and $24,0xff
|
||
+ and $25,0xff
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+# if defined(_MIPSEL)
|
||
+ lbu $16,1024($1) # Td4[s2>>8]
|
||
+ ins $1,$8,0,8
|
||
+ lbu $17,1024($2) # Td4[s3>>8]
|
||
+ ins $2,$9,0,8
|
||
+ lbu $18,1024($24) # Td4[s0>>8]
|
||
+ ins $24,$10,0,8
|
||
+ lbu $19,1024($25) # Td4[s1>>8]
|
||
+ ins $25,$11,0,8
|
||
+
|
||
+ lbu $20,1024($1) # Td4[s0>>24]
|
||
+ and $1,$9,0xff
|
||
+ lbu $21,1024($2) # Td4[s1>>24]
|
||
+ and $2,$10,0xff
|
||
+ lbu $22,1024($24) # Td4[s2>>24]
|
||
+ and $24,$11,0xff
|
||
+ lbu $23,1024($25) # Td4[s3>>24]
|
||
+ and $25,$8,0xff
|
||
+
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+# else
|
||
+ lbu $16,1024($1) # Td4[s2>>8]
|
||
+ srl $1,$8,24
|
||
+ lbu $17,1024($2) # Td4[s3>>8]
|
||
+ srl $2,$9,24
|
||
+ lbu $18,1024($24) # Td4[s0>>8]
|
||
+ srl $24,$10,24
|
||
+ lbu $19,1024($25) # Td4[s1>>8]
|
||
+ srl $25,$11,24
|
||
+
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $20,1024($1) # Td4[s0>>24]
|
||
+ ins $1,$9,0,8
|
||
+ lbu $21,1024($2) # Td4[s1>>24]
|
||
+ ins $2,$10,0,8
|
||
+ lbu $22,1024($24) # Td4[s2>>24]
|
||
+ ins $24,$11,0,8
|
||
+ lbu $23,1024($25) # Td4[s3>>24]
|
||
+ ins $25,$8,0,8
|
||
+# endif
|
||
+ sll $12,$12,16
|
||
+ sll $13,$13,16
|
||
+ sll $14,$14,16
|
||
+ sll $15,$15,16
|
||
+
|
||
+ ins $12,$16,8,8
|
||
+ lbu $16,1024($1) # Td4[s1]
|
||
+ ins $13,$17,8,8
|
||
+ lbu $17,1024($2) # Td4[s2]
|
||
+ ins $14,$18,8,8
|
||
+ lbu $18,1024($24) # Td4[s3]
|
||
+ ins $15,$19,8,8
|
||
+ lbu $19,1024($25) # Td4[s0]
|
||
+
|
||
+ ins $12,$20,24,8
|
||
+ lw $8,0($3)
|
||
+ ins $13,$21,24,8
|
||
+ lw $9,4($3)
|
||
+ ins $14,$22,24,8
|
||
+ lw $10,8($3)
|
||
+ ins $15,$23,24,8
|
||
+ lw $11,12($3)
|
||
+
|
||
+ ins $12,$16,0,8
|
||
+ ins $13,$17,0,8
|
||
+ ins $14,$18,0,8
|
||
+ ins $15,$19,0,8
|
||
+#else
|
||
+ lbu $16,1024($1) # Td4[s2>>8]
|
||
+ srl $1,$8,24
|
||
+ lbu $17,1024($2) # Td4[s3>>8]
|
||
+ srl $2,$9,24
|
||
+ lbu $18,1024($24) # Td4[s0>>8]
|
||
+ srl $24,$10,24
|
||
+ lbu $19,1024($25) # Td4[s1>>8]
|
||
+ srl $25,$11,24
|
||
+
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $20,1024($1) # Td4[s0>>24]
|
||
+ and $1,$9,0xff
|
||
+ lbu $21,1024($2) # Td4[s1>>24]
|
||
+ and $2,$10,0xff
|
||
+ lbu $22,1024($24) # Td4[s2>>24]
|
||
+ and $24,$11,0xff
|
||
+ lbu $23,1024($25) # Td4[s3>>24]
|
||
+ and $25,$8,0xff
|
||
+
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+
|
||
+ sll $12,$12,16
|
||
+ sll $13,$13,16
|
||
+ sll $14,$14,16
|
||
+ sll $15,$15,16
|
||
+
|
||
+ sll $16,$16,8
|
||
+ sll $17,$17,8
|
||
+ sll $18,$18,8
|
||
+ sll $19,$19,8
|
||
+
|
||
+ xor $12,$16
|
||
+ lbu $16,1024($1) # Td4[s1]
|
||
+ xor $13,$17
|
||
+ lbu $17,1024($2) # Td4[s2]
|
||
+ xor $14,$18
|
||
+ lbu $18,1024($24) # Td4[s3]
|
||
+ xor $15,$19
|
||
+ lbu $19,1024($25) # Td4[s0]
|
||
+
|
||
+ sll $20,$20,24
|
||
+ lw $8,0($3)
|
||
+ sll $21,$21,24
|
||
+ lw $9,4($3)
|
||
+ sll $22,$22,24
|
||
+ lw $10,8($3)
|
||
+ sll $23,$23,24
|
||
+ lw $11,12($3)
|
||
+
|
||
+ xor $12,$20
|
||
+ xor $13,$21
|
||
+ xor $14,$22
|
||
+ xor $15,$23
|
||
+
|
||
+ #sll $16,$16,0
|
||
+ #sll $17,$17,0
|
||
+ #sll $18,$18,0
|
||
+ #sll $19,$19,0
|
||
+
|
||
+ xor $12,$16
|
||
+ xor $13,$17
|
||
+ xor $14,$18
|
||
+ xor $15,$19
|
||
+#endif
|
||
+
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+
|
||
+ jr $31
|
||
+.end _mips_AES_decrypt
|
||
+
|
||
+.align 5
|
||
+.globl AES_decrypt
|
||
+.ent AES_decrypt
|
||
+AES_decrypt:
|
||
+ .frame $29,64,$31
|
||
+ .mask 0xc0ff0000,-4
|
||
+ .set noreorder
|
||
+ .cpload $25
|
||
+ subu $29,64
|
||
+ sw $31,64-1*4($29)
|
||
+ sw $30,64-2*4($29)
|
||
+ sw $23,64-3*4($29)
|
||
+ sw $22,64-4*4($29)
|
||
+ sw $21,64-5*4($29)
|
||
+ sw $20,64-6*4($29)
|
||
+ sw $19,64-7*4($29)
|
||
+ sw $18,64-8*4($29)
|
||
+ sw $17,64-9*4($29)
|
||
+ sw $16,64-10*4($29)
|
||
+ .set reorder
|
||
+ la $7,AES_Td # PIC-ified 'load address'
|
||
+
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $8,0($4)
|
||
+ lw $9,4($4)
|
||
+ lw $10,8($4)
|
||
+ lw $11,12($4)
|
||
+#else
|
||
+ lwl $8,0+0($4)
|
||
+ lwl $9,4+0($4)
|
||
+ lwl $10,8+0($4)
|
||
+ lwl $11,12+0($4)
|
||
+ lwr $8,0+3($4)
|
||
+ lwr $9,4+3($4)
|
||
+ lwr $10,8+3($4)
|
||
+ lwr $11,12+3($4)
|
||
+#endif
|
||
+
|
||
+ bal _mips_AES_decrypt
|
||
+
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ sw $8,0($5)
|
||
+ sw $9,4($5)
|
||
+ sw $10,8($5)
|
||
+ sw $11,12($5)
|
||
+#else
|
||
+ swr $8,0+3($5)
|
||
+ swr $9,4+3($5)
|
||
+ swr $10,8+3($5)
|
||
+ swr $11,12+3($5)
|
||
+ swl $8,0+0($5)
|
||
+ swl $9,4+0($5)
|
||
+ swl $10,8+0($5)
|
||
+ swl $11,12+0($5)
|
||
+#endif
|
||
+
|
||
+ .set noreorder
|
||
+ lw $31,64-1*4($29)
|
||
+ lw $30,64-2*4($29)
|
||
+ lw $23,64-3*4($29)
|
||
+ lw $22,64-4*4($29)
|
||
+ lw $21,64-5*4($29)
|
||
+ lw $20,64-6*4($29)
|
||
+ lw $19,64-7*4($29)
|
||
+ lw $18,64-8*4($29)
|
||
+ lw $17,64-9*4($29)
|
||
+ lw $16,64-10*4($29)
|
||
+ jr $31
|
||
+ addu $29,64
|
||
+.end AES_decrypt
|
||
+.align 5
|
||
+.ent _mips_AES_set_encrypt_key
|
||
+_mips_AES_set_encrypt_key:
|
||
+ .frame $29,0,$31
|
||
+ .set noreorder
|
||
+ beqz $4,.Lekey_done
|
||
+ li $2,-1
|
||
+ beqz $6,.Lekey_done
|
||
+ addu $3,$7,256
|
||
+
|
||
+ .set reorder
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $8,0($4) # load 128 bits
|
||
+ lw $9,4($4)
|
||
+ lw $10,8($4)
|
||
+ lw $11,12($4)
|
||
+#else
|
||
+ lwl $8,0+0($4) # load 128 bits
|
||
+ lwl $9,4+0($4)
|
||
+ lwl $10,8+0($4)
|
||
+ lwl $11,12+0($4)
|
||
+ lwr $8,0+3($4)
|
||
+ lwr $9,4+3($4)
|
||
+ lwr $10,8+3($4)
|
||
+ lwr $11,12+3($4)
|
||
+#endif
|
||
+ li $1,128
|
||
+ .set noreorder
|
||
+ beq $5,$1,.L128bits
|
||
+ li $30,10
|
||
+
|
||
+ .set reorder
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $12,16($4) # load 192 bits
|
||
+ lw $13,20($4)
|
||
+#else
|
||
+ lwl $12,16+0($4) # load 192 bits
|
||
+ lwl $13,20+0($4)
|
||
+ lwr $12,16+3($4)
|
||
+ lwr $13,20+3($4)
|
||
+#endif
|
||
+ li $1,192
|
||
+ .set noreorder
|
||
+ beq $5,$1,.L192bits
|
||
+ li $30,8
|
||
+
|
||
+ .set reorder
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $14,24($4) # load 256 bits
|
||
+ lw $15,28($4)
|
||
+#else
|
||
+ lwl $14,24+0($4) # load 256 bits
|
||
+ lwl $15,28+0($4)
|
||
+ lwr $14,24+3($4)
|
||
+ lwr $15,28+3($4)
|
||
+#endif
|
||
+ li $1,256
|
||
+ .set noreorder
|
||
+ beq $5,$1,.L256bits
|
||
+ li $30,7
|
||
+
|
||
+ b .Lekey_done
|
||
+ li $2,-2
|
||
+
|
||
+.align 4
|
||
+.L128bits:
|
||
+ .set reorder
|
||
+ srl $1,$11,16
|
||
+ srl $2,$11,8
|
||
+ and $1,0xff
|
||
+ and $2,0xff
|
||
+ and $24,$11,0xff
|
||
+ srl $25,$11,24
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $1,0($1)
|
||
+ lbu $2,0($2)
|
||
+ lbu $24,0($24)
|
||
+ lbu $25,0($25)
|
||
+
|
||
+ sw $8,0($6)
|
||
+ sw $9,4($6)
|
||
+ sw $10,8($6)
|
||
+ sw $11,12($6)
|
||
+ subu $30,1
|
||
+ addu $6,16
|
||
+
|
||
+ sll $1,$1,24
|
||
+ sll $2,$2,16
|
||
+ sll $24,$24,8
|
||
+ #sll $25,$25,0
|
||
+
|
||
+ xor $8,$1
|
||
+ lw $1,0($3)
|
||
+ xor $8,$2
|
||
+ xor $8,$24
|
||
+ xor $8,$25
|
||
+ xor $8,$1
|
||
+
|
||
+ xor $9,$8
|
||
+ xor $10,$9
|
||
+ xor $11,$10
|
||
+
|
||
+ .set noreorder
|
||
+ bnez $30,.L128bits
|
||
+ addu $3,4
|
||
+
|
||
+ sw $8,0($6)
|
||
+ sw $9,4($6)
|
||
+ sw $10,8($6)
|
||
+ li $30,10
|
||
+ sw $11,12($6)
|
||
+ li $2,0
|
||
+ sw $30,80($6)
|
||
+ b .Lekey_done
|
||
+ subu $6,10*16
|
||
+
|
||
+.align 4
|
||
+.L192bits:
|
||
+ .set reorder
|
||
+ srl $1,$13,16
|
||
+ srl $2,$13,8
|
||
+ and $1,0xff
|
||
+ and $2,0xff
|
||
+ and $24,$13,0xff
|
||
+ srl $25,$13,24
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $1,0($1)
|
||
+ lbu $2,0($2)
|
||
+ lbu $24,0($24)
|
||
+ lbu $25,0($25)
|
||
+
|
||
+ sw $8,0($6)
|
||
+ sw $9,4($6)
|
||
+ sw $10,8($6)
|
||
+ sw $11,12($6)
|
||
+ sw $12,16($6)
|
||
+ sw $13,20($6)
|
||
+ subu $30,1
|
||
+ addu $6,24
|
||
+
|
||
+ sll $1,$1,24
|
||
+ sll $2,$2,16
|
||
+ sll $24,$24,8
|
||
+ #sll $25,$25,0
|
||
+
|
||
+ xor $8,$1
|
||
+ lw $1,0($3)
|
||
+ xor $8,$2
|
||
+ xor $8,$24
|
||
+ xor $8,$25
|
||
+ xor $8,$1
|
||
+
|
||
+ xor $9,$8
|
||
+ xor $10,$9
|
||
+ xor $11,$10
|
||
+ xor $12,$11
|
||
+ xor $13,$12
|
||
+
|
||
+ .set noreorder
|
||
+ bnez $30,.L192bits
|
||
+ addu $3,4
|
||
+
|
||
+ sw $8,0($6)
|
||
+ sw $9,4($6)
|
||
+ sw $10,8($6)
|
||
+ li $30,12
|
||
+ sw $11,12($6)
|
||
+ li $2,0
|
||
+ sw $30,48($6)
|
||
+ b .Lekey_done
|
||
+ subu $6,12*16
|
||
+
|
||
+.align 4
|
||
+.L256bits:
|
||
+ .set reorder
|
||
+ srl $1,$15,16
|
||
+ srl $2,$15,8
|
||
+ and $1,0xff
|
||
+ and $2,0xff
|
||
+ and $24,$15,0xff
|
||
+ srl $25,$15,24
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $1,0($1)
|
||
+ lbu $2,0($2)
|
||
+ lbu $24,0($24)
|
||
+ lbu $25,0($25)
|
||
+
|
||
+ sw $8,0($6)
|
||
+ sw $9,4($6)
|
||
+ sw $10,8($6)
|
||
+ sw $11,12($6)
|
||
+ sw $12,16($6)
|
||
+ sw $13,20($6)
|
||
+ sw $14,24($6)
|
||
+ sw $15,28($6)
|
||
+ subu $30,1
|
||
+
|
||
+ sll $1,$1,24
|
||
+ sll $2,$2,16
|
||
+ sll $24,$24,8
|
||
+ #sll $25,$25,0
|
||
+
|
||
+ xor $8,$1
|
||
+ lw $1,0($3)
|
||
+ xor $8,$2
|
||
+ xor $8,$24
|
||
+ xor $8,$25
|
||
+ xor $8,$1
|
||
+
|
||
+ xor $9,$8
|
||
+ xor $10,$9
|
||
+ xor $11,$10
|
||
+ beqz $30,.L256bits_done
|
||
+
|
||
+ srl $1,$11,24
|
||
+ srl $2,$11,16
|
||
+ srl $24,$11,8
|
||
+ and $25,$11,0xff
|
||
+ and $2,0xff
|
||
+ and $24,0xff
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $1,0($1)
|
||
+ lbu $2,0($2)
|
||
+ lbu $24,0($24)
|
||
+ lbu $25,0($25)
|
||
+ sll $1,24
|
||
+ sll $2,16
|
||
+ sll $24,8
|
||
+
|
||
+ xor $12,$1
|
||
+ xor $12,$2
|
||
+ xor $12,$24
|
||
+ xor $12,$25
|
||
+
|
||
+ xor $13,$12
|
||
+ xor $14,$13
|
||
+ xor $15,$14
|
||
+
|
||
+ addu $6,32
|
||
+ .set noreorder
|
||
+ b .L256bits
|
||
+ addu $3,4
|
||
+
|
||
+.L256bits_done:
|
||
+ sw $8,32($6)
|
||
+ sw $9,36($6)
|
||
+ sw $10,40($6)
|
||
+ li $30,14
|
||
+ sw $11,44($6)
|
||
+ li $2,0
|
||
+ sw $30,48($6)
|
||
+ subu $6,12*16
|
||
+
|
||
+.Lekey_done:
|
||
+ jr $31
|
||
+ nop
|
||
+.end _mips_AES_set_encrypt_key
|
||
+
|
||
+.globl AES_set_encrypt_key
|
||
+.ent AES_set_encrypt_key
|
||
+AES_set_encrypt_key:
|
||
+ .frame $29,32,$31
|
||
+ .mask 0xc0000000,-4
|
||
+ .set noreorder
|
||
+ .cpload $25
|
||
+ subu $29,32
|
||
+ sw $31,32-1*4($29)
|
||
+ sw $30,32-2*4($29)
|
||
+ .set reorder
|
||
+ la $7,AES_Te4 # PIC-ified 'load address'
|
||
+
|
||
+ bal _mips_AES_set_encrypt_key
|
||
+
|
||
+ .set noreorder
|
||
+ move $4,$2
|
||
+ lw $31,32-1*4($29)
|
||
+ lw $30,32-2*4($29)
|
||
+ jr $31
|
||
+ addu $29,32
|
||
+.end AES_set_encrypt_key
|
||
+.align 5
|
||
+.globl AES_set_decrypt_key
|
||
+.ent AES_set_decrypt_key
|
||
+AES_set_decrypt_key:
|
||
+ .frame $29,32,$31
|
||
+ .mask 0xc0000000,-4
|
||
+ .set noreorder
|
||
+ .cpload $25
|
||
+ subu $29,32
|
||
+ sw $31,32-1*4($29)
|
||
+ sw $30,32-2*4($29)
|
||
+ .set reorder
|
||
+ la $7,AES_Te4 # PIC-ified 'load address'
|
||
+
|
||
+ bal _mips_AES_set_encrypt_key
|
||
+
|
||
+ bltz $2,.Ldkey_done
|
||
+
|
||
+ sll $1,$30,4
|
||
+ addu $4,$6,0
|
||
+ addu $5,$6,$1
|
||
+.align 4
|
||
+.Lswap:
|
||
+ lw $8,0($4)
|
||
+ lw $9,4($4)
|
||
+ lw $10,8($4)
|
||
+ lw $11,12($4)
|
||
+ lw $12,0($5)
|
||
+ lw $13,4($5)
|
||
+ lw $14,8($5)
|
||
+ lw $15,12($5)
|
||
+ sw $8,0($5)
|
||
+ sw $9,4($5)
|
||
+ sw $10,8($5)
|
||
+ sw $11,12($5)
|
||
+ addu $4,16
|
||
+ subu $5,16
|
||
+ sw $12,-16($4)
|
||
+ sw $13,-12($4)
|
||
+ sw $14,-8($4)
|
||
+ sw $15,-4($4)
|
||
+ bne $4,$5,.Lswap
|
||
+
|
||
+ lw $8,16($6) # modulo-scheduled
|
||
+ lui $2,0x8080
|
||
+ subu $30,1
|
||
+ or $2,0x8080
|
||
+ sll $30,2
|
||
+ addu $6,16
|
||
+ lui $25,0x1b1b
|
||
+ nor $24,$0,$2
|
||
+ or $25,0x1b1b
|
||
+.align 4
|
||
+.Lmix:
|
||
+ and $1,$8,$2
|
||
+ and $9,$8,$24
|
||
+ srl $10,$1,7
|
||
+ addu $9,$9 # tp2<<1
|
||
+ subu $1,$10
|
||
+ and $1,$25
|
||
+ xor $9,$1
|
||
+
|
||
+ and $1,$9,$2
|
||
+ and $10,$9,$24
|
||
+ srl $11,$1,7
|
||
+ addu $10,$10 # tp4<<1
|
||
+ subu $1,$11
|
||
+ and $1,$25
|
||
+ xor $10,$1
|
||
+
|
||
+ and $1,$10,$2
|
||
+ and $11,$10,$24
|
||
+ srl $12,$1,7
|
||
+ addu $11,$11 # tp8<<1
|
||
+ subu $1,$12
|
||
+ and $1,$25
|
||
+ xor $11,$1
|
||
+
|
||
+ xor $12,$11,$8
|
||
+ xor $15,$11,$10
|
||
+ xor $13,$12,$9
|
||
+ xor $14,$12,$10
|
||
+
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ rotr $8,$14,16
|
||
+ xor $15,$9
|
||
+ rotr $9,$12,8
|
||
+ xor $15,$8
|
||
+ rotr $10,$13,24
|
||
+ xor $15,$9
|
||
+ lw $8,4($6) # modulo-scheduled
|
||
+ xor $15,$10
|
||
+#else
|
||
+ srl $8,$14,16
|
||
+ xor $15,$9
|
||
+ sll $9,$14,16
|
||
+ xor $15,$8
|
||
+ srl $8,$12,8
|
||
+ xor $15,$9
|
||
+ sll $9,$12,24
|
||
+ xor $15,$8
|
||
+ srl $8,$13,24
|
||
+ xor $15,$9
|
||
+ sll $9,$13,8
|
||
+ xor $15,$8
|
||
+ lw $8,4($6) # modulo-scheduled
|
||
+ xor $15,$9
|
||
+#endif
|
||
+ subu $30,1
|
||
+ sw $15,0($6)
|
||
+ addu $6,4
|
||
+ bnez $30,.Lmix
|
||
+
|
||
+ li $2,0
|
||
+.Ldkey_done:
|
||
+ .set noreorder
|
||
+ move $4,$2
|
||
+ lw $31,32-1*4($29)
|
||
+ lw $30,32-2*4($29)
|
||
+ jr $31
|
||
+ addu $29,32
|
||
+.end AES_set_decrypt_key
|
||
+.rdata
|
||
+.align 10
|
||
+AES_Te:
|
||
+.byte 0xc6,0x63,0x63,0xa5, 0xf8,0x7c,0x7c,0x84 # Te0
|
||
+.byte 0xee,0x77,0x77,0x99, 0xf6,0x7b,0x7b,0x8d
|
||
+.byte 0xff,0xf2,0xf2,0x0d, 0xd6,0x6b,0x6b,0xbd
|
||
+.byte 0xde,0x6f,0x6f,0xb1, 0x91,0xc5,0xc5,0x54
|
||
+.byte 0x60,0x30,0x30,0x50, 0x02,0x01,0x01,0x03
|
||
+.byte 0xce,0x67,0x67,0xa9, 0x56,0x2b,0x2b,0x7d
|
||
+.byte 0xe7,0xfe,0xfe,0x19, 0xb5,0xd7,0xd7,0x62
|
||
+.byte 0x4d,0xab,0xab,0xe6, 0xec,0x76,0x76,0x9a
|
||
+.byte 0x8f,0xca,0xca,0x45, 0x1f,0x82,0x82,0x9d
|
||
+.byte 0x89,0xc9,0xc9,0x40, 0xfa,0x7d,0x7d,0x87
|
||
+.byte 0xef,0xfa,0xfa,0x15, 0xb2,0x59,0x59,0xeb
|
||
+.byte 0x8e,0x47,0x47,0xc9, 0xfb,0xf0,0xf0,0x0b
|
||
+.byte 0x41,0xad,0xad,0xec, 0xb3,0xd4,0xd4,0x67
|
||
+.byte 0x5f,0xa2,0xa2,0xfd, 0x45,0xaf,0xaf,0xea
|
||
+.byte 0x23,0x9c,0x9c,0xbf, 0x53,0xa4,0xa4,0xf7
|
||
+.byte 0xe4,0x72,0x72,0x96, 0x9b,0xc0,0xc0,0x5b
|
||
+.byte 0x75,0xb7,0xb7,0xc2, 0xe1,0xfd,0xfd,0x1c
|
||
+.byte 0x3d,0x93,0x93,0xae, 0x4c,0x26,0x26,0x6a
|
||
+.byte 0x6c,0x36,0x36,0x5a, 0x7e,0x3f,0x3f,0x41
|
||
+.byte 0xf5,0xf7,0xf7,0x02, 0x83,0xcc,0xcc,0x4f
|
||
+.byte 0x68,0x34,0x34,0x5c, 0x51,0xa5,0xa5,0xf4
|
||
+.byte 0xd1,0xe5,0xe5,0x34, 0xf9,0xf1,0xf1,0x08
|
||
+.byte 0xe2,0x71,0x71,0x93, 0xab,0xd8,0xd8,0x73
|
||
+.byte 0x62,0x31,0x31,0x53, 0x2a,0x15,0x15,0x3f
|
||
+.byte 0x08,0x04,0x04,0x0c, 0x95,0xc7,0xc7,0x52
|
||
+.byte 0x46,0x23,0x23,0x65, 0x9d,0xc3,0xc3,0x5e
|
||
+.byte 0x30,0x18,0x18,0x28, 0x37,0x96,0x96,0xa1
|
||
+.byte 0x0a,0x05,0x05,0x0f, 0x2f,0x9a,0x9a,0xb5
|
||
+.byte 0x0e,0x07,0x07,0x09, 0x24,0x12,0x12,0x36
|
||
+.byte 0x1b,0x80,0x80,0x9b, 0xdf,0xe2,0xe2,0x3d
|
||
+.byte 0xcd,0xeb,0xeb,0x26, 0x4e,0x27,0x27,0x69
|
||
+.byte 0x7f,0xb2,0xb2,0xcd, 0xea,0x75,0x75,0x9f
|
||
+.byte 0x12,0x09,0x09,0x1b, 0x1d,0x83,0x83,0x9e
|
||
+.byte 0x58,0x2c,0x2c,0x74, 0x34,0x1a,0x1a,0x2e
|
||
+.byte 0x36,0x1b,0x1b,0x2d, 0xdc,0x6e,0x6e,0xb2
|
||
+.byte 0xb4,0x5a,0x5a,0xee, 0x5b,0xa0,0xa0,0xfb
|
||
+.byte 0xa4,0x52,0x52,0xf6, 0x76,0x3b,0x3b,0x4d
|
||
+.byte 0xb7,0xd6,0xd6,0x61, 0x7d,0xb3,0xb3,0xce
|
||
+.byte 0x52,0x29,0x29,0x7b, 0xdd,0xe3,0xe3,0x3e
|
||
+.byte 0x5e,0x2f,0x2f,0x71, 0x13,0x84,0x84,0x97
|
||
+.byte 0xa6,0x53,0x53,0xf5, 0xb9,0xd1,0xd1,0x68
|
||
+.byte 0x00,0x00,0x00,0x00, 0xc1,0xed,0xed,0x2c
|
||
+.byte 0x40,0x20,0x20,0x60, 0xe3,0xfc,0xfc,0x1f
|
||
+.byte 0x79,0xb1,0xb1,0xc8, 0xb6,0x5b,0x5b,0xed
|
||
+.byte 0xd4,0x6a,0x6a,0xbe, 0x8d,0xcb,0xcb,0x46
|
||
+.byte 0x67,0xbe,0xbe,0xd9, 0x72,0x39,0x39,0x4b
|
||
+.byte 0x94,0x4a,0x4a,0xde, 0x98,0x4c,0x4c,0xd4
|
||
+.byte 0xb0,0x58,0x58,0xe8, 0x85,0xcf,0xcf,0x4a
|
||
+.byte 0xbb,0xd0,0xd0,0x6b, 0xc5,0xef,0xef,0x2a
|
||
+.byte 0x4f,0xaa,0xaa,0xe5, 0xed,0xfb,0xfb,0x16
|
||
+.byte 0x86,0x43,0x43,0xc5, 0x9a,0x4d,0x4d,0xd7
|
||
+.byte 0x66,0x33,0x33,0x55, 0x11,0x85,0x85,0x94
|
||
+.byte 0x8a,0x45,0x45,0xcf, 0xe9,0xf9,0xf9,0x10
|
||
+.byte 0x04,0x02,0x02,0x06, 0xfe,0x7f,0x7f,0x81
|
||
+.byte 0xa0,0x50,0x50,0xf0, 0x78,0x3c,0x3c,0x44
|
||
+.byte 0x25,0x9f,0x9f,0xba, 0x4b,0xa8,0xa8,0xe3
|
||
+.byte 0xa2,0x51,0x51,0xf3, 0x5d,0xa3,0xa3,0xfe
|
||
+.byte 0x80,0x40,0x40,0xc0, 0x05,0x8f,0x8f,0x8a
|
||
+.byte 0x3f,0x92,0x92,0xad, 0x21,0x9d,0x9d,0xbc
|
||
+.byte 0x70,0x38,0x38,0x48, 0xf1,0xf5,0xf5,0x04
|
||
+.byte 0x63,0xbc,0xbc,0xdf, 0x77,0xb6,0xb6,0xc1
|
||
+.byte 0xaf,0xda,0xda,0x75, 0x42,0x21,0x21,0x63
|
||
+.byte 0x20,0x10,0x10,0x30, 0xe5,0xff,0xff,0x1a
|
||
+.byte 0xfd,0xf3,0xf3,0x0e, 0xbf,0xd2,0xd2,0x6d
|
||
+.byte 0x81,0xcd,0xcd,0x4c, 0x18,0x0c,0x0c,0x14
|
||
+.byte 0x26,0x13,0x13,0x35, 0xc3,0xec,0xec,0x2f
|
||
+.byte 0xbe,0x5f,0x5f,0xe1, 0x35,0x97,0x97,0xa2
|
||
+.byte 0x88,0x44,0x44,0xcc, 0x2e,0x17,0x17,0x39
|
||
+.byte 0x93,0xc4,0xc4,0x57, 0x55,0xa7,0xa7,0xf2
|
||
+.byte 0xfc,0x7e,0x7e,0x82, 0x7a,0x3d,0x3d,0x47
|
||
+.byte 0xc8,0x64,0x64,0xac, 0xba,0x5d,0x5d,0xe7
|
||
+.byte 0x32,0x19,0x19,0x2b, 0xe6,0x73,0x73,0x95
|
||
+.byte 0xc0,0x60,0x60,0xa0, 0x19,0x81,0x81,0x98
|
||
+.byte 0x9e,0x4f,0x4f,0xd1, 0xa3,0xdc,0xdc,0x7f
|
||
+.byte 0x44,0x22,0x22,0x66, 0x54,0x2a,0x2a,0x7e
|
||
+.byte 0x3b,0x90,0x90,0xab, 0x0b,0x88,0x88,0x83
|
||
+.byte 0x8c,0x46,0x46,0xca, 0xc7,0xee,0xee,0x29
|
||
+.byte 0x6b,0xb8,0xb8,0xd3, 0x28,0x14,0x14,0x3c
|
||
+.byte 0xa7,0xde,0xde,0x79, 0xbc,0x5e,0x5e,0xe2
|
||
+.byte 0x16,0x0b,0x0b,0x1d, 0xad,0xdb,0xdb,0x76
|
||
+.byte 0xdb,0xe0,0xe0,0x3b, 0x64,0x32,0x32,0x56
|
||
+.byte 0x74,0x3a,0x3a,0x4e, 0x14,0x0a,0x0a,0x1e
|
||
+.byte 0x92,0x49,0x49,0xdb, 0x0c,0x06,0x06,0x0a
|
||
+.byte 0x48,0x24,0x24,0x6c, 0xb8,0x5c,0x5c,0xe4
|
||
+.byte 0x9f,0xc2,0xc2,0x5d, 0xbd,0xd3,0xd3,0x6e
|
||
+.byte 0x43,0xac,0xac,0xef, 0xc4,0x62,0x62,0xa6
|
||
+.byte 0x39,0x91,0x91,0xa8, 0x31,0x95,0x95,0xa4
|
||
+.byte 0xd3,0xe4,0xe4,0x37, 0xf2,0x79,0x79,0x8b
|
||
+.byte 0xd5,0xe7,0xe7,0x32, 0x8b,0xc8,0xc8,0x43
|
||
+.byte 0x6e,0x37,0x37,0x59, 0xda,0x6d,0x6d,0xb7
|
||
+.byte 0x01,0x8d,0x8d,0x8c, 0xb1,0xd5,0xd5,0x64
|
||
+.byte 0x9c,0x4e,0x4e,0xd2, 0x49,0xa9,0xa9,0xe0
|
||
+.byte 0xd8,0x6c,0x6c,0xb4, 0xac,0x56,0x56,0xfa
|
||
+.byte 0xf3,0xf4,0xf4,0x07, 0xcf,0xea,0xea,0x25
|
||
+.byte 0xca,0x65,0x65,0xaf, 0xf4,0x7a,0x7a,0x8e
|
||
+.byte 0x47,0xae,0xae,0xe9, 0x10,0x08,0x08,0x18
|
||
+.byte 0x6f,0xba,0xba,0xd5, 0xf0,0x78,0x78,0x88
|
||
+.byte 0x4a,0x25,0x25,0x6f, 0x5c,0x2e,0x2e,0x72
|
||
+.byte 0x38,0x1c,0x1c,0x24, 0x57,0xa6,0xa6,0xf1
|
||
+.byte 0x73,0xb4,0xb4,0xc7, 0x97,0xc6,0xc6,0x51
|
||
+.byte 0xcb,0xe8,0xe8,0x23, 0xa1,0xdd,0xdd,0x7c
|
||
+.byte 0xe8,0x74,0x74,0x9c, 0x3e,0x1f,0x1f,0x21
|
||
+.byte 0x96,0x4b,0x4b,0xdd, 0x61,0xbd,0xbd,0xdc
|
||
+.byte 0x0d,0x8b,0x8b,0x86, 0x0f,0x8a,0x8a,0x85
|
||
+.byte 0xe0,0x70,0x70,0x90, 0x7c,0x3e,0x3e,0x42
|
||
+.byte 0x71,0xb5,0xb5,0xc4, 0xcc,0x66,0x66,0xaa
|
||
+.byte 0x90,0x48,0x48,0xd8, 0x06,0x03,0x03,0x05
|
||
+.byte 0xf7,0xf6,0xf6,0x01, 0x1c,0x0e,0x0e,0x12
|
||
+.byte 0xc2,0x61,0x61,0xa3, 0x6a,0x35,0x35,0x5f
|
||
+.byte 0xae,0x57,0x57,0xf9, 0x69,0xb9,0xb9,0xd0
|
||
+.byte 0x17,0x86,0x86,0x91, 0x99,0xc1,0xc1,0x58
|
||
+.byte 0x3a,0x1d,0x1d,0x27, 0x27,0x9e,0x9e,0xb9
|
||
+.byte 0xd9,0xe1,0xe1,0x38, 0xeb,0xf8,0xf8,0x13
|
||
+.byte 0x2b,0x98,0x98,0xb3, 0x22,0x11,0x11,0x33
|
||
+.byte 0xd2,0x69,0x69,0xbb, 0xa9,0xd9,0xd9,0x70
|
||
+.byte 0x07,0x8e,0x8e,0x89, 0x33,0x94,0x94,0xa7
|
||
+.byte 0x2d,0x9b,0x9b,0xb6, 0x3c,0x1e,0x1e,0x22
|
||
+.byte 0x15,0x87,0x87,0x92, 0xc9,0xe9,0xe9,0x20
|
||
+.byte 0x87,0xce,0xce,0x49, 0xaa,0x55,0x55,0xff
|
||
+.byte 0x50,0x28,0x28,0x78, 0xa5,0xdf,0xdf,0x7a
|
||
+.byte 0x03,0x8c,0x8c,0x8f, 0x59,0xa1,0xa1,0xf8
|
||
+.byte 0x09,0x89,0x89,0x80, 0x1a,0x0d,0x0d,0x17
|
||
+.byte 0x65,0xbf,0xbf,0xda, 0xd7,0xe6,0xe6,0x31
|
||
+.byte 0x84,0x42,0x42,0xc6, 0xd0,0x68,0x68,0xb8
|
||
+.byte 0x82,0x41,0x41,0xc3, 0x29,0x99,0x99,0xb0
|
||
+.byte 0x5a,0x2d,0x2d,0x77, 0x1e,0x0f,0x0f,0x11
|
||
+.byte 0x7b,0xb0,0xb0,0xcb, 0xa8,0x54,0x54,0xfc
|
||
+.byte 0x6d,0xbb,0xbb,0xd6, 0x2c,0x16,0x16,0x3a
|
||
+
|
||
+AES_Td:
|
||
+.byte 0x51,0xf4,0xa7,0x50, 0x7e,0x41,0x65,0x53 # Td0
|
||
+.byte 0x1a,0x17,0xa4,0xc3, 0x3a,0x27,0x5e,0x96
|
||
+.byte 0x3b,0xab,0x6b,0xcb, 0x1f,0x9d,0x45,0xf1
|
||
+.byte 0xac,0xfa,0x58,0xab, 0x4b,0xe3,0x03,0x93
|
||
+.byte 0x20,0x30,0xfa,0x55, 0xad,0x76,0x6d,0xf6
|
||
+.byte 0x88,0xcc,0x76,0x91, 0xf5,0x02,0x4c,0x25
|
||
+.byte 0x4f,0xe5,0xd7,0xfc, 0xc5,0x2a,0xcb,0xd7
|
||
+.byte 0x26,0x35,0x44,0x80, 0xb5,0x62,0xa3,0x8f
|
||
+.byte 0xde,0xb1,0x5a,0x49, 0x25,0xba,0x1b,0x67
|
||
+.byte 0x45,0xea,0x0e,0x98, 0x5d,0xfe,0xc0,0xe1
|
||
+.byte 0xc3,0x2f,0x75,0x02, 0x81,0x4c,0xf0,0x12
|
||
+.byte 0x8d,0x46,0x97,0xa3, 0x6b,0xd3,0xf9,0xc6
|
||
+.byte 0x03,0x8f,0x5f,0xe7, 0x15,0x92,0x9c,0x95
|
||
+.byte 0xbf,0x6d,0x7a,0xeb, 0x95,0x52,0x59,0xda
|
||
+.byte 0xd4,0xbe,0x83,0x2d, 0x58,0x74,0x21,0xd3
|
||
+.byte 0x49,0xe0,0x69,0x29, 0x8e,0xc9,0xc8,0x44
|
||
+.byte 0x75,0xc2,0x89,0x6a, 0xf4,0x8e,0x79,0x78
|
||
+.byte 0x99,0x58,0x3e,0x6b, 0x27,0xb9,0x71,0xdd
|
||
+.byte 0xbe,0xe1,0x4f,0xb6, 0xf0,0x88,0xad,0x17
|
||
+.byte 0xc9,0x20,0xac,0x66, 0x7d,0xce,0x3a,0xb4
|
||
+.byte 0x63,0xdf,0x4a,0x18, 0xe5,0x1a,0x31,0x82
|
||
+.byte 0x97,0x51,0x33,0x60, 0x62,0x53,0x7f,0x45
|
||
+.byte 0xb1,0x64,0x77,0xe0, 0xbb,0x6b,0xae,0x84
|
||
+.byte 0xfe,0x81,0xa0,0x1c, 0xf9,0x08,0x2b,0x94
|
||
+.byte 0x70,0x48,0x68,0x58, 0x8f,0x45,0xfd,0x19
|
||
+.byte 0x94,0xde,0x6c,0x87, 0x52,0x7b,0xf8,0xb7
|
||
+.byte 0xab,0x73,0xd3,0x23, 0x72,0x4b,0x02,0xe2
|
||
+.byte 0xe3,0x1f,0x8f,0x57, 0x66,0x55,0xab,0x2a
|
||
+.byte 0xb2,0xeb,0x28,0x07, 0x2f,0xb5,0xc2,0x03
|
||
+.byte 0x86,0xc5,0x7b,0x9a, 0xd3,0x37,0x08,0xa5
|
||
+.byte 0x30,0x28,0x87,0xf2, 0x23,0xbf,0xa5,0xb2
|
||
+.byte 0x02,0x03,0x6a,0xba, 0xed,0x16,0x82,0x5c
|
||
+.byte 0x8a,0xcf,0x1c,0x2b, 0xa7,0x79,0xb4,0x92
|
||
+.byte 0xf3,0x07,0xf2,0xf0, 0x4e,0x69,0xe2,0xa1
|
||
+.byte 0x65,0xda,0xf4,0xcd, 0x06,0x05,0xbe,0xd5
|
||
+.byte 0xd1,0x34,0x62,0x1f, 0xc4,0xa6,0xfe,0x8a
|
||
+.byte 0x34,0x2e,0x53,0x9d, 0xa2,0xf3,0x55,0xa0
|
||
+.byte 0x05,0x8a,0xe1,0x32, 0xa4,0xf6,0xeb,0x75
|
||
+.byte 0x0b,0x83,0xec,0x39, 0x40,0x60,0xef,0xaa
|
||
+.byte 0x5e,0x71,0x9f,0x06, 0xbd,0x6e,0x10,0x51
|
||
+.byte 0x3e,0x21,0x8a,0xf9, 0x96,0xdd,0x06,0x3d
|
||
+.byte 0xdd,0x3e,0x05,0xae, 0x4d,0xe6,0xbd,0x46
|
||
+.byte 0x91,0x54,0x8d,0xb5, 0x71,0xc4,0x5d,0x05
|
||
+.byte 0x04,0x06,0xd4,0x6f, 0x60,0x50,0x15,0xff
|
||
+.byte 0x19,0x98,0xfb,0x24, 0xd6,0xbd,0xe9,0x97
|
||
+.byte 0x89,0x40,0x43,0xcc, 0x67,0xd9,0x9e,0x77
|
||
+.byte 0xb0,0xe8,0x42,0xbd, 0x07,0x89,0x8b,0x88
|
||
+.byte 0xe7,0x19,0x5b,0x38, 0x79,0xc8,0xee,0xdb
|
||
+.byte 0xa1,0x7c,0x0a,0x47, 0x7c,0x42,0x0f,0xe9
|
||
+.byte 0xf8,0x84,0x1e,0xc9, 0x00,0x00,0x00,0x00
|
||
+.byte 0x09,0x80,0x86,0x83, 0x32,0x2b,0xed,0x48
|
||
+.byte 0x1e,0x11,0x70,0xac, 0x6c,0x5a,0x72,0x4e
|
||
+.byte 0xfd,0x0e,0xff,0xfb, 0x0f,0x85,0x38,0x56
|
||
+.byte 0x3d,0xae,0xd5,0x1e, 0x36,0x2d,0x39,0x27
|
||
+.byte 0x0a,0x0f,0xd9,0x64, 0x68,0x5c,0xa6,0x21
|
||
+.byte 0x9b,0x5b,0x54,0xd1, 0x24,0x36,0x2e,0x3a
|
||
+.byte 0x0c,0x0a,0x67,0xb1, 0x93,0x57,0xe7,0x0f
|
||
+.byte 0xb4,0xee,0x96,0xd2, 0x1b,0x9b,0x91,0x9e
|
||
+.byte 0x80,0xc0,0xc5,0x4f, 0x61,0xdc,0x20,0xa2
|
||
+.byte 0x5a,0x77,0x4b,0x69, 0x1c,0x12,0x1a,0x16
|
||
+.byte 0xe2,0x93,0xba,0x0a, 0xc0,0xa0,0x2a,0xe5
|
||
+.byte 0x3c,0x22,0xe0,0x43, 0x12,0x1b,0x17,0x1d
|
||
+.byte 0x0e,0x09,0x0d,0x0b, 0xf2,0x8b,0xc7,0xad
|
||
+.byte 0x2d,0xb6,0xa8,0xb9, 0x14,0x1e,0xa9,0xc8
|
||
+.byte 0x57,0xf1,0x19,0x85, 0xaf,0x75,0x07,0x4c
|
||
+.byte 0xee,0x99,0xdd,0xbb, 0xa3,0x7f,0x60,0xfd
|
||
+.byte 0xf7,0x01,0x26,0x9f, 0x5c,0x72,0xf5,0xbc
|
||
+.byte 0x44,0x66,0x3b,0xc5, 0x5b,0xfb,0x7e,0x34
|
||
+.byte 0x8b,0x43,0x29,0x76, 0xcb,0x23,0xc6,0xdc
|
||
+.byte 0xb6,0xed,0xfc,0x68, 0xb8,0xe4,0xf1,0x63
|
||
+.byte 0xd7,0x31,0xdc,0xca, 0x42,0x63,0x85,0x10
|
||
+.byte 0x13,0x97,0x22,0x40, 0x84,0xc6,0x11,0x20
|
||
+.byte 0x85,0x4a,0x24,0x7d, 0xd2,0xbb,0x3d,0xf8
|
||
+.byte 0xae,0xf9,0x32,0x11, 0xc7,0x29,0xa1,0x6d
|
||
+.byte 0x1d,0x9e,0x2f,0x4b, 0xdc,0xb2,0x30,0xf3
|
||
+.byte 0x0d,0x86,0x52,0xec, 0x77,0xc1,0xe3,0xd0
|
||
+.byte 0x2b,0xb3,0x16,0x6c, 0xa9,0x70,0xb9,0x99
|
||
+.byte 0x11,0x94,0x48,0xfa, 0x47,0xe9,0x64,0x22
|
||
+.byte 0xa8,0xfc,0x8c,0xc4, 0xa0,0xf0,0x3f,0x1a
|
||
+.byte 0x56,0x7d,0x2c,0xd8, 0x22,0x33,0x90,0xef
|
||
+.byte 0x87,0x49,0x4e,0xc7, 0xd9,0x38,0xd1,0xc1
|
||
+.byte 0x8c,0xca,0xa2,0xfe, 0x98,0xd4,0x0b,0x36
|
||
+.byte 0xa6,0xf5,0x81,0xcf, 0xa5,0x7a,0xde,0x28
|
||
+.byte 0xda,0xb7,0x8e,0x26, 0x3f,0xad,0xbf,0xa4
|
||
+.byte 0x2c,0x3a,0x9d,0xe4, 0x50,0x78,0x92,0x0d
|
||
+.byte 0x6a,0x5f,0xcc,0x9b, 0x54,0x7e,0x46,0x62
|
||
+.byte 0xf6,0x8d,0x13,0xc2, 0x90,0xd8,0xb8,0xe8
|
||
+.byte 0x2e,0x39,0xf7,0x5e, 0x82,0xc3,0xaf,0xf5
|
||
+.byte 0x9f,0x5d,0x80,0xbe, 0x69,0xd0,0x93,0x7c
|
||
+.byte 0x6f,0xd5,0x2d,0xa9, 0xcf,0x25,0x12,0xb3
|
||
+.byte 0xc8,0xac,0x99,0x3b, 0x10,0x18,0x7d,0xa7
|
||
+.byte 0xe8,0x9c,0x63,0x6e, 0xdb,0x3b,0xbb,0x7b
|
||
+.byte 0xcd,0x26,0x78,0x09, 0x6e,0x59,0x18,0xf4
|
||
+.byte 0xec,0x9a,0xb7,0x01, 0x83,0x4f,0x9a,0xa8
|
||
+.byte 0xe6,0x95,0x6e,0x65, 0xaa,0xff,0xe6,0x7e
|
||
+.byte 0x21,0xbc,0xcf,0x08, 0xef,0x15,0xe8,0xe6
|
||
+.byte 0xba,0xe7,0x9b,0xd9, 0x4a,0x6f,0x36,0xce
|
||
+.byte 0xea,0x9f,0x09,0xd4, 0x29,0xb0,0x7c,0xd6
|
||
+.byte 0x31,0xa4,0xb2,0xaf, 0x2a,0x3f,0x23,0x31
|
||
+.byte 0xc6,0xa5,0x94,0x30, 0x35,0xa2,0x66,0xc0
|
||
+.byte 0x74,0x4e,0xbc,0x37, 0xfc,0x82,0xca,0xa6
|
||
+.byte 0xe0,0x90,0xd0,0xb0, 0x33,0xa7,0xd8,0x15
|
||
+.byte 0xf1,0x04,0x98,0x4a, 0x41,0xec,0xda,0xf7
|
||
+.byte 0x7f,0xcd,0x50,0x0e, 0x17,0x91,0xf6,0x2f
|
||
+.byte 0x76,0x4d,0xd6,0x8d, 0x43,0xef,0xb0,0x4d
|
||
+.byte 0xcc,0xaa,0x4d,0x54, 0xe4,0x96,0x04,0xdf
|
||
+.byte 0x9e,0xd1,0xb5,0xe3, 0x4c,0x6a,0x88,0x1b
|
||
+.byte 0xc1,0x2c,0x1f,0xb8, 0x46,0x65,0x51,0x7f
|
||
+.byte 0x9d,0x5e,0xea,0x04, 0x01,0x8c,0x35,0x5d
|
||
+.byte 0xfa,0x87,0x74,0x73, 0xfb,0x0b,0x41,0x2e
|
||
+.byte 0xb3,0x67,0x1d,0x5a, 0x92,0xdb,0xd2,0x52
|
||
+.byte 0xe9,0x10,0x56,0x33, 0x6d,0xd6,0x47,0x13
|
||
+.byte 0x9a,0xd7,0x61,0x8c, 0x37,0xa1,0x0c,0x7a
|
||
+.byte 0x59,0xf8,0x14,0x8e, 0xeb,0x13,0x3c,0x89
|
||
+.byte 0xce,0xa9,0x27,0xee, 0xb7,0x61,0xc9,0x35
|
||
+.byte 0xe1,0x1c,0xe5,0xed, 0x7a,0x47,0xb1,0x3c
|
||
+.byte 0x9c,0xd2,0xdf,0x59, 0x55,0xf2,0x73,0x3f
|
||
+.byte 0x18,0x14,0xce,0x79, 0x73,0xc7,0x37,0xbf
|
||
+.byte 0x53,0xf7,0xcd,0xea, 0x5f,0xfd,0xaa,0x5b
|
||
+.byte 0xdf,0x3d,0x6f,0x14, 0x78,0x44,0xdb,0x86
|
||
+.byte 0xca,0xaf,0xf3,0x81, 0xb9,0x68,0xc4,0x3e
|
||
+.byte 0x38,0x24,0x34,0x2c, 0xc2,0xa3,0x40,0x5f
|
||
+.byte 0x16,0x1d,0xc3,0x72, 0xbc,0xe2,0x25,0x0c
|
||
+.byte 0x28,0x3c,0x49,0x8b, 0xff,0x0d,0x95,0x41
|
||
+.byte 0x39,0xa8,0x01,0x71, 0x08,0x0c,0xb3,0xde
|
||
+.byte 0xd8,0xb4,0xe4,0x9c, 0x64,0x56,0xc1,0x90
|
||
+.byte 0x7b,0xcb,0x84,0x61, 0xd5,0x32,0xb6,0x70
|
||
+.byte 0x48,0x6c,0x5c,0x74, 0xd0,0xb8,0x57,0x42
|
||
+
|
||
+.byte 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38 # Td4
|
||
+.byte 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb
|
||
+.byte 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87
|
||
+.byte 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb
|
||
+.byte 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d
|
||
+.byte 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e
|
||
+.byte 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2
|
||
+.byte 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25
|
||
+.byte 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16
|
||
+.byte 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92
|
||
+.byte 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda
|
||
+.byte 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84
|
||
+.byte 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a
|
||
+.byte 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06
|
||
+.byte 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02
|
||
+.byte 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b
|
||
+.byte 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea
|
||
+.byte 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73
|
||
+.byte 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85
|
||
+.byte 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e
|
||
+.byte 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89
|
||
+.byte 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b
|
||
+.byte 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20
|
||
+.byte 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4
|
||
+.byte 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31
|
||
+.byte 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f
|
||
+.byte 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d
|
||
+.byte 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef
|
||
+.byte 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0
|
||
+.byte 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61
|
||
+.byte 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26
|
||
+.byte 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d
|
||
+
|
||
+AES_Te4:
|
||
+.byte 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5 # Te4
|
||
+.byte 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76
|
||
+.byte 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0
|
||
+.byte 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0
|
||
+.byte 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc
|
||
+.byte 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15
|
||
+.byte 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a
|
||
+.byte 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75
|
||
+.byte 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0
|
||
+.byte 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84
|
||
+.byte 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b
|
||
+.byte 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf
|
||
+.byte 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85
|
||
+.byte 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8
|
||
+.byte 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5
|
||
+.byte 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2
|
||
+.byte 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17
|
||
+.byte 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73
|
||
+.byte 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88
|
||
+.byte 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb
|
||
+.byte 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c
|
||
+.byte 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79
|
||
+.byte 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9
|
||
+.byte 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08
|
||
+.byte 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6
|
||
+.byte 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a
|
||
+.byte 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e
|
||
+.byte 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e
|
||
+.byte 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94
|
||
+.byte 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf
|
||
+.byte 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68
|
||
+.byte 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16
|
||
+
|
||
+.byte 0x01,0x00,0x00,0x00, 0x02,0x00,0x00,0x00 # rcon
|
||
+.byte 0x04,0x00,0x00,0x00, 0x08,0x00,0x00,0x00
|
||
+.byte 0x10,0x00,0x00,0x00, 0x20,0x00,0x00,0x00
|
||
+.byte 0x40,0x00,0x00,0x00, 0x80,0x00,0x00,0x00
|
||
+.byte 0x1B,0x00,0x00,0x00, 0x36,0x00,0x00,0x00
|
||
diff -urN a/deps/openssl/config/archs/linux-mips/asm/crypto/bn/bn-mips.S b/deps/openssl/config/archs/linux-mips/asm/crypto/bn/bn-mips.S
|
||
--- a/deps/openssl/config/archs/linux-mips/asm/crypto/bn/bn-mips.S 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mips/asm/crypto/bn/bn-mips.S 2019-12-25 13:49:19.980298817 +0900
|
||
@@ -0,0 +1,2183 @@
|
||
+#if !(defined (__mips_isa_rev) && (__mips_isa_rev >= 6))
|
||
+.set mips2
|
||
+#endif
|
||
+#include "mips_arch.h"
|
||
+
|
||
+#if defined(_MIPS_ARCH_MIPS64R6)
|
||
+# define ddivu(rs,rt)
|
||
+# define mfqt(rd,rs,rt) ddivu rd,rs,rt
|
||
+# define mfrm(rd,rs,rt) dmodu rd,rs,rt
|
||
+#elif defined(_MIPS_ARCH_MIPS32R6)
|
||
+# define divu(rs,rt)
|
||
+# define mfqt(rd,rs,rt) divu rd,rs,rt
|
||
+# define mfrm(rd,rs,rt) modu rd,rs,rt
|
||
+#else
|
||
+# define divu(rs,rt) divu $0,rs,rt
|
||
+# define mfqt(rd,rs,rt) mflo rd
|
||
+# define mfrm(rd,rs,rt) mfhi rd
|
||
+#endif
|
||
+
|
||
+.rdata
|
||
+.asciiz "mips3.s, Version 1.2"
|
||
+.asciiz "MIPS II/III/IV ISA artwork by Andy Polyakov <appro@fy.chalmers.se>"
|
||
+
|
||
+.text
|
||
+.set noat
|
||
+
|
||
+.align 5
|
||
+.globl bn_mul_add_words
|
||
+.ent bn_mul_add_words
|
||
+bn_mul_add_words:
|
||
+ .set noreorder
|
||
+ bgtz $6,bn_mul_add_words_internal
|
||
+ move $2,$0
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_mul_add_words
|
||
+
|
||
+.align 5
|
||
+.ent bn_mul_add_words_internal
|
||
+bn_mul_add_words_internal:
|
||
+ .set reorder
|
||
+ li $3,-4
|
||
+ and $8,$6,$3
|
||
+ beqz $8,.L_bn_mul_add_words_tail
|
||
+
|
||
+.L_bn_mul_add_words_loop:
|
||
+ lw $12,0($5)
|
||
+ multu ($12,$7)
|
||
+ lw $13,0($4)
|
||
+ lw $14,4($5)
|
||
+ lw $15,4($4)
|
||
+ lw $8,2*4($5)
|
||
+ lw $9,2*4($4)
|
||
+ addu $13,$2
|
||
+ sltu $2,$13,$2 # All manuals say it "compares 32-bit
|
||
+ # values", but it seems to work fine
|
||
+ # even on 64-bit registers.
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $13,$1
|
||
+ addu $2,$12
|
||
+ multu ($14,$7)
|
||
+ sltu $1,$13,$1
|
||
+ sw $13,0($4)
|
||
+ addu $2,$1
|
||
+
|
||
+ lw $10,3*4($5)
|
||
+ lw $11,3*4($4)
|
||
+ addu $15,$2
|
||
+ sltu $2,$15,$2
|
||
+ mflo ($1,$14,$7)
|
||
+ mfhi ($14,$14,$7)
|
||
+ addu $15,$1
|
||
+ addu $2,$14
|
||
+ multu ($8,$7)
|
||
+ sltu $1,$15,$1
|
||
+ sw $15,4($4)
|
||
+ addu $2,$1
|
||
+
|
||
+ subu $6,4
|
||
+ addu $4,4*4
|
||
+ addu $5,4*4
|
||
+ addu $9,$2
|
||
+ sltu $2,$9,$2
|
||
+ mflo ($1,$8,$7)
|
||
+ mfhi ($8,$8,$7)
|
||
+ addu $9,$1
|
||
+ addu $2,$8
|
||
+ multu ($10,$7)
|
||
+ sltu $1,$9,$1
|
||
+ sw $9,-2*4($4)
|
||
+ addu $2,$1
|
||
+
|
||
+
|
||
+ and $8,$6,$3
|
||
+ addu $11,$2
|
||
+ sltu $2,$11,$2
|
||
+ mflo ($1,$10,$7)
|
||
+ mfhi ($10,$10,$7)
|
||
+ addu $11,$1
|
||
+ addu $2,$10
|
||
+ sltu $1,$11,$1
|
||
+ sw $11,-4($4)
|
||
+ .set noreorder
|
||
+ bgtz $8,.L_bn_mul_add_words_loop
|
||
+ addu $2,$1
|
||
+
|
||
+ beqz $6,.L_bn_mul_add_words_return
|
||
+ nop
|
||
+
|
||
+.L_bn_mul_add_words_tail:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ multu ($12,$7)
|
||
+ lw $13,0($4)
|
||
+ subu $6,1
|
||
+ addu $13,$2
|
||
+ sltu $2,$13,$2
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $13,$1
|
||
+ addu $2,$12
|
||
+ sltu $1,$13,$1
|
||
+ sw $13,0($4)
|
||
+ addu $2,$1
|
||
+ beqz $6,.L_bn_mul_add_words_return
|
||
+
|
||
+ lw $12,4($5)
|
||
+ multu ($12,$7)
|
||
+ lw $13,4($4)
|
||
+ subu $6,1
|
||
+ addu $13,$2
|
||
+ sltu $2,$13,$2
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $13,$1
|
||
+ addu $2,$12
|
||
+ sltu $1,$13,$1
|
||
+ sw $13,4($4)
|
||
+ addu $2,$1
|
||
+ beqz $6,.L_bn_mul_add_words_return
|
||
+
|
||
+ lw $12,2*4($5)
|
||
+ multu ($12,$7)
|
||
+ lw $13,2*4($4)
|
||
+ addu $13,$2
|
||
+ sltu $2,$13,$2
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $13,$1
|
||
+ addu $2,$12
|
||
+ sltu $1,$13,$1
|
||
+ sw $13,2*4($4)
|
||
+ addu $2,$1
|
||
+
|
||
+.L_bn_mul_add_words_return:
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_mul_add_words_internal
|
||
+
|
||
+.align 5
|
||
+.globl bn_mul_words
|
||
+.ent bn_mul_words
|
||
+bn_mul_words:
|
||
+ .set noreorder
|
||
+ bgtz $6,bn_mul_words_internal
|
||
+ move $2,$0
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_mul_words
|
||
+
|
||
+.align 5
|
||
+.ent bn_mul_words_internal
|
||
+bn_mul_words_internal:
|
||
+ .set reorder
|
||
+ li $3,-4
|
||
+ and $8,$6,$3
|
||
+ beqz $8,.L_bn_mul_words_tail
|
||
+
|
||
+.L_bn_mul_words_loop:
|
||
+ lw $12,0($5)
|
||
+ multu ($12,$7)
|
||
+ lw $14,4($5)
|
||
+ lw $8,2*4($5)
|
||
+ lw $10,3*4($5)
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $2,$1
|
||
+ sltu $13,$2,$1
|
||
+ multu ($14,$7)
|
||
+ sw $2,0($4)
|
||
+ addu $2,$13,$12
|
||
+
|
||
+ subu $6,4
|
||
+ addu $4,4*4
|
||
+ addu $5,4*4
|
||
+ mflo ($1,$14,$7)
|
||
+ mfhi ($14,$14,$7)
|
||
+ addu $2,$1
|
||
+ sltu $15,$2,$1
|
||
+ multu ($8,$7)
|
||
+ sw $2,-3*4($4)
|
||
+ addu $2,$15,$14
|
||
+
|
||
+ mflo ($1,$8,$7)
|
||
+ mfhi ($8,$8,$7)
|
||
+ addu $2,$1
|
||
+ sltu $9,$2,$1
|
||
+ multu ($10,$7)
|
||
+ sw $2,-2*4($4)
|
||
+ addu $2,$9,$8
|
||
+
|
||
+ and $8,$6,$3
|
||
+ mflo ($1,$10,$7)
|
||
+ mfhi ($10,$10,$7)
|
||
+ addu $2,$1
|
||
+ sltu $11,$2,$1
|
||
+ sw $2,-4($4)
|
||
+ .set noreorder
|
||
+ bgtz $8,.L_bn_mul_words_loop
|
||
+ addu $2,$11,$10
|
||
+
|
||
+ beqz $6,.L_bn_mul_words_return
|
||
+ nop
|
||
+
|
||
+.L_bn_mul_words_tail:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ multu ($12,$7)
|
||
+ subu $6,1
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $2,$1
|
||
+ sltu $13,$2,$1
|
||
+ sw $2,0($4)
|
||
+ addu $2,$13,$12
|
||
+ beqz $6,.L_bn_mul_words_return
|
||
+
|
||
+ lw $12,4($5)
|
||
+ multu ($12,$7)
|
||
+ subu $6,1
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $2,$1
|
||
+ sltu $13,$2,$1
|
||
+ sw $2,4($4)
|
||
+ addu $2,$13,$12
|
||
+ beqz $6,.L_bn_mul_words_return
|
||
+
|
||
+ lw $12,2*4($5)
|
||
+ multu ($12,$7)
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $2,$1
|
||
+ sltu $13,$2,$1
|
||
+ sw $2,2*4($4)
|
||
+ addu $2,$13,$12
|
||
+
|
||
+.L_bn_mul_words_return:
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_mul_words_internal
|
||
+
|
||
+.align 5
|
||
+.globl bn_sqr_words
|
||
+.ent bn_sqr_words
|
||
+bn_sqr_words:
|
||
+ .set noreorder
|
||
+ bgtz $6,bn_sqr_words_internal
|
||
+ move $2,$0
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_sqr_words
|
||
+
|
||
+.align 5
|
||
+.ent bn_sqr_words_internal
|
||
+bn_sqr_words_internal:
|
||
+ .set reorder
|
||
+ li $3,-4
|
||
+ and $8,$6,$3
|
||
+ beqz $8,.L_bn_sqr_words_tail
|
||
+
|
||
+.L_bn_sqr_words_loop:
|
||
+ lw $12,0($5)
|
||
+ multu ($12,$12)
|
||
+ lw $14,4($5)
|
||
+ lw $8,2*4($5)
|
||
+ lw $10,3*4($5)
|
||
+ mflo ($13,$12,$12)
|
||
+ mfhi ($12,$12,$12)
|
||
+ sw $13,0($4)
|
||
+ sw $12,4($4)
|
||
+
|
||
+ multu ($14,$14)
|
||
+ subu $6,4
|
||
+ addu $4,8*4
|
||
+ addu $5,4*4
|
||
+ mflo ($15,$14,$14)
|
||
+ mfhi ($14,$14,$14)
|
||
+ sw $15,-6*4($4)
|
||
+ sw $14,-5*4($4)
|
||
+
|
||
+ multu ($8,$8)
|
||
+ mflo ($9,$8,$8)
|
||
+ mfhi ($8,$8,$8)
|
||
+ sw $9,-4*4($4)
|
||
+ sw $8,-3*4($4)
|
||
+
|
||
+
|
||
+ multu ($10,$10)
|
||
+ and $8,$6,$3
|
||
+ mflo ($11,$10,$10)
|
||
+ mfhi ($10,$10,$10)
|
||
+ sw $11,-2*4($4)
|
||
+
|
||
+ .set noreorder
|
||
+ bgtz $8,.L_bn_sqr_words_loop
|
||
+ sw $10,-4($4)
|
||
+
|
||
+ beqz $6,.L_bn_sqr_words_return
|
||
+ nop
|
||
+
|
||
+.L_bn_sqr_words_tail:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ multu ($12,$12)
|
||
+ subu $6,1
|
||
+ mflo ($13,$12,$12)
|
||
+ mfhi ($12,$12,$12)
|
||
+ sw $13,0($4)
|
||
+ sw $12,4($4)
|
||
+ beqz $6,.L_bn_sqr_words_return
|
||
+
|
||
+ lw $12,4($5)
|
||
+ multu ($12,$12)
|
||
+ subu $6,1
|
||
+ mflo ($13,$12,$12)
|
||
+ mfhi ($12,$12,$12)
|
||
+ sw $13,2*4($4)
|
||
+ sw $12,3*4($4)
|
||
+ beqz $6,.L_bn_sqr_words_return
|
||
+
|
||
+ lw $12,2*4($5)
|
||
+ multu ($12,$12)
|
||
+ mflo ($13,$12,$12)
|
||
+ mfhi ($12,$12,$12)
|
||
+ sw $13,4*4($4)
|
||
+ sw $12,5*4($4)
|
||
+
|
||
+.L_bn_sqr_words_return:
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+
|
||
+.end bn_sqr_words_internal
|
||
+
|
||
+.align 5
|
||
+.globl bn_add_words
|
||
+.ent bn_add_words
|
||
+bn_add_words:
|
||
+ .set noreorder
|
||
+ bgtz $7,bn_add_words_internal
|
||
+ move $2,$0
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_add_words
|
||
+
|
||
+.align 5
|
||
+.ent bn_add_words_internal
|
||
+bn_add_words_internal:
|
||
+ .set reorder
|
||
+ li $3,-4
|
||
+ and $1,$7,$3
|
||
+ beqz $1,.L_bn_add_words_tail
|
||
+
|
||
+.L_bn_add_words_loop:
|
||
+ lw $12,0($5)
|
||
+ lw $8,0($6)
|
||
+ subu $7,4
|
||
+ lw $13,4($5)
|
||
+ and $1,$7,$3
|
||
+ lw $14,2*4($5)
|
||
+ addu $6,4*4
|
||
+ lw $15,3*4($5)
|
||
+ addu $4,4*4
|
||
+ lw $9,-3*4($6)
|
||
+ addu $5,4*4
|
||
+ lw $10,-2*4($6)
|
||
+ lw $11,-4($6)
|
||
+ addu $8,$12
|
||
+ sltu $24,$8,$12
|
||
+ addu $12,$8,$2
|
||
+ sltu $2,$12,$8
|
||
+ sw $12,-4*4($4)
|
||
+ addu $2,$24
|
||
+
|
||
+ addu $9,$13
|
||
+ sltu $25,$9,$13
|
||
+ addu $13,$9,$2
|
||
+ sltu $2,$13,$9
|
||
+ sw $13,-3*4($4)
|
||
+ addu $2,$25
|
||
+
|
||
+ addu $10,$14
|
||
+ sltu $24,$10,$14
|
||
+ addu $14,$10,$2
|
||
+ sltu $2,$14,$10
|
||
+ sw $14,-2*4($4)
|
||
+ addu $2,$24
|
||
+
|
||
+ addu $11,$15
|
||
+ sltu $25,$11,$15
|
||
+ addu $15,$11,$2
|
||
+ sltu $2,$15,$11
|
||
+ sw $15,-4($4)
|
||
+
|
||
+ .set noreorder
|
||
+ bgtz $1,.L_bn_add_words_loop
|
||
+ addu $2,$25
|
||
+
|
||
+ beqz $7,.L_bn_add_words_return
|
||
+ nop
|
||
+
|
||
+.L_bn_add_words_tail:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ lw $8,0($6)
|
||
+ addu $8,$12
|
||
+ subu $7,1
|
||
+ sltu $24,$8,$12
|
||
+ addu $12,$8,$2
|
||
+ sltu $2,$12,$8
|
||
+ sw $12,0($4)
|
||
+ addu $2,$24
|
||
+ beqz $7,.L_bn_add_words_return
|
||
+
|
||
+ lw $13,4($5)
|
||
+ lw $9,4($6)
|
||
+ addu $9,$13
|
||
+ subu $7,1
|
||
+ sltu $25,$9,$13
|
||
+ addu $13,$9,$2
|
||
+ sltu $2,$13,$9
|
||
+ sw $13,4($4)
|
||
+ addu $2,$25
|
||
+ beqz $7,.L_bn_add_words_return
|
||
+
|
||
+ lw $14,2*4($5)
|
||
+ lw $10,2*4($6)
|
||
+ addu $10,$14
|
||
+ sltu $24,$10,$14
|
||
+ addu $14,$10,$2
|
||
+ sltu $2,$14,$10
|
||
+ sw $14,2*4($4)
|
||
+ addu $2,$24
|
||
+
|
||
+.L_bn_add_words_return:
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+
|
||
+.end bn_add_words_internal
|
||
+
|
||
+.align 5
|
||
+.globl bn_sub_words
|
||
+.ent bn_sub_words
|
||
+bn_sub_words:
|
||
+ .set noreorder
|
||
+ bgtz $7,bn_sub_words_internal
|
||
+ move $2,$0
|
||
+ jr $31
|
||
+ move $4,$0
|
||
+.end bn_sub_words
|
||
+
|
||
+.align 5
|
||
+.ent bn_sub_words_internal
|
||
+bn_sub_words_internal:
|
||
+ .set reorder
|
||
+ li $3,-4
|
||
+ and $1,$7,$3
|
||
+ beqz $1,.L_bn_sub_words_tail
|
||
+
|
||
+.L_bn_sub_words_loop:
|
||
+ lw $12,0($5)
|
||
+ lw $8,0($6)
|
||
+ subu $7,4
|
||
+ lw $13,4($5)
|
||
+ and $1,$7,$3
|
||
+ lw $14,2*4($5)
|
||
+ addu $6,4*4
|
||
+ lw $15,3*4($5)
|
||
+ addu $4,4*4
|
||
+ lw $9,-3*4($6)
|
||
+ addu $5,4*4
|
||
+ lw $10,-2*4($6)
|
||
+ lw $11,-4($6)
|
||
+ sltu $24,$12,$8
|
||
+ subu $8,$12,$8
|
||
+ subu $12,$8,$2
|
||
+ sgtu $2,$12,$8
|
||
+ sw $12,-4*4($4)
|
||
+ addu $2,$24
|
||
+
|
||
+ sltu $25,$13,$9
|
||
+ subu $9,$13,$9
|
||
+ subu $13,$9,$2
|
||
+ sgtu $2,$13,$9
|
||
+ sw $13,-3*4($4)
|
||
+ addu $2,$25
|
||
+
|
||
+
|
||
+ sltu $24,$14,$10
|
||
+ subu $10,$14,$10
|
||
+ subu $14,$10,$2
|
||
+ sgtu $2,$14,$10
|
||
+ sw $14,-2*4($4)
|
||
+ addu $2,$24
|
||
+
|
||
+ sltu $25,$15,$11
|
||
+ subu $11,$15,$11
|
||
+ subu $15,$11,$2
|
||
+ sgtu $2,$15,$11
|
||
+ sw $15,-4($4)
|
||
+
|
||
+ .set noreorder
|
||
+ bgtz $1,.L_bn_sub_words_loop
|
||
+ addu $2,$25
|
||
+
|
||
+ beqz $7,.L_bn_sub_words_return
|
||
+ nop
|
||
+
|
||
+.L_bn_sub_words_tail:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ lw $8,0($6)
|
||
+ subu $7,1
|
||
+ sltu $24,$12,$8
|
||
+ subu $8,$12,$8
|
||
+ subu $12,$8,$2
|
||
+ sgtu $2,$12,$8
|
||
+ sw $12,0($4)
|
||
+ addu $2,$24
|
||
+ beqz $7,.L_bn_sub_words_return
|
||
+
|
||
+ lw $13,4($5)
|
||
+ subu $7,1
|
||
+ lw $9,4($6)
|
||
+ sltu $25,$13,$9
|
||
+ subu $9,$13,$9
|
||
+ subu $13,$9,$2
|
||
+ sgtu $2,$13,$9
|
||
+ sw $13,4($4)
|
||
+ addu $2,$25
|
||
+ beqz $7,.L_bn_sub_words_return
|
||
+
|
||
+ lw $14,2*4($5)
|
||
+ lw $10,2*4($6)
|
||
+ sltu $24,$14,$10
|
||
+ subu $10,$14,$10
|
||
+ subu $14,$10,$2
|
||
+ sgtu $2,$14,$10
|
||
+ sw $14,2*4($4)
|
||
+ addu $2,$24
|
||
+
|
||
+.L_bn_sub_words_return:
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_sub_words_internal
|
||
+
|
||
+#if 0
|
||
+/*
|
||
+ * The bn_div_3_words entry point is re-used for constant-time interface.
|
||
+ * Implementation is retained as historical reference.
|
||
+ */
|
||
+.align 5
|
||
+.globl bn_div_3_words
|
||
+.ent bn_div_3_words
|
||
+bn_div_3_words:
|
||
+ .set noreorder
|
||
+ move $7,$4 # we know that bn_div_words does not
|
||
+ # touch $7, $10, $11 and preserves $6
|
||
+ # so that we can save two arguments
|
||
+ # and return address in registers
|
||
+ # instead of stack:-)
|
||
+
|
||
+ lw $4,($7)
|
||
+ move $10,$5
|
||
+ bne $4,$6,bn_div_3_words_internal
|
||
+ lw $5,-4($7)
|
||
+ li $2,-1
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_div_3_words
|
||
+
|
||
+.align 5
|
||
+.ent bn_div_3_words_internal
|
||
+bn_div_3_words_internal:
|
||
+ .set reorder
|
||
+ move $11,$31
|
||
+ bal bn_div_words_internal
|
||
+ move $31,$11
|
||
+ multu ($10,$2)
|
||
+ lw $14,-2*4($7)
|
||
+ move $8,$0
|
||
+ mfhi ($13,$10,$2)
|
||
+ mflo ($12,$10,$2)
|
||
+ sltu $24,$13,$5
|
||
+.L_bn_div_3_words_inner_loop:
|
||
+ bnez $24,.L_bn_div_3_words_inner_loop_done
|
||
+ sgeu $1,$14,$12
|
||
+ seq $25,$13,$5
|
||
+ and $1,$25
|
||
+ sltu $15,$12,$10
|
||
+ addu $5,$6
|
||
+ subu $13,$15
|
||
+ subu $12,$10
|
||
+ sltu $24,$13,$5
|
||
+ sltu $8,$5,$6
|
||
+ or $24,$8
|
||
+ .set noreorder
|
||
+ beqz $1,.L_bn_div_3_words_inner_loop
|
||
+ subu $2,1
|
||
+ addu $2,1
|
||
+ .set reorder
|
||
+.L_bn_div_3_words_inner_loop_done:
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_div_3_words_internal
|
||
+#endif
|
||
+
|
||
+.align 5
|
||
+.globl bn_div_words
|
||
+.ent bn_div_words
|
||
+bn_div_words:
|
||
+ .set noreorder
|
||
+ bnez $6,bn_div_words_internal
|
||
+ li $2,-1 # I would rather signal div-by-zero
|
||
+ # which can be done with 'break 7'
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_div_words
|
||
+
|
||
+.align 5
|
||
+.ent bn_div_words_internal
|
||
+bn_div_words_internal:
|
||
+ move $3,$0
|
||
+ bltz $6,.L_bn_div_words_body
|
||
+ move $25,$3
|
||
+ sll $6,1
|
||
+ bgtz $6,.-4
|
||
+ addu $25,1
|
||
+
|
||
+ .set reorder
|
||
+ negu $13,$25
|
||
+ li $14,-1
|
||
+ sll $14,$13
|
||
+ and $14,$4
|
||
+ srl $1,$5,$13
|
||
+ .set noreorder
|
||
+ beqz $14,.+12
|
||
+ nop
|
||
+ break 6 # signal overflow
|
||
+ .set reorder
|
||
+ sll $4,$25
|
||
+ sll $5,$25
|
||
+ or $4,$1
|
||
+.L_bn_div_words_body:
|
||
+ srl $3,$6,4*4 # bits
|
||
+ sgeu $1,$4,$6
|
||
+ .set noreorder
|
||
+ beqz $1,.+12
|
||
+ nop
|
||
+ subu $4,$6
|
||
+ .set reorder
|
||
+
|
||
+ li $8,-1
|
||
+ srl $9,$4,4*4 # bits
|
||
+ srl $8,4*4 # q=0xffffffff
|
||
+ beq $3,$9,.L_bn_div_words_skip_div1
|
||
+ divu ($4,$3)
|
||
+ mfqt ($8,$4,$3)
|
||
+.L_bn_div_words_skip_div1:
|
||
+ multu ($6,$8)
|
||
+ sll $15,$4,4*4 # bits
|
||
+ srl $1,$5,4*4 # bits
|
||
+ or $15,$1
|
||
+ mflo ($12,$6,$8)
|
||
+ mfhi ($13,$6,$8)
|
||
+.L_bn_div_words_inner_loop1:
|
||
+ sltu $14,$15,$12
|
||
+ seq $24,$9,$13
|
||
+ sltu $1,$9,$13
|
||
+ and $14,$24
|
||
+ sltu $2,$12,$6
|
||
+ or $1,$14
|
||
+ .set noreorder
|
||
+ beqz $1,.L_bn_div_words_inner_loop1_done
|
||
+ subu $13,$2
|
||
+ subu $12,$6
|
||
+ b .L_bn_div_words_inner_loop1
|
||
+ subu $8,1
|
||
+ .set reorder
|
||
+.L_bn_div_words_inner_loop1_done:
|
||
+
|
||
+ sll $5,4*4 # bits
|
||
+ subu $4,$15,$12
|
||
+ sll $2,$8,4*4 # bits
|
||
+
|
||
+ li $8,-1
|
||
+ srl $9,$4,4*4 # bits
|
||
+ srl $8,4*4 # q=0xffffffff
|
||
+ beq $3,$9,.L_bn_div_words_skip_div2
|
||
+ divu ($4,$3)
|
||
+ mfqt ($8,$4,$3)
|
||
+.L_bn_div_words_skip_div2:
|
||
+ multu ($6,$8)
|
||
+ sll $15,$4,4*4 # bits
|
||
+ srl $1,$5,4*4 # bits
|
||
+ or $15,$1
|
||
+ mflo ($12,$6,$8)
|
||
+ mfhi ($13,$6,$8)
|
||
+.L_bn_div_words_inner_loop2:
|
||
+ sltu $14,$15,$12
|
||
+ seq $24,$9,$13
|
||
+ sltu $1,$9,$13
|
||
+ and $14,$24
|
||
+ sltu $3,$12,$6
|
||
+ or $1,$14
|
||
+ .set noreorder
|
||
+ beqz $1,.L_bn_div_words_inner_loop2_done
|
||
+ subu $13,$3
|
||
+ subu $12,$6
|
||
+ b .L_bn_div_words_inner_loop2
|
||
+ subu $8,1
|
||
+ .set reorder
|
||
+.L_bn_div_words_inner_loop2_done:
|
||
+
|
||
+ subu $4,$15,$12
|
||
+ or $2,$8
|
||
+ srl $3,$4,$25 # $3 contains remainder if anybody wants it
|
||
+ srl $6,$25 # restore $6
|
||
+
|
||
+ .set noreorder
|
||
+ move $5,$3
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_div_words_internal
|
||
+
|
||
+.align 5
|
||
+.globl bn_mul_comba8
|
||
+.ent bn_mul_comba8
|
||
+bn_mul_comba8:
|
||
+ .set noreorder
|
||
+ .frame $29,6*4,$31
|
||
+ .mask 0x003f0000,-4
|
||
+ subu $29,6*4
|
||
+ sw $21,5*4($29)
|
||
+ sw $20,4*4($29)
|
||
+ sw $19,3*4($29)
|
||
+ sw $18,2*4($29)
|
||
+ sw $17,1*4($29)
|
||
+ sw $16,0*4($29)
|
||
+
|
||
+ .set reorder
|
||
+ lw $12,0($5) # If compiled with -mips3 option on
|
||
+ # R5000 box assembler barks on this
|
||
+ # 1ine with "should not have mult/div
|
||
+ # as last instruction in bb (R10K
|
||
+ # bug)" warning. If anybody out there
|
||
+ # has a clue about how to circumvent
|
||
+ # this do send me a note.
|
||
+ # <appro@fy.chalmers.se>
|
||
+
|
||
+ lw $8,0($6)
|
||
+ lw $13,4($5)
|
||
+ lw $14,2*4($5)
|
||
+ multu ($12,$8) # mul_add_c(a[0],b[0],c1,c2,c3);
|
||
+ lw $15,3*4($5)
|
||
+ lw $9,4($6)
|
||
+ lw $10,2*4($6)
|
||
+ lw $11,3*4($6)
|
||
+ mflo ($2,$12,$8)
|
||
+ mfhi ($3,$12,$8)
|
||
+
|
||
+ lw $16,4*4($5)
|
||
+ lw $18,5*4($5)
|
||
+ multu ($12,$9) # mul_add_c(a[0],b[1],c2,c3,c1);
|
||
+ lw $20,6*4($5)
|
||
+ lw $5,7*4($5)
|
||
+ lw $17,4*4($6)
|
||
+ lw $19,5*4($6)
|
||
+ mflo ($24,$12,$9)
|
||
+ mfhi ($25,$12,$9)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($13,$8) # mul_add_c(a[1],b[0],c2,c3,c1);
|
||
+ addu $7,$25,$1
|
||
+ lw $21,6*4($6)
|
||
+ lw $6,7*4($6)
|
||
+ sw $2,0($4) # r[0]=c1;
|
||
+ mflo ($24,$13,$8)
|
||
+ mfhi ($25,$13,$8)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$8) # mul_add_c(a[2],b[0],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $2,$7,$25
|
||
+ sw $3,4($4) # r[1]=c2;
|
||
+
|
||
+ mflo ($24,$14,$8)
|
||
+ mfhi ($25,$14,$8)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($13,$9) # mul_add_c(a[1],b[1],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ mflo ($24,$13,$9)
|
||
+ mfhi ($25,$13,$9)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($12,$10) # mul_add_c(a[0],b[2],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $3,$2,$25
|
||
+ mflo ($24,$12,$10)
|
||
+ mfhi ($25,$12,$10)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($12,$11) # mul_add_c(a[0],b[3],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,2*4($4) # r[2]=c3;
|
||
+
|
||
+ mflo ($24,$12,$11)
|
||
+ mfhi ($25,$12,$11)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($13,$10) # mul_add_c(a[1],b[2],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $7,$3,$25
|
||
+ mflo ($24,$13,$10)
|
||
+ mfhi ($25,$13,$10)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($14,$9) # mul_add_c(a[2],b[1],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$14,$9)
|
||
+ mfhi ($25,$14,$9)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$8) # mul_add_c(a[3],b[0],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$15,$8)
|
||
+ mfhi ($25,$15,$8)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($16,$8) # mul_add_c(a[4],b[0],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ sw $2,3*4($4) # r[3]=c1;
|
||
+
|
||
+ mflo ($24,$16,$8)
|
||
+ mfhi ($25,$16,$8)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($15,$9) # mul_add_c(a[3],b[1],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $2,$7,$25
|
||
+ mflo ($24,$15,$9)
|
||
+ mfhi ($25,$15,$9)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$10) # mul_add_c(a[2],b[2],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$14,$10)
|
||
+ mfhi ($25,$14,$10)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($13,$11) # mul_add_c(a[1],b[3],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$13,$11)
|
||
+ mfhi ($25,$13,$11)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($12,$17) # mul_add_c(a[0],b[4],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$12,$17)
|
||
+ mfhi ($25,$12,$17)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($12,$19) # mul_add_c(a[0],b[5],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,4*4($4) # r[4]=c2;
|
||
+
|
||
+ mflo ($24,$12,$19)
|
||
+ mfhi ($25,$12,$19)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($13,$17) # mul_add_c(a[1],b[4],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $3,$2,$25
|
||
+ mflo ($24,$13,$17)
|
||
+ mfhi ($25,$13,$17)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($14,$11) # mul_add_c(a[2],b[3],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$14,$11)
|
||
+ mfhi ($25,$14,$11)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($15,$10) # mul_add_c(a[3],b[2],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$15,$10)
|
||
+ mfhi ($25,$15,$10)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($16,$9) # mul_add_c(a[4],b[1],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$16,$9)
|
||
+ mfhi ($25,$16,$9)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($18,$8) # mul_add_c(a[5],b[0],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$18,$8)
|
||
+ mfhi ($25,$18,$8)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($20,$8) # mul_add_c(a[6],b[0],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,5*4($4) # r[5]=c3;
|
||
+
|
||
+ mflo ($24,$20,$8)
|
||
+ mfhi ($25,$20,$8)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($18,$9) # mul_add_c(a[5],b[1],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $7,$3,$25
|
||
+ mflo ($24,$18,$9)
|
||
+ mfhi ($25,$18,$9)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($16,$10) # mul_add_c(a[4],b[2],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$16,$10)
|
||
+ mfhi ($25,$16,$10)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$11) # mul_add_c(a[3],b[3],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$15,$11)
|
||
+ mfhi ($25,$15,$11)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($14,$17) # mul_add_c(a[2],b[4],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$14,$17)
|
||
+ mfhi ($25,$14,$17)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($13,$19) # mul_add_c(a[1],b[5],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$13,$19)
|
||
+ mfhi ($25,$13,$19)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($12,$21) # mul_add_c(a[0],b[6],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$12,$21)
|
||
+ mfhi ($25,$12,$21)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($12,$6) # mul_add_c(a[0],b[7],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ sw $2,6*4($4) # r[6]=c1;
|
||
+
|
||
+ mflo ($24,$12,$6)
|
||
+ mfhi ($25,$12,$6)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($13,$21) # mul_add_c(a[1],b[6],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $2,$7,$25
|
||
+ mflo ($24,$13,$21)
|
||
+ mfhi ($25,$13,$21)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$19) # mul_add_c(a[2],b[5],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$14,$19)
|
||
+ mfhi ($25,$14,$19)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($15,$17) # mul_add_c(a[3],b[4],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$15,$17)
|
||
+ mfhi ($25,$15,$17)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($16,$11) # mul_add_c(a[4],b[3],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$16,$11)
|
||
+ mfhi ($25,$16,$11)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($18,$10) # mul_add_c(a[5],b[2],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$18,$10)
|
||
+ mfhi ($25,$18,$10)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($20,$9) # mul_add_c(a[6],b[1],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$20,$9)
|
||
+ mfhi ($25,$20,$9)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($5,$8) # mul_add_c(a[7],b[0],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$5,$8)
|
||
+ mfhi ($25,$5,$8)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($5,$9) # mul_add_c(a[7],b[1],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,7*4($4) # r[7]=c2;
|
||
+
|
||
+ mflo ($24,$5,$9)
|
||
+ mfhi ($25,$5,$9)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($20,$10) # mul_add_c(a[6],b[2],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $3,$2,$25
|
||
+ mflo ($24,$20,$10)
|
||
+ mfhi ($25,$20,$10)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($18,$11) # mul_add_c(a[5],b[3],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$18,$11)
|
||
+ mfhi ($25,$18,$11)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($16,$17) # mul_add_c(a[4],b[4],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$16,$17)
|
||
+ mfhi ($25,$16,$17)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($15,$19) # mul_add_c(a[3],b[5],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$15,$19)
|
||
+ mfhi ($25,$15,$19)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($14,$21) # mul_add_c(a[2],b[6],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$14,$21)
|
||
+ mfhi ($25,$14,$21)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($13,$6) # mul_add_c(a[1],b[7],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$13,$6)
|
||
+ mfhi ($25,$13,$6)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($14,$6) # mul_add_c(a[2],b[7],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,8*4($4) # r[8]=c3;
|
||
+
|
||
+ mflo ($24,$14,$6)
|
||
+ mfhi ($25,$14,$6)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$21) # mul_add_c(a[3],b[6],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $7,$3,$25
|
||
+ mflo ($24,$15,$21)
|
||
+ mfhi ($25,$15,$21)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($16,$19) # mul_add_c(a[4],b[5],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$16,$19)
|
||
+ mfhi ($25,$16,$19)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($18,$17) # mul_add_c(a[5],b[4],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$18,$17)
|
||
+ mfhi ($25,$18,$17)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($20,$11) # mul_add_c(a[6],b[3],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$20,$11)
|
||
+ mfhi ($25,$20,$11)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($5,$10) # mul_add_c(a[7],b[2],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$5,$10)
|
||
+ mfhi ($25,$5,$10)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($5,$11) # mul_add_c(a[7],b[3],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ sw $2,9*4($4) # r[9]=c1;
|
||
+
|
||
+ mflo ($24,$5,$11)
|
||
+ mfhi ($25,$5,$11)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($20,$17) # mul_add_c(a[6],b[4],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $2,$7,$25
|
||
+ mflo ($24,$20,$17)
|
||
+ mfhi ($25,$20,$17)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($18,$19) # mul_add_c(a[5],b[5],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$18,$19)
|
||
+ mfhi ($25,$18,$19)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($16,$21) # mul_add_c(a[4],b[6],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$16,$21)
|
||
+ mfhi ($25,$16,$21)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($15,$6) # mul_add_c(a[3],b[7],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$15,$6)
|
||
+ mfhi ($25,$15,$6)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($16,$6) # mul_add_c(a[4],b[7],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,10*4($4) # r[10]=c2;
|
||
+
|
||
+ mflo ($24,$16,$6)
|
||
+ mfhi ($25,$16,$6)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($18,$21) # mul_add_c(a[5],b[6],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $3,$2,$25
|
||
+ mflo ($24,$18,$21)
|
||
+ mfhi ($25,$18,$21)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($20,$19) # mul_add_c(a[6],b[5],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$20,$19)
|
||
+ mfhi ($25,$20,$19)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($5,$17) # mul_add_c(a[7],b[4],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$5,$17)
|
||
+ mfhi ($25,$5,$17)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($5,$19) # mul_add_c(a[7],b[5],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,11*4($4) # r[11]=c3;
|
||
+
|
||
+ mflo ($24,$5,$19)
|
||
+ mfhi ($25,$5,$19)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($20,$21) # mul_add_c(a[6],b[6],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $7,$3,$25
|
||
+ mflo ($24,$20,$21)
|
||
+ mfhi ($25,$20,$21)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($18,$6) # mul_add_c(a[5],b[7],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$18,$6)
|
||
+ mfhi ($25,$18,$6)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($20,$6) # mul_add_c(a[6],b[7],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ sw $2,12*4($4) # r[12]=c1;
|
||
+
|
||
+ mflo ($24,$20,$6)
|
||
+ mfhi ($25,$20,$6)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($5,$21) # mul_add_c(a[7],b[6],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $2,$7,$25
|
||
+ mflo ($24,$5,$21)
|
||
+ mfhi ($25,$5,$21)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($5,$6) # mul_add_c(a[7],b[7],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,13*4($4) # r[13]=c2;
|
||
+
|
||
+ mflo ($24,$5,$6)
|
||
+ mfhi ($25,$5,$6)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sw $7,14*4($4) # r[14]=c3;
|
||
+ sw $2,15*4($4) # r[15]=c1;
|
||
+
|
||
+ .set noreorder
|
||
+ lw $21,5*4($29)
|
||
+ lw $20,4*4($29)
|
||
+ lw $19,3*4($29)
|
||
+ lw $18,2*4($29)
|
||
+ lw $17,1*4($29)
|
||
+ lw $16,0*4($29)
|
||
+ jr $31
|
||
+ addu $29,6*4
|
||
+.end bn_mul_comba8
|
||
+
|
||
+.align 5
|
||
+.globl bn_mul_comba4
|
||
+.ent bn_mul_comba4
|
||
+bn_mul_comba4:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ lw $8,0($6)
|
||
+ lw $13,4($5)
|
||
+ lw $14,2*4($5)
|
||
+ multu ($12,$8) # mul_add_c(a[0],b[0],c1,c2,c3);
|
||
+ lw $15,3*4($5)
|
||
+ lw $9,4($6)
|
||
+ lw $10,2*4($6)
|
||
+ lw $11,3*4($6)
|
||
+ mflo ($2,$12,$8)
|
||
+ mfhi ($3,$12,$8)
|
||
+ sw $2,0($4)
|
||
+
|
||
+ multu ($12,$9) # mul_add_c(a[0],b[1],c2,c3,c1);
|
||
+ mflo ($24,$12,$9)
|
||
+ mfhi ($25,$12,$9)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($13,$8) # mul_add_c(a[1],b[0],c2,c3,c1);
|
||
+ addu $7,$25,$1
|
||
+ mflo ($24,$13,$8)
|
||
+ mfhi ($25,$13,$8)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$8) # mul_add_c(a[2],b[0],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $2,$7,$25
|
||
+ sw $3,4($4)
|
||
+
|
||
+ mflo ($24,$14,$8)
|
||
+ mfhi ($25,$14,$8)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($13,$9) # mul_add_c(a[1],b[1],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ mflo ($24,$13,$9)
|
||
+ mfhi ($25,$13,$9)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($12,$10) # mul_add_c(a[0],b[2],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $3,$2,$25
|
||
+ mflo ($24,$12,$10)
|
||
+ mfhi ($25,$12,$10)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($12,$11) # mul_add_c(a[0],b[3],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,2*4($4)
|
||
+
|
||
+ mflo ($24,$12,$11)
|
||
+ mfhi ($25,$12,$11)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($13,$10) # mul_add_c(a[1],b[2],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $7,$3,$25
|
||
+ mflo ($24,$13,$10)
|
||
+ mfhi ($25,$13,$10)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($14,$9) # mul_add_c(a[2],b[1],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$14,$9)
|
||
+ mfhi ($25,$14,$9)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$8) # mul_add_c(a[3],b[0],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$15,$8)
|
||
+ mfhi ($25,$15,$8)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$9) # mul_add_c(a[3],b[1],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ sw $2,3*4($4)
|
||
+
|
||
+ mflo ($24,$15,$9)
|
||
+ mfhi ($25,$15,$9)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$10) # mul_add_c(a[2],b[2],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $2,$7,$25
|
||
+ mflo ($24,$14,$10)
|
||
+ mfhi ($25,$14,$10)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($13,$11) # mul_add_c(a[1],b[3],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$13,$11)
|
||
+ mfhi ($25,$13,$11)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$11) # mul_add_c(a[2],b[3],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,4*4($4)
|
||
+
|
||
+ mflo ($24,$14,$11)
|
||
+ mfhi ($25,$14,$11)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($15,$10) # mul_add_c(a[3],b[2],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $3,$2,$25
|
||
+ mflo ($24,$15,$10)
|
||
+ mfhi ($25,$15,$10)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($15,$11) # mul_add_c(a[3],b[3],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,5*4($4)
|
||
+
|
||
+ mflo ($24,$15,$11)
|
||
+ mfhi ($25,$15,$11)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sw $2,6*4($4)
|
||
+ sw $3,7*4($4)
|
||
+
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ nop
|
||
+.end bn_mul_comba4
|
||
+
|
||
+.align 5
|
||
+.globl bn_sqr_comba8
|
||
+.ent bn_sqr_comba8
|
||
+bn_sqr_comba8:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ lw $13,4($5)
|
||
+ lw $14,2*4($5)
|
||
+ lw $15,3*4($5)
|
||
+
|
||
+ multu ($12,$12) # mul_add_c(a[0],b[0],c1,c2,c3);
|
||
+ lw $8,4*4($5)
|
||
+ lw $9,5*4($5)
|
||
+ lw $10,6*4($5)
|
||
+ lw $11,7*4($5)
|
||
+ mflo ($2,$12,$12)
|
||
+ mfhi ($3,$12,$12)
|
||
+ sw $2,0($4)
|
||
+
|
||
+ multu ($12,$13) # mul_add_c2(a[0],b[1],c2,c3,c1);
|
||
+ mflo ($24,$12,$13)
|
||
+ mfhi ($25,$12,$13)
|
||
+ slt $2,$25,$0
|
||
+ sll $25,1
|
||
+ multu ($14,$12) # mul_add_c2(a[2],b[0],c3,c1,c2);
|
||
+ slt $6,$24,$0
|
||
+ addu $25,$6
|
||
+ sll $24,1
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ addu $7,$25,$1
|
||
+ sw $3,4($4)
|
||
+ mflo ($24,$14,$12)
|
||
+ mfhi ($25,$14,$12)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($13,$13) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $3,$2,$1
|
||
+ addu $2,$25
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$13,$13)
|
||
+ mfhi ($25,$13,$13)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($12,$15) # mul_add_c2(a[0],b[3],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,2*4($4)
|
||
+ mflo ($24,$12,$15)
|
||
+ mfhi ($25,$12,$15)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($13,$14) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $7,$3,$1
|
||
+ addu $3,$25
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$13,$14)
|
||
+ mfhi ($25,$13,$14)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($8,$12) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$3,$1
|
||
+ addu $3,$25
|
||
+ addu $7,$1
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$8,$12)
|
||
+ mfhi ($25,$8,$12)
|
||
+ sw $2,3*4($4)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($15,$13) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $2,$7,$1
|
||
+ addu $7,$25
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$15,$13)
|
||
+ mfhi ($25,$15,$13)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$14) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$7,$1
|
||
+ addu $7,$25
|
||
+ addu $2,$1
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$14,$14)
|
||
+ mfhi ($25,$14,$14)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($12,$9) # mul_add_c2(a[0],b[5],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,4*4($4)
|
||
+ mflo ($24,$12,$9)
|
||
+ mfhi ($25,$12,$9)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($13,$8) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $3,$2,$1
|
||
+ addu $2,$25
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$13,$8)
|
||
+ mfhi ($25,$13,$8)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($14,$15) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$2,$1
|
||
+ addu $2,$25
|
||
+ addu $3,$1
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$14,$15)
|
||
+ mfhi ($25,$14,$15)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($10,$12) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$2,$1
|
||
+ addu $2,$25
|
||
+ addu $3,$1
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$10,$12)
|
||
+ mfhi ($25,$10,$12)
|
||
+ sw $7,5*4($4)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($9,$13) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $7,$3,$1
|
||
+ addu $3,$25
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$9,$13)
|
||
+ mfhi ($25,$9,$13)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($8,$14) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$3,$1
|
||
+ addu $3,$25
|
||
+ addu $7,$1
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$8,$14)
|
||
+ mfhi ($25,$8,$14)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$15) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$3,$1
|
||
+ addu $3,$25
|
||
+ addu $7,$1
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$15,$15)
|
||
+ mfhi ($25,$15,$15)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($12,$11) # mul_add_c2(a[0],b[7],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ sw $2,6*4($4)
|
||
+ mflo ($24,$12,$11)
|
||
+ mfhi ($25,$12,$11)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($13,$10) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $2,$7,$1
|
||
+ addu $7,$25
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$13,$10)
|
||
+ mfhi ($25,$13,$10)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$9) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$7,$1
|
||
+ addu $7,$25
|
||
+ addu $2,$1
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$14,$9)
|
||
+ mfhi ($25,$14,$9)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($15,$8) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$7,$1
|
||
+ addu $7,$25
|
||
+ addu $2,$1
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$15,$8)
|
||
+ mfhi ($25,$15,$8)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($11,$13) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$7,$1
|
||
+ addu $7,$25
|
||
+ addu $2,$1
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$11,$13)
|
||
+ mfhi ($25,$11,$13)
|
||
+ sw $3,7*4($4)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($10,$14) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $3,$2,$1
|
||
+ addu $2,$25
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$10,$14)
|
||
+ mfhi ($25,$10,$14)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($9,$15) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$2,$1
|
||
+ addu $2,$25
|
||
+ addu $3,$1
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$9,$15)
|
||
+ mfhi ($25,$9,$15)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($8,$8) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$2,$1
|
||
+ addu $2,$25
|
||
+ addu $3,$1
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$8,$8)
|
||
+ mfhi ($25,$8,$8)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($14,$11) # mul_add_c2(a[2],b[7],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,8*4($4)
|
||
+ mflo ($24,$14,$11)
|
||
+ mfhi ($25,$14,$11)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$10) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $7,$3,$1
|
||
+ addu $3,$25
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$15,$10)
|
||
+ mfhi ($25,$15,$10)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($8,$9) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$3,$1
|
||
+ addu $3,$25
|
||
+ addu $7,$1
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$8,$9)
|
||
+ mfhi ($25,$8,$9)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($11,$15) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$3,$1
|
||
+ addu $3,$25
|
||
+ addu $7,$1
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$11,$15)
|
||
+ mfhi ($25,$11,$15)
|
||
+ sw $2,9*4($4)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($10,$8) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $2,$7,$1
|
||
+ addu $7,$25
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$10,$8)
|
||
+ mfhi ($25,$10,$8)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($9,$9) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$7,$1
|
||
+ addu $7,$25
|
||
+ addu $2,$1
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$9,$9)
|
||
+ mfhi ($25,$9,$9)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($8,$11) # mul_add_c2(a[4],b[7],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,10*4($4)
|
||
+ mflo ($24,$8,$11)
|
||
+ mfhi ($25,$8,$11)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($9,$10) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $3,$2,$1
|
||
+ addu $2,$25
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$9,$10)
|
||
+ mfhi ($25,$9,$10)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($11,$9) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$2,$1
|
||
+ addu $2,$25
|
||
+ addu $3,$1
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$11,$9)
|
||
+ mfhi ($25,$11,$9)
|
||
+ sw $7,11*4($4)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($10,$10) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $7,$3,$1
|
||
+ addu $3,$25
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$10,$10)
|
||
+ mfhi ($25,$10,$10)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($10,$11) # mul_add_c2(a[6],b[7],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ sw $2,12*4($4)
|
||
+ mflo ($24,$10,$11)
|
||
+ mfhi ($25,$10,$11)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($11,$11) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $2,$7,$1
|
||
+ addu $7,$25
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$11,$11)
|
||
+ mfhi ($25,$11,$11)
|
||
+ sw $3,13*4($4)
|
||
+
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sw $7,14*4($4)
|
||
+ sw $2,15*4($4)
|
||
+
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ nop
|
||
+.end bn_sqr_comba8
|
||
+
|
||
+.align 5
|
||
+.globl bn_sqr_comba4
|
||
+.ent bn_sqr_comba4
|
||
+bn_sqr_comba4:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ lw $13,4($5)
|
||
+ multu ($12,$12) # mul_add_c(a[0],b[0],c1,c2,c3);
|
||
+ lw $14,2*4($5)
|
||
+ lw $15,3*4($5)
|
||
+ mflo ($2,$12,$12)
|
||
+ mfhi ($3,$12,$12)
|
||
+ sw $2,0($4)
|
||
+
|
||
+ multu ($12,$13) # mul_add_c2(a[0],b[1],c2,c3,c1);
|
||
+ mflo ($24,$12,$13)
|
||
+ mfhi ($25,$12,$13)
|
||
+ slt $2,$25,$0
|
||
+ sll $25,1
|
||
+ multu ($14,$12) # mul_add_c2(a[2],b[0],c3,c1,c2);
|
||
+ slt $6,$24,$0
|
||
+ addu $25,$6
|
||
+ sll $24,1
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ addu $7,$25,$1
|
||
+ sw $3,4($4)
|
||
+ mflo ($24,$14,$12)
|
||
+ mfhi ($25,$14,$12)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($13,$13) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $3,$2,$1
|
||
+ addu $2,$25
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$13,$13)
|
||
+ mfhi ($25,$13,$13)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($12,$15) # mul_add_c2(a[0],b[3],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,2*4($4)
|
||
+ mflo ($24,$12,$15)
|
||
+ mfhi ($25,$12,$15)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($13,$14) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $7,$3,$1
|
||
+ addu $3,$25
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$13,$14)
|
||
+ mfhi ($25,$13,$14)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$13) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$3,$1
|
||
+ addu $3,$25
|
||
+ addu $7,$1
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$15,$13)
|
||
+ mfhi ($25,$15,$13)
|
||
+ sw $2,3*4($4)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$14) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $2,$7,$1
|
||
+ addu $7,$25
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$14,$14)
|
||
+ mfhi ($25,$14,$14)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$15) # mul_add_c2(a[2],b[3],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,4*4($4)
|
||
+ mflo ($24,$14,$15)
|
||
+ mfhi ($25,$14,$15)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($15,$15) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $3,$2,$1
|
||
+ addu $2,$25
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$15,$15)
|
||
+ mfhi ($25,$15,$15)
|
||
+ sw $7,5*4($4)
|
||
+
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sw $2,6*4($4)
|
||
+ sw $3,7*4($4)
|
||
+
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ nop
|
||
+.end bn_sqr_comba4
|
||
diff -urN a/deps/openssl/config/archs/linux-mips/asm/crypto/bn/mips-mont.S b/deps/openssl/config/archs/linux-mips/asm/crypto/bn/mips-mont.S
|
||
--- a/deps/openssl/config/archs/linux-mips/asm/crypto/bn/mips-mont.S 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mips/asm/crypto/bn/mips-mont.S 2019-12-25 13:49:19.980298817 +0900
|
||
@@ -0,0 +1,284 @@
|
||
+#include "mips_arch.h"
|
||
+
|
||
+.text
|
||
+
|
||
+.set noat
|
||
+.set noreorder
|
||
+
|
||
+.align 5
|
||
+.globl bn_mul_mont
|
||
+.ent bn_mul_mont
|
||
+bn_mul_mont:
|
||
+ lw $8,16($29)
|
||
+ lw $9,20($29)
|
||
+ slt $1,$9,4
|
||
+ bnez $1,1f
|
||
+ li $2,0
|
||
+ slt $1,$9,17 # on in-order CPU
|
||
+ bnez $1,bn_mul_mont_internal
|
||
+ nop
|
||
+1: jr $31
|
||
+ li $4,0
|
||
+.end bn_mul_mont
|
||
+
|
||
+.align 5
|
||
+.ent bn_mul_mont_internal
|
||
+bn_mul_mont_internal:
|
||
+ .frame $30,14*4,$31
|
||
+ .mask 0x40000000|16711680,-4
|
||
+ subu $29,14*4
|
||
+ sw $30,(14-1)*4($29)
|
||
+ sw $23,(14-2)*4($29)
|
||
+ sw $22,(14-3)*4($29)
|
||
+ sw $21,(14-4)*4($29)
|
||
+ sw $20,(14-5)*4($29)
|
||
+ sw $19,(14-6)*4($29)
|
||
+ sw $18,(14-7)*4($29)
|
||
+ sw $17,(14-8)*4($29)
|
||
+ sw $16,(14-9)*4($29)
|
||
+ move $30,$29
|
||
+
|
||
+ .set reorder
|
||
+ lw $8,0($8)
|
||
+ lw $13,0($6) # bp[0]
|
||
+ lw $12,0($5) # ap[0]
|
||
+ lw $14,0($7) # np[0]
|
||
+
|
||
+ subu $29,2*4 # place for two extra words
|
||
+ sll $9,2
|
||
+ li $1,-4096
|
||
+ subu $29,$9
|
||
+ and $29,$1
|
||
+
|
||
+ multu ($12,$13)
|
||
+ lw $17,4($5)
|
||
+ lw $19,4($7)
|
||
+ mflo ($10,$12,$13)
|
||
+ mfhi ($11,$12,$13)
|
||
+ multu ($10,$8)
|
||
+ mflo ($23,$10,$8)
|
||
+
|
||
+ multu ($17,$13)
|
||
+ mflo ($16,$17,$13)
|
||
+ mfhi ($17,$17,$13)
|
||
+
|
||
+ multu ($14,$23)
|
||
+ mflo ($24,$14,$23)
|
||
+ mfhi ($25,$14,$23)
|
||
+ multu ($19,$23)
|
||
+ addu $24,$10
|
||
+ sltu $1,$24,$10
|
||
+ addu $25,$1
|
||
+ mflo ($18,$19,$23)
|
||
+ mfhi ($19,$19,$23)
|
||
+
|
||
+ move $15,$29
|
||
+ li $22,2*4
|
||
+.align 4
|
||
+.L1st:
|
||
+ .set noreorder
|
||
+ addu $12,$5,$22
|
||
+ addu $14,$7,$22
|
||
+ lw $12,($12)
|
||
+ lw $14,($14)
|
||
+
|
||
+ multu ($12,$13)
|
||
+ addu $10,$16,$11
|
||
+ addu $24,$18,$25
|
||
+ sltu $1,$10,$11
|
||
+ sltu $2,$24,$25
|
||
+ addu $11,$17,$1
|
||
+ addu $25,$19,$2
|
||
+ mflo ($16,$12,$13)
|
||
+ mfhi ($17,$12,$13)
|
||
+
|
||
+ addu $24,$10
|
||
+ sltu $1,$24,$10
|
||
+ multu ($14,$23)
|
||
+ addu $25,$1
|
||
+ addu $22,4
|
||
+ sw $24,($15)
|
||
+ sltu $2,$22,$9
|
||
+ mflo ($18,$14,$23)
|
||
+ mfhi ($19,$14,$23)
|
||
+
|
||
+ bnez $2,.L1st
|
||
+ addu $15,4
|
||
+ .set reorder
|
||
+
|
||
+ addu $10,$16,$11
|
||
+ sltu $1,$10,$11
|
||
+ addu $11,$17,$1
|
||
+
|
||
+ addu $24,$18,$25
|
||
+ sltu $2,$24,$25
|
||
+ addu $25,$19,$2
|
||
+ addu $24,$10
|
||
+ sltu $1,$24,$10
|
||
+ addu $25,$1
|
||
+
|
||
+ sw $24,($15)
|
||
+
|
||
+ addu $25,$11
|
||
+ sltu $1,$25,$11
|
||
+ sw $25,4($15)
|
||
+ sw $1,2*4($15)
|
||
+
|
||
+ li $21,4
|
||
+.align 4
|
||
+.Louter:
|
||
+ addu $13,$6,$21
|
||
+ lw $13,($13)
|
||
+ lw $12,($5)
|
||
+ lw $17,4($5)
|
||
+ lw $20,($29)
|
||
+
|
||
+ multu ($12,$13)
|
||
+ lw $14,($7)
|
||
+ lw $19,4($7)
|
||
+ mflo ($10,$12,$13)
|
||
+ mfhi ($11,$12,$13)
|
||
+ addu $10,$20
|
||
+ multu ($10,$8)
|
||
+ sltu $1,$10,$20
|
||
+ addu $11,$1
|
||
+ mflo ($23,$10,$8)
|
||
+
|
||
+ multu ($17,$13)
|
||
+ mflo ($16,$17,$13)
|
||
+ mfhi ($17,$17,$13)
|
||
+
|
||
+ multu ($14,$23)
|
||
+ mflo ($24,$14,$23)
|
||
+ mfhi ($25,$14,$23)
|
||
+
|
||
+ multu ($19,$23)
|
||
+ addu $24,$10
|
||
+ sltu $1,$24,$10
|
||
+ addu $25,$1
|
||
+ mflo ($18,$19,$23)
|
||
+ mfhi ($19,$19,$23)
|
||
+
|
||
+ move $15,$29
|
||
+ li $22,2*4
|
||
+ lw $20,4($15)
|
||
+.align 4
|
||
+.Linner:
|
||
+ .set noreorder
|
||
+ addu $12,$5,$22
|
||
+ addu $14,$7,$22
|
||
+ lw $12,($12)
|
||
+ lw $14,($14)
|
||
+
|
||
+ multu ($12,$13)
|
||
+ addu $10,$16,$11
|
||
+ addu $24,$18,$25
|
||
+ sltu $1,$10,$11
|
||
+ sltu $2,$24,$25
|
||
+ addu $11,$17,$1
|
||
+ addu $25,$19,$2
|
||
+ mflo ($16,$12,$13)
|
||
+ mfhi ($17,$12,$13)
|
||
+
|
||
+ addu $10,$20
|
||
+ addu $22,4
|
||
+ multu ($14,$23)
|
||
+ sltu $1,$10,$20
|
||
+ addu $24,$10
|
||
+ addu $11,$1
|
||
+ sltu $2,$24,$10
|
||
+ lw $20,2*4($15)
|
||
+ addu $25,$2
|
||
+ sltu $1,$22,$9
|
||
+ mflo ($18,$14,$23)
|
||
+ mfhi ($19,$14,$23)
|
||
+ sw $24,($15)
|
||
+ bnez $1,.Linner
|
||
+ addu $15,4
|
||
+ .set reorder
|
||
+
|
||
+ addu $10,$16,$11
|
||
+ sltu $1,$10,$11
|
||
+ addu $11,$17,$1
|
||
+ addu $10,$20
|
||
+ sltu $2,$10,$20
|
||
+ addu $11,$2
|
||
+
|
||
+ lw $20,2*4($15)
|
||
+ addu $24,$18,$25
|
||
+ sltu $1,$24,$25
|
||
+ addu $25,$19,$1
|
||
+ addu $24,$10
|
||
+ sltu $2,$24,$10
|
||
+ addu $25,$2
|
||
+ sw $24,($15)
|
||
+
|
||
+ addu $24,$25,$11
|
||
+ sltu $25,$24,$11
|
||
+ addu $24,$20
|
||
+ sltu $1,$24,$20
|
||
+ addu $25,$1
|
||
+ sw $24,4($15)
|
||
+ sw $25,2*4($15)
|
||
+
|
||
+ addu $21,4
|
||
+ sltu $2,$21,$9
|
||
+ bnez $2,.Louter
|
||
+
|
||
+ .set noreorder
|
||
+ addu $20,$29,$9 # &tp[num]
|
||
+ move $15,$29
|
||
+ move $5,$29
|
||
+ li $11,0 # clear borrow bit
|
||
+
|
||
+.align 4
|
||
+.Lsub: lw $10,($15)
|
||
+ lw $24,($7)
|
||
+ addu $15,4
|
||
+ addu $7,4
|
||
+ subu $24,$10,$24 # tp[i]-np[i]
|
||
+ sgtu $1,$24,$10
|
||
+ subu $10,$24,$11
|
||
+ sgtu $11,$10,$24
|
||
+ sw $10,($4)
|
||
+ or $11,$1
|
||
+ sltu $1,$15,$20
|
||
+ bnez $1,.Lsub
|
||
+ addu $4,4
|
||
+
|
||
+ subu $11,$25,$11 # handle upmost overflow bit
|
||
+ move $15,$29
|
||
+ subu $4,$9 # restore rp
|
||
+ not $25,$11
|
||
+
|
||
+.Lcopy: lw $14,($15) # conditional move
|
||
+ lw $12,($4)
|
||
+ sw $0,($15)
|
||
+ addu $15,4
|
||
+ and $14,$11
|
||
+ and $12,$25
|
||
+ or $12,$14
|
||
+ sltu $1,$15,$20
|
||
+ sw $12,($4)
|
||
+ bnez $1,.Lcopy
|
||
+ addu $4,4
|
||
+
|
||
+ li $4,1
|
||
+ li $2,1
|
||
+
|
||
+ .set noreorder
|
||
+ move $29,$30
|
||
+ lw $30,(14-1)*4($29)
|
||
+ lw $23,(14-2)*4($29)
|
||
+ lw $22,(14-3)*4($29)
|
||
+ lw $21,(14-4)*4($29)
|
||
+ lw $20,(14-5)*4($29)
|
||
+ lw $19,(14-6)*4($29)
|
||
+ lw $18,(14-7)*4($29)
|
||
+ lw $17,(14-8)*4($29)
|
||
+ lw $16,(14-9)*4($29)
|
||
+ jr $31
|
||
+ addu $29,14*4
|
||
+.end bn_mul_mont_internal
|
||
+.rdata
|
||
+.asciiz "Montgomery Multiplication for MIPS, CRYPTOGAMS by <appro@openssl.org>"
|
||
diff -urN a/deps/openssl/config/archs/linux-mips/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-mips/asm/crypto/buildinf.h
|
||
--- a/deps/openssl/config/archs/linux-mips/asm/crypto/buildinf.h 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mips/asm/crypto/buildinf.h 2019-12-25 13:49:19.980298817 +0900
|
||
@@ -0,0 +1,33 @@
|
||
+/*
|
||
+ * WARNING: do not edit!
|
||
+ * Generated by util/mkbuildinf.pl
|
||
+ *
|
||
+ * Copyright 2014-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||
+ *
|
||
+ * Licensed under the OpenSSL license (the "License"). You may not use
|
||
+ * this file except in compliance with the License. You can obtain a copy
|
||
+ * in the file LICENSE in the source distribution or at
|
||
+ * https://www.openssl.org/source/license.html
|
||
+ */
|
||
+
|
||
+#define PLATFORM "platform: linux-mips32"
|
||
+#define DATE "built on: Thu Feb 28 07:47:22 2019 UTC"
|
||
+
|
||
+/*
|
||
+ * Generate compiler_flags as an array of individual characters. This is a
|
||
+ * workaround for the situation where CFLAGS gets too long for a C90 string
|
||
+ * literal
|
||
+ */
|
||
+static const char compiler_flags[] = {
|
||
+ 'c','o','m','p','i','l','e','r',':',' ','g','c','c',' ','-','f',
|
||
+ 'P','I','C',' ','-','p','t','h','r','e','a','d',' ','-','m','a',
|
||
+ 'b','i','=','3','2',' ','-','m','i','p','s','2',' ','-','W','a',
|
||
+ ',','-','-','n','o','e','x','e','c','s','t','a','c','k',' ','-',
|
||
+ 'W','a','l','l',' ','-','O','3',' ','-','D','O','P','E','N','S',
|
||
+ 'S','L','_','U','S','E','_','N','O','D','E','L','E','T','E',' ',
|
||
+ '-','D','O','P','E','N','S','S','L','_','P','I','C',' ','-','D',
|
||
+ 'O','P','E','N','S','S','L','_','B','N','_','A','S','M','_','M',
|
||
+ 'O','N','T',' ','-','D','S','H','A','1','_','A','S','M',' ','-',
|
||
+ 'D','S','H','A','2','5','6','_','A','S','M',' ','-','D','A','E',
|
||
+ 'S','_','A','S','M',' ','-','D','N','D','E','B','U','G','\0'
|
||
+};
|
||
diff -urN a/deps/openssl/config/archs/linux-mips/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-mips/asm/crypto/include/internal/bn_conf.h
|
||
--- a/deps/openssl/config/archs/linux-mips/asm/crypto/include/internal/bn_conf.h 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mips/asm/crypto/include/internal/bn_conf.h 2019-12-25 13:49:19.980298817 +0900
|
||
@@ -0,0 +1,28 @@
|
||
+/* WARNING: do not edit! */
|
||
+/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */
|
||
+/*
|
||
+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
||
+ *
|
||
+ * Licensed under the OpenSSL license (the "License"). You may not use
|
||
+ * this file except in compliance with the License. You can obtain a copy
|
||
+ * in the file LICENSE in the source distribution or at
|
||
+ * https://www.openssl.org/source/license.html
|
||
+ */
|
||
+
|
||
+#ifndef HEADER_BN_CONF_H
|
||
+# define HEADER_BN_CONF_H
|
||
+
|
||
+/*
|
||
+ * The contents of this file are not used in the UEFI build, as
|
||
+ * both 32-bit and 64-bit builds are supported from a single run
|
||
+ * of the Configure script.
|
||
+ */
|
||
+
|
||
+/* Should we define BN_DIV2W here? */
|
||
+
|
||
+/* Only one for the following should be defined */
|
||
+#undef SIXTY_FOUR_BIT_LONG
|
||
+#undef SIXTY_FOUR_BIT
|
||
+#define THIRTY_TWO_BIT
|
||
+
|
||
+#endif
|
||
diff -urN a/deps/openssl/config/archs/linux-mips/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-mips/asm/crypto/include/internal/dso_conf.h
|
||
--- a/deps/openssl/config/archs/linux-mips/asm/crypto/include/internal/dso_conf.h 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mips/asm/crypto/include/internal/dso_conf.h 2019-12-25 13:49:19.980298817 +0900
|
||
@@ -0,0 +1,17 @@
|
||
+/* WARNING: do not edit! */
|
||
+/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */
|
||
+/*
|
||
+ * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||
+ *
|
||
+ * Licensed under the OpenSSL license (the "License"). You may not use
|
||
+ * this file except in compliance with the License. You can obtain a copy
|
||
+ * in the file LICENSE in the source distribution or at
|
||
+ * https://www.openssl.org/source/license.html
|
||
+ */
|
||
+
|
||
+#ifndef HEADER_DSO_CONF_H
|
||
+# define HEADER_DSO_CONF_H
|
||
+# define DSO_DLFCN
|
||
+# define HAVE_DLFCN_H
|
||
+# define DSO_EXTENSION ".so"
|
||
+#endif
|
||
diff -urN a/deps/openssl/config/archs/linux-mips/asm/crypto/sha/sha1-mips.S b/deps/openssl/config/archs/linux-mips/asm/crypto/sha/sha1-mips.S
|
||
--- a/deps/openssl/config/archs/linux-mips/asm/crypto/sha/sha1-mips.S 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mips/asm/crypto/sha/sha1-mips.S 2019-12-25 13:49:19.980298817 +0900
|
||
@@ -0,0 +1,2815 @@
|
||
+#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*4,$31
|
||
+ .mask 0xc0ff0000,-4
|
||
+ .set noreorder
|
||
+ subu $29,16*4
|
||
+ sw $31,(16-1)*4($29)
|
||
+ sw $30,(16-2)*4($29)
|
||
+ sw $23,(16-3)*4($29)
|
||
+ sw $22,(16-4)*4($29)
|
||
+ sw $21,(16-5)*4($29)
|
||
+ sw $20,(16-6)*4($29)
|
||
+ sw $19,(16-7)*4($29)
|
||
+ sw $18,(16-8)*4($29)
|
||
+ sw $17,(16-9)*4($29)
|
||
+ sw $16,(16-10)*4($29)
|
||
+ sll $6,6
|
||
+ addu $6,$5
|
||
+ sw $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,0($5)
|
||
+ lui $31,0x5a82
|
||
+ lwr $8,3($5)
|
||
+ ori $31,0x7999 # K_00_19
|
||
+#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+0($5)
|
||
+ lwr $9,1*4+3($5)
|
||
+#endif
|
||
+ xor $25,$7
|
||
+ addu $24,$8
|
||
+ rotr $2,$2,2
|
||
+ addu $24,$25
|
||
+#else
|
||
+ lwl $9,1*4+0($5)
|
||
+ sll $25,$1,5 # 0
|
||
+ addu $24,$31
|
||
+ lwr $9,1*4+3($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)
|
||
+ 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+0($5)
|
||
+ lwr $10,2*4+3($5)
|
||
+#endif
|
||
+ xor $25,$3
|
||
+ addu $7,$9
|
||
+ rotr $1,$1,2
|
||
+ addu $7,$25
|
||
+#else
|
||
+ lwl $10,2*4+0($5)
|
||
+ sll $25,$24,5 # 1
|
||
+ addu $7,$31
|
||
+ lwr $10,2*4+3($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)
|
||
+ 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+0($5)
|
||
+ lwr $11,3*4+3($5)
|
||
+#endif
|
||
+ xor $25,$2
|
||
+ addu $3,$10
|
||
+ rotr $24,$24,2
|
||
+ addu $3,$25
|
||
+#else
|
||
+ lwl $11,3*4+0($5)
|
||
+ sll $25,$7,5 # 2
|
||
+ addu $3,$31
|
||
+ lwr $11,3*4+3($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)
|
||
+ 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+0($5)
|
||
+ lwr $12,4*4+3($5)
|
||
+#endif
|
||
+ xor $25,$1
|
||
+ addu $2,$11
|
||
+ rotr $7,$7,2
|
||
+ addu $2,$25
|
||
+#else
|
||
+ lwl $12,4*4+0($5)
|
||
+ sll $25,$3,5 # 3
|
||
+ addu $2,$31
|
||
+ lwr $12,4*4+3($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)
|
||
+ 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+0($5)
|
||
+ lwr $13,5*4+3($5)
|
||
+#endif
|
||
+ xor $25,$24
|
||
+ addu $1,$12
|
||
+ rotr $3,$3,2
|
||
+ addu $1,$25
|
||
+#else
|
||
+ lwl $13,5*4+0($5)
|
||
+ sll $25,$2,5 # 4
|
||
+ addu $1,$31
|
||
+ lwr $13,5*4+3($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)
|
||
+ 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+0($5)
|
||
+ lwr $14,6*4+3($5)
|
||
+#endif
|
||
+ xor $25,$7
|
||
+ addu $24,$13
|
||
+ rotr $2,$2,2
|
||
+ addu $24,$25
|
||
+#else
|
||
+ lwl $14,6*4+0($5)
|
||
+ sll $25,$1,5 # 5
|
||
+ addu $24,$31
|
||
+ lwr $14,6*4+3($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)
|
||
+ 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+0($5)
|
||
+ lwr $15,7*4+3($5)
|
||
+#endif
|
||
+ xor $25,$3
|
||
+ addu $7,$14
|
||
+ rotr $1,$1,2
|
||
+ addu $7,$25
|
||
+#else
|
||
+ lwl $15,7*4+0($5)
|
||
+ sll $25,$24,5 # 6
|
||
+ addu $7,$31
|
||
+ lwr $15,7*4+3($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)
|
||
+ 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+0($5)
|
||
+ lwr $16,8*4+3($5)
|
||
+#endif
|
||
+ xor $25,$2
|
||
+ addu $3,$15
|
||
+ rotr $24,$24,2
|
||
+ addu $3,$25
|
||
+#else
|
||
+ lwl $16,8*4+0($5)
|
||
+ sll $25,$7,5 # 7
|
||
+ addu $3,$31
|
||
+ lwr $16,8*4+3($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)
|
||
+ 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+0($5)
|
||
+ lwr $17,9*4+3($5)
|
||
+#endif
|
||
+ xor $25,$1
|
||
+ addu $2,$16
|
||
+ rotr $7,$7,2
|
||
+ addu $2,$25
|
||
+#else
|
||
+ lwl $17,9*4+0($5)
|
||
+ sll $25,$3,5 # 8
|
||
+ addu $2,$31
|
||
+ lwr $17,9*4+3($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)
|
||
+ 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+0($5)
|
||
+ lwr $18,10*4+3($5)
|
||
+#endif
|
||
+ xor $25,$24
|
||
+ addu $1,$17
|
||
+ rotr $3,$3,2
|
||
+ addu $1,$25
|
||
+#else
|
||
+ lwl $18,10*4+0($5)
|
||
+ sll $25,$2,5 # 9
|
||
+ addu $1,$31
|
||
+ lwr $18,10*4+3($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)
|
||
+ 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+0($5)
|
||
+ lwr $19,11*4+3($5)
|
||
+#endif
|
||
+ xor $25,$7
|
||
+ addu $24,$18
|
||
+ rotr $2,$2,2
|
||
+ addu $24,$25
|
||
+#else
|
||
+ lwl $19,11*4+0($5)
|
||
+ sll $25,$1,5 # 10
|
||
+ addu $24,$31
|
||
+ lwr $19,11*4+3($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)
|
||
+ 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+0($5)
|
||
+ lwr $20,12*4+3($5)
|
||
+#endif
|
||
+ xor $25,$3
|
||
+ addu $7,$19
|
||
+ rotr $1,$1,2
|
||
+ addu $7,$25
|
||
+#else
|
||
+ lwl $20,12*4+0($5)
|
||
+ sll $25,$24,5 # 11
|
||
+ addu $7,$31
|
||
+ lwr $20,12*4+3($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)
|
||
+ 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+0($5)
|
||
+ lwr $21,13*4+3($5)
|
||
+#endif
|
||
+ xor $25,$2
|
||
+ addu $3,$20
|
||
+ rotr $24,$24,2
|
||
+ addu $3,$25
|
||
+#else
|
||
+ lwl $21,13*4+0($5)
|
||
+ sll $25,$7,5 # 12
|
||
+ addu $3,$31
|
||
+ lwr $21,13*4+3($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)
|
||
+ 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+0($5)
|
||
+ lwr $22,14*4+3($5)
|
||
+#endif
|
||
+ xor $25,$1
|
||
+ addu $2,$21
|
||
+ rotr $7,$7,2
|
||
+ addu $2,$25
|
||
+#else
|
||
+ lwl $22,14*4+0($5)
|
||
+ sll $25,$3,5 # 13
|
||
+ addu $2,$31
|
||
+ lwr $22,14*4+3($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)
|
||
+ 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+0($5)
|
||
+ lwr $23,15*4+3($5)
|
||
+#endif
|
||
+ xor $25,$24
|
||
+ addu $1,$22
|
||
+ rotr $3,$3,2
|
||
+ addu $1,$25
|
||
+#else
|
||
+ lwl $23,15*4+0($5)
|
||
+ sll $25,$2,5 # 14
|
||
+ addu $1,$31
|
||
+ lwr $23,15*4+3($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)
|
||
+ 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
|
||
+ addu $5,64
|
||
+ lw $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
|
||
+ lw $31,(16-1)*4($29)
|
||
+ lw $30,(16-2)*4($29)
|
||
+ lw $23,(16-3)*4($29)
|
||
+ lw $22,(16-4)*4($29)
|
||
+ lw $21,(16-5)*4($29)
|
||
+ lw $20,(16-6)*4($29)
|
||
+ lw $19,(16-7)*4($29)
|
||
+ lw $18,(16-8)*4($29)
|
||
+ lw $17,(16-9)*4($29)
|
||
+ lw $16,(16-10)*4($29)
|
||
+ jr $31
|
||
+ addu $29,16*4
|
||
+.end sha1_block_data_order
|
||
+.rdata
|
||
+.asciiz "SHA1 for MIPS, CRYPTOGAMS by <appro@openssl.org>"
|
||
diff -urN a/deps/openssl/config/archs/linux-mips/asm/crypto/sha/sha256-mips.S b/deps/openssl/config/archs/linux-mips/asm/crypto/sha/sha256-mips.S
|
||
--- a/deps/openssl/config/archs/linux-mips/asm/crypto/sha/sha256-mips.S 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mips/asm/crypto/sha/sha256-mips.S 2019-12-25 13:49:19.984298806 +0900
|
||
@@ -0,0 +1,2812 @@
|
||
+#include "mips_arch.h"
|
||
+
|
||
+.text
|
||
+.set noat
|
||
+#if !defined(__mips_eabi) && (!defined(__vxworks) || defined(__pic__))
|
||
+.option pic2
|
||
+#endif
|
||
+
|
||
+.align 5
|
||
+.globl sha256_block_data_order
|
||
+.ent sha256_block_data_order
|
||
+sha256_block_data_order:
|
||
+ .frame $29,128,$31
|
||
+ .mask 0xc0ff0000,-4
|
||
+ .set noreorder
|
||
+ .cpload $25
|
||
+ subu $29,128
|
||
+ sw $31,128-1*4($29)
|
||
+ sw $30,128-2*4($29)
|
||
+ sw $23,128-3*4($29)
|
||
+ sw $22,128-4*4($29)
|
||
+ sw $21,128-5*4($29)
|
||
+ sw $20,128-6*4($29)
|
||
+ sw $19,128-7*4($29)
|
||
+ sw $18,128-8*4($29)
|
||
+ sw $17,128-9*4($29)
|
||
+ sw $16,128-10*4($29)
|
||
+ sll $23,$6,6
|
||
+ .set reorder
|
||
+ la $6,K256 # PIC-ified 'load address'
|
||
+
|
||
+ lw $1,0*4($4) # load context
|
||
+ lw $2,1*4($4)
|
||
+ lw $3,2*4($4)
|
||
+ lw $7,3*4($4)
|
||
+ lw $24,4*4($4)
|
||
+ lw $25,5*4($4)
|
||
+ lw $30,6*4($4)
|
||
+ lw $31,7*4($4)
|
||
+
|
||
+ addu $23,$5 # pointer to the end of input
|
||
+ sw $23,16*4($29)
|
||
+ b .Loop
|
||
+
|
||
+.align 5
|
||
+.Loop:
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $8,($5)
|
||
+#else
|
||
+ lwl $8,0($5)
|
||
+ lwr $8,3($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $9,4($5)
|
||
+#else
|
||
+ lwl $9,4($5)
|
||
+ lwr $9,7($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $15,$25,$30 # 0
|
||
+ rotr $13,$24,6
|
||
+ addu $12,$8,$31
|
||
+ rotr $14,$24,11
|
||
+ and $15,$24
|
||
+ rotr $31,$24,25
|
||
+ xor $13,$14
|
||
+ rotr $14,$1,2
|
||
+ xor $15,$30 # Ch(e,f,g)
|
||
+ xor $13,$31 # Sigma1(e)
|
||
+
|
||
+ rotr $31,$1,13
|
||
+ addu $12,$15
|
||
+ lw $15,0($6) # K[0]
|
||
+ xor $31,$14
|
||
+ rotr $14,$1,22
|
||
+ addu $12,$13
|
||
+ and $13,$2,$3
|
||
+ xor $31,$14 # Sigma0(a)
|
||
+ xor $14,$2,$3
|
||
+#else
|
||
+ addu $12,$8,$31 # 0
|
||
+ srl $31,$24,6
|
||
+ xor $15,$25,$30
|
||
+ sll $14,$24,7
|
||
+ and $15,$24
|
||
+ srl $13,$24,11
|
||
+ xor $31,$14
|
||
+ sll $14,$24,21
|
||
+ xor $31,$13
|
||
+ srl $13,$24,25
|
||
+ xor $31,$14
|
||
+ sll $14,$24,26
|
||
+ xor $31,$13
|
||
+ xor $15,$30 # Ch(e,f,g)
|
||
+ xor $13,$14,$31 # Sigma1(e)
|
||
+
|
||
+ srl $31,$1,2
|
||
+ addu $12,$15
|
||
+ lw $15,0($6) # K[0]
|
||
+ sll $14,$1,10
|
||
+ addu $12,$13
|
||
+ srl $13,$1,13
|
||
+ xor $31,$14
|
||
+ sll $14,$1,19
|
||
+ xor $31,$13
|
||
+ srl $13,$1,22
|
||
+ xor $31,$14
|
||
+ sll $14,$1,30
|
||
+ xor $31,$13
|
||
+ and $13,$2,$3
|
||
+ xor $31,$14 # Sigma0(a)
|
||
+ xor $14,$2,$3
|
||
+#endif
|
||
+ sw $8,0($29) # offload to ring buffer
|
||
+ addu $31,$13
|
||
+ and $14,$1
|
||
+ addu $12,$15 # +=K[0]
|
||
+ addu $31,$14 # +=Maj(a,b,c)
|
||
+ addu $7,$12
|
||
+ addu $31,$12
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $10,8($5)
|
||
+#else
|
||
+ lwl $10,8($5)
|
||
+ lwr $10,11($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $16,$24,$25 # 1
|
||
+ rotr $14,$7,6
|
||
+ addu $13,$9,$30
|
||
+ rotr $15,$7,11
|
||
+ and $16,$7
|
||
+ rotr $30,$7,25
|
||
+ xor $14,$15
|
||
+ rotr $15,$31,2
|
||
+ xor $16,$25 # Ch(e,f,g)
|
||
+ xor $14,$30 # Sigma1(e)
|
||
+
|
||
+ rotr $30,$31,13
|
||
+ addu $13,$16
|
||
+ lw $16,4($6) # K[1]
|
||
+ xor $30,$15
|
||
+ rotr $15,$31,22
|
||
+ addu $13,$14
|
||
+ and $14,$1,$2
|
||
+ xor $30,$15 # Sigma0(a)
|
||
+ xor $15,$1,$2
|
||
+#else
|
||
+ addu $13,$9,$30 # 1
|
||
+ srl $30,$7,6
|
||
+ xor $16,$24,$25
|
||
+ sll $15,$7,7
|
||
+ and $16,$7
|
||
+ srl $14,$7,11
|
||
+ xor $30,$15
|
||
+ sll $15,$7,21
|
||
+ xor $30,$14
|
||
+ srl $14,$7,25
|
||
+ xor $30,$15
|
||
+ sll $15,$7,26
|
||
+ xor $30,$14
|
||
+ xor $16,$25 # Ch(e,f,g)
|
||
+ xor $14,$15,$30 # Sigma1(e)
|
||
+
|
||
+ srl $30,$31,2
|
||
+ addu $13,$16
|
||
+ lw $16,4($6) # K[1]
|
||
+ sll $15,$31,10
|
||
+ addu $13,$14
|
||
+ srl $14,$31,13
|
||
+ xor $30,$15
|
||
+ sll $15,$31,19
|
||
+ xor $30,$14
|
||
+ srl $14,$31,22
|
||
+ xor $30,$15
|
||
+ sll $15,$31,30
|
||
+ xor $30,$14
|
||
+ and $14,$1,$2
|
||
+ xor $30,$15 # Sigma0(a)
|
||
+ xor $15,$1,$2
|
||
+#endif
|
||
+ sw $9,4($29) # offload to ring buffer
|
||
+ addu $30,$14
|
||
+ and $15,$31
|
||
+ addu $13,$16 # +=K[1]
|
||
+ addu $30,$15 # +=Maj(a,b,c)
|
||
+ addu $3,$13
|
||
+ addu $30,$13
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $11,12($5)
|
||
+#else
|
||
+ lwl $11,12($5)
|
||
+ lwr $11,15($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $17,$7,$24 # 2
|
||
+ rotr $15,$3,6
|
||
+ addu $14,$10,$25
|
||
+ rotr $16,$3,11
|
||
+ and $17,$3
|
||
+ rotr $25,$3,25
|
||
+ xor $15,$16
|
||
+ rotr $16,$30,2
|
||
+ xor $17,$24 # Ch(e,f,g)
|
||
+ xor $15,$25 # Sigma1(e)
|
||
+
|
||
+ rotr $25,$30,13
|
||
+ addu $14,$17
|
||
+ lw $17,8($6) # K[2]
|
||
+ xor $25,$16
|
||
+ rotr $16,$30,22
|
||
+ addu $14,$15
|
||
+ and $15,$31,$1
|
||
+ xor $25,$16 # Sigma0(a)
|
||
+ xor $16,$31,$1
|
||
+#else
|
||
+ addu $14,$10,$25 # 2
|
||
+ srl $25,$3,6
|
||
+ xor $17,$7,$24
|
||
+ sll $16,$3,7
|
||
+ and $17,$3
|
||
+ srl $15,$3,11
|
||
+ xor $25,$16
|
||
+ sll $16,$3,21
|
||
+ xor $25,$15
|
||
+ srl $15,$3,25
|
||
+ xor $25,$16
|
||
+ sll $16,$3,26
|
||
+ xor $25,$15
|
||
+ xor $17,$24 # Ch(e,f,g)
|
||
+ xor $15,$16,$25 # Sigma1(e)
|
||
+
|
||
+ srl $25,$30,2
|
||
+ addu $14,$17
|
||
+ lw $17,8($6) # K[2]
|
||
+ sll $16,$30,10
|
||
+ addu $14,$15
|
||
+ srl $15,$30,13
|
||
+ xor $25,$16
|
||
+ sll $16,$30,19
|
||
+ xor $25,$15
|
||
+ srl $15,$30,22
|
||
+ xor $25,$16
|
||
+ sll $16,$30,30
|
||
+ xor $25,$15
|
||
+ and $15,$31,$1
|
||
+ xor $25,$16 # Sigma0(a)
|
||
+ xor $16,$31,$1
|
||
+#endif
|
||
+ sw $10,8($29) # offload to ring buffer
|
||
+ addu $25,$15
|
||
+ and $16,$30
|
||
+ addu $14,$17 # +=K[2]
|
||
+ addu $25,$16 # +=Maj(a,b,c)
|
||
+ addu $2,$14
|
||
+ addu $25,$14
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $12,16($5)
|
||
+#else
|
||
+ lwl $12,16($5)
|
||
+ lwr $12,19($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $18,$3,$7 # 3
|
||
+ rotr $16,$2,6
|
||
+ addu $15,$11,$24
|
||
+ rotr $17,$2,11
|
||
+ and $18,$2
|
||
+ rotr $24,$2,25
|
||
+ xor $16,$17
|
||
+ rotr $17,$25,2
|
||
+ xor $18,$7 # Ch(e,f,g)
|
||
+ xor $16,$24 # Sigma1(e)
|
||
+
|
||
+ rotr $24,$25,13
|
||
+ addu $15,$18
|
||
+ lw $18,12($6) # K[3]
|
||
+ xor $24,$17
|
||
+ rotr $17,$25,22
|
||
+ addu $15,$16
|
||
+ and $16,$30,$31
|
||
+ xor $24,$17 # Sigma0(a)
|
||
+ xor $17,$30,$31
|
||
+#else
|
||
+ addu $15,$11,$24 # 3
|
||
+ srl $24,$2,6
|
||
+ xor $18,$3,$7
|
||
+ sll $17,$2,7
|
||
+ and $18,$2
|
||
+ srl $16,$2,11
|
||
+ xor $24,$17
|
||
+ sll $17,$2,21
|
||
+ xor $24,$16
|
||
+ srl $16,$2,25
|
||
+ xor $24,$17
|
||
+ sll $17,$2,26
|
||
+ xor $24,$16
|
||
+ xor $18,$7 # Ch(e,f,g)
|
||
+ xor $16,$17,$24 # Sigma1(e)
|
||
+
|
||
+ srl $24,$25,2
|
||
+ addu $15,$18
|
||
+ lw $18,12($6) # K[3]
|
||
+ sll $17,$25,10
|
||
+ addu $15,$16
|
||
+ srl $16,$25,13
|
||
+ xor $24,$17
|
||
+ sll $17,$25,19
|
||
+ xor $24,$16
|
||
+ srl $16,$25,22
|
||
+ xor $24,$17
|
||
+ sll $17,$25,30
|
||
+ xor $24,$16
|
||
+ and $16,$30,$31
|
||
+ xor $24,$17 # Sigma0(a)
|
||
+ xor $17,$30,$31
|
||
+#endif
|
||
+ sw $11,12($29) # offload to ring buffer
|
||
+ addu $24,$16
|
||
+ and $17,$25
|
||
+ addu $15,$18 # +=K[3]
|
||
+ addu $24,$17 # +=Maj(a,b,c)
|
||
+ addu $1,$15
|
||
+ addu $24,$15
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $13,20($5)
|
||
+#else
|
||
+ lwl $13,20($5)
|
||
+ lwr $13,23($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $19,$2,$3 # 4
|
||
+ rotr $17,$1,6
|
||
+ addu $16,$12,$7
|
||
+ rotr $18,$1,11
|
||
+ and $19,$1
|
||
+ rotr $7,$1,25
|
||
+ xor $17,$18
|
||
+ rotr $18,$24,2
|
||
+ xor $19,$3 # Ch(e,f,g)
|
||
+ xor $17,$7 # Sigma1(e)
|
||
+
|
||
+ rotr $7,$24,13
|
||
+ addu $16,$19
|
||
+ lw $19,16($6) # K[4]
|
||
+ xor $7,$18
|
||
+ rotr $18,$24,22
|
||
+ addu $16,$17
|
||
+ and $17,$25,$30
|
||
+ xor $7,$18 # Sigma0(a)
|
||
+ xor $18,$25,$30
|
||
+#else
|
||
+ addu $16,$12,$7 # 4
|
||
+ srl $7,$1,6
|
||
+ xor $19,$2,$3
|
||
+ sll $18,$1,7
|
||
+ and $19,$1
|
||
+ srl $17,$1,11
|
||
+ xor $7,$18
|
||
+ sll $18,$1,21
|
||
+ xor $7,$17
|
||
+ srl $17,$1,25
|
||
+ xor $7,$18
|
||
+ sll $18,$1,26
|
||
+ xor $7,$17
|
||
+ xor $19,$3 # Ch(e,f,g)
|
||
+ xor $17,$18,$7 # Sigma1(e)
|
||
+
|
||
+ srl $7,$24,2
|
||
+ addu $16,$19
|
||
+ lw $19,16($6) # K[4]
|
||
+ sll $18,$24,10
|
||
+ addu $16,$17
|
||
+ srl $17,$24,13
|
||
+ xor $7,$18
|
||
+ sll $18,$24,19
|
||
+ xor $7,$17
|
||
+ srl $17,$24,22
|
||
+ xor $7,$18
|
||
+ sll $18,$24,30
|
||
+ xor $7,$17
|
||
+ and $17,$25,$30
|
||
+ xor $7,$18 # Sigma0(a)
|
||
+ xor $18,$25,$30
|
||
+#endif
|
||
+ sw $12,16($29) # offload to ring buffer
|
||
+ addu $7,$17
|
||
+ and $18,$24
|
||
+ addu $16,$19 # +=K[4]
|
||
+ addu $7,$18 # +=Maj(a,b,c)
|
||
+ addu $31,$16
|
||
+ addu $7,$16
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $14,24($5)
|
||
+#else
|
||
+ lwl $14,24($5)
|
||
+ lwr $14,27($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $20,$1,$2 # 5
|
||
+ rotr $18,$31,6
|
||
+ addu $17,$13,$3
|
||
+ rotr $19,$31,11
|
||
+ and $20,$31
|
||
+ rotr $3,$31,25
|
||
+ xor $18,$19
|
||
+ rotr $19,$7,2
|
||
+ xor $20,$2 # Ch(e,f,g)
|
||
+ xor $18,$3 # Sigma1(e)
|
||
+
|
||
+ rotr $3,$7,13
|
||
+ addu $17,$20
|
||
+ lw $20,20($6) # K[5]
|
||
+ xor $3,$19
|
||
+ rotr $19,$7,22
|
||
+ addu $17,$18
|
||
+ and $18,$24,$25
|
||
+ xor $3,$19 # Sigma0(a)
|
||
+ xor $19,$24,$25
|
||
+#else
|
||
+ addu $17,$13,$3 # 5
|
||
+ srl $3,$31,6
|
||
+ xor $20,$1,$2
|
||
+ sll $19,$31,7
|
||
+ and $20,$31
|
||
+ srl $18,$31,11
|
||
+ xor $3,$19
|
||
+ sll $19,$31,21
|
||
+ xor $3,$18
|
||
+ srl $18,$31,25
|
||
+ xor $3,$19
|
||
+ sll $19,$31,26
|
||
+ xor $3,$18
|
||
+ xor $20,$2 # Ch(e,f,g)
|
||
+ xor $18,$19,$3 # Sigma1(e)
|
||
+
|
||
+ srl $3,$7,2
|
||
+ addu $17,$20
|
||
+ lw $20,20($6) # K[5]
|
||
+ sll $19,$7,10
|
||
+ addu $17,$18
|
||
+ srl $18,$7,13
|
||
+ xor $3,$19
|
||
+ sll $19,$7,19
|
||
+ xor $3,$18
|
||
+ srl $18,$7,22
|
||
+ xor $3,$19
|
||
+ sll $19,$7,30
|
||
+ xor $3,$18
|
||
+ and $18,$24,$25
|
||
+ xor $3,$19 # Sigma0(a)
|
||
+ xor $19,$24,$25
|
||
+#endif
|
||
+ sw $13,20($29) # offload to ring buffer
|
||
+ addu $3,$18
|
||
+ and $19,$7
|
||
+ addu $17,$20 # +=K[5]
|
||
+ addu $3,$19 # +=Maj(a,b,c)
|
||
+ addu $30,$17
|
||
+ addu $3,$17
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $15,28($5)
|
||
+#else
|
||
+ lwl $15,28($5)
|
||
+ lwr $15,31($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $21,$31,$1 # 6
|
||
+ rotr $19,$30,6
|
||
+ addu $18,$14,$2
|
||
+ rotr $20,$30,11
|
||
+ and $21,$30
|
||
+ rotr $2,$30,25
|
||
+ xor $19,$20
|
||
+ rotr $20,$3,2
|
||
+ xor $21,$1 # Ch(e,f,g)
|
||
+ xor $19,$2 # Sigma1(e)
|
||
+
|
||
+ rotr $2,$3,13
|
||
+ addu $18,$21
|
||
+ lw $21,24($6) # K[6]
|
||
+ xor $2,$20
|
||
+ rotr $20,$3,22
|
||
+ addu $18,$19
|
||
+ and $19,$7,$24
|
||
+ xor $2,$20 # Sigma0(a)
|
||
+ xor $20,$7,$24
|
||
+#else
|
||
+ addu $18,$14,$2 # 6
|
||
+ srl $2,$30,6
|
||
+ xor $21,$31,$1
|
||
+ sll $20,$30,7
|
||
+ and $21,$30
|
||
+ srl $19,$30,11
|
||
+ xor $2,$20
|
||
+ sll $20,$30,21
|
||
+ xor $2,$19
|
||
+ srl $19,$30,25
|
||
+ xor $2,$20
|
||
+ sll $20,$30,26
|
||
+ xor $2,$19
|
||
+ xor $21,$1 # Ch(e,f,g)
|
||
+ xor $19,$20,$2 # Sigma1(e)
|
||
+
|
||
+ srl $2,$3,2
|
||
+ addu $18,$21
|
||
+ lw $21,24($6) # K[6]
|
||
+ sll $20,$3,10
|
||
+ addu $18,$19
|
||
+ srl $19,$3,13
|
||
+ xor $2,$20
|
||
+ sll $20,$3,19
|
||
+ xor $2,$19
|
||
+ srl $19,$3,22
|
||
+ xor $2,$20
|
||
+ sll $20,$3,30
|
||
+ xor $2,$19
|
||
+ and $19,$7,$24
|
||
+ xor $2,$20 # Sigma0(a)
|
||
+ xor $20,$7,$24
|
||
+#endif
|
||
+ sw $14,24($29) # offload to ring buffer
|
||
+ addu $2,$19
|
||
+ and $20,$3
|
||
+ addu $18,$21 # +=K[6]
|
||
+ addu $2,$20 # +=Maj(a,b,c)
|
||
+ addu $25,$18
|
||
+ addu $2,$18
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $16,32($5)
|
||
+#else
|
||
+ lwl $16,32($5)
|
||
+ lwr $16,35($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $22,$30,$31 # 7
|
||
+ rotr $20,$25,6
|
||
+ addu $19,$15,$1
|
||
+ rotr $21,$25,11
|
||
+ and $22,$25
|
||
+ rotr $1,$25,25
|
||
+ xor $20,$21
|
||
+ rotr $21,$2,2
|
||
+ xor $22,$31 # Ch(e,f,g)
|
||
+ xor $20,$1 # Sigma1(e)
|
||
+
|
||
+ rotr $1,$2,13
|
||
+ addu $19,$22
|
||
+ lw $22,28($6) # K[7]
|
||
+ xor $1,$21
|
||
+ rotr $21,$2,22
|
||
+ addu $19,$20
|
||
+ and $20,$3,$7
|
||
+ xor $1,$21 # Sigma0(a)
|
||
+ xor $21,$3,$7
|
||
+#else
|
||
+ addu $19,$15,$1 # 7
|
||
+ srl $1,$25,6
|
||
+ xor $22,$30,$31
|
||
+ sll $21,$25,7
|
||
+ and $22,$25
|
||
+ srl $20,$25,11
|
||
+ xor $1,$21
|
||
+ sll $21,$25,21
|
||
+ xor $1,$20
|
||
+ srl $20,$25,25
|
||
+ xor $1,$21
|
||
+ sll $21,$25,26
|
||
+ xor $1,$20
|
||
+ xor $22,$31 # Ch(e,f,g)
|
||
+ xor $20,$21,$1 # Sigma1(e)
|
||
+
|
||
+ srl $1,$2,2
|
||
+ addu $19,$22
|
||
+ lw $22,28($6) # K[7]
|
||
+ sll $21,$2,10
|
||
+ addu $19,$20
|
||
+ srl $20,$2,13
|
||
+ xor $1,$21
|
||
+ sll $21,$2,19
|
||
+ xor $1,$20
|
||
+ srl $20,$2,22
|
||
+ xor $1,$21
|
||
+ sll $21,$2,30
|
||
+ xor $1,$20
|
||
+ and $20,$3,$7
|
||
+ xor $1,$21 # Sigma0(a)
|
||
+ xor $21,$3,$7
|
||
+#endif
|
||
+ sw $15,28($29) # offload to ring buffer
|
||
+ addu $1,$20
|
||
+ and $21,$2
|
||
+ addu $19,$22 # +=K[7]
|
||
+ addu $1,$21 # +=Maj(a,b,c)
|
||
+ addu $24,$19
|
||
+ addu $1,$19
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $17,36($5)
|
||
+#else
|
||
+ lwl $17,36($5)
|
||
+ lwr $17,39($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $23,$25,$30 # 8
|
||
+ rotr $21,$24,6
|
||
+ addu $20,$16,$31
|
||
+ rotr $22,$24,11
|
||
+ and $23,$24
|
||
+ rotr $31,$24,25
|
||
+ xor $21,$22
|
||
+ rotr $22,$1,2
|
||
+ xor $23,$30 # Ch(e,f,g)
|
||
+ xor $21,$31 # Sigma1(e)
|
||
+
|
||
+ rotr $31,$1,13
|
||
+ addu $20,$23
|
||
+ lw $23,32($6) # K[8]
|
||
+ xor $31,$22
|
||
+ rotr $22,$1,22
|
||
+ addu $20,$21
|
||
+ and $21,$2,$3
|
||
+ xor $31,$22 # Sigma0(a)
|
||
+ xor $22,$2,$3
|
||
+#else
|
||
+ addu $20,$16,$31 # 8
|
||
+ srl $31,$24,6
|
||
+ xor $23,$25,$30
|
||
+ sll $22,$24,7
|
||
+ and $23,$24
|
||
+ srl $21,$24,11
|
||
+ xor $31,$22
|
||
+ sll $22,$24,21
|
||
+ xor $31,$21
|
||
+ srl $21,$24,25
|
||
+ xor $31,$22
|
||
+ sll $22,$24,26
|
||
+ xor $31,$21
|
||
+ xor $23,$30 # Ch(e,f,g)
|
||
+ xor $21,$22,$31 # Sigma1(e)
|
||
+
|
||
+ srl $31,$1,2
|
||
+ addu $20,$23
|
||
+ lw $23,32($6) # K[8]
|
||
+ sll $22,$1,10
|
||
+ addu $20,$21
|
||
+ srl $21,$1,13
|
||
+ xor $31,$22
|
||
+ sll $22,$1,19
|
||
+ xor $31,$21
|
||
+ srl $21,$1,22
|
||
+ xor $31,$22
|
||
+ sll $22,$1,30
|
||
+ xor $31,$21
|
||
+ and $21,$2,$3
|
||
+ xor $31,$22 # Sigma0(a)
|
||
+ xor $22,$2,$3
|
||
+#endif
|
||
+ sw $16,32($29) # offload to ring buffer
|
||
+ addu $31,$21
|
||
+ and $22,$1
|
||
+ addu $20,$23 # +=K[8]
|
||
+ addu $31,$22 # +=Maj(a,b,c)
|
||
+ addu $7,$20
|
||
+ addu $31,$20
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $18,40($5)
|
||
+#else
|
||
+ lwl $18,40($5)
|
||
+ lwr $18,43($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $8,$24,$25 # 9
|
||
+ rotr $22,$7,6
|
||
+ addu $21,$17,$30
|
||
+ rotr $23,$7,11
|
||
+ and $8,$7
|
||
+ rotr $30,$7,25
|
||
+ xor $22,$23
|
||
+ rotr $23,$31,2
|
||
+ xor $8,$25 # Ch(e,f,g)
|
||
+ xor $22,$30 # Sigma1(e)
|
||
+
|
||
+ rotr $30,$31,13
|
||
+ addu $21,$8
|
||
+ lw $8,36($6) # K[9]
|
||
+ xor $30,$23
|
||
+ rotr $23,$31,22
|
||
+ addu $21,$22
|
||
+ and $22,$1,$2
|
||
+ xor $30,$23 # Sigma0(a)
|
||
+ xor $23,$1,$2
|
||
+#else
|
||
+ addu $21,$17,$30 # 9
|
||
+ srl $30,$7,6
|
||
+ xor $8,$24,$25
|
||
+ sll $23,$7,7
|
||
+ and $8,$7
|
||
+ srl $22,$7,11
|
||
+ xor $30,$23
|
||
+ sll $23,$7,21
|
||
+ xor $30,$22
|
||
+ srl $22,$7,25
|
||
+ xor $30,$23
|
||
+ sll $23,$7,26
|
||
+ xor $30,$22
|
||
+ xor $8,$25 # Ch(e,f,g)
|
||
+ xor $22,$23,$30 # Sigma1(e)
|
||
+
|
||
+ srl $30,$31,2
|
||
+ addu $21,$8
|
||
+ lw $8,36($6) # K[9]
|
||
+ sll $23,$31,10
|
||
+ addu $21,$22
|
||
+ srl $22,$31,13
|
||
+ xor $30,$23
|
||
+ sll $23,$31,19
|
||
+ xor $30,$22
|
||
+ srl $22,$31,22
|
||
+ xor $30,$23
|
||
+ sll $23,$31,30
|
||
+ xor $30,$22
|
||
+ and $22,$1,$2
|
||
+ xor $30,$23 # Sigma0(a)
|
||
+ xor $23,$1,$2
|
||
+#endif
|
||
+ sw $17,36($29) # offload to ring buffer
|
||
+ addu $30,$22
|
||
+ and $23,$31
|
||
+ addu $21,$8 # +=K[9]
|
||
+ addu $30,$23 # +=Maj(a,b,c)
|
||
+ addu $3,$21
|
||
+ addu $30,$21
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $19,44($5)
|
||
+#else
|
||
+ lwl $19,44($5)
|
||
+ lwr $19,47($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $9,$7,$24 # 10
|
||
+ rotr $23,$3,6
|
||
+ addu $22,$18,$25
|
||
+ rotr $8,$3,11
|
||
+ and $9,$3
|
||
+ rotr $25,$3,25
|
||
+ xor $23,$8
|
||
+ rotr $8,$30,2
|
||
+ xor $9,$24 # Ch(e,f,g)
|
||
+ xor $23,$25 # Sigma1(e)
|
||
+
|
||
+ rotr $25,$30,13
|
||
+ addu $22,$9
|
||
+ lw $9,40($6) # K[10]
|
||
+ xor $25,$8
|
||
+ rotr $8,$30,22
|
||
+ addu $22,$23
|
||
+ and $23,$31,$1
|
||
+ xor $25,$8 # Sigma0(a)
|
||
+ xor $8,$31,$1
|
||
+#else
|
||
+ addu $22,$18,$25 # 10
|
||
+ srl $25,$3,6
|
||
+ xor $9,$7,$24
|
||
+ sll $8,$3,7
|
||
+ and $9,$3
|
||
+ srl $23,$3,11
|
||
+ xor $25,$8
|
||
+ sll $8,$3,21
|
||
+ xor $25,$23
|
||
+ srl $23,$3,25
|
||
+ xor $25,$8
|
||
+ sll $8,$3,26
|
||
+ xor $25,$23
|
||
+ xor $9,$24 # Ch(e,f,g)
|
||
+ xor $23,$8,$25 # Sigma1(e)
|
||
+
|
||
+ srl $25,$30,2
|
||
+ addu $22,$9
|
||
+ lw $9,40($6) # K[10]
|
||
+ sll $8,$30,10
|
||
+ addu $22,$23
|
||
+ srl $23,$30,13
|
||
+ xor $25,$8
|
||
+ sll $8,$30,19
|
||
+ xor $25,$23
|
||
+ srl $23,$30,22
|
||
+ xor $25,$8
|
||
+ sll $8,$30,30
|
||
+ xor $25,$23
|
||
+ and $23,$31,$1
|
||
+ xor $25,$8 # Sigma0(a)
|
||
+ xor $8,$31,$1
|
||
+#endif
|
||
+ sw $18,40($29) # offload to ring buffer
|
||
+ addu $25,$23
|
||
+ and $8,$30
|
||
+ addu $22,$9 # +=K[10]
|
||
+ addu $25,$8 # +=Maj(a,b,c)
|
||
+ addu $2,$22
|
||
+ addu $25,$22
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $20,48($5)
|
||
+#else
|
||
+ lwl $20,48($5)
|
||
+ lwr $20,51($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $10,$3,$7 # 11
|
||
+ rotr $8,$2,6
|
||
+ addu $23,$19,$24
|
||
+ rotr $9,$2,11
|
||
+ and $10,$2
|
||
+ rotr $24,$2,25
|
||
+ xor $8,$9
|
||
+ rotr $9,$25,2
|
||
+ xor $10,$7 # Ch(e,f,g)
|
||
+ xor $8,$24 # Sigma1(e)
|
||
+
|
||
+ rotr $24,$25,13
|
||
+ addu $23,$10
|
||
+ lw $10,44($6) # K[11]
|
||
+ xor $24,$9
|
||
+ rotr $9,$25,22
|
||
+ addu $23,$8
|
||
+ and $8,$30,$31
|
||
+ xor $24,$9 # Sigma0(a)
|
||
+ xor $9,$30,$31
|
||
+#else
|
||
+ addu $23,$19,$24 # 11
|
||
+ srl $24,$2,6
|
||
+ xor $10,$3,$7
|
||
+ sll $9,$2,7
|
||
+ and $10,$2
|
||
+ srl $8,$2,11
|
||
+ xor $24,$9
|
||
+ sll $9,$2,21
|
||
+ xor $24,$8
|
||
+ srl $8,$2,25
|
||
+ xor $24,$9
|
||
+ sll $9,$2,26
|
||
+ xor $24,$8
|
||
+ xor $10,$7 # Ch(e,f,g)
|
||
+ xor $8,$9,$24 # Sigma1(e)
|
||
+
|
||
+ srl $24,$25,2
|
||
+ addu $23,$10
|
||
+ lw $10,44($6) # K[11]
|
||
+ sll $9,$25,10
|
||
+ addu $23,$8
|
||
+ srl $8,$25,13
|
||
+ xor $24,$9
|
||
+ sll $9,$25,19
|
||
+ xor $24,$8
|
||
+ srl $8,$25,22
|
||
+ xor $24,$9
|
||
+ sll $9,$25,30
|
||
+ xor $24,$8
|
||
+ and $8,$30,$31
|
||
+ xor $24,$9 # Sigma0(a)
|
||
+ xor $9,$30,$31
|
||
+#endif
|
||
+ sw $19,44($29) # offload to ring buffer
|
||
+ addu $24,$8
|
||
+ and $9,$25
|
||
+ addu $23,$10 # +=K[11]
|
||
+ addu $24,$9 # +=Maj(a,b,c)
|
||
+ addu $1,$23
|
||
+ addu $24,$23
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $21,52($5)
|
||
+#else
|
||
+ lwl $21,52($5)
|
||
+ lwr $21,55($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $11,$2,$3 # 12
|
||
+ rotr $9,$1,6
|
||
+ addu $8,$20,$7
|
||
+ rotr $10,$1,11
|
||
+ and $11,$1
|
||
+ rotr $7,$1,25
|
||
+ xor $9,$10
|
||
+ rotr $10,$24,2
|
||
+ xor $11,$3 # Ch(e,f,g)
|
||
+ xor $9,$7 # Sigma1(e)
|
||
+
|
||
+ rotr $7,$24,13
|
||
+ addu $8,$11
|
||
+ lw $11,48($6) # K[12]
|
||
+ xor $7,$10
|
||
+ rotr $10,$24,22
|
||
+ addu $8,$9
|
||
+ and $9,$25,$30
|
||
+ xor $7,$10 # Sigma0(a)
|
||
+ xor $10,$25,$30
|
||
+#else
|
||
+ addu $8,$20,$7 # 12
|
||
+ srl $7,$1,6
|
||
+ xor $11,$2,$3
|
||
+ sll $10,$1,7
|
||
+ and $11,$1
|
||
+ srl $9,$1,11
|
||
+ xor $7,$10
|
||
+ sll $10,$1,21
|
||
+ xor $7,$9
|
||
+ srl $9,$1,25
|
||
+ xor $7,$10
|
||
+ sll $10,$1,26
|
||
+ xor $7,$9
|
||
+ xor $11,$3 # Ch(e,f,g)
|
||
+ xor $9,$10,$7 # Sigma1(e)
|
||
+
|
||
+ srl $7,$24,2
|
||
+ addu $8,$11
|
||
+ lw $11,48($6) # K[12]
|
||
+ sll $10,$24,10
|
||
+ addu $8,$9
|
||
+ srl $9,$24,13
|
||
+ xor $7,$10
|
||
+ sll $10,$24,19
|
||
+ xor $7,$9
|
||
+ srl $9,$24,22
|
||
+ xor $7,$10
|
||
+ sll $10,$24,30
|
||
+ xor $7,$9
|
||
+ and $9,$25,$30
|
||
+ xor $7,$10 # Sigma0(a)
|
||
+ xor $10,$25,$30
|
||
+#endif
|
||
+ sw $20,48($29) # offload to ring buffer
|
||
+ addu $7,$9
|
||
+ and $10,$24
|
||
+ addu $8,$11 # +=K[12]
|
||
+ addu $7,$10 # +=Maj(a,b,c)
|
||
+ addu $31,$8
|
||
+ addu $7,$8
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $22,56($5)
|
||
+#else
|
||
+ lwl $22,56($5)
|
||
+ lwr $22,59($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $12,$1,$2 # 13
|
||
+ rotr $10,$31,6
|
||
+ addu $9,$21,$3
|
||
+ rotr $11,$31,11
|
||
+ and $12,$31
|
||
+ rotr $3,$31,25
|
||
+ xor $10,$11
|
||
+ rotr $11,$7,2
|
||
+ xor $12,$2 # Ch(e,f,g)
|
||
+ xor $10,$3 # Sigma1(e)
|
||
+
|
||
+ rotr $3,$7,13
|
||
+ addu $9,$12
|
||
+ lw $12,52($6) # K[13]
|
||
+ xor $3,$11
|
||
+ rotr $11,$7,22
|
||
+ addu $9,$10
|
||
+ and $10,$24,$25
|
||
+ xor $3,$11 # Sigma0(a)
|
||
+ xor $11,$24,$25
|
||
+#else
|
||
+ addu $9,$21,$3 # 13
|
||
+ srl $3,$31,6
|
||
+ xor $12,$1,$2
|
||
+ sll $11,$31,7
|
||
+ and $12,$31
|
||
+ srl $10,$31,11
|
||
+ xor $3,$11
|
||
+ sll $11,$31,21
|
||
+ xor $3,$10
|
||
+ srl $10,$31,25
|
||
+ xor $3,$11
|
||
+ sll $11,$31,26
|
||
+ xor $3,$10
|
||
+ xor $12,$2 # Ch(e,f,g)
|
||
+ xor $10,$11,$3 # Sigma1(e)
|
||
+
|
||
+ srl $3,$7,2
|
||
+ addu $9,$12
|
||
+ lw $12,52($6) # K[13]
|
||
+ sll $11,$7,10
|
||
+ addu $9,$10
|
||
+ srl $10,$7,13
|
||
+ xor $3,$11
|
||
+ sll $11,$7,19
|
||
+ xor $3,$10
|
||
+ srl $10,$7,22
|
||
+ xor $3,$11
|
||
+ sll $11,$7,30
|
||
+ xor $3,$10
|
||
+ and $10,$24,$25
|
||
+ xor $3,$11 # Sigma0(a)
|
||
+ xor $11,$24,$25
|
||
+#endif
|
||
+ sw $21,52($29) # offload to ring buffer
|
||
+ addu $3,$10
|
||
+ and $11,$7
|
||
+ addu $9,$12 # +=K[13]
|
||
+ addu $3,$11 # +=Maj(a,b,c)
|
||
+ addu $30,$9
|
||
+ addu $3,$9
|
||
+ lw $8,0($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $23,60($5)
|
||
+#else
|
||
+ lwl $23,60($5)
|
||
+ lwr $23,63($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $13,$31,$1 # 14
|
||
+ rotr $11,$30,6
|
||
+ addu $10,$22,$2
|
||
+ rotr $12,$30,11
|
||
+ and $13,$30
|
||
+ rotr $2,$30,25
|
||
+ xor $11,$12
|
||
+ rotr $12,$3,2
|
||
+ xor $13,$1 # Ch(e,f,g)
|
||
+ xor $11,$2 # Sigma1(e)
|
||
+
|
||
+ rotr $2,$3,13
|
||
+ addu $10,$13
|
||
+ lw $13,56($6) # K[14]
|
||
+ xor $2,$12
|
||
+ rotr $12,$3,22
|
||
+ addu $10,$11
|
||
+ and $11,$7,$24
|
||
+ xor $2,$12 # Sigma0(a)
|
||
+ xor $12,$7,$24
|
||
+#else
|
||
+ addu $10,$22,$2 # 14
|
||
+ srl $2,$30,6
|
||
+ xor $13,$31,$1
|
||
+ sll $12,$30,7
|
||
+ and $13,$30
|
||
+ srl $11,$30,11
|
||
+ xor $2,$12
|
||
+ sll $12,$30,21
|
||
+ xor $2,$11
|
||
+ srl $11,$30,25
|
||
+ xor $2,$12
|
||
+ sll $12,$30,26
|
||
+ xor $2,$11
|
||
+ xor $13,$1 # Ch(e,f,g)
|
||
+ xor $11,$12,$2 # Sigma1(e)
|
||
+
|
||
+ srl $2,$3,2
|
||
+ addu $10,$13
|
||
+ lw $13,56($6) # K[14]
|
||
+ sll $12,$3,10
|
||
+ addu $10,$11
|
||
+ srl $11,$3,13
|
||
+ xor $2,$12
|
||
+ sll $12,$3,19
|
||
+ xor $2,$11
|
||
+ srl $11,$3,22
|
||
+ xor $2,$12
|
||
+ sll $12,$3,30
|
||
+ xor $2,$11
|
||
+ and $11,$7,$24
|
||
+ xor $2,$12 # Sigma0(a)
|
||
+ xor $12,$7,$24
|
||
+#endif
|
||
+ sw $22,56($29) # offload to ring buffer
|
||
+ addu $2,$11
|
||
+ and $12,$3
|
||
+ addu $10,$13 # +=K[14]
|
||
+ addu $2,$12 # +=Maj(a,b,c)
|
||
+ addu $25,$10
|
||
+ addu $2,$10
|
||
+ lw $9,4($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $14,$30,$31 # 15
|
||
+ rotr $12,$25,6
|
||
+ addu $11,$23,$1
|
||
+ rotr $13,$25,11
|
||
+ and $14,$25
|
||
+ rotr $1,$25,25
|
||
+ xor $12,$13
|
||
+ rotr $13,$2,2
|
||
+ xor $14,$31 # Ch(e,f,g)
|
||
+ xor $12,$1 # Sigma1(e)
|
||
+
|
||
+ rotr $1,$2,13
|
||
+ addu $11,$14
|
||
+ lw $14,60($6) # K[15]
|
||
+ xor $1,$13
|
||
+ rotr $13,$2,22
|
||
+ addu $11,$12
|
||
+ and $12,$3,$7
|
||
+ xor $1,$13 # Sigma0(a)
|
||
+ xor $13,$3,$7
|
||
+#else
|
||
+ addu $11,$23,$1 # 15
|
||
+ srl $1,$25,6
|
||
+ xor $14,$30,$31
|
||
+ sll $13,$25,7
|
||
+ and $14,$25
|
||
+ srl $12,$25,11
|
||
+ xor $1,$13
|
||
+ sll $13,$25,21
|
||
+ xor $1,$12
|
||
+ srl $12,$25,25
|
||
+ xor $1,$13
|
||
+ sll $13,$25,26
|
||
+ xor $1,$12
|
||
+ xor $14,$31 # Ch(e,f,g)
|
||
+ xor $12,$13,$1 # Sigma1(e)
|
||
+
|
||
+ srl $1,$2,2
|
||
+ addu $11,$14
|
||
+ lw $14,60($6) # K[15]
|
||
+ sll $13,$2,10
|
||
+ addu $11,$12
|
||
+ srl $12,$2,13
|
||
+ xor $1,$13
|
||
+ sll $13,$2,19
|
||
+ xor $1,$12
|
||
+ srl $12,$2,22
|
||
+ xor $1,$13
|
||
+ sll $13,$2,30
|
||
+ xor $1,$12
|
||
+ and $12,$3,$7
|
||
+ xor $1,$13 # Sigma0(a)
|
||
+ xor $13,$3,$7
|
||
+#endif
|
||
+ sw $23,60($29) # offload to ring buffer
|
||
+ addu $1,$12
|
||
+ and $13,$2
|
||
+ addu $11,$14 # +=K[15]
|
||
+ addu $1,$13 # +=Maj(a,b,c)
|
||
+ addu $24,$11
|
||
+ addu $1,$11
|
||
+ lw $10,8($29) # prefetch from ring buffer
|
||
+ b .L16_xx
|
||
+.align 4
|
||
+.L16_xx:
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $14,$9,3 # Xupdate(16)
|
||
+ rotr $12,$9,7
|
||
+ addu $8,$17 # +=X[i+9]
|
||
+ xor $14,$12
|
||
+ rotr $12,$9,18
|
||
+
|
||
+ srl $15,$22,10
|
||
+ rotr $13,$22,17
|
||
+ xor $14,$12 # sigma0(X[i+1])
|
||
+ rotr $12,$22,19
|
||
+ xor $15,$13
|
||
+ addu $8,$14
|
||
+#else
|
||
+ srl $14,$9,3 # Xupdate(16)
|
||
+ addu $8,$17 # +=X[i+9]
|
||
+ sll $13,$9,14
|
||
+ srl $12,$9,7
|
||
+ xor $14,$13
|
||
+ sll $13,11
|
||
+ xor $14,$12
|
||
+ srl $12,$9,18
|
||
+ xor $14,$13
|
||
+
|
||
+ srl $15,$22,10
|
||
+ xor $14,$12 # sigma0(X[i+1])
|
||
+ sll $13,$22,13
|
||
+ addu $8,$14
|
||
+ srl $12,$22,17
|
||
+ xor $15,$13
|
||
+ sll $13,2
|
||
+ xor $15,$12
|
||
+ srl $12,$22,19
|
||
+ xor $15,$13
|
||
+#endif
|
||
+ xor $15,$12 # sigma1(X[i+14])
|
||
+ addu $8,$15
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $15,$25,$30 # 16
|
||
+ rotr $13,$24,6
|
||
+ addu $12,$8,$31
|
||
+ rotr $14,$24,11
|
||
+ and $15,$24
|
||
+ rotr $31,$24,25
|
||
+ xor $13,$14
|
||
+ rotr $14,$1,2
|
||
+ xor $15,$30 # Ch(e,f,g)
|
||
+ xor $13,$31 # Sigma1(e)
|
||
+
|
||
+ rotr $31,$1,13
|
||
+ addu $12,$15
|
||
+ lw $15,64($6) # K[16]
|
||
+ xor $31,$14
|
||
+ rotr $14,$1,22
|
||
+ addu $12,$13
|
||
+ and $13,$2,$3
|
||
+ xor $31,$14 # Sigma0(a)
|
||
+ xor $14,$2,$3
|
||
+#else
|
||
+ addu $12,$8,$31 # 16
|
||
+ srl $31,$24,6
|
||
+ xor $15,$25,$30
|
||
+ sll $14,$24,7
|
||
+ and $15,$24
|
||
+ srl $13,$24,11
|
||
+ xor $31,$14
|
||
+ sll $14,$24,21
|
||
+ xor $31,$13
|
||
+ srl $13,$24,25
|
||
+ xor $31,$14
|
||
+ sll $14,$24,26
|
||
+ xor $31,$13
|
||
+ xor $15,$30 # Ch(e,f,g)
|
||
+ xor $13,$14,$31 # Sigma1(e)
|
||
+
|
||
+ srl $31,$1,2
|
||
+ addu $12,$15
|
||
+ lw $15,64($6) # K[16]
|
||
+ sll $14,$1,10
|
||
+ addu $12,$13
|
||
+ srl $13,$1,13
|
||
+ xor $31,$14
|
||
+ sll $14,$1,19
|
||
+ xor $31,$13
|
||
+ srl $13,$1,22
|
||
+ xor $31,$14
|
||
+ sll $14,$1,30
|
||
+ xor $31,$13
|
||
+ and $13,$2,$3
|
||
+ xor $31,$14 # Sigma0(a)
|
||
+ xor $14,$2,$3
|
||
+#endif
|
||
+ sw $8,0($29) # offload to ring buffer
|
||
+ addu $31,$13
|
||
+ and $14,$1
|
||
+ addu $12,$15 # +=K[16]
|
||
+ addu $31,$14 # +=Maj(a,b,c)
|
||
+ addu $7,$12
|
||
+ addu $31,$12
|
||
+ lw $11,12($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $15,$10,3 # Xupdate(17)
|
||
+ rotr $13,$10,7
|
||
+ addu $9,$18 # +=X[i+9]
|
||
+ xor $15,$13
|
||
+ rotr $13,$10,18
|
||
+
|
||
+ srl $16,$23,10
|
||
+ rotr $14,$23,17
|
||
+ xor $15,$13 # sigma0(X[i+1])
|
||
+ rotr $13,$23,19
|
||
+ xor $16,$14
|
||
+ addu $9,$15
|
||
+#else
|
||
+ srl $15,$10,3 # Xupdate(17)
|
||
+ addu $9,$18 # +=X[i+9]
|
||
+ sll $14,$10,14
|
||
+ srl $13,$10,7
|
||
+ xor $15,$14
|
||
+ sll $14,11
|
||
+ xor $15,$13
|
||
+ srl $13,$10,18
|
||
+ xor $15,$14
|
||
+
|
||
+ srl $16,$23,10
|
||
+ xor $15,$13 # sigma0(X[i+1])
|
||
+ sll $14,$23,13
|
||
+ addu $9,$15
|
||
+ srl $13,$23,17
|
||
+ xor $16,$14
|
||
+ sll $14,2
|
||
+ xor $16,$13
|
||
+ srl $13,$23,19
|
||
+ xor $16,$14
|
||
+#endif
|
||
+ xor $16,$13 # sigma1(X[i+14])
|
||
+ addu $9,$16
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $16,$24,$25 # 17
|
||
+ rotr $14,$7,6
|
||
+ addu $13,$9,$30
|
||
+ rotr $15,$7,11
|
||
+ and $16,$7
|
||
+ rotr $30,$7,25
|
||
+ xor $14,$15
|
||
+ rotr $15,$31,2
|
||
+ xor $16,$25 # Ch(e,f,g)
|
||
+ xor $14,$30 # Sigma1(e)
|
||
+
|
||
+ rotr $30,$31,13
|
||
+ addu $13,$16
|
||
+ lw $16,68($6) # K[17]
|
||
+ xor $30,$15
|
||
+ rotr $15,$31,22
|
||
+ addu $13,$14
|
||
+ and $14,$1,$2
|
||
+ xor $30,$15 # Sigma0(a)
|
||
+ xor $15,$1,$2
|
||
+#else
|
||
+ addu $13,$9,$30 # 17
|
||
+ srl $30,$7,6
|
||
+ xor $16,$24,$25
|
||
+ sll $15,$7,7
|
||
+ and $16,$7
|
||
+ srl $14,$7,11
|
||
+ xor $30,$15
|
||
+ sll $15,$7,21
|
||
+ xor $30,$14
|
||
+ srl $14,$7,25
|
||
+ xor $30,$15
|
||
+ sll $15,$7,26
|
||
+ xor $30,$14
|
||
+ xor $16,$25 # Ch(e,f,g)
|
||
+ xor $14,$15,$30 # Sigma1(e)
|
||
+
|
||
+ srl $30,$31,2
|
||
+ addu $13,$16
|
||
+ lw $16,68($6) # K[17]
|
||
+ sll $15,$31,10
|
||
+ addu $13,$14
|
||
+ srl $14,$31,13
|
||
+ xor $30,$15
|
||
+ sll $15,$31,19
|
||
+ xor $30,$14
|
||
+ srl $14,$31,22
|
||
+ xor $30,$15
|
||
+ sll $15,$31,30
|
||
+ xor $30,$14
|
||
+ and $14,$1,$2
|
||
+ xor $30,$15 # Sigma0(a)
|
||
+ xor $15,$1,$2
|
||
+#endif
|
||
+ sw $9,4($29) # offload to ring buffer
|
||
+ addu $30,$14
|
||
+ and $15,$31
|
||
+ addu $13,$16 # +=K[17]
|
||
+ addu $30,$15 # +=Maj(a,b,c)
|
||
+ addu $3,$13
|
||
+ addu $30,$13
|
||
+ lw $12,16($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $16,$11,3 # Xupdate(18)
|
||
+ rotr $14,$11,7
|
||
+ addu $10,$19 # +=X[i+9]
|
||
+ xor $16,$14
|
||
+ rotr $14,$11,18
|
||
+
|
||
+ srl $17,$8,10
|
||
+ rotr $15,$8,17
|
||
+ xor $16,$14 # sigma0(X[i+1])
|
||
+ rotr $14,$8,19
|
||
+ xor $17,$15
|
||
+ addu $10,$16
|
||
+#else
|
||
+ srl $16,$11,3 # Xupdate(18)
|
||
+ addu $10,$19 # +=X[i+9]
|
||
+ sll $15,$11,14
|
||
+ srl $14,$11,7
|
||
+ xor $16,$15
|
||
+ sll $15,11
|
||
+ xor $16,$14
|
||
+ srl $14,$11,18
|
||
+ xor $16,$15
|
||
+
|
||
+ srl $17,$8,10
|
||
+ xor $16,$14 # sigma0(X[i+1])
|
||
+ sll $15,$8,13
|
||
+ addu $10,$16
|
||
+ srl $14,$8,17
|
||
+ xor $17,$15
|
||
+ sll $15,2
|
||
+ xor $17,$14
|
||
+ srl $14,$8,19
|
||
+ xor $17,$15
|
||
+#endif
|
||
+ xor $17,$14 # sigma1(X[i+14])
|
||
+ addu $10,$17
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $17,$7,$24 # 18
|
||
+ rotr $15,$3,6
|
||
+ addu $14,$10,$25
|
||
+ rotr $16,$3,11
|
||
+ and $17,$3
|
||
+ rotr $25,$3,25
|
||
+ xor $15,$16
|
||
+ rotr $16,$30,2
|
||
+ xor $17,$24 # Ch(e,f,g)
|
||
+ xor $15,$25 # Sigma1(e)
|
||
+
|
||
+ rotr $25,$30,13
|
||
+ addu $14,$17
|
||
+ lw $17,72($6) # K[18]
|
||
+ xor $25,$16
|
||
+ rotr $16,$30,22
|
||
+ addu $14,$15
|
||
+ and $15,$31,$1
|
||
+ xor $25,$16 # Sigma0(a)
|
||
+ xor $16,$31,$1
|
||
+#else
|
||
+ addu $14,$10,$25 # 18
|
||
+ srl $25,$3,6
|
||
+ xor $17,$7,$24
|
||
+ sll $16,$3,7
|
||
+ and $17,$3
|
||
+ srl $15,$3,11
|
||
+ xor $25,$16
|
||
+ sll $16,$3,21
|
||
+ xor $25,$15
|
||
+ srl $15,$3,25
|
||
+ xor $25,$16
|
||
+ sll $16,$3,26
|
||
+ xor $25,$15
|
||
+ xor $17,$24 # Ch(e,f,g)
|
||
+ xor $15,$16,$25 # Sigma1(e)
|
||
+
|
||
+ srl $25,$30,2
|
||
+ addu $14,$17
|
||
+ lw $17,72($6) # K[18]
|
||
+ sll $16,$30,10
|
||
+ addu $14,$15
|
||
+ srl $15,$30,13
|
||
+ xor $25,$16
|
||
+ sll $16,$30,19
|
||
+ xor $25,$15
|
||
+ srl $15,$30,22
|
||
+ xor $25,$16
|
||
+ sll $16,$30,30
|
||
+ xor $25,$15
|
||
+ and $15,$31,$1
|
||
+ xor $25,$16 # Sigma0(a)
|
||
+ xor $16,$31,$1
|
||
+#endif
|
||
+ sw $10,8($29) # offload to ring buffer
|
||
+ addu $25,$15
|
||
+ and $16,$30
|
||
+ addu $14,$17 # +=K[18]
|
||
+ addu $25,$16 # +=Maj(a,b,c)
|
||
+ addu $2,$14
|
||
+ addu $25,$14
|
||
+ lw $13,20($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $17,$12,3 # Xupdate(19)
|
||
+ rotr $15,$12,7
|
||
+ addu $11,$20 # +=X[i+9]
|
||
+ xor $17,$15
|
||
+ rotr $15,$12,18
|
||
+
|
||
+ srl $18,$9,10
|
||
+ rotr $16,$9,17
|
||
+ xor $17,$15 # sigma0(X[i+1])
|
||
+ rotr $15,$9,19
|
||
+ xor $18,$16
|
||
+ addu $11,$17
|
||
+#else
|
||
+ srl $17,$12,3 # Xupdate(19)
|
||
+ addu $11,$20 # +=X[i+9]
|
||
+ sll $16,$12,14
|
||
+ srl $15,$12,7
|
||
+ xor $17,$16
|
||
+ sll $16,11
|
||
+ xor $17,$15
|
||
+ srl $15,$12,18
|
||
+ xor $17,$16
|
||
+
|
||
+ srl $18,$9,10
|
||
+ xor $17,$15 # sigma0(X[i+1])
|
||
+ sll $16,$9,13
|
||
+ addu $11,$17
|
||
+ srl $15,$9,17
|
||
+ xor $18,$16
|
||
+ sll $16,2
|
||
+ xor $18,$15
|
||
+ srl $15,$9,19
|
||
+ xor $18,$16
|
||
+#endif
|
||
+ xor $18,$15 # sigma1(X[i+14])
|
||
+ addu $11,$18
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $18,$3,$7 # 19
|
||
+ rotr $16,$2,6
|
||
+ addu $15,$11,$24
|
||
+ rotr $17,$2,11
|
||
+ and $18,$2
|
||
+ rotr $24,$2,25
|
||
+ xor $16,$17
|
||
+ rotr $17,$25,2
|
||
+ xor $18,$7 # Ch(e,f,g)
|
||
+ xor $16,$24 # Sigma1(e)
|
||
+
|
||
+ rotr $24,$25,13
|
||
+ addu $15,$18
|
||
+ lw $18,76($6) # K[19]
|
||
+ xor $24,$17
|
||
+ rotr $17,$25,22
|
||
+ addu $15,$16
|
||
+ and $16,$30,$31
|
||
+ xor $24,$17 # Sigma0(a)
|
||
+ xor $17,$30,$31
|
||
+#else
|
||
+ addu $15,$11,$24 # 19
|
||
+ srl $24,$2,6
|
||
+ xor $18,$3,$7
|
||
+ sll $17,$2,7
|
||
+ and $18,$2
|
||
+ srl $16,$2,11
|
||
+ xor $24,$17
|
||
+ sll $17,$2,21
|
||
+ xor $24,$16
|
||
+ srl $16,$2,25
|
||
+ xor $24,$17
|
||
+ sll $17,$2,26
|
||
+ xor $24,$16
|
||
+ xor $18,$7 # Ch(e,f,g)
|
||
+ xor $16,$17,$24 # Sigma1(e)
|
||
+
|
||
+ srl $24,$25,2
|
||
+ addu $15,$18
|
||
+ lw $18,76($6) # K[19]
|
||
+ sll $17,$25,10
|
||
+ addu $15,$16
|
||
+ srl $16,$25,13
|
||
+ xor $24,$17
|
||
+ sll $17,$25,19
|
||
+ xor $24,$16
|
||
+ srl $16,$25,22
|
||
+ xor $24,$17
|
||
+ sll $17,$25,30
|
||
+ xor $24,$16
|
||
+ and $16,$30,$31
|
||
+ xor $24,$17 # Sigma0(a)
|
||
+ xor $17,$30,$31
|
||
+#endif
|
||
+ sw $11,12($29) # offload to ring buffer
|
||
+ addu $24,$16
|
||
+ and $17,$25
|
||
+ addu $15,$18 # +=K[19]
|
||
+ addu $24,$17 # +=Maj(a,b,c)
|
||
+ addu $1,$15
|
||
+ addu $24,$15
|
||
+ lw $14,24($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $18,$13,3 # Xupdate(20)
|
||
+ rotr $16,$13,7
|
||
+ addu $12,$21 # +=X[i+9]
|
||
+ xor $18,$16
|
||
+ rotr $16,$13,18
|
||
+
|
||
+ srl $19,$10,10
|
||
+ rotr $17,$10,17
|
||
+ xor $18,$16 # sigma0(X[i+1])
|
||
+ rotr $16,$10,19
|
||
+ xor $19,$17
|
||
+ addu $12,$18
|
||
+#else
|
||
+ srl $18,$13,3 # Xupdate(20)
|
||
+ addu $12,$21 # +=X[i+9]
|
||
+ sll $17,$13,14
|
||
+ srl $16,$13,7
|
||
+ xor $18,$17
|
||
+ sll $17,11
|
||
+ xor $18,$16
|
||
+ srl $16,$13,18
|
||
+ xor $18,$17
|
||
+
|
||
+ srl $19,$10,10
|
||
+ xor $18,$16 # sigma0(X[i+1])
|
||
+ sll $17,$10,13
|
||
+ addu $12,$18
|
||
+ srl $16,$10,17
|
||
+ xor $19,$17
|
||
+ sll $17,2
|
||
+ xor $19,$16
|
||
+ srl $16,$10,19
|
||
+ xor $19,$17
|
||
+#endif
|
||
+ xor $19,$16 # sigma1(X[i+14])
|
||
+ addu $12,$19
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $19,$2,$3 # 20
|
||
+ rotr $17,$1,6
|
||
+ addu $16,$12,$7
|
||
+ rotr $18,$1,11
|
||
+ and $19,$1
|
||
+ rotr $7,$1,25
|
||
+ xor $17,$18
|
||
+ rotr $18,$24,2
|
||
+ xor $19,$3 # Ch(e,f,g)
|
||
+ xor $17,$7 # Sigma1(e)
|
||
+
|
||
+ rotr $7,$24,13
|
||
+ addu $16,$19
|
||
+ lw $19,80($6) # K[20]
|
||
+ xor $7,$18
|
||
+ rotr $18,$24,22
|
||
+ addu $16,$17
|
||
+ and $17,$25,$30
|
||
+ xor $7,$18 # Sigma0(a)
|
||
+ xor $18,$25,$30
|
||
+#else
|
||
+ addu $16,$12,$7 # 20
|
||
+ srl $7,$1,6
|
||
+ xor $19,$2,$3
|
||
+ sll $18,$1,7
|
||
+ and $19,$1
|
||
+ srl $17,$1,11
|
||
+ xor $7,$18
|
||
+ sll $18,$1,21
|
||
+ xor $7,$17
|
||
+ srl $17,$1,25
|
||
+ xor $7,$18
|
||
+ sll $18,$1,26
|
||
+ xor $7,$17
|
||
+ xor $19,$3 # Ch(e,f,g)
|
||
+ xor $17,$18,$7 # Sigma1(e)
|
||
+
|
||
+ srl $7,$24,2
|
||
+ addu $16,$19
|
||
+ lw $19,80($6) # K[20]
|
||
+ sll $18,$24,10
|
||
+ addu $16,$17
|
||
+ srl $17,$24,13
|
||
+ xor $7,$18
|
||
+ sll $18,$24,19
|
||
+ xor $7,$17
|
||
+ srl $17,$24,22
|
||
+ xor $7,$18
|
||
+ sll $18,$24,30
|
||
+ xor $7,$17
|
||
+ and $17,$25,$30
|
||
+ xor $7,$18 # Sigma0(a)
|
||
+ xor $18,$25,$30
|
||
+#endif
|
||
+ sw $12,16($29) # offload to ring buffer
|
||
+ addu $7,$17
|
||
+ and $18,$24
|
||
+ addu $16,$19 # +=K[20]
|
||
+ addu $7,$18 # +=Maj(a,b,c)
|
||
+ addu $31,$16
|
||
+ addu $7,$16
|
||
+ lw $15,28($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $19,$14,3 # Xupdate(21)
|
||
+ rotr $17,$14,7
|
||
+ addu $13,$22 # +=X[i+9]
|
||
+ xor $19,$17
|
||
+ rotr $17,$14,18
|
||
+
|
||
+ srl $20,$11,10
|
||
+ rotr $18,$11,17
|
||
+ xor $19,$17 # sigma0(X[i+1])
|
||
+ rotr $17,$11,19
|
||
+ xor $20,$18
|
||
+ addu $13,$19
|
||
+#else
|
||
+ srl $19,$14,3 # Xupdate(21)
|
||
+ addu $13,$22 # +=X[i+9]
|
||
+ sll $18,$14,14
|
||
+ srl $17,$14,7
|
||
+ xor $19,$18
|
||
+ sll $18,11
|
||
+ xor $19,$17
|
||
+ srl $17,$14,18
|
||
+ xor $19,$18
|
||
+
|
||
+ srl $20,$11,10
|
||
+ xor $19,$17 # sigma0(X[i+1])
|
||
+ sll $18,$11,13
|
||
+ addu $13,$19
|
||
+ srl $17,$11,17
|
||
+ xor $20,$18
|
||
+ sll $18,2
|
||
+ xor $20,$17
|
||
+ srl $17,$11,19
|
||
+ xor $20,$18
|
||
+#endif
|
||
+ xor $20,$17 # sigma1(X[i+14])
|
||
+ addu $13,$20
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $20,$1,$2 # 21
|
||
+ rotr $18,$31,6
|
||
+ addu $17,$13,$3
|
||
+ rotr $19,$31,11
|
||
+ and $20,$31
|
||
+ rotr $3,$31,25
|
||
+ xor $18,$19
|
||
+ rotr $19,$7,2
|
||
+ xor $20,$2 # Ch(e,f,g)
|
||
+ xor $18,$3 # Sigma1(e)
|
||
+
|
||
+ rotr $3,$7,13
|
||
+ addu $17,$20
|
||
+ lw $20,84($6) # K[21]
|
||
+ xor $3,$19
|
||
+ rotr $19,$7,22
|
||
+ addu $17,$18
|
||
+ and $18,$24,$25
|
||
+ xor $3,$19 # Sigma0(a)
|
||
+ xor $19,$24,$25
|
||
+#else
|
||
+ addu $17,$13,$3 # 21
|
||
+ srl $3,$31,6
|
||
+ xor $20,$1,$2
|
||
+ sll $19,$31,7
|
||
+ and $20,$31
|
||
+ srl $18,$31,11
|
||
+ xor $3,$19
|
||
+ sll $19,$31,21
|
||
+ xor $3,$18
|
||
+ srl $18,$31,25
|
||
+ xor $3,$19
|
||
+ sll $19,$31,26
|
||
+ xor $3,$18
|
||
+ xor $20,$2 # Ch(e,f,g)
|
||
+ xor $18,$19,$3 # Sigma1(e)
|
||
+
|
||
+ srl $3,$7,2
|
||
+ addu $17,$20
|
||
+ lw $20,84($6) # K[21]
|
||
+ sll $19,$7,10
|
||
+ addu $17,$18
|
||
+ srl $18,$7,13
|
||
+ xor $3,$19
|
||
+ sll $19,$7,19
|
||
+ xor $3,$18
|
||
+ srl $18,$7,22
|
||
+ xor $3,$19
|
||
+ sll $19,$7,30
|
||
+ xor $3,$18
|
||
+ and $18,$24,$25
|
||
+ xor $3,$19 # Sigma0(a)
|
||
+ xor $19,$24,$25
|
||
+#endif
|
||
+ sw $13,20($29) # offload to ring buffer
|
||
+ addu $3,$18
|
||
+ and $19,$7
|
||
+ addu $17,$20 # +=K[21]
|
||
+ addu $3,$19 # +=Maj(a,b,c)
|
||
+ addu $30,$17
|
||
+ addu $3,$17
|
||
+ lw $16,32($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $20,$15,3 # Xupdate(22)
|
||
+ rotr $18,$15,7
|
||
+ addu $14,$23 # +=X[i+9]
|
||
+ xor $20,$18
|
||
+ rotr $18,$15,18
|
||
+
|
||
+ srl $21,$12,10
|
||
+ rotr $19,$12,17
|
||
+ xor $20,$18 # sigma0(X[i+1])
|
||
+ rotr $18,$12,19
|
||
+ xor $21,$19
|
||
+ addu $14,$20
|
||
+#else
|
||
+ srl $20,$15,3 # Xupdate(22)
|
||
+ addu $14,$23 # +=X[i+9]
|
||
+ sll $19,$15,14
|
||
+ srl $18,$15,7
|
||
+ xor $20,$19
|
||
+ sll $19,11
|
||
+ xor $20,$18
|
||
+ srl $18,$15,18
|
||
+ xor $20,$19
|
||
+
|
||
+ srl $21,$12,10
|
||
+ xor $20,$18 # sigma0(X[i+1])
|
||
+ sll $19,$12,13
|
||
+ addu $14,$20
|
||
+ srl $18,$12,17
|
||
+ xor $21,$19
|
||
+ sll $19,2
|
||
+ xor $21,$18
|
||
+ srl $18,$12,19
|
||
+ xor $21,$19
|
||
+#endif
|
||
+ xor $21,$18 # sigma1(X[i+14])
|
||
+ addu $14,$21
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $21,$31,$1 # 22
|
||
+ rotr $19,$30,6
|
||
+ addu $18,$14,$2
|
||
+ rotr $20,$30,11
|
||
+ and $21,$30
|
||
+ rotr $2,$30,25
|
||
+ xor $19,$20
|
||
+ rotr $20,$3,2
|
||
+ xor $21,$1 # Ch(e,f,g)
|
||
+ xor $19,$2 # Sigma1(e)
|
||
+
|
||
+ rotr $2,$3,13
|
||
+ addu $18,$21
|
||
+ lw $21,88($6) # K[22]
|
||
+ xor $2,$20
|
||
+ rotr $20,$3,22
|
||
+ addu $18,$19
|
||
+ and $19,$7,$24
|
||
+ xor $2,$20 # Sigma0(a)
|
||
+ xor $20,$7,$24
|
||
+#else
|
||
+ addu $18,$14,$2 # 22
|
||
+ srl $2,$30,6
|
||
+ xor $21,$31,$1
|
||
+ sll $20,$30,7
|
||
+ and $21,$30
|
||
+ srl $19,$30,11
|
||
+ xor $2,$20
|
||
+ sll $20,$30,21
|
||
+ xor $2,$19
|
||
+ srl $19,$30,25
|
||
+ xor $2,$20
|
||
+ sll $20,$30,26
|
||
+ xor $2,$19
|
||
+ xor $21,$1 # Ch(e,f,g)
|
||
+ xor $19,$20,$2 # Sigma1(e)
|
||
+
|
||
+ srl $2,$3,2
|
||
+ addu $18,$21
|
||
+ lw $21,88($6) # K[22]
|
||
+ sll $20,$3,10
|
||
+ addu $18,$19
|
||
+ srl $19,$3,13
|
||
+ xor $2,$20
|
||
+ sll $20,$3,19
|
||
+ xor $2,$19
|
||
+ srl $19,$3,22
|
||
+ xor $2,$20
|
||
+ sll $20,$3,30
|
||
+ xor $2,$19
|
||
+ and $19,$7,$24
|
||
+ xor $2,$20 # Sigma0(a)
|
||
+ xor $20,$7,$24
|
||
+#endif
|
||
+ sw $14,24($29) # offload to ring buffer
|
||
+ addu $2,$19
|
||
+ and $20,$3
|
||
+ addu $18,$21 # +=K[22]
|
||
+ addu $2,$20 # +=Maj(a,b,c)
|
||
+ addu $25,$18
|
||
+ addu $2,$18
|
||
+ lw $17,36($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $21,$16,3 # Xupdate(23)
|
||
+ rotr $19,$16,7
|
||
+ addu $15,$8 # +=X[i+9]
|
||
+ xor $21,$19
|
||
+ rotr $19,$16,18
|
||
+
|
||
+ srl $22,$13,10
|
||
+ rotr $20,$13,17
|
||
+ xor $21,$19 # sigma0(X[i+1])
|
||
+ rotr $19,$13,19
|
||
+ xor $22,$20
|
||
+ addu $15,$21
|
||
+#else
|
||
+ srl $21,$16,3 # Xupdate(23)
|
||
+ addu $15,$8 # +=X[i+9]
|
||
+ sll $20,$16,14
|
||
+ srl $19,$16,7
|
||
+ xor $21,$20
|
||
+ sll $20,11
|
||
+ xor $21,$19
|
||
+ srl $19,$16,18
|
||
+ xor $21,$20
|
||
+
|
||
+ srl $22,$13,10
|
||
+ xor $21,$19 # sigma0(X[i+1])
|
||
+ sll $20,$13,13
|
||
+ addu $15,$21
|
||
+ srl $19,$13,17
|
||
+ xor $22,$20
|
||
+ sll $20,2
|
||
+ xor $22,$19
|
||
+ srl $19,$13,19
|
||
+ xor $22,$20
|
||
+#endif
|
||
+ xor $22,$19 # sigma1(X[i+14])
|
||
+ addu $15,$22
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $22,$30,$31 # 23
|
||
+ rotr $20,$25,6
|
||
+ addu $19,$15,$1
|
||
+ rotr $21,$25,11
|
||
+ and $22,$25
|
||
+ rotr $1,$25,25
|
||
+ xor $20,$21
|
||
+ rotr $21,$2,2
|
||
+ xor $22,$31 # Ch(e,f,g)
|
||
+ xor $20,$1 # Sigma1(e)
|
||
+
|
||
+ rotr $1,$2,13
|
||
+ addu $19,$22
|
||
+ lw $22,92($6) # K[23]
|
||
+ xor $1,$21
|
||
+ rotr $21,$2,22
|
||
+ addu $19,$20
|
||
+ and $20,$3,$7
|
||
+ xor $1,$21 # Sigma0(a)
|
||
+ xor $21,$3,$7
|
||
+#else
|
||
+ addu $19,$15,$1 # 23
|
||
+ srl $1,$25,6
|
||
+ xor $22,$30,$31
|
||
+ sll $21,$25,7
|
||
+ and $22,$25
|
||
+ srl $20,$25,11
|
||
+ xor $1,$21
|
||
+ sll $21,$25,21
|
||
+ xor $1,$20
|
||
+ srl $20,$25,25
|
||
+ xor $1,$21
|
||
+ sll $21,$25,26
|
||
+ xor $1,$20
|
||
+ xor $22,$31 # Ch(e,f,g)
|
||
+ xor $20,$21,$1 # Sigma1(e)
|
||
+
|
||
+ srl $1,$2,2
|
||
+ addu $19,$22
|
||
+ lw $22,92($6) # K[23]
|
||
+ sll $21,$2,10
|
||
+ addu $19,$20
|
||
+ srl $20,$2,13
|
||
+ xor $1,$21
|
||
+ sll $21,$2,19
|
||
+ xor $1,$20
|
||
+ srl $20,$2,22
|
||
+ xor $1,$21
|
||
+ sll $21,$2,30
|
||
+ xor $1,$20
|
||
+ and $20,$3,$7
|
||
+ xor $1,$21 # Sigma0(a)
|
||
+ xor $21,$3,$7
|
||
+#endif
|
||
+ sw $15,28($29) # offload to ring buffer
|
||
+ addu $1,$20
|
||
+ and $21,$2
|
||
+ addu $19,$22 # +=K[23]
|
||
+ addu $1,$21 # +=Maj(a,b,c)
|
||
+ addu $24,$19
|
||
+ addu $1,$19
|
||
+ lw $18,40($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $22,$17,3 # Xupdate(24)
|
||
+ rotr $20,$17,7
|
||
+ addu $16,$9 # +=X[i+9]
|
||
+ xor $22,$20
|
||
+ rotr $20,$17,18
|
||
+
|
||
+ srl $23,$14,10
|
||
+ rotr $21,$14,17
|
||
+ xor $22,$20 # sigma0(X[i+1])
|
||
+ rotr $20,$14,19
|
||
+ xor $23,$21
|
||
+ addu $16,$22
|
||
+#else
|
||
+ srl $22,$17,3 # Xupdate(24)
|
||
+ addu $16,$9 # +=X[i+9]
|
||
+ sll $21,$17,14
|
||
+ srl $20,$17,7
|
||
+ xor $22,$21
|
||
+ sll $21,11
|
||
+ xor $22,$20
|
||
+ srl $20,$17,18
|
||
+ xor $22,$21
|
||
+
|
||
+ srl $23,$14,10
|
||
+ xor $22,$20 # sigma0(X[i+1])
|
||
+ sll $21,$14,13
|
||
+ addu $16,$22
|
||
+ srl $20,$14,17
|
||
+ xor $23,$21
|
||
+ sll $21,2
|
||
+ xor $23,$20
|
||
+ srl $20,$14,19
|
||
+ xor $23,$21
|
||
+#endif
|
||
+ xor $23,$20 # sigma1(X[i+14])
|
||
+ addu $16,$23
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $23,$25,$30 # 24
|
||
+ rotr $21,$24,6
|
||
+ addu $20,$16,$31
|
||
+ rotr $22,$24,11
|
||
+ and $23,$24
|
||
+ rotr $31,$24,25
|
||
+ xor $21,$22
|
||
+ rotr $22,$1,2
|
||
+ xor $23,$30 # Ch(e,f,g)
|
||
+ xor $21,$31 # Sigma1(e)
|
||
+
|
||
+ rotr $31,$1,13
|
||
+ addu $20,$23
|
||
+ lw $23,96($6) # K[24]
|
||
+ xor $31,$22
|
||
+ rotr $22,$1,22
|
||
+ addu $20,$21
|
||
+ and $21,$2,$3
|
||
+ xor $31,$22 # Sigma0(a)
|
||
+ xor $22,$2,$3
|
||
+#else
|
||
+ addu $20,$16,$31 # 24
|
||
+ srl $31,$24,6
|
||
+ xor $23,$25,$30
|
||
+ sll $22,$24,7
|
||
+ and $23,$24
|
||
+ srl $21,$24,11
|
||
+ xor $31,$22
|
||
+ sll $22,$24,21
|
||
+ xor $31,$21
|
||
+ srl $21,$24,25
|
||
+ xor $31,$22
|
||
+ sll $22,$24,26
|
||
+ xor $31,$21
|
||
+ xor $23,$30 # Ch(e,f,g)
|
||
+ xor $21,$22,$31 # Sigma1(e)
|
||
+
|
||
+ srl $31,$1,2
|
||
+ addu $20,$23
|
||
+ lw $23,96($6) # K[24]
|
||
+ sll $22,$1,10
|
||
+ addu $20,$21
|
||
+ srl $21,$1,13
|
||
+ xor $31,$22
|
||
+ sll $22,$1,19
|
||
+ xor $31,$21
|
||
+ srl $21,$1,22
|
||
+ xor $31,$22
|
||
+ sll $22,$1,30
|
||
+ xor $31,$21
|
||
+ and $21,$2,$3
|
||
+ xor $31,$22 # Sigma0(a)
|
||
+ xor $22,$2,$3
|
||
+#endif
|
||
+ sw $16,32($29) # offload to ring buffer
|
||
+ addu $31,$21
|
||
+ and $22,$1
|
||
+ addu $20,$23 # +=K[24]
|
||
+ addu $31,$22 # +=Maj(a,b,c)
|
||
+ addu $7,$20
|
||
+ addu $31,$20
|
||
+ lw $19,44($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $23,$18,3 # Xupdate(25)
|
||
+ rotr $21,$18,7
|
||
+ addu $17,$10 # +=X[i+9]
|
||
+ xor $23,$21
|
||
+ rotr $21,$18,18
|
||
+
|
||
+ srl $8,$15,10
|
||
+ rotr $22,$15,17
|
||
+ xor $23,$21 # sigma0(X[i+1])
|
||
+ rotr $21,$15,19
|
||
+ xor $8,$22
|
||
+ addu $17,$23
|
||
+#else
|
||
+ srl $23,$18,3 # Xupdate(25)
|
||
+ addu $17,$10 # +=X[i+9]
|
||
+ sll $22,$18,14
|
||
+ srl $21,$18,7
|
||
+ xor $23,$22
|
||
+ sll $22,11
|
||
+ xor $23,$21
|
||
+ srl $21,$18,18
|
||
+ xor $23,$22
|
||
+
|
||
+ srl $8,$15,10
|
||
+ xor $23,$21 # sigma0(X[i+1])
|
||
+ sll $22,$15,13
|
||
+ addu $17,$23
|
||
+ srl $21,$15,17
|
||
+ xor $8,$22
|
||
+ sll $22,2
|
||
+ xor $8,$21
|
||
+ srl $21,$15,19
|
||
+ xor $8,$22
|
||
+#endif
|
||
+ xor $8,$21 # sigma1(X[i+14])
|
||
+ addu $17,$8
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $8,$24,$25 # 25
|
||
+ rotr $22,$7,6
|
||
+ addu $21,$17,$30
|
||
+ rotr $23,$7,11
|
||
+ and $8,$7
|
||
+ rotr $30,$7,25
|
||
+ xor $22,$23
|
||
+ rotr $23,$31,2
|
||
+ xor $8,$25 # Ch(e,f,g)
|
||
+ xor $22,$30 # Sigma1(e)
|
||
+
|
||
+ rotr $30,$31,13
|
||
+ addu $21,$8
|
||
+ lw $8,100($6) # K[25]
|
||
+ xor $30,$23
|
||
+ rotr $23,$31,22
|
||
+ addu $21,$22
|
||
+ and $22,$1,$2
|
||
+ xor $30,$23 # Sigma0(a)
|
||
+ xor $23,$1,$2
|
||
+#else
|
||
+ addu $21,$17,$30 # 25
|
||
+ srl $30,$7,6
|
||
+ xor $8,$24,$25
|
||
+ sll $23,$7,7
|
||
+ and $8,$7
|
||
+ srl $22,$7,11
|
||
+ xor $30,$23
|
||
+ sll $23,$7,21
|
||
+ xor $30,$22
|
||
+ srl $22,$7,25
|
||
+ xor $30,$23
|
||
+ sll $23,$7,26
|
||
+ xor $30,$22
|
||
+ xor $8,$25 # Ch(e,f,g)
|
||
+ xor $22,$23,$30 # Sigma1(e)
|
||
+
|
||
+ srl $30,$31,2
|
||
+ addu $21,$8
|
||
+ lw $8,100($6) # K[25]
|
||
+ sll $23,$31,10
|
||
+ addu $21,$22
|
||
+ srl $22,$31,13
|
||
+ xor $30,$23
|
||
+ sll $23,$31,19
|
||
+ xor $30,$22
|
||
+ srl $22,$31,22
|
||
+ xor $30,$23
|
||
+ sll $23,$31,30
|
||
+ xor $30,$22
|
||
+ and $22,$1,$2
|
||
+ xor $30,$23 # Sigma0(a)
|
||
+ xor $23,$1,$2
|
||
+#endif
|
||
+ sw $17,36($29) # offload to ring buffer
|
||
+ addu $30,$22
|
||
+ and $23,$31
|
||
+ addu $21,$8 # +=K[25]
|
||
+ addu $30,$23 # +=Maj(a,b,c)
|
||
+ addu $3,$21
|
||
+ addu $30,$21
|
||
+ lw $20,48($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $8,$19,3 # Xupdate(26)
|
||
+ rotr $22,$19,7
|
||
+ addu $18,$11 # +=X[i+9]
|
||
+ xor $8,$22
|
||
+ rotr $22,$19,18
|
||
+
|
||
+ srl $9,$16,10
|
||
+ rotr $23,$16,17
|
||
+ xor $8,$22 # sigma0(X[i+1])
|
||
+ rotr $22,$16,19
|
||
+ xor $9,$23
|
||
+ addu $18,$8
|
||
+#else
|
||
+ srl $8,$19,3 # Xupdate(26)
|
||
+ addu $18,$11 # +=X[i+9]
|
||
+ sll $23,$19,14
|
||
+ srl $22,$19,7
|
||
+ xor $8,$23
|
||
+ sll $23,11
|
||
+ xor $8,$22
|
||
+ srl $22,$19,18
|
||
+ xor $8,$23
|
||
+
|
||
+ srl $9,$16,10
|
||
+ xor $8,$22 # sigma0(X[i+1])
|
||
+ sll $23,$16,13
|
||
+ addu $18,$8
|
||
+ srl $22,$16,17
|
||
+ xor $9,$23
|
||
+ sll $23,2
|
||
+ xor $9,$22
|
||
+ srl $22,$16,19
|
||
+ xor $9,$23
|
||
+#endif
|
||
+ xor $9,$22 # sigma1(X[i+14])
|
||
+ addu $18,$9
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $9,$7,$24 # 26
|
||
+ rotr $23,$3,6
|
||
+ addu $22,$18,$25
|
||
+ rotr $8,$3,11
|
||
+ and $9,$3
|
||
+ rotr $25,$3,25
|
||
+ xor $23,$8
|
||
+ rotr $8,$30,2
|
||
+ xor $9,$24 # Ch(e,f,g)
|
||
+ xor $23,$25 # Sigma1(e)
|
||
+
|
||
+ rotr $25,$30,13
|
||
+ addu $22,$9
|
||
+ lw $9,104($6) # K[26]
|
||
+ xor $25,$8
|
||
+ rotr $8,$30,22
|
||
+ addu $22,$23
|
||
+ and $23,$31,$1
|
||
+ xor $25,$8 # Sigma0(a)
|
||
+ xor $8,$31,$1
|
||
+#else
|
||
+ addu $22,$18,$25 # 26
|
||
+ srl $25,$3,6
|
||
+ xor $9,$7,$24
|
||
+ sll $8,$3,7
|
||
+ and $9,$3
|
||
+ srl $23,$3,11
|
||
+ xor $25,$8
|
||
+ sll $8,$3,21
|
||
+ xor $25,$23
|
||
+ srl $23,$3,25
|
||
+ xor $25,$8
|
||
+ sll $8,$3,26
|
||
+ xor $25,$23
|
||
+ xor $9,$24 # Ch(e,f,g)
|
||
+ xor $23,$8,$25 # Sigma1(e)
|
||
+
|
||
+ srl $25,$30,2
|
||
+ addu $22,$9
|
||
+ lw $9,104($6) # K[26]
|
||
+ sll $8,$30,10
|
||
+ addu $22,$23
|
||
+ srl $23,$30,13
|
||
+ xor $25,$8
|
||
+ sll $8,$30,19
|
||
+ xor $25,$23
|
||
+ srl $23,$30,22
|
||
+ xor $25,$8
|
||
+ sll $8,$30,30
|
||
+ xor $25,$23
|
||
+ and $23,$31,$1
|
||
+ xor $25,$8 # Sigma0(a)
|
||
+ xor $8,$31,$1
|
||
+#endif
|
||
+ sw $18,40($29) # offload to ring buffer
|
||
+ addu $25,$23
|
||
+ and $8,$30
|
||
+ addu $22,$9 # +=K[26]
|
||
+ addu $25,$8 # +=Maj(a,b,c)
|
||
+ addu $2,$22
|
||
+ addu $25,$22
|
||
+ lw $21,52($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $9,$20,3 # Xupdate(27)
|
||
+ rotr $23,$20,7
|
||
+ addu $19,$12 # +=X[i+9]
|
||
+ xor $9,$23
|
||
+ rotr $23,$20,18
|
||
+
|
||
+ srl $10,$17,10
|
||
+ rotr $8,$17,17
|
||
+ xor $9,$23 # sigma0(X[i+1])
|
||
+ rotr $23,$17,19
|
||
+ xor $10,$8
|
||
+ addu $19,$9
|
||
+#else
|
||
+ srl $9,$20,3 # Xupdate(27)
|
||
+ addu $19,$12 # +=X[i+9]
|
||
+ sll $8,$20,14
|
||
+ srl $23,$20,7
|
||
+ xor $9,$8
|
||
+ sll $8,11
|
||
+ xor $9,$23
|
||
+ srl $23,$20,18
|
||
+ xor $9,$8
|
||
+
|
||
+ srl $10,$17,10
|
||
+ xor $9,$23 # sigma0(X[i+1])
|
||
+ sll $8,$17,13
|
||
+ addu $19,$9
|
||
+ srl $23,$17,17
|
||
+ xor $10,$8
|
||
+ sll $8,2
|
||
+ xor $10,$23
|
||
+ srl $23,$17,19
|
||
+ xor $10,$8
|
||
+#endif
|
||
+ xor $10,$23 # sigma1(X[i+14])
|
||
+ addu $19,$10
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $10,$3,$7 # 27
|
||
+ rotr $8,$2,6
|
||
+ addu $23,$19,$24
|
||
+ rotr $9,$2,11
|
||
+ and $10,$2
|
||
+ rotr $24,$2,25
|
||
+ xor $8,$9
|
||
+ rotr $9,$25,2
|
||
+ xor $10,$7 # Ch(e,f,g)
|
||
+ xor $8,$24 # Sigma1(e)
|
||
+
|
||
+ rotr $24,$25,13
|
||
+ addu $23,$10
|
||
+ lw $10,108($6) # K[27]
|
||
+ xor $24,$9
|
||
+ rotr $9,$25,22
|
||
+ addu $23,$8
|
||
+ and $8,$30,$31
|
||
+ xor $24,$9 # Sigma0(a)
|
||
+ xor $9,$30,$31
|
||
+#else
|
||
+ addu $23,$19,$24 # 27
|
||
+ srl $24,$2,6
|
||
+ xor $10,$3,$7
|
||
+ sll $9,$2,7
|
||
+ and $10,$2
|
||
+ srl $8,$2,11
|
||
+ xor $24,$9
|
||
+ sll $9,$2,21
|
||
+ xor $24,$8
|
||
+ srl $8,$2,25
|
||
+ xor $24,$9
|
||
+ sll $9,$2,26
|
||
+ xor $24,$8
|
||
+ xor $10,$7 # Ch(e,f,g)
|
||
+ xor $8,$9,$24 # Sigma1(e)
|
||
+
|
||
+ srl $24,$25,2
|
||
+ addu $23,$10
|
||
+ lw $10,108($6) # K[27]
|
||
+ sll $9,$25,10
|
||
+ addu $23,$8
|
||
+ srl $8,$25,13
|
||
+ xor $24,$9
|
||
+ sll $9,$25,19
|
||
+ xor $24,$8
|
||
+ srl $8,$25,22
|
||
+ xor $24,$9
|
||
+ sll $9,$25,30
|
||
+ xor $24,$8
|
||
+ and $8,$30,$31
|
||
+ xor $24,$9 # Sigma0(a)
|
||
+ xor $9,$30,$31
|
||
+#endif
|
||
+ sw $19,44($29) # offload to ring buffer
|
||
+ addu $24,$8
|
||
+ and $9,$25
|
||
+ addu $23,$10 # +=K[27]
|
||
+ addu $24,$9 # +=Maj(a,b,c)
|
||
+ addu $1,$23
|
||
+ addu $24,$23
|
||
+ lw $22,56($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $10,$21,3 # Xupdate(28)
|
||
+ rotr $8,$21,7
|
||
+ addu $20,$13 # +=X[i+9]
|
||
+ xor $10,$8
|
||
+ rotr $8,$21,18
|
||
+
|
||
+ srl $11,$18,10
|
||
+ rotr $9,$18,17
|
||
+ xor $10,$8 # sigma0(X[i+1])
|
||
+ rotr $8,$18,19
|
||
+ xor $11,$9
|
||
+ addu $20,$10
|
||
+#else
|
||
+ srl $10,$21,3 # Xupdate(28)
|
||
+ addu $20,$13 # +=X[i+9]
|
||
+ sll $9,$21,14
|
||
+ srl $8,$21,7
|
||
+ xor $10,$9
|
||
+ sll $9,11
|
||
+ xor $10,$8
|
||
+ srl $8,$21,18
|
||
+ xor $10,$9
|
||
+
|
||
+ srl $11,$18,10
|
||
+ xor $10,$8 # sigma0(X[i+1])
|
||
+ sll $9,$18,13
|
||
+ addu $20,$10
|
||
+ srl $8,$18,17
|
||
+ xor $11,$9
|
||
+ sll $9,2
|
||
+ xor $11,$8
|
||
+ srl $8,$18,19
|
||
+ xor $11,$9
|
||
+#endif
|
||
+ xor $11,$8 # sigma1(X[i+14])
|
||
+ addu $20,$11
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $11,$2,$3 # 28
|
||
+ rotr $9,$1,6
|
||
+ addu $8,$20,$7
|
||
+ rotr $10,$1,11
|
||
+ and $11,$1
|
||
+ rotr $7,$1,25
|
||
+ xor $9,$10
|
||
+ rotr $10,$24,2
|
||
+ xor $11,$3 # Ch(e,f,g)
|
||
+ xor $9,$7 # Sigma1(e)
|
||
+
|
||
+ rotr $7,$24,13
|
||
+ addu $8,$11
|
||
+ lw $11,112($6) # K[28]
|
||
+ xor $7,$10
|
||
+ rotr $10,$24,22
|
||
+ addu $8,$9
|
||
+ and $9,$25,$30
|
||
+ xor $7,$10 # Sigma0(a)
|
||
+ xor $10,$25,$30
|
||
+#else
|
||
+ addu $8,$20,$7 # 28
|
||
+ srl $7,$1,6
|
||
+ xor $11,$2,$3
|
||
+ sll $10,$1,7
|
||
+ and $11,$1
|
||
+ srl $9,$1,11
|
||
+ xor $7,$10
|
||
+ sll $10,$1,21
|
||
+ xor $7,$9
|
||
+ srl $9,$1,25
|
||
+ xor $7,$10
|
||
+ sll $10,$1,26
|
||
+ xor $7,$9
|
||
+ xor $11,$3 # Ch(e,f,g)
|
||
+ xor $9,$10,$7 # Sigma1(e)
|
||
+
|
||
+ srl $7,$24,2
|
||
+ addu $8,$11
|
||
+ lw $11,112($6) # K[28]
|
||
+ sll $10,$24,10
|
||
+ addu $8,$9
|
||
+ srl $9,$24,13
|
||
+ xor $7,$10
|
||
+ sll $10,$24,19
|
||
+ xor $7,$9
|
||
+ srl $9,$24,22
|
||
+ xor $7,$10
|
||
+ sll $10,$24,30
|
||
+ xor $7,$9
|
||
+ and $9,$25,$30
|
||
+ xor $7,$10 # Sigma0(a)
|
||
+ xor $10,$25,$30
|
||
+#endif
|
||
+ sw $20,48($29) # offload to ring buffer
|
||
+ addu $7,$9
|
||
+ and $10,$24
|
||
+ addu $8,$11 # +=K[28]
|
||
+ addu $7,$10 # +=Maj(a,b,c)
|
||
+ addu $31,$8
|
||
+ addu $7,$8
|
||
+ lw $23,60($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $11,$22,3 # Xupdate(29)
|
||
+ rotr $9,$22,7
|
||
+ addu $21,$14 # +=X[i+9]
|
||
+ xor $11,$9
|
||
+ rotr $9,$22,18
|
||
+
|
||
+ srl $12,$19,10
|
||
+ rotr $10,$19,17
|
||
+ xor $11,$9 # sigma0(X[i+1])
|
||
+ rotr $9,$19,19
|
||
+ xor $12,$10
|
||
+ addu $21,$11
|
||
+#else
|
||
+ srl $11,$22,3 # Xupdate(29)
|
||
+ addu $21,$14 # +=X[i+9]
|
||
+ sll $10,$22,14
|
||
+ srl $9,$22,7
|
||
+ xor $11,$10
|
||
+ sll $10,11
|
||
+ xor $11,$9
|
||
+ srl $9,$22,18
|
||
+ xor $11,$10
|
||
+
|
||
+ srl $12,$19,10
|
||
+ xor $11,$9 # sigma0(X[i+1])
|
||
+ sll $10,$19,13
|
||
+ addu $21,$11
|
||
+ srl $9,$19,17
|
||
+ xor $12,$10
|
||
+ sll $10,2
|
||
+ xor $12,$9
|
||
+ srl $9,$19,19
|
||
+ xor $12,$10
|
||
+#endif
|
||
+ xor $12,$9 # sigma1(X[i+14])
|
||
+ addu $21,$12
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $12,$1,$2 # 29
|
||
+ rotr $10,$31,6
|
||
+ addu $9,$21,$3
|
||
+ rotr $11,$31,11
|
||
+ and $12,$31
|
||
+ rotr $3,$31,25
|
||
+ xor $10,$11
|
||
+ rotr $11,$7,2
|
||
+ xor $12,$2 # Ch(e,f,g)
|
||
+ xor $10,$3 # Sigma1(e)
|
||
+
|
||
+ rotr $3,$7,13
|
||
+ addu $9,$12
|
||
+ lw $12,116($6) # K[29]
|
||
+ xor $3,$11
|
||
+ rotr $11,$7,22
|
||
+ addu $9,$10
|
||
+ and $10,$24,$25
|
||
+ xor $3,$11 # Sigma0(a)
|
||
+ xor $11,$24,$25
|
||
+#else
|
||
+ addu $9,$21,$3 # 29
|
||
+ srl $3,$31,6
|
||
+ xor $12,$1,$2
|
||
+ sll $11,$31,7
|
||
+ and $12,$31
|
||
+ srl $10,$31,11
|
||
+ xor $3,$11
|
||
+ sll $11,$31,21
|
||
+ xor $3,$10
|
||
+ srl $10,$31,25
|
||
+ xor $3,$11
|
||
+ sll $11,$31,26
|
||
+ xor $3,$10
|
||
+ xor $12,$2 # Ch(e,f,g)
|
||
+ xor $10,$11,$3 # Sigma1(e)
|
||
+
|
||
+ srl $3,$7,2
|
||
+ addu $9,$12
|
||
+ lw $12,116($6) # K[29]
|
||
+ sll $11,$7,10
|
||
+ addu $9,$10
|
||
+ srl $10,$7,13
|
||
+ xor $3,$11
|
||
+ sll $11,$7,19
|
||
+ xor $3,$10
|
||
+ srl $10,$7,22
|
||
+ xor $3,$11
|
||
+ sll $11,$7,30
|
||
+ xor $3,$10
|
||
+ and $10,$24,$25
|
||
+ xor $3,$11 # Sigma0(a)
|
||
+ xor $11,$24,$25
|
||
+#endif
|
||
+ sw $21,52($29) # offload to ring buffer
|
||
+ addu $3,$10
|
||
+ and $11,$7
|
||
+ addu $9,$12 # +=K[29]
|
||
+ addu $3,$11 # +=Maj(a,b,c)
|
||
+ addu $30,$9
|
||
+ addu $3,$9
|
||
+ lw $8,0($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $12,$23,3 # Xupdate(30)
|
||
+ rotr $10,$23,7
|
||
+ addu $22,$15 # +=X[i+9]
|
||
+ xor $12,$10
|
||
+ rotr $10,$23,18
|
||
+
|
||
+ srl $13,$20,10
|
||
+ rotr $11,$20,17
|
||
+ xor $12,$10 # sigma0(X[i+1])
|
||
+ rotr $10,$20,19
|
||
+ xor $13,$11
|
||
+ addu $22,$12
|
||
+#else
|
||
+ srl $12,$23,3 # Xupdate(30)
|
||
+ addu $22,$15 # +=X[i+9]
|
||
+ sll $11,$23,14
|
||
+ srl $10,$23,7
|
||
+ xor $12,$11
|
||
+ sll $11,11
|
||
+ xor $12,$10
|
||
+ srl $10,$23,18
|
||
+ xor $12,$11
|
||
+
|
||
+ srl $13,$20,10
|
||
+ xor $12,$10 # sigma0(X[i+1])
|
||
+ sll $11,$20,13
|
||
+ addu $22,$12
|
||
+ srl $10,$20,17
|
||
+ xor $13,$11
|
||
+ sll $11,2
|
||
+ xor $13,$10
|
||
+ srl $10,$20,19
|
||
+ xor $13,$11
|
||
+#endif
|
||
+ xor $13,$10 # sigma1(X[i+14])
|
||
+ addu $22,$13
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $13,$31,$1 # 30
|
||
+ rotr $11,$30,6
|
||
+ addu $10,$22,$2
|
||
+ rotr $12,$30,11
|
||
+ and $13,$30
|
||
+ rotr $2,$30,25
|
||
+ xor $11,$12
|
||
+ rotr $12,$3,2
|
||
+ xor $13,$1 # Ch(e,f,g)
|
||
+ xor $11,$2 # Sigma1(e)
|
||
+
|
||
+ rotr $2,$3,13
|
||
+ addu $10,$13
|
||
+ lw $13,120($6) # K[30]
|
||
+ xor $2,$12
|
||
+ rotr $12,$3,22
|
||
+ addu $10,$11
|
||
+ and $11,$7,$24
|
||
+ xor $2,$12 # Sigma0(a)
|
||
+ xor $12,$7,$24
|
||
+#else
|
||
+ addu $10,$22,$2 # 30
|
||
+ srl $2,$30,6
|
||
+ xor $13,$31,$1
|
||
+ sll $12,$30,7
|
||
+ and $13,$30
|
||
+ srl $11,$30,11
|
||
+ xor $2,$12
|
||
+ sll $12,$30,21
|
||
+ xor $2,$11
|
||
+ srl $11,$30,25
|
||
+ xor $2,$12
|
||
+ sll $12,$30,26
|
||
+ xor $2,$11
|
||
+ xor $13,$1 # Ch(e,f,g)
|
||
+ xor $11,$12,$2 # Sigma1(e)
|
||
+
|
||
+ srl $2,$3,2
|
||
+ addu $10,$13
|
||
+ lw $13,120($6) # K[30]
|
||
+ sll $12,$3,10
|
||
+ addu $10,$11
|
||
+ srl $11,$3,13
|
||
+ xor $2,$12
|
||
+ sll $12,$3,19
|
||
+ xor $2,$11
|
||
+ srl $11,$3,22
|
||
+ xor $2,$12
|
||
+ sll $12,$3,30
|
||
+ xor $2,$11
|
||
+ and $11,$7,$24
|
||
+ xor $2,$12 # Sigma0(a)
|
||
+ xor $12,$7,$24
|
||
+#endif
|
||
+ sw $22,56($29) # offload to ring buffer
|
||
+ addu $2,$11
|
||
+ and $12,$3
|
||
+ addu $10,$13 # +=K[30]
|
||
+ addu $2,$12 # +=Maj(a,b,c)
|
||
+ addu $25,$10
|
||
+ addu $2,$10
|
||
+ lw $9,4($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $13,$8,3 # Xupdate(31)
|
||
+ rotr $11,$8,7
|
||
+ addu $23,$16 # +=X[i+9]
|
||
+ xor $13,$11
|
||
+ rotr $11,$8,18
|
||
+
|
||
+ srl $14,$21,10
|
||
+ rotr $12,$21,17
|
||
+ xor $13,$11 # sigma0(X[i+1])
|
||
+ rotr $11,$21,19
|
||
+ xor $14,$12
|
||
+ addu $23,$13
|
||
+#else
|
||
+ srl $13,$8,3 # Xupdate(31)
|
||
+ addu $23,$16 # +=X[i+9]
|
||
+ sll $12,$8,14
|
||
+ srl $11,$8,7
|
||
+ xor $13,$12
|
||
+ sll $12,11
|
||
+ xor $13,$11
|
||
+ srl $11,$8,18
|
||
+ xor $13,$12
|
||
+
|
||
+ srl $14,$21,10
|
||
+ xor $13,$11 # sigma0(X[i+1])
|
||
+ sll $12,$21,13
|
||
+ addu $23,$13
|
||
+ srl $11,$21,17
|
||
+ xor $14,$12
|
||
+ sll $12,2
|
||
+ xor $14,$11
|
||
+ srl $11,$21,19
|
||
+ xor $14,$12
|
||
+#endif
|
||
+ xor $14,$11 # sigma1(X[i+14])
|
||
+ addu $23,$14
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $14,$30,$31 # 31
|
||
+ rotr $12,$25,6
|
||
+ addu $11,$23,$1
|
||
+ rotr $13,$25,11
|
||
+ and $14,$25
|
||
+ rotr $1,$25,25
|
||
+ xor $12,$13
|
||
+ rotr $13,$2,2
|
||
+ xor $14,$31 # Ch(e,f,g)
|
||
+ xor $12,$1 # Sigma1(e)
|
||
+
|
||
+ rotr $1,$2,13
|
||
+ addu $11,$14
|
||
+ lw $14,124($6) # K[31]
|
||
+ xor $1,$13
|
||
+ rotr $13,$2,22
|
||
+ addu $11,$12
|
||
+ and $12,$3,$7
|
||
+ xor $1,$13 # Sigma0(a)
|
||
+ xor $13,$3,$7
|
||
+#else
|
||
+ addu $11,$23,$1 # 31
|
||
+ srl $1,$25,6
|
||
+ xor $14,$30,$31
|
||
+ sll $13,$25,7
|
||
+ and $14,$25
|
||
+ srl $12,$25,11
|
||
+ xor $1,$13
|
||
+ sll $13,$25,21
|
||
+ xor $1,$12
|
||
+ srl $12,$25,25
|
||
+ xor $1,$13
|
||
+ sll $13,$25,26
|
||
+ xor $1,$12
|
||
+ xor $14,$31 # Ch(e,f,g)
|
||
+ xor $12,$13,$1 # Sigma1(e)
|
||
+
|
||
+ srl $1,$2,2
|
||
+ addu $11,$14
|
||
+ lw $14,124($6) # K[31]
|
||
+ sll $13,$2,10
|
||
+ addu $11,$12
|
||
+ srl $12,$2,13
|
||
+ xor $1,$13
|
||
+ sll $13,$2,19
|
||
+ xor $1,$12
|
||
+ srl $12,$2,22
|
||
+ xor $1,$13
|
||
+ sll $13,$2,30
|
||
+ xor $1,$12
|
||
+ and $12,$3,$7
|
||
+ xor $1,$13 # Sigma0(a)
|
||
+ xor $13,$3,$7
|
||
+#endif
|
||
+ sw $23,60($29) # offload to ring buffer
|
||
+ addu $1,$12
|
||
+ and $13,$2
|
||
+ addu $11,$14 # +=K[31]
|
||
+ addu $1,$13 # +=Maj(a,b,c)
|
||
+ addu $24,$11
|
||
+ addu $1,$11
|
||
+ lw $10,8($29) # prefetch from ring buffer
|
||
+ and $14,0xfff
|
||
+ li $15,2290
|
||
+ .set noreorder
|
||
+ bne $14,$15,.L16_xx
|
||
+ addu $6,16*4 # Ktbl+=16
|
||
+
|
||
+ lw $23,16*4($29) # restore pointer to the end of input
|
||
+ lw $8,0*4($4)
|
||
+ lw $9,1*4($4)
|
||
+ lw $10,2*4($4)
|
||
+ addu $5,16*4
|
||
+ lw $11,3*4($4)
|
||
+ addu $1,$8
|
||
+ lw $12,4*4($4)
|
||
+ addu $2,$9
|
||
+ lw $13,5*4($4)
|
||
+ addu $3,$10
|
||
+ lw $14,6*4($4)
|
||
+ addu $7,$11
|
||
+ lw $15,7*4($4)
|
||
+ addu $24,$12
|
||
+ sw $1,0*4($4)
|
||
+ addu $25,$13
|
||
+ sw $2,1*4($4)
|
||
+ addu $30,$14
|
||
+ sw $3,2*4($4)
|
||
+ addu $31,$15
|
||
+ sw $7,3*4($4)
|
||
+ sw $24,4*4($4)
|
||
+ sw $25,5*4($4)
|
||
+ sw $30,6*4($4)
|
||
+ sw $31,7*4($4)
|
||
+
|
||
+ bne $5,$23,.Loop
|
||
+ subu $6,192 # rewind $6
|
||
+
|
||
+ lw $31,128-1*4($29)
|
||
+ lw $30,128-2*4($29)
|
||
+ lw $23,128-3*4($29)
|
||
+ lw $22,128-4*4($29)
|
||
+ lw $21,128-5*4($29)
|
||
+ lw $20,128-6*4($29)
|
||
+ lw $19,128-7*4($29)
|
||
+ lw $18,128-8*4($29)
|
||
+ lw $17,128-9*4($29)
|
||
+ lw $16,128-10*4($29)
|
||
+ jr $31
|
||
+ addu $29,128
|
||
+.end sha256_block_data_order
|
||
+
|
||
+.rdata
|
||
+.align 5
|
||
+K256:
|
||
+ .word 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5
|
||
+ .word 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5
|
||
+ .word 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3
|
||
+ .word 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174
|
||
+ .word 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc
|
||
+ .word 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da
|
||
+ .word 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7
|
||
+ .word 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967
|
||
+ .word 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13
|
||
+ .word 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85
|
||
+ .word 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3
|
||
+ .word 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070
|
||
+ .word 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5
|
||
+ .word 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3
|
||
+ .word 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208
|
||
+ .word 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
|
||
+.asciiz "SHA256 for MIPS, CRYPTOGAMS by <appro@openssl.org>"
|
||
+.align 5
|
||
+
|
||
diff -urN a/deps/openssl/config/archs/linux-mips/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-mips/asm/include/openssl/opensslconf.h
|
||
--- a/deps/openssl/config/archs/linux-mips/asm/include/openssl/opensslconf.h 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mips/asm/include/openssl/opensslconf.h 2019-12-25 13:49:19.984298806 +0900
|
||
@@ -0,0 +1,201 @@
|
||
+/*
|
||
+ * WARNING: do not edit!
|
||
+ * Generated by Makefile from include/openssl/opensslconf.h.in
|
||
+ *
|
||
+ * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||
+ *
|
||
+ * Licensed under the OpenSSL license (the "License"). You may not use
|
||
+ * this file except in compliance with the License. You can obtain a copy
|
||
+ * in the file LICENSE in the source distribution or at
|
||
+ * https://www.openssl.org/source/license.html
|
||
+ */
|
||
+
|
||
+#include <openssl/opensslv.h>
|
||
+
|
||
+#ifdef __cplusplus
|
||
+extern "C" {
|
||
+#endif
|
||
+
|
||
+#ifdef OPENSSL_ALGORITHM_DEFINES
|
||
+# error OPENSSL_ALGORITHM_DEFINES no longer supported
|
||
+#endif
|
||
+
|
||
+/*
|
||
+ * OpenSSL was configured with the following options:
|
||
+ */
|
||
+
|
||
+#ifndef OPENSSL_NO_COMP
|
||
+# define OPENSSL_NO_COMP
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_MD2
|
||
+# define OPENSSL_NO_MD2
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC5
|
||
+# define OPENSSL_NO_RC5
|
||
+#endif
|
||
+#ifndef OPENSSL_THREADS
|
||
+# define OPENSSL_THREADS
|
||
+#endif
|
||
+#ifndef OPENSSL_RAND_SEED_OS
|
||
+# define OPENSSL_RAND_SEED_OS
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_AFALGENG
|
||
+# define OPENSSL_NO_AFALGENG
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ASAN
|
||
+# define OPENSSL_NO_ASAN
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG
|
||
+# define OPENSSL_NO_CRYPTO_MDEBUG
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
|
||
+# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DEVCRYPTOENG
|
||
+# define OPENSSL_NO_DEVCRYPTOENG
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
|
||
+# define OPENSSL_NO_EC_NISTP_64_GCC_128
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_EGD
|
||
+# define OPENSSL_NO_EGD
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_EXTERNAL_TESTS
|
||
+# define OPENSSL_NO_EXTERNAL_TESTS
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_FUZZ_AFL
|
||
+# define OPENSSL_NO_FUZZ_AFL
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_FUZZ_LIBFUZZER
|
||
+# define OPENSSL_NO_FUZZ_LIBFUZZER
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_HEARTBEATS
|
||
+# define OPENSSL_NO_HEARTBEATS
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_MSAN
|
||
+# define OPENSSL_NO_MSAN
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SCTP
|
||
+# define OPENSSL_NO_SCTP
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SSL_TRACE
|
||
+# define OPENSSL_NO_SSL_TRACE
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SSL3
|
||
+# define OPENSSL_NO_SSL3
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SSL3_METHOD
|
||
+# define OPENSSL_NO_SSL3_METHOD
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_UBSAN
|
||
+# define OPENSSL_NO_UBSAN
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_UNIT_TEST
|
||
+# define OPENSSL_NO_UNIT_TEST
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
|
||
+# define OPENSSL_NO_WEAK_SSL_CIPHERS
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DYNAMIC_ENGINE
|
||
+# define OPENSSL_NO_DYNAMIC_ENGINE
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_AFALGENG
|
||
+# define OPENSSL_NO_AFALGENG
|
||
+#endif
|
||
+
|
||
+
|
||
+/*
|
||
+ * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers
|
||
+ * don't like that. This will hopefully silence them.
|
||
+ */
|
||
+#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
|
||
+
|
||
+/*
|
||
+ * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
|
||
+ * declarations of functions deprecated in or before <version>. Otherwise, they
|
||
+ * still won't see them if the library has been built to disable deprecated
|
||
+ * functions.
|
||
+ */
|
||
+#ifndef DECLARE_DEPRECATED
|
||
+# define DECLARE_DEPRECATED(f) f;
|
||
+# ifdef __GNUC__
|
||
+# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
|
||
+# undef DECLARE_DEPRECATED
|
||
+# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
|
||
+# endif
|
||
+# endif
|
||
+#endif
|
||
+
|
||
+#ifndef OPENSSL_FILE
|
||
+# ifdef OPENSSL_NO_FILENAMES
|
||
+# define OPENSSL_FILE ""
|
||
+# define OPENSSL_LINE 0
|
||
+# else
|
||
+# define OPENSSL_FILE __FILE__
|
||
+# define OPENSSL_LINE __LINE__
|
||
+# endif
|
||
+#endif
|
||
+
|
||
+#ifndef OPENSSL_MIN_API
|
||
+# define OPENSSL_MIN_API 0
|
||
+#endif
|
||
+
|
||
+#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
|
||
+# undef OPENSSL_API_COMPAT
|
||
+# define OPENSSL_API_COMPAT OPENSSL_MIN_API
|
||
+#endif
|
||
+
|
||
+/*
|
||
+ * Do not deprecate things to be deprecated in version 1.2.0 before the
|
||
+ * OpenSSL version number matches.
|
||
+ */
|
||
+#if OPENSSL_VERSION_NUMBER < 0x10200000L
|
||
+# define DEPRECATEDIN_1_2_0(f) f;
|
||
+#elif OPENSSL_API_COMPAT < 0x10200000L
|
||
+# define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f)
|
||
+#else
|
||
+# define DEPRECATEDIN_1_2_0(f)
|
||
+#endif
|
||
+
|
||
+#if OPENSSL_API_COMPAT < 0x10100000L
|
||
+# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f)
|
||
+#else
|
||
+# define DEPRECATEDIN_1_1_0(f)
|
||
+#endif
|
||
+
|
||
+#if OPENSSL_API_COMPAT < 0x10000000L
|
||
+# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f)
|
||
+#else
|
||
+# define DEPRECATEDIN_1_0_0(f)
|
||
+#endif
|
||
+
|
||
+#if OPENSSL_API_COMPAT < 0x00908000L
|
||
+# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f)
|
||
+#else
|
||
+# define DEPRECATEDIN_0_9_8(f)
|
||
+#endif
|
||
+
|
||
+/* Generate 80386 code? */
|
||
+#undef I386_ONLY
|
||
+
|
||
+#undef OPENSSL_UNISTD
|
||
+#define OPENSSL_UNISTD <unistd.h>
|
||
+
|
||
+#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
|
||
+
|
||
+/*
|
||
+ * The following are cipher-specific, but are part of the public API.
|
||
+ */
|
||
+#if !defined(OPENSSL_SYS_UEFI)
|
||
+# define BN_LLONG
|
||
+/* Only one for the following should be defined */
|
||
+# undef SIXTY_FOUR_BIT_LONG
|
||
+# undef SIXTY_FOUR_BIT
|
||
+# define THIRTY_TWO_BIT
|
||
+#endif
|
||
+
|
||
+#define RC4_INT unsigned char
|
||
+
|
||
+#ifdef __cplusplus
|
||
+}
|
||
+#endif
|
||
diff -urN a/deps/openssl/config/archs/linux-mips/asm/include/progs.h b/deps/openssl/config/archs/linux-mips/asm/include/progs.h
|
||
--- a/deps/openssl/config/archs/linux-mips/asm/include/progs.h 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mips/asm/include/progs.h 2019-12-25 13:49:19.984298806 +0900
|
||
@@ -0,0 +1,507 @@
|
||
+/*
|
||
+ * WARNING: do not edit!
|
||
+ * Generated by apps/progs.pl
|
||
+ *
|
||
+ * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||
+ *
|
||
+ * Licensed under the OpenSSL license (the "License"). You may not use
|
||
+ * this file except in compliance with the License. You can obtain a copy
|
||
+ * in the file LICENSE in the source distribution or at
|
||
+ * https://www.openssl.org/source/license.html
|
||
+ */
|
||
+
|
||
+typedef enum FUNC_TYPE {
|
||
+ FT_none, FT_general, FT_md, FT_cipher, FT_pkey,
|
||
+ FT_md_alg, FT_cipher_alg
|
||
+} FUNC_TYPE;
|
||
+
|
||
+typedef struct function_st {
|
||
+ FUNC_TYPE type;
|
||
+ const char *name;
|
||
+ int (*func)(int argc, char *argv[]);
|
||
+ const OPTIONS *help;
|
||
+} FUNCTION;
|
||
+
|
||
+DEFINE_LHASH_OF(FUNCTION);
|
||
+
|
||
+extern int asn1parse_main(int argc, char *argv[]);
|
||
+extern int ca_main(int argc, char *argv[]);
|
||
+extern int ciphers_main(int argc, char *argv[]);
|
||
+extern int cms_main(int argc, char *argv[]);
|
||
+extern int crl_main(int argc, char *argv[]);
|
||
+extern int crl2pkcs7_main(int argc, char *argv[]);
|
||
+extern int dgst_main(int argc, char *argv[]);
|
||
+extern int dhparam_main(int argc, char *argv[]);
|
||
+extern int dsa_main(int argc, char *argv[]);
|
||
+extern int dsaparam_main(int argc, char *argv[]);
|
||
+extern int ec_main(int argc, char *argv[]);
|
||
+extern int ecparam_main(int argc, char *argv[]);
|
||
+extern int enc_main(int argc, char *argv[]);
|
||
+extern int engine_main(int argc, char *argv[]);
|
||
+extern int errstr_main(int argc, char *argv[]);
|
||
+extern int gendsa_main(int argc, char *argv[]);
|
||
+extern int genpkey_main(int argc, char *argv[]);
|
||
+extern int genrsa_main(int argc, char *argv[]);
|
||
+extern int help_main(int argc, char *argv[]);
|
||
+extern int list_main(int argc, char *argv[]);
|
||
+extern int nseq_main(int argc, char *argv[]);
|
||
+extern int ocsp_main(int argc, char *argv[]);
|
||
+extern int passwd_main(int argc, char *argv[]);
|
||
+extern int pkcs12_main(int argc, char *argv[]);
|
||
+extern int pkcs7_main(int argc, char *argv[]);
|
||
+extern int pkcs8_main(int argc, char *argv[]);
|
||
+extern int pkey_main(int argc, char *argv[]);
|
||
+extern int pkeyparam_main(int argc, char *argv[]);
|
||
+extern int pkeyutl_main(int argc, char *argv[]);
|
||
+extern int prime_main(int argc, char *argv[]);
|
||
+extern int rand_main(int argc, char *argv[]);
|
||
+extern int rehash_main(int argc, char *argv[]);
|
||
+extern int req_main(int argc, char *argv[]);
|
||
+extern int rsa_main(int argc, char *argv[]);
|
||
+extern int rsautl_main(int argc, char *argv[]);
|
||
+extern int s_client_main(int argc, char *argv[]);
|
||
+extern int s_server_main(int argc, char *argv[]);
|
||
+extern int s_time_main(int argc, char *argv[]);
|
||
+extern int sess_id_main(int argc, char *argv[]);
|
||
+extern int smime_main(int argc, char *argv[]);
|
||
+extern int speed_main(int argc, char *argv[]);
|
||
+extern int spkac_main(int argc, char *argv[]);
|
||
+extern int srp_main(int argc, char *argv[]);
|
||
+extern int storeutl_main(int argc, char *argv[]);
|
||
+extern int ts_main(int argc, char *argv[]);
|
||
+extern int verify_main(int argc, char *argv[]);
|
||
+extern int version_main(int argc, char *argv[]);
|
||
+extern int x509_main(int argc, char *argv[]);
|
||
+
|
||
+extern const OPTIONS asn1parse_options[];
|
||
+extern const OPTIONS ca_options[];
|
||
+extern const OPTIONS ciphers_options[];
|
||
+extern const OPTIONS cms_options[];
|
||
+extern const OPTIONS crl_options[];
|
||
+extern const OPTIONS crl2pkcs7_options[];
|
||
+extern const OPTIONS dgst_options[];
|
||
+extern const OPTIONS dhparam_options[];
|
||
+extern const OPTIONS dsa_options[];
|
||
+extern const OPTIONS dsaparam_options[];
|
||
+extern const OPTIONS ec_options[];
|
||
+extern const OPTIONS ecparam_options[];
|
||
+extern const OPTIONS enc_options[];
|
||
+extern const OPTIONS engine_options[];
|
||
+extern const OPTIONS errstr_options[];
|
||
+extern const OPTIONS gendsa_options[];
|
||
+extern const OPTIONS genpkey_options[];
|
||
+extern const OPTIONS genrsa_options[];
|
||
+extern const OPTIONS help_options[];
|
||
+extern const OPTIONS list_options[];
|
||
+extern const OPTIONS nseq_options[];
|
||
+extern const OPTIONS ocsp_options[];
|
||
+extern const OPTIONS passwd_options[];
|
||
+extern const OPTIONS pkcs12_options[];
|
||
+extern const OPTIONS pkcs7_options[];
|
||
+extern const OPTIONS pkcs8_options[];
|
||
+extern const OPTIONS pkey_options[];
|
||
+extern const OPTIONS pkeyparam_options[];
|
||
+extern const OPTIONS pkeyutl_options[];
|
||
+extern const OPTIONS prime_options[];
|
||
+extern const OPTIONS rand_options[];
|
||
+extern const OPTIONS rehash_options[];
|
||
+extern const OPTIONS req_options[];
|
||
+extern const OPTIONS rsa_options[];
|
||
+extern const OPTIONS rsautl_options[];
|
||
+extern const OPTIONS s_client_options[];
|
||
+extern const OPTIONS s_server_options[];
|
||
+extern const OPTIONS s_time_options[];
|
||
+extern const OPTIONS sess_id_options[];
|
||
+extern const OPTIONS smime_options[];
|
||
+extern const OPTIONS speed_options[];
|
||
+extern const OPTIONS spkac_options[];
|
||
+extern const OPTIONS srp_options[];
|
||
+extern const OPTIONS storeutl_options[];
|
||
+extern const OPTIONS ts_options[];
|
||
+extern const OPTIONS verify_options[];
|
||
+extern const OPTIONS version_options[];
|
||
+extern const OPTIONS x509_options[];
|
||
+
|
||
+#ifdef INCLUDE_FUNCTION_TABLE
|
||
+static FUNCTION functions[] = {
|
||
+ {FT_general, "asn1parse", asn1parse_main, asn1parse_options},
|
||
+ {FT_general, "ca", ca_main, ca_options},
|
||
+#ifndef OPENSSL_NO_SOCK
|
||
+ {FT_general, "ciphers", ciphers_main, ciphers_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CMS
|
||
+ {FT_general, "cms", cms_main, cms_options},
|
||
+#endif
|
||
+ {FT_general, "crl", crl_main, crl_options},
|
||
+ {FT_general, "crl2pkcs7", crl2pkcs7_main, crl2pkcs7_options},
|
||
+ {FT_general, "dgst", dgst_main, dgst_options},
|
||
+#ifndef OPENSSL_NO_DH
|
||
+ {FT_general, "dhparam", dhparam_main, dhparam_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DSA
|
||
+ {FT_general, "dsa", dsa_main, dsa_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DSA
|
||
+ {FT_general, "dsaparam", dsaparam_main, dsaparam_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_EC
|
||
+ {FT_general, "ec", ec_main, ec_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_EC
|
||
+ {FT_general, "ecparam", ecparam_main, ecparam_options},
|
||
+#endif
|
||
+ {FT_general, "enc", enc_main, enc_options},
|
||
+#ifndef OPENSSL_NO_ENGINE
|
||
+ {FT_general, "engine", engine_main, engine_options},
|
||
+#endif
|
||
+ {FT_general, "errstr", errstr_main, errstr_options},
|
||
+#ifndef OPENSSL_NO_DSA
|
||
+ {FT_general, "gendsa", gendsa_main, gendsa_options},
|
||
+#endif
|
||
+ {FT_general, "genpkey", genpkey_main, genpkey_options},
|
||
+#ifndef OPENSSL_NO_RSA
|
||
+ {FT_general, "genrsa", genrsa_main, genrsa_options},
|
||
+#endif
|
||
+ {FT_general, "help", help_main, help_options},
|
||
+ {FT_general, "list", list_main, list_options},
|
||
+ {FT_general, "nseq", nseq_main, nseq_options},
|
||
+#ifndef OPENSSL_NO_OCSP
|
||
+ {FT_general, "ocsp", ocsp_main, ocsp_options},
|
||
+#endif
|
||
+ {FT_general, "passwd", passwd_main, passwd_options},
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_general, "pkcs12", pkcs12_main, pkcs12_options},
|
||
+#endif
|
||
+ {FT_general, "pkcs7", pkcs7_main, pkcs7_options},
|
||
+ {FT_general, "pkcs8", pkcs8_main, pkcs8_options},
|
||
+ {FT_general, "pkey", pkey_main, pkey_options},
|
||
+ {FT_general, "pkeyparam", pkeyparam_main, pkeyparam_options},
|
||
+ {FT_general, "pkeyutl", pkeyutl_main, pkeyutl_options},
|
||
+ {FT_general, "prime", prime_main, prime_options},
|
||
+ {FT_general, "rand", rand_main, rand_options},
|
||
+ {FT_general, "rehash", rehash_main, rehash_options},
|
||
+ {FT_general, "req", req_main, req_options},
|
||
+ {FT_general, "rsa", rsa_main, rsa_options},
|
||
+#ifndef OPENSSL_NO_RSA
|
||
+ {FT_general, "rsautl", rsautl_main, rsautl_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SOCK
|
||
+ {FT_general, "s_client", s_client_main, s_client_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SOCK
|
||
+ {FT_general, "s_server", s_server_main, s_server_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SOCK
|
||
+ {FT_general, "s_time", s_time_main, s_time_options},
|
||
+#endif
|
||
+ {FT_general, "sess_id", sess_id_main, sess_id_options},
|
||
+ {FT_general, "smime", smime_main, smime_options},
|
||
+ {FT_general, "speed", speed_main, speed_options},
|
||
+ {FT_general, "spkac", spkac_main, spkac_options},
|
||
+#ifndef OPENSSL_NO_SRP
|
||
+ {FT_general, "srp", srp_main, srp_options},
|
||
+#endif
|
||
+ {FT_general, "storeutl", storeutl_main, storeutl_options},
|
||
+#ifndef OPENSSL_NO_TS
|
||
+ {FT_general, "ts", ts_main, ts_options},
|
||
+#endif
|
||
+ {FT_general, "verify", verify_main, verify_options},
|
||
+ {FT_general, "version", version_main, version_options},
|
||
+ {FT_general, "x509", x509_main, x509_options},
|
||
+#ifndef OPENSSL_NO_MD2
|
||
+ {FT_md, "md2", dgst_main},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_MD4
|
||
+ {FT_md, "md4", dgst_main},
|
||
+#endif
|
||
+ {FT_md, "md5", dgst_main},
|
||
+#ifndef OPENSSL_NO_GOST
|
||
+ {FT_md, "gost", dgst_main},
|
||
+#endif
|
||
+ {FT_md, "sha1", dgst_main},
|
||
+ {FT_md, "sha224", dgst_main},
|
||
+ {FT_md, "sha256", dgst_main},
|
||
+ {FT_md, "sha384", dgst_main},
|
||
+ {FT_md, "sha512", dgst_main},
|
||
+ {FT_md, "sha512-224", dgst_main},
|
||
+ {FT_md, "sha512-256", dgst_main},
|
||
+ {FT_md, "sha3-224", dgst_main},
|
||
+ {FT_md, "sha3-256", dgst_main},
|
||
+ {FT_md, "sha3-384", dgst_main},
|
||
+ {FT_md, "sha3-512", dgst_main},
|
||
+ {FT_md, "shake128", dgst_main},
|
||
+ {FT_md, "shake256", dgst_main},
|
||
+#ifndef OPENSSL_NO_MDC2
|
||
+ {FT_md, "mdc2", dgst_main},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RMD160
|
||
+ {FT_md, "rmd160", dgst_main},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_BLAKE2
|
||
+ {FT_md, "blake2b512", dgst_main},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_BLAKE2
|
||
+ {FT_md, "blake2s256", dgst_main},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SM3
|
||
+ {FT_md, "sm3", dgst_main},
|
||
+#endif
|
||
+ {FT_cipher, "aes-128-cbc", enc_main, enc_options},
|
||
+ {FT_cipher, "aes-128-ecb", enc_main, enc_options},
|
||
+ {FT_cipher, "aes-192-cbc", enc_main, enc_options},
|
||
+ {FT_cipher, "aes-192-ecb", enc_main, enc_options},
|
||
+ {FT_cipher, "aes-256-cbc", enc_main, enc_options},
|
||
+ {FT_cipher, "aes-256-ecb", enc_main, enc_options},
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-128-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-128-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-128-ctr", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-128-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-128-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-128-cfb1", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-128-cfb8", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-192-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-192-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-192-ctr", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-192-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-192-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-192-cfb1", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-192-cfb8", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-256-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-256-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-256-ctr", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-256-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-256-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-256-cfb1", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-256-cfb8", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAMELLIA
|
||
+ {FT_cipher, "camellia-128-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAMELLIA
|
||
+ {FT_cipher, "camellia-128-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAMELLIA
|
||
+ {FT_cipher, "camellia-192-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAMELLIA
|
||
+ {FT_cipher, "camellia-192-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAMELLIA
|
||
+ {FT_cipher, "camellia-256-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAMELLIA
|
||
+ {FT_cipher, "camellia-256-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+ {FT_cipher, "base64", enc_main, enc_options},
|
||
+#ifdef ZLIB
|
||
+ {FT_cipher, "zlib", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des3", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "desx", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_IDEA
|
||
+ {FT_cipher, "idea", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SEED
|
||
+ {FT_cipher, "seed", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC4
|
||
+ {FT_cipher, "rc4", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC4
|
||
+ {FT_cipher, "rc4-40", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC2
|
||
+ {FT_cipher, "rc2", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_BF
|
||
+ {FT_cipher, "bf", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAST
|
||
+ {FT_cipher, "cast", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC5
|
||
+ {FT_cipher, "rc5", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede3", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede3-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede3-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede3-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_IDEA
|
||
+ {FT_cipher, "idea-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_IDEA
|
||
+ {FT_cipher, "idea-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_IDEA
|
||
+ {FT_cipher, "idea-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_IDEA
|
||
+ {FT_cipher, "idea-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SEED
|
||
+ {FT_cipher, "seed-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SEED
|
||
+ {FT_cipher, "seed-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SEED
|
||
+ {FT_cipher, "seed-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SEED
|
||
+ {FT_cipher, "seed-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC2
|
||
+ {FT_cipher, "rc2-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC2
|
||
+ {FT_cipher, "rc2-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC2
|
||
+ {FT_cipher, "rc2-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC2
|
||
+ {FT_cipher, "rc2-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC2
|
||
+ {FT_cipher, "rc2-64-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC2
|
||
+ {FT_cipher, "rc2-40-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_BF
|
||
+ {FT_cipher, "bf-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_BF
|
||
+ {FT_cipher, "bf-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_BF
|
||
+ {FT_cipher, "bf-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_BF
|
||
+ {FT_cipher, "bf-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAST
|
||
+ {FT_cipher, "cast5-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAST
|
||
+ {FT_cipher, "cast5-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAST
|
||
+ {FT_cipher, "cast5-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAST
|
||
+ {FT_cipher, "cast5-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAST
|
||
+ {FT_cipher, "cast-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC5
|
||
+ {FT_cipher, "rc5-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC5
|
||
+ {FT_cipher, "rc5-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC5
|
||
+ {FT_cipher, "rc5-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC5
|
||
+ {FT_cipher, "rc5-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SM4
|
||
+ {FT_cipher, "sm4-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SM4
|
||
+ {FT_cipher, "sm4-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SM4
|
||
+ {FT_cipher, "sm4-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SM4
|
||
+ {FT_cipher, "sm4-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SM4
|
||
+ {FT_cipher, "sm4-ctr", enc_main, enc_options},
|
||
+#endif
|
||
+ {0, NULL, NULL}
|
||
+};
|
||
+#endif
|
||
diff -urN a/deps/openssl/config/archs/linux-mips/asm/openssl-cl.gypi b/deps/openssl/config/archs/linux-mips/asm/openssl-cl.gypi
|
||
--- a/deps/openssl/config/archs/linux-mips/asm/openssl-cl.gypi 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mips/asm/openssl-cl.gypi 2019-12-25 13:49:19.984298806 +0900
|
||
@@ -0,0 +1,81 @@
|
||
+{
|
||
+ 'variables': {
|
||
+ 'openssl_defines_linux-mips': [
|
||
+ 'NDEBUG',
|
||
+ 'OPENSSL_USE_NODELETE',
|
||
+ 'OPENSSL_PIC',
|
||
+ 'OPENSSL_BN_ASM_MONT',
|
||
+ 'SHA1_ASM',
|
||
+ 'SHA256_ASM',
|
||
+ 'AES_ASM',
|
||
+ ],
|
||
+ 'openssl_cflags_linux-mips': [
|
||
+ '-Wall -O3 -pthread',
|
||
+ ],
|
||
+ 'openssl_ex_libs_linux-mips': [
|
||
+ '-ldl -pthread',
|
||
+ ],
|
||
+ 'openssl_cli_srcs_linux-mips': [
|
||
+ 'openssl/apps/asn1pars.c',
|
||
+ 'openssl/apps/ca.c',
|
||
+ 'openssl/apps/ciphers.c',
|
||
+ 'openssl/apps/cms.c',
|
||
+ 'openssl/apps/crl.c',
|
||
+ 'openssl/apps/crl2p7.c',
|
||
+ 'openssl/apps/dgst.c',
|
||
+ 'openssl/apps/dhparam.c',
|
||
+ 'openssl/apps/dsa.c',
|
||
+ 'openssl/apps/dsaparam.c',
|
||
+ 'openssl/apps/ec.c',
|
||
+ 'openssl/apps/ecparam.c',
|
||
+ 'openssl/apps/enc.c',
|
||
+ 'openssl/apps/engine.c',
|
||
+ 'openssl/apps/errstr.c',
|
||
+ 'openssl/apps/gendsa.c',
|
||
+ 'openssl/apps/genpkey.c',
|
||
+ 'openssl/apps/genrsa.c',
|
||
+ 'openssl/apps/nseq.c',
|
||
+ 'openssl/apps/ocsp.c',
|
||
+ 'openssl/apps/openssl.c',
|
||
+ 'openssl/apps/passwd.c',
|
||
+ 'openssl/apps/pkcs12.c',
|
||
+ 'openssl/apps/pkcs7.c',
|
||
+ 'openssl/apps/pkcs8.c',
|
||
+ 'openssl/apps/pkey.c',
|
||
+ 'openssl/apps/pkeyparam.c',
|
||
+ 'openssl/apps/pkeyutl.c',
|
||
+ 'openssl/apps/prime.c',
|
||
+ 'openssl/apps/rand.c',
|
||
+ 'openssl/apps/rehash.c',
|
||
+ 'openssl/apps/req.c',
|
||
+ 'openssl/apps/rsa.c',
|
||
+ 'openssl/apps/rsautl.c',
|
||
+ 'openssl/apps/s_client.c',
|
||
+ 'openssl/apps/s_server.c',
|
||
+ 'openssl/apps/s_time.c',
|
||
+ 'openssl/apps/sess_id.c',
|
||
+ 'openssl/apps/smime.c',
|
||
+ 'openssl/apps/speed.c',
|
||
+ 'openssl/apps/spkac.c',
|
||
+ 'openssl/apps/srp.c',
|
||
+ 'openssl/apps/storeutl.c',
|
||
+ 'openssl/apps/ts.c',
|
||
+ 'openssl/apps/verify.c',
|
||
+ 'openssl/apps/version.c',
|
||
+ 'openssl/apps/x509.c',
|
||
+ 'openssl/apps/app_rand.c',
|
||
+ 'openssl/apps/apps.c',
|
||
+ 'openssl/apps/bf_prefix.c',
|
||
+ 'openssl/apps/opt.c',
|
||
+ 'openssl/apps/s_cb.c',
|
||
+ 'openssl/apps/s_socket.c',
|
||
+ ],
|
||
+ },
|
||
+ 'defines': ['<@(openssl_defines_linux-mips)'],
|
||
+ 'include_dirs': [
|
||
+ './include',
|
||
+ ],
|
||
+ 'cflags' : ['<@(openssl_cflags_linux-mips)'],
|
||
+ 'libraries': ['<@(openssl_ex_libs_linux-mips)'],
|
||
+ 'sources': ['<@(openssl_cli_srcs_linux-mips)'],
|
||
+}
|
||
diff -urN a/deps/openssl/config/archs/linux-mips/asm/openssl.gypi b/deps/openssl/config/archs/linux-mips/asm/openssl.gypi
|
||
--- a/deps/openssl/config/archs/linux-mips/asm/openssl.gypi 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mips/asm/openssl.gypi 2019-12-25 13:49:19.984298806 +0900
|
||
@@ -0,0 +1,716 @@
|
||
+{
|
||
+ 'variables': {
|
||
+ 'openssl_sources': [
|
||
+ 'openssl/ssl/bio_ssl.c',
|
||
+ 'openssl/ssl/d1_lib.c',
|
||
+ 'openssl/ssl/d1_msg.c',
|
||
+ 'openssl/ssl/d1_srtp.c',
|
||
+ 'openssl/ssl/methods.c',
|
||
+ 'openssl/ssl/packet.c',
|
||
+ 'openssl/ssl/pqueue.c',
|
||
+ 'openssl/ssl/record/dtls1_bitmap.c',
|
||
+ 'openssl/ssl/record/rec_layer_d1.c',
|
||
+ 'openssl/ssl/record/rec_layer_s3.c',
|
||
+ 'openssl/ssl/record/ssl3_buffer.c',
|
||
+ 'openssl/ssl/record/ssl3_record.c',
|
||
+ 'openssl/ssl/record/ssl3_record_tls13.c',
|
||
+ 'openssl/ssl/s3_cbc.c',
|
||
+ 'openssl/ssl/s3_enc.c',
|
||
+ 'openssl/ssl/s3_lib.c',
|
||
+ 'openssl/ssl/s3_msg.c',
|
||
+ 'openssl/ssl/ssl_asn1.c',
|
||
+ 'openssl/ssl/ssl_cert.c',
|
||
+ 'openssl/ssl/ssl_ciph.c',
|
||
+ 'openssl/ssl/ssl_conf.c',
|
||
+ 'openssl/ssl/ssl_err.c',
|
||
+ 'openssl/ssl/ssl_init.c',
|
||
+ 'openssl/ssl/ssl_lib.c',
|
||
+ 'openssl/ssl/ssl_mcnf.c',
|
||
+ 'openssl/ssl/ssl_rsa.c',
|
||
+ 'openssl/ssl/ssl_sess.c',
|
||
+ 'openssl/ssl/ssl_stat.c',
|
||
+ 'openssl/ssl/ssl_txt.c',
|
||
+ 'openssl/ssl/ssl_utst.c',
|
||
+ 'openssl/ssl/statem/extensions.c',
|
||
+ 'openssl/ssl/statem/extensions_clnt.c',
|
||
+ 'openssl/ssl/statem/extensions_cust.c',
|
||
+ 'openssl/ssl/statem/extensions_srvr.c',
|
||
+ 'openssl/ssl/statem/statem.c',
|
||
+ 'openssl/ssl/statem/statem_clnt.c',
|
||
+ 'openssl/ssl/statem/statem_dtls.c',
|
||
+ 'openssl/ssl/statem/statem_lib.c',
|
||
+ 'openssl/ssl/statem/statem_srvr.c',
|
||
+ 'openssl/ssl/t1_enc.c',
|
||
+ 'openssl/ssl/t1_lib.c',
|
||
+ 'openssl/ssl/t1_trce.c',
|
||
+ 'openssl/ssl/tls13_enc.c',
|
||
+ 'openssl/ssl/tls_srp.c',
|
||
+ 'openssl/crypto/aes/aes_cbc.c',
|
||
+ 'openssl/crypto/aes/aes_cfb.c',
|
||
+ 'openssl/crypto/aes/aes_ecb.c',
|
||
+ 'openssl/crypto/aes/aes_ige.c',
|
||
+ 'openssl/crypto/aes/aes_misc.c',
|
||
+ 'openssl/crypto/aes/aes_ofb.c',
|
||
+ 'openssl/crypto/aes/aes_wrap.c',
|
||
+ 'openssl/crypto/aria/aria.c',
|
||
+ 'openssl/crypto/asn1/a_bitstr.c',
|
||
+ 'openssl/crypto/asn1/a_d2i_fp.c',
|
||
+ 'openssl/crypto/asn1/a_digest.c',
|
||
+ 'openssl/crypto/asn1/a_dup.c',
|
||
+ 'openssl/crypto/asn1/a_gentm.c',
|
||
+ 'openssl/crypto/asn1/a_i2d_fp.c',
|
||
+ 'openssl/crypto/asn1/a_int.c',
|
||
+ 'openssl/crypto/asn1/a_mbstr.c',
|
||
+ 'openssl/crypto/asn1/a_object.c',
|
||
+ 'openssl/crypto/asn1/a_octet.c',
|
||
+ 'openssl/crypto/asn1/a_print.c',
|
||
+ 'openssl/crypto/asn1/a_sign.c',
|
||
+ 'openssl/crypto/asn1/a_strex.c',
|
||
+ 'openssl/crypto/asn1/a_strnid.c',
|
||
+ 'openssl/crypto/asn1/a_time.c',
|
||
+ 'openssl/crypto/asn1/a_type.c',
|
||
+ 'openssl/crypto/asn1/a_utctm.c',
|
||
+ 'openssl/crypto/asn1/a_utf8.c',
|
||
+ 'openssl/crypto/asn1/a_verify.c',
|
||
+ 'openssl/crypto/asn1/ameth_lib.c',
|
||
+ 'openssl/crypto/asn1/asn1_err.c',
|
||
+ 'openssl/crypto/asn1/asn1_gen.c',
|
||
+ 'openssl/crypto/asn1/asn1_item_list.c',
|
||
+ 'openssl/crypto/asn1/asn1_lib.c',
|
||
+ 'openssl/crypto/asn1/asn1_par.c',
|
||
+ 'openssl/crypto/asn1/asn_mime.c',
|
||
+ 'openssl/crypto/asn1/asn_moid.c',
|
||
+ 'openssl/crypto/asn1/asn_mstbl.c',
|
||
+ 'openssl/crypto/asn1/asn_pack.c',
|
||
+ 'openssl/crypto/asn1/bio_asn1.c',
|
||
+ 'openssl/crypto/asn1/bio_ndef.c',
|
||
+ 'openssl/crypto/asn1/d2i_pr.c',
|
||
+ 'openssl/crypto/asn1/d2i_pu.c',
|
||
+ 'openssl/crypto/asn1/evp_asn1.c',
|
||
+ 'openssl/crypto/asn1/f_int.c',
|
||
+ 'openssl/crypto/asn1/f_string.c',
|
||
+ 'openssl/crypto/asn1/i2d_pr.c',
|
||
+ 'openssl/crypto/asn1/i2d_pu.c',
|
||
+ 'openssl/crypto/asn1/n_pkey.c',
|
||
+ 'openssl/crypto/asn1/nsseq.c',
|
||
+ 'openssl/crypto/asn1/p5_pbe.c',
|
||
+ 'openssl/crypto/asn1/p5_pbev2.c',
|
||
+ 'openssl/crypto/asn1/p5_scrypt.c',
|
||
+ 'openssl/crypto/asn1/p8_pkey.c',
|
||
+ 'openssl/crypto/asn1/t_bitst.c',
|
||
+ 'openssl/crypto/asn1/t_pkey.c',
|
||
+ 'openssl/crypto/asn1/t_spki.c',
|
||
+ 'openssl/crypto/asn1/tasn_dec.c',
|
||
+ 'openssl/crypto/asn1/tasn_enc.c',
|
||
+ 'openssl/crypto/asn1/tasn_fre.c',
|
||
+ 'openssl/crypto/asn1/tasn_new.c',
|
||
+ 'openssl/crypto/asn1/tasn_prn.c',
|
||
+ 'openssl/crypto/asn1/tasn_scn.c',
|
||
+ 'openssl/crypto/asn1/tasn_typ.c',
|
||
+ 'openssl/crypto/asn1/tasn_utl.c',
|
||
+ 'openssl/crypto/asn1/x_algor.c',
|
||
+ 'openssl/crypto/asn1/x_bignum.c',
|
||
+ 'openssl/crypto/asn1/x_info.c',
|
||
+ 'openssl/crypto/asn1/x_int64.c',
|
||
+ 'openssl/crypto/asn1/x_long.c',
|
||
+ 'openssl/crypto/asn1/x_pkey.c',
|
||
+ 'openssl/crypto/asn1/x_sig.c',
|
||
+ 'openssl/crypto/asn1/x_spki.c',
|
||
+ 'openssl/crypto/asn1/x_val.c',
|
||
+ 'openssl/crypto/async/arch/async_null.c',
|
||
+ 'openssl/crypto/async/arch/async_posix.c',
|
||
+ 'openssl/crypto/async/arch/async_win.c',
|
||
+ 'openssl/crypto/async/async.c',
|
||
+ 'openssl/crypto/async/async_err.c',
|
||
+ 'openssl/crypto/async/async_wait.c',
|
||
+ 'openssl/crypto/bf/bf_cfb64.c',
|
||
+ 'openssl/crypto/bf/bf_ecb.c',
|
||
+ 'openssl/crypto/bf/bf_enc.c',
|
||
+ 'openssl/crypto/bf/bf_ofb64.c',
|
||
+ 'openssl/crypto/bf/bf_skey.c',
|
||
+ 'openssl/crypto/bio/b_addr.c',
|
||
+ 'openssl/crypto/bio/b_dump.c',
|
||
+ 'openssl/crypto/bio/b_print.c',
|
||
+ 'openssl/crypto/bio/b_sock.c',
|
||
+ 'openssl/crypto/bio/b_sock2.c',
|
||
+ 'openssl/crypto/bio/bf_buff.c',
|
||
+ 'openssl/crypto/bio/bf_lbuf.c',
|
||
+ 'openssl/crypto/bio/bf_nbio.c',
|
||
+ 'openssl/crypto/bio/bf_null.c',
|
||
+ 'openssl/crypto/bio/bio_cb.c',
|
||
+ 'openssl/crypto/bio/bio_err.c',
|
||
+ 'openssl/crypto/bio/bio_lib.c',
|
||
+ 'openssl/crypto/bio/bio_meth.c',
|
||
+ 'openssl/crypto/bio/bss_acpt.c',
|
||
+ 'openssl/crypto/bio/bss_bio.c',
|
||
+ 'openssl/crypto/bio/bss_conn.c',
|
||
+ 'openssl/crypto/bio/bss_dgram.c',
|
||
+ 'openssl/crypto/bio/bss_fd.c',
|
||
+ 'openssl/crypto/bio/bss_file.c',
|
||
+ 'openssl/crypto/bio/bss_log.c',
|
||
+ 'openssl/crypto/bio/bss_mem.c',
|
||
+ 'openssl/crypto/bio/bss_null.c',
|
||
+ 'openssl/crypto/bio/bss_sock.c',
|
||
+ 'openssl/crypto/blake2/blake2b.c',
|
||
+ 'openssl/crypto/blake2/blake2s.c',
|
||
+ 'openssl/crypto/blake2/m_blake2b.c',
|
||
+ 'openssl/crypto/blake2/m_blake2s.c',
|
||
+ 'openssl/crypto/bn/bn_add.c',
|
||
+ 'openssl/crypto/bn/bn_blind.c',
|
||
+ 'openssl/crypto/bn/bn_const.c',
|
||
+ 'openssl/crypto/bn/bn_ctx.c',
|
||
+ 'openssl/crypto/bn/bn_depr.c',
|
||
+ 'openssl/crypto/bn/bn_dh.c',
|
||
+ 'openssl/crypto/bn/bn_div.c',
|
||
+ 'openssl/crypto/bn/bn_err.c',
|
||
+ 'openssl/crypto/bn/bn_exp.c',
|
||
+ 'openssl/crypto/bn/bn_exp2.c',
|
||
+ 'openssl/crypto/bn/bn_gcd.c',
|
||
+ 'openssl/crypto/bn/bn_gf2m.c',
|
||
+ 'openssl/crypto/bn/bn_intern.c',
|
||
+ 'openssl/crypto/bn/bn_kron.c',
|
||
+ 'openssl/crypto/bn/bn_lib.c',
|
||
+ 'openssl/crypto/bn/bn_mod.c',
|
||
+ 'openssl/crypto/bn/bn_mont.c',
|
||
+ 'openssl/crypto/bn/bn_mpi.c',
|
||
+ 'openssl/crypto/bn/bn_mul.c',
|
||
+ 'openssl/crypto/bn/bn_nist.c',
|
||
+ 'openssl/crypto/bn/bn_prime.c',
|
||
+ 'openssl/crypto/bn/bn_print.c',
|
||
+ 'openssl/crypto/bn/bn_rand.c',
|
||
+ 'openssl/crypto/bn/bn_recp.c',
|
||
+ 'openssl/crypto/bn/bn_shift.c',
|
||
+ 'openssl/crypto/bn/bn_sqr.c',
|
||
+ 'openssl/crypto/bn/bn_sqrt.c',
|
||
+ 'openssl/crypto/bn/bn_srp.c',
|
||
+ 'openssl/crypto/bn/bn_word.c',
|
||
+ 'openssl/crypto/bn/bn_x931p.c',
|
||
+ 'openssl/crypto/buffer/buf_err.c',
|
||
+ 'openssl/crypto/buffer/buffer.c',
|
||
+ 'openssl/crypto/camellia/camellia.c',
|
||
+ 'openssl/crypto/camellia/cmll_cbc.c',
|
||
+ 'openssl/crypto/camellia/cmll_cfb.c',
|
||
+ 'openssl/crypto/camellia/cmll_ctr.c',
|
||
+ 'openssl/crypto/camellia/cmll_ecb.c',
|
||
+ 'openssl/crypto/camellia/cmll_misc.c',
|
||
+ 'openssl/crypto/camellia/cmll_ofb.c',
|
||
+ 'openssl/crypto/cast/c_cfb64.c',
|
||
+ 'openssl/crypto/cast/c_ecb.c',
|
||
+ 'openssl/crypto/cast/c_enc.c',
|
||
+ 'openssl/crypto/cast/c_ofb64.c',
|
||
+ 'openssl/crypto/cast/c_skey.c',
|
||
+ 'openssl/crypto/chacha/chacha_enc.c',
|
||
+ 'openssl/crypto/cmac/cm_ameth.c',
|
||
+ 'openssl/crypto/cmac/cm_pmeth.c',
|
||
+ 'openssl/crypto/cmac/cmac.c',
|
||
+ 'openssl/crypto/cms/cms_asn1.c',
|
||
+ 'openssl/crypto/cms/cms_att.c',
|
||
+ 'openssl/crypto/cms/cms_cd.c',
|
||
+ 'openssl/crypto/cms/cms_dd.c',
|
||
+ 'openssl/crypto/cms/cms_enc.c',
|
||
+ 'openssl/crypto/cms/cms_env.c',
|
||
+ 'openssl/crypto/cms/cms_err.c',
|
||
+ 'openssl/crypto/cms/cms_ess.c',
|
||
+ 'openssl/crypto/cms/cms_io.c',
|
||
+ 'openssl/crypto/cms/cms_kari.c',
|
||
+ 'openssl/crypto/cms/cms_lib.c',
|
||
+ 'openssl/crypto/cms/cms_pwri.c',
|
||
+ 'openssl/crypto/cms/cms_sd.c',
|
||
+ 'openssl/crypto/cms/cms_smime.c',
|
||
+ 'openssl/crypto/conf/conf_api.c',
|
||
+ 'openssl/crypto/conf/conf_def.c',
|
||
+ 'openssl/crypto/conf/conf_err.c',
|
||
+ 'openssl/crypto/conf/conf_lib.c',
|
||
+ 'openssl/crypto/conf/conf_mall.c',
|
||
+ 'openssl/crypto/conf/conf_mod.c',
|
||
+ 'openssl/crypto/conf/conf_sap.c',
|
||
+ 'openssl/crypto/conf/conf_ssl.c',
|
||
+ 'openssl/crypto/cpt_err.c',
|
||
+ 'openssl/crypto/cryptlib.c',
|
||
+ 'openssl/crypto/ct/ct_b64.c',
|
||
+ 'openssl/crypto/ct/ct_err.c',
|
||
+ 'openssl/crypto/ct/ct_log.c',
|
||
+ 'openssl/crypto/ct/ct_oct.c',
|
||
+ 'openssl/crypto/ct/ct_policy.c',
|
||
+ 'openssl/crypto/ct/ct_prn.c',
|
||
+ 'openssl/crypto/ct/ct_sct.c',
|
||
+ 'openssl/crypto/ct/ct_sct_ctx.c',
|
||
+ 'openssl/crypto/ct/ct_vfy.c',
|
||
+ 'openssl/crypto/ct/ct_x509v3.c',
|
||
+ 'openssl/crypto/ctype.c',
|
||
+ 'openssl/crypto/cversion.c',
|
||
+ 'openssl/crypto/des/cbc_cksm.c',
|
||
+ 'openssl/crypto/des/cbc_enc.c',
|
||
+ 'openssl/crypto/des/cfb64ede.c',
|
||
+ 'openssl/crypto/des/cfb64enc.c',
|
||
+ 'openssl/crypto/des/cfb_enc.c',
|
||
+ 'openssl/crypto/des/des_enc.c',
|
||
+ 'openssl/crypto/des/ecb3_enc.c',
|
||
+ 'openssl/crypto/des/ecb_enc.c',
|
||
+ 'openssl/crypto/des/fcrypt.c',
|
||
+ 'openssl/crypto/des/fcrypt_b.c',
|
||
+ 'openssl/crypto/des/ofb64ede.c',
|
||
+ 'openssl/crypto/des/ofb64enc.c',
|
||
+ 'openssl/crypto/des/ofb_enc.c',
|
||
+ 'openssl/crypto/des/pcbc_enc.c',
|
||
+ 'openssl/crypto/des/qud_cksm.c',
|
||
+ 'openssl/crypto/des/rand_key.c',
|
||
+ 'openssl/crypto/des/set_key.c',
|
||
+ 'openssl/crypto/des/str2key.c',
|
||
+ 'openssl/crypto/des/xcbc_enc.c',
|
||
+ 'openssl/crypto/dh/dh_ameth.c',
|
||
+ 'openssl/crypto/dh/dh_asn1.c',
|
||
+ 'openssl/crypto/dh/dh_check.c',
|
||
+ 'openssl/crypto/dh/dh_depr.c',
|
||
+ 'openssl/crypto/dh/dh_err.c',
|
||
+ 'openssl/crypto/dh/dh_gen.c',
|
||
+ 'openssl/crypto/dh/dh_kdf.c',
|
||
+ 'openssl/crypto/dh/dh_key.c',
|
||
+ 'openssl/crypto/dh/dh_lib.c',
|
||
+ 'openssl/crypto/dh/dh_meth.c',
|
||
+ 'openssl/crypto/dh/dh_pmeth.c',
|
||
+ 'openssl/crypto/dh/dh_prn.c',
|
||
+ 'openssl/crypto/dh/dh_rfc5114.c',
|
||
+ 'openssl/crypto/dh/dh_rfc7919.c',
|
||
+ 'openssl/crypto/dsa/dsa_ameth.c',
|
||
+ 'openssl/crypto/dsa/dsa_asn1.c',
|
||
+ 'openssl/crypto/dsa/dsa_depr.c',
|
||
+ 'openssl/crypto/dsa/dsa_err.c',
|
||
+ 'openssl/crypto/dsa/dsa_gen.c',
|
||
+ 'openssl/crypto/dsa/dsa_key.c',
|
||
+ 'openssl/crypto/dsa/dsa_lib.c',
|
||
+ 'openssl/crypto/dsa/dsa_meth.c',
|
||
+ 'openssl/crypto/dsa/dsa_ossl.c',
|
||
+ 'openssl/crypto/dsa/dsa_pmeth.c',
|
||
+ 'openssl/crypto/dsa/dsa_prn.c',
|
||
+ 'openssl/crypto/dsa/dsa_sign.c',
|
||
+ 'openssl/crypto/dsa/dsa_vrf.c',
|
||
+ 'openssl/crypto/dso/dso_dl.c',
|
||
+ 'openssl/crypto/dso/dso_dlfcn.c',
|
||
+ 'openssl/crypto/dso/dso_err.c',
|
||
+ 'openssl/crypto/dso/dso_lib.c',
|
||
+ 'openssl/crypto/dso/dso_openssl.c',
|
||
+ 'openssl/crypto/dso/dso_vms.c',
|
||
+ 'openssl/crypto/dso/dso_win32.c',
|
||
+ 'openssl/crypto/ebcdic.c',
|
||
+ 'openssl/crypto/ec/curve25519.c',
|
||
+ 'openssl/crypto/ec/curve448/arch_32/f_impl.c',
|
||
+ 'openssl/crypto/ec/curve448/curve448.c',
|
||
+ 'openssl/crypto/ec/curve448/curve448_tables.c',
|
||
+ 'openssl/crypto/ec/curve448/eddsa.c',
|
||
+ 'openssl/crypto/ec/curve448/f_generic.c',
|
||
+ 'openssl/crypto/ec/curve448/scalar.c',
|
||
+ 'openssl/crypto/ec/ec2_oct.c',
|
||
+ 'openssl/crypto/ec/ec2_smpl.c',
|
||
+ 'openssl/crypto/ec/ec_ameth.c',
|
||
+ 'openssl/crypto/ec/ec_asn1.c',
|
||
+ 'openssl/crypto/ec/ec_check.c',
|
||
+ 'openssl/crypto/ec/ec_curve.c',
|
||
+ 'openssl/crypto/ec/ec_cvt.c',
|
||
+ 'openssl/crypto/ec/ec_err.c',
|
||
+ 'openssl/crypto/ec/ec_key.c',
|
||
+ 'openssl/crypto/ec/ec_kmeth.c',
|
||
+ 'openssl/crypto/ec/ec_lib.c',
|
||
+ 'openssl/crypto/ec/ec_mult.c',
|
||
+ 'openssl/crypto/ec/ec_oct.c',
|
||
+ 'openssl/crypto/ec/ec_pmeth.c',
|
||
+ 'openssl/crypto/ec/ec_print.c',
|
||
+ 'openssl/crypto/ec/ecdh_kdf.c',
|
||
+ 'openssl/crypto/ec/ecdh_ossl.c',
|
||
+ 'openssl/crypto/ec/ecdsa_ossl.c',
|
||
+ 'openssl/crypto/ec/ecdsa_sign.c',
|
||
+ 'openssl/crypto/ec/ecdsa_vrf.c',
|
||
+ 'openssl/crypto/ec/eck_prn.c',
|
||
+ 'openssl/crypto/ec/ecp_mont.c',
|
||
+ 'openssl/crypto/ec/ecp_nist.c',
|
||
+ 'openssl/crypto/ec/ecp_nistp224.c',
|
||
+ 'openssl/crypto/ec/ecp_nistp256.c',
|
||
+ 'openssl/crypto/ec/ecp_nistp521.c',
|
||
+ 'openssl/crypto/ec/ecp_nistputil.c',
|
||
+ 'openssl/crypto/ec/ecp_oct.c',
|
||
+ 'openssl/crypto/ec/ecp_smpl.c',
|
||
+ 'openssl/crypto/ec/ecx_meth.c',
|
||
+ 'openssl/crypto/engine/eng_all.c',
|
||
+ 'openssl/crypto/engine/eng_cnf.c',
|
||
+ 'openssl/crypto/engine/eng_ctrl.c',
|
||
+ 'openssl/crypto/engine/eng_dyn.c',
|
||
+ 'openssl/crypto/engine/eng_err.c',
|
||
+ 'openssl/crypto/engine/eng_fat.c',
|
||
+ 'openssl/crypto/engine/eng_init.c',
|
||
+ 'openssl/crypto/engine/eng_lib.c',
|
||
+ 'openssl/crypto/engine/eng_list.c',
|
||
+ 'openssl/crypto/engine/eng_openssl.c',
|
||
+ 'openssl/crypto/engine/eng_pkey.c',
|
||
+ 'openssl/crypto/engine/eng_rdrand.c',
|
||
+ 'openssl/crypto/engine/eng_table.c',
|
||
+ 'openssl/crypto/engine/tb_asnmth.c',
|
||
+ 'openssl/crypto/engine/tb_cipher.c',
|
||
+ 'openssl/crypto/engine/tb_dh.c',
|
||
+ 'openssl/crypto/engine/tb_digest.c',
|
||
+ 'openssl/crypto/engine/tb_dsa.c',
|
||
+ 'openssl/crypto/engine/tb_eckey.c',
|
||
+ 'openssl/crypto/engine/tb_pkmeth.c',
|
||
+ 'openssl/crypto/engine/tb_rand.c',
|
||
+ 'openssl/crypto/engine/tb_rsa.c',
|
||
+ 'openssl/crypto/err/err.c',
|
||
+ 'openssl/crypto/err/err_all.c',
|
||
+ 'openssl/crypto/err/err_prn.c',
|
||
+ 'openssl/crypto/evp/bio_b64.c',
|
||
+ 'openssl/crypto/evp/bio_enc.c',
|
||
+ 'openssl/crypto/evp/bio_md.c',
|
||
+ 'openssl/crypto/evp/bio_ok.c',
|
||
+ 'openssl/crypto/evp/c_allc.c',
|
||
+ 'openssl/crypto/evp/c_alld.c',
|
||
+ 'openssl/crypto/evp/cmeth_lib.c',
|
||
+ 'openssl/crypto/evp/digest.c',
|
||
+ 'openssl/crypto/evp/e_aes.c',
|
||
+ 'openssl/crypto/evp/e_aes_cbc_hmac_sha1.c',
|
||
+ 'openssl/crypto/evp/e_aes_cbc_hmac_sha256.c',
|
||
+ 'openssl/crypto/evp/e_aria.c',
|
||
+ 'openssl/crypto/evp/e_bf.c',
|
||
+ 'openssl/crypto/evp/e_camellia.c',
|
||
+ 'openssl/crypto/evp/e_cast.c',
|
||
+ 'openssl/crypto/evp/e_chacha20_poly1305.c',
|
||
+ 'openssl/crypto/evp/e_des.c',
|
||
+ 'openssl/crypto/evp/e_des3.c',
|
||
+ 'openssl/crypto/evp/e_idea.c',
|
||
+ 'openssl/crypto/evp/e_null.c',
|
||
+ 'openssl/crypto/evp/e_old.c',
|
||
+ 'openssl/crypto/evp/e_rc2.c',
|
||
+ 'openssl/crypto/evp/e_rc4.c',
|
||
+ 'openssl/crypto/evp/e_rc4_hmac_md5.c',
|
||
+ 'openssl/crypto/evp/e_rc5.c',
|
||
+ 'openssl/crypto/evp/e_seed.c',
|
||
+ 'openssl/crypto/evp/e_sm4.c',
|
||
+ 'openssl/crypto/evp/e_xcbc_d.c',
|
||
+ 'openssl/crypto/evp/encode.c',
|
||
+ 'openssl/crypto/evp/evp_cnf.c',
|
||
+ 'openssl/crypto/evp/evp_enc.c',
|
||
+ 'openssl/crypto/evp/evp_err.c',
|
||
+ 'openssl/crypto/evp/evp_key.c',
|
||
+ 'openssl/crypto/evp/evp_lib.c',
|
||
+ 'openssl/crypto/evp/evp_pbe.c',
|
||
+ 'openssl/crypto/evp/evp_pkey.c',
|
||
+ 'openssl/crypto/evp/m_md2.c',
|
||
+ 'openssl/crypto/evp/m_md4.c',
|
||
+ 'openssl/crypto/evp/m_md5.c',
|
||
+ 'openssl/crypto/evp/m_md5_sha1.c',
|
||
+ 'openssl/crypto/evp/m_mdc2.c',
|
||
+ 'openssl/crypto/evp/m_null.c',
|
||
+ 'openssl/crypto/evp/m_ripemd.c',
|
||
+ 'openssl/crypto/evp/m_sha1.c',
|
||
+ 'openssl/crypto/evp/m_sha3.c',
|
||
+ 'openssl/crypto/evp/m_sigver.c',
|
||
+ 'openssl/crypto/evp/m_wp.c',
|
||
+ 'openssl/crypto/evp/names.c',
|
||
+ 'openssl/crypto/evp/p5_crpt.c',
|
||
+ 'openssl/crypto/evp/p5_crpt2.c',
|
||
+ 'openssl/crypto/evp/p_dec.c',
|
||
+ 'openssl/crypto/evp/p_enc.c',
|
||
+ 'openssl/crypto/evp/p_lib.c',
|
||
+ 'openssl/crypto/evp/p_open.c',
|
||
+ 'openssl/crypto/evp/p_seal.c',
|
||
+ 'openssl/crypto/evp/p_sign.c',
|
||
+ 'openssl/crypto/evp/p_verify.c',
|
||
+ 'openssl/crypto/evp/pbe_scrypt.c',
|
||
+ 'openssl/crypto/evp/pmeth_fn.c',
|
||
+ 'openssl/crypto/evp/pmeth_gn.c',
|
||
+ 'openssl/crypto/evp/pmeth_lib.c',
|
||
+ 'openssl/crypto/ex_data.c',
|
||
+ 'openssl/crypto/getenv.c',
|
||
+ 'openssl/crypto/hmac/hm_ameth.c',
|
||
+ 'openssl/crypto/hmac/hm_pmeth.c',
|
||
+ 'openssl/crypto/hmac/hmac.c',
|
||
+ 'openssl/crypto/idea/i_cbc.c',
|
||
+ 'openssl/crypto/idea/i_cfb64.c',
|
||
+ 'openssl/crypto/idea/i_ecb.c',
|
||
+ 'openssl/crypto/idea/i_ofb64.c',
|
||
+ 'openssl/crypto/idea/i_skey.c',
|
||
+ 'openssl/crypto/init.c',
|
||
+ 'openssl/crypto/kdf/hkdf.c',
|
||
+ 'openssl/crypto/kdf/kdf_err.c',
|
||
+ 'openssl/crypto/kdf/scrypt.c',
|
||
+ 'openssl/crypto/kdf/tls1_prf.c',
|
||
+ 'openssl/crypto/lhash/lh_stats.c',
|
||
+ 'openssl/crypto/lhash/lhash.c',
|
||
+ 'openssl/crypto/md4/md4_dgst.c',
|
||
+ 'openssl/crypto/md4/md4_one.c',
|
||
+ 'openssl/crypto/md5/md5_dgst.c',
|
||
+ 'openssl/crypto/md5/md5_one.c',
|
||
+ 'openssl/crypto/mdc2/mdc2_one.c',
|
||
+ 'openssl/crypto/mdc2/mdc2dgst.c',
|
||
+ 'openssl/crypto/mem.c',
|
||
+ 'openssl/crypto/mem_clr.c',
|
||
+ 'openssl/crypto/mem_dbg.c',
|
||
+ 'openssl/crypto/mem_sec.c',
|
||
+ 'openssl/crypto/modes/cbc128.c',
|
||
+ 'openssl/crypto/modes/ccm128.c',
|
||
+ 'openssl/crypto/modes/cfb128.c',
|
||
+ 'openssl/crypto/modes/ctr128.c',
|
||
+ 'openssl/crypto/modes/cts128.c',
|
||
+ 'openssl/crypto/modes/gcm128.c',
|
||
+ 'openssl/crypto/modes/ocb128.c',
|
||
+ 'openssl/crypto/modes/ofb128.c',
|
||
+ 'openssl/crypto/modes/wrap128.c',
|
||
+ 'openssl/crypto/modes/xts128.c',
|
||
+ 'openssl/crypto/o_dir.c',
|
||
+ 'openssl/crypto/o_fips.c',
|
||
+ 'openssl/crypto/o_fopen.c',
|
||
+ 'openssl/crypto/o_init.c',
|
||
+ 'openssl/crypto/o_str.c',
|
||
+ 'openssl/crypto/o_time.c',
|
||
+ 'openssl/crypto/objects/o_names.c',
|
||
+ 'openssl/crypto/objects/obj_dat.c',
|
||
+ 'openssl/crypto/objects/obj_err.c',
|
||
+ 'openssl/crypto/objects/obj_lib.c',
|
||
+ 'openssl/crypto/objects/obj_xref.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_asn.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_cl.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_err.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_ext.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_ht.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_lib.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_prn.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_srv.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_vfy.c',
|
||
+ 'openssl/crypto/ocsp/v3_ocsp.c',
|
||
+ 'openssl/crypto/pem/pem_all.c',
|
||
+ 'openssl/crypto/pem/pem_err.c',
|
||
+ 'openssl/crypto/pem/pem_info.c',
|
||
+ 'openssl/crypto/pem/pem_lib.c',
|
||
+ 'openssl/crypto/pem/pem_oth.c',
|
||
+ 'openssl/crypto/pem/pem_pk8.c',
|
||
+ 'openssl/crypto/pem/pem_pkey.c',
|
||
+ 'openssl/crypto/pem/pem_sign.c',
|
||
+ 'openssl/crypto/pem/pem_x509.c',
|
||
+ 'openssl/crypto/pem/pem_xaux.c',
|
||
+ 'openssl/crypto/pem/pvkfmt.c',
|
||
+ 'openssl/crypto/pkcs12/p12_add.c',
|
||
+ 'openssl/crypto/pkcs12/p12_asn.c',
|
||
+ 'openssl/crypto/pkcs12/p12_attr.c',
|
||
+ 'openssl/crypto/pkcs12/p12_crpt.c',
|
||
+ 'openssl/crypto/pkcs12/p12_crt.c',
|
||
+ 'openssl/crypto/pkcs12/p12_decr.c',
|
||
+ 'openssl/crypto/pkcs12/p12_init.c',
|
||
+ 'openssl/crypto/pkcs12/p12_key.c',
|
||
+ 'openssl/crypto/pkcs12/p12_kiss.c',
|
||
+ 'openssl/crypto/pkcs12/p12_mutl.c',
|
||
+ 'openssl/crypto/pkcs12/p12_npas.c',
|
||
+ 'openssl/crypto/pkcs12/p12_p8d.c',
|
||
+ 'openssl/crypto/pkcs12/p12_p8e.c',
|
||
+ 'openssl/crypto/pkcs12/p12_sbag.c',
|
||
+ 'openssl/crypto/pkcs12/p12_utl.c',
|
||
+ 'openssl/crypto/pkcs12/pk12err.c',
|
||
+ 'openssl/crypto/pkcs7/bio_pk7.c',
|
||
+ 'openssl/crypto/pkcs7/pk7_asn1.c',
|
||
+ 'openssl/crypto/pkcs7/pk7_attr.c',
|
||
+ 'openssl/crypto/pkcs7/pk7_doit.c',
|
||
+ 'openssl/crypto/pkcs7/pk7_lib.c',
|
||
+ 'openssl/crypto/pkcs7/pk7_mime.c',
|
||
+ 'openssl/crypto/pkcs7/pk7_smime.c',
|
||
+ 'openssl/crypto/pkcs7/pkcs7err.c',
|
||
+ 'openssl/crypto/poly1305/poly1305.c',
|
||
+ 'openssl/crypto/poly1305/poly1305_ameth.c',
|
||
+ 'openssl/crypto/poly1305/poly1305_pmeth.c',
|
||
+ 'openssl/crypto/rand/drbg_ctr.c',
|
||
+ 'openssl/crypto/rand/drbg_lib.c',
|
||
+ 'openssl/crypto/rand/rand_egd.c',
|
||
+ 'openssl/crypto/rand/rand_err.c',
|
||
+ 'openssl/crypto/rand/rand_lib.c',
|
||
+ 'openssl/crypto/rand/rand_unix.c',
|
||
+ 'openssl/crypto/rand/rand_vms.c',
|
||
+ 'openssl/crypto/rand/rand_win.c',
|
||
+ 'openssl/crypto/rand/randfile.c',
|
||
+ 'openssl/crypto/rc2/rc2_cbc.c',
|
||
+ 'openssl/crypto/rc2/rc2_ecb.c',
|
||
+ 'openssl/crypto/rc2/rc2_skey.c',
|
||
+ 'openssl/crypto/rc2/rc2cfb64.c',
|
||
+ 'openssl/crypto/rc2/rc2ofb64.c',
|
||
+ 'openssl/crypto/rc4/rc4_enc.c',
|
||
+ 'openssl/crypto/rc4/rc4_skey.c',
|
||
+ 'openssl/crypto/ripemd/rmd_dgst.c',
|
||
+ 'openssl/crypto/ripemd/rmd_one.c',
|
||
+ 'openssl/crypto/rsa/rsa_ameth.c',
|
||
+ 'openssl/crypto/rsa/rsa_asn1.c',
|
||
+ 'openssl/crypto/rsa/rsa_chk.c',
|
||
+ 'openssl/crypto/rsa/rsa_crpt.c',
|
||
+ 'openssl/crypto/rsa/rsa_depr.c',
|
||
+ 'openssl/crypto/rsa/rsa_err.c',
|
||
+ 'openssl/crypto/rsa/rsa_gen.c',
|
||
+ 'openssl/crypto/rsa/rsa_lib.c',
|
||
+ 'openssl/crypto/rsa/rsa_meth.c',
|
||
+ 'openssl/crypto/rsa/rsa_mp.c',
|
||
+ 'openssl/crypto/rsa/rsa_none.c',
|
||
+ 'openssl/crypto/rsa/rsa_oaep.c',
|
||
+ 'openssl/crypto/rsa/rsa_ossl.c',
|
||
+ 'openssl/crypto/rsa/rsa_pk1.c',
|
||
+ 'openssl/crypto/rsa/rsa_pmeth.c',
|
||
+ 'openssl/crypto/rsa/rsa_prn.c',
|
||
+ 'openssl/crypto/rsa/rsa_pss.c',
|
||
+ 'openssl/crypto/rsa/rsa_saos.c',
|
||
+ 'openssl/crypto/rsa/rsa_sign.c',
|
||
+ 'openssl/crypto/rsa/rsa_ssl.c',
|
||
+ 'openssl/crypto/rsa/rsa_x931.c',
|
||
+ 'openssl/crypto/rsa/rsa_x931g.c',
|
||
+ 'openssl/crypto/seed/seed.c',
|
||
+ 'openssl/crypto/seed/seed_cbc.c',
|
||
+ 'openssl/crypto/seed/seed_cfb.c',
|
||
+ 'openssl/crypto/seed/seed_ecb.c',
|
||
+ 'openssl/crypto/seed/seed_ofb.c',
|
||
+ 'openssl/crypto/sha/keccak1600.c',
|
||
+ 'openssl/crypto/sha/sha1_one.c',
|
||
+ 'openssl/crypto/sha/sha1dgst.c',
|
||
+ 'openssl/crypto/sha/sha256.c',
|
||
+ 'openssl/crypto/sha/sha512.c',
|
||
+ 'openssl/crypto/siphash/siphash.c',
|
||
+ 'openssl/crypto/siphash/siphash_ameth.c',
|
||
+ 'openssl/crypto/siphash/siphash_pmeth.c',
|
||
+ 'openssl/crypto/sm2/sm2_crypt.c',
|
||
+ 'openssl/crypto/sm2/sm2_err.c',
|
||
+ 'openssl/crypto/sm2/sm2_pmeth.c',
|
||
+ 'openssl/crypto/sm2/sm2_sign.c',
|
||
+ 'openssl/crypto/sm3/m_sm3.c',
|
||
+ 'openssl/crypto/sm3/sm3.c',
|
||
+ 'openssl/crypto/sm4/sm4.c',
|
||
+ 'openssl/crypto/srp/srp_lib.c',
|
||
+ 'openssl/crypto/srp/srp_vfy.c',
|
||
+ 'openssl/crypto/stack/stack.c',
|
||
+ 'openssl/crypto/store/loader_file.c',
|
||
+ 'openssl/crypto/store/store_err.c',
|
||
+ 'openssl/crypto/store/store_init.c',
|
||
+ 'openssl/crypto/store/store_lib.c',
|
||
+ 'openssl/crypto/store/store_register.c',
|
||
+ 'openssl/crypto/store/store_strings.c',
|
||
+ 'openssl/crypto/threads_none.c',
|
||
+ 'openssl/crypto/threads_pthread.c',
|
||
+ 'openssl/crypto/threads_win.c',
|
||
+ 'openssl/crypto/ts/ts_asn1.c',
|
||
+ 'openssl/crypto/ts/ts_conf.c',
|
||
+ 'openssl/crypto/ts/ts_err.c',
|
||
+ 'openssl/crypto/ts/ts_lib.c',
|
||
+ 'openssl/crypto/ts/ts_req_print.c',
|
||
+ 'openssl/crypto/ts/ts_req_utils.c',
|
||
+ 'openssl/crypto/ts/ts_rsp_print.c',
|
||
+ 'openssl/crypto/ts/ts_rsp_sign.c',
|
||
+ 'openssl/crypto/ts/ts_rsp_utils.c',
|
||
+ 'openssl/crypto/ts/ts_rsp_verify.c',
|
||
+ 'openssl/crypto/ts/ts_verify_ctx.c',
|
||
+ 'openssl/crypto/txt_db/txt_db.c',
|
||
+ 'openssl/crypto/ui/ui_err.c',
|
||
+ 'openssl/crypto/ui/ui_lib.c',
|
||
+ 'openssl/crypto/ui/ui_null.c',
|
||
+ 'openssl/crypto/ui/ui_openssl.c',
|
||
+ 'openssl/crypto/ui/ui_util.c',
|
||
+ 'openssl/crypto/uid.c',
|
||
+ 'openssl/crypto/whrlpool/wp_block.c',
|
||
+ 'openssl/crypto/whrlpool/wp_dgst.c',
|
||
+ 'openssl/crypto/x509/by_dir.c',
|
||
+ 'openssl/crypto/x509/by_file.c',
|
||
+ 'openssl/crypto/x509/t_crl.c',
|
||
+ 'openssl/crypto/x509/t_req.c',
|
||
+ 'openssl/crypto/x509/t_x509.c',
|
||
+ 'openssl/crypto/x509/x509_att.c',
|
||
+ 'openssl/crypto/x509/x509_cmp.c',
|
||
+ 'openssl/crypto/x509/x509_d2.c',
|
||
+ 'openssl/crypto/x509/x509_def.c',
|
||
+ 'openssl/crypto/x509/x509_err.c',
|
||
+ 'openssl/crypto/x509/x509_ext.c',
|
||
+ 'openssl/crypto/x509/x509_lu.c',
|
||
+ 'openssl/crypto/x509/x509_meth.c',
|
||
+ 'openssl/crypto/x509/x509_obj.c',
|
||
+ 'openssl/crypto/x509/x509_r2x.c',
|
||
+ 'openssl/crypto/x509/x509_req.c',
|
||
+ 'openssl/crypto/x509/x509_set.c',
|
||
+ 'openssl/crypto/x509/x509_trs.c',
|
||
+ 'openssl/crypto/x509/x509_txt.c',
|
||
+ 'openssl/crypto/x509/x509_v3.c',
|
||
+ 'openssl/crypto/x509/x509_vfy.c',
|
||
+ 'openssl/crypto/x509/x509_vpm.c',
|
||
+ 'openssl/crypto/x509/x509cset.c',
|
||
+ 'openssl/crypto/x509/x509name.c',
|
||
+ 'openssl/crypto/x509/x509rset.c',
|
||
+ 'openssl/crypto/x509/x509spki.c',
|
||
+ 'openssl/crypto/x509/x509type.c',
|
||
+ 'openssl/crypto/x509/x_all.c',
|
||
+ 'openssl/crypto/x509/x_attrib.c',
|
||
+ 'openssl/crypto/x509/x_crl.c',
|
||
+ 'openssl/crypto/x509/x_exten.c',
|
||
+ 'openssl/crypto/x509/x_name.c',
|
||
+ 'openssl/crypto/x509/x_pubkey.c',
|
||
+ 'openssl/crypto/x509/x_req.c',
|
||
+ 'openssl/crypto/x509/x_x509.c',
|
||
+ 'openssl/crypto/x509/x_x509a.c',
|
||
+ 'openssl/crypto/x509v3/pcy_cache.c',
|
||
+ 'openssl/crypto/x509v3/pcy_data.c',
|
||
+ 'openssl/crypto/x509v3/pcy_lib.c',
|
||
+ 'openssl/crypto/x509v3/pcy_map.c',
|
||
+ 'openssl/crypto/x509v3/pcy_node.c',
|
||
+ 'openssl/crypto/x509v3/pcy_tree.c',
|
||
+ 'openssl/crypto/x509v3/v3_addr.c',
|
||
+ 'openssl/crypto/x509v3/v3_admis.c',
|
||
+ 'openssl/crypto/x509v3/v3_akey.c',
|
||
+ 'openssl/crypto/x509v3/v3_akeya.c',
|
||
+ 'openssl/crypto/x509v3/v3_alt.c',
|
||
+ 'openssl/crypto/x509v3/v3_asid.c',
|
||
+ 'openssl/crypto/x509v3/v3_bcons.c',
|
||
+ 'openssl/crypto/x509v3/v3_bitst.c',
|
||
+ 'openssl/crypto/x509v3/v3_conf.c',
|
||
+ 'openssl/crypto/x509v3/v3_cpols.c',
|
||
+ 'openssl/crypto/x509v3/v3_crld.c',
|
||
+ 'openssl/crypto/x509v3/v3_enum.c',
|
||
+ 'openssl/crypto/x509v3/v3_extku.c',
|
||
+ 'openssl/crypto/x509v3/v3_genn.c',
|
||
+ 'openssl/crypto/x509v3/v3_ia5.c',
|
||
+ 'openssl/crypto/x509v3/v3_info.c',
|
||
+ 'openssl/crypto/x509v3/v3_int.c',
|
||
+ 'openssl/crypto/x509v3/v3_lib.c',
|
||
+ 'openssl/crypto/x509v3/v3_ncons.c',
|
||
+ 'openssl/crypto/x509v3/v3_pci.c',
|
||
+ 'openssl/crypto/x509v3/v3_pcia.c',
|
||
+ 'openssl/crypto/x509v3/v3_pcons.c',
|
||
+ 'openssl/crypto/x509v3/v3_pku.c',
|
||
+ 'openssl/crypto/x509v3/v3_pmaps.c',
|
||
+ 'openssl/crypto/x509v3/v3_prn.c',
|
||
+ 'openssl/crypto/x509v3/v3_purp.c',
|
||
+ 'openssl/crypto/x509v3/v3_skey.c',
|
||
+ 'openssl/crypto/x509v3/v3_sxnet.c',
|
||
+ 'openssl/crypto/x509v3/v3_tlsf.c',
|
||
+ 'openssl/crypto/x509v3/v3_utl.c',
|
||
+ 'openssl/crypto/x509v3/v3err.c',
|
||
+ 'openssl/engines/e_capi.c',
|
||
+ 'openssl/engines/e_padlock.c',
|
||
+ ],
|
||
+ 'openssl_sources_linux-mips': [
|
||
+ './config/archs/linux-mips/asm/crypto/aes/aes-mips.S',
|
||
+ './config/archs/linux-mips/asm/crypto/bn/bn-mips.S',
|
||
+ './config/archs/linux-mips/asm/crypto/bn/mips-mont.S',
|
||
+ './config/archs/linux-mips/asm/crypto/sha/sha1-mips.S',
|
||
+ './config/archs/linux-mips/asm/crypto/sha/sha256-mips.S',
|
||
+ ],
|
||
+ 'openssl_defines_linux-mips': [
|
||
+ 'NDEBUG',
|
||
+ 'OPENSSL_USE_NODELETE',
|
||
+ 'OPENSSL_PIC',
|
||
+ 'OPENSSL_BN_ASM_MONT',
|
||
+ 'SHA1_ASM',
|
||
+ 'SHA256_ASM',
|
||
+ 'AES_ASM',
|
||
+ ],
|
||
+ 'openssl_cflags_linux-mips': [
|
||
+ '-Wall -O3 -pthread',
|
||
+ ],
|
||
+ 'openssl_ex_libs_linux-mips': [
|
||
+ '-ldl -pthread',
|
||
+ ],
|
||
+ },
|
||
+ 'include_dirs': [
|
||
+ '.',
|
||
+ './include',
|
||
+ './crypto',
|
||
+ './crypto/include/internal',
|
||
+ ],
|
||
+ 'defines': ['<@(openssl_defines_linux-mips)'],
|
||
+ 'cflags' : ['<@(openssl_cflags_linux-mips)'],
|
||
+ 'libraries': ['<@(openssl_ex_libs_linux-mips)'],
|
||
+ 'sources': ['<@(openssl_sources)', '<@(openssl_sources_linux-mips)'],
|
||
+}
|
||
diff -urN a/deps/openssl/config/archs/linux-mipsel/asm/crypto/aes/aes-mips.S b/deps/openssl/config/archs/linux-mipsel/asm/crypto/aes/aes-mips.S
|
||
--- a/deps/openssl/config/archs/linux-mipsel/asm/crypto/aes/aes-mips.S 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mipsel/asm/crypto/aes/aes-mips.S 2019-12-25 13:49:19.984298806 +0900
|
||
@@ -0,0 +1,1870 @@
|
||
+#include "mips_arch.h"
|
||
+
|
||
+.text
|
||
+#if !defined(__mips_eabi) && (!defined(__vxworks) || defined(__pic__))
|
||
+.option pic2
|
||
+#endif
|
||
+.set noat
|
||
+.align 5
|
||
+.ent _mips_AES_encrypt
|
||
+_mips_AES_encrypt:
|
||
+ .frame $29,0,$31
|
||
+ .set reorder
|
||
+ lw $12,0($6)
|
||
+ lw $13,4($6)
|
||
+ lw $14,8($6)
|
||
+ lw $15,12($6)
|
||
+ lw $30,240($6)
|
||
+ addu $3,$6,16
|
||
+
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+
|
||
+ subu $30,1
|
||
+#if defined(__mips_smartmips)
|
||
+ ext $1,$9,8,8
|
||
+.Loop_enc:
|
||
+ ext $2,$10,8,8
|
||
+ ext $24,$11,8,8
|
||
+ ext $25,$8,8,8
|
||
+ lwxs $12,$1($7) # Te1[s1>>16]
|
||
+ ext $1,$10,16,8
|
||
+ lwxs $13,$2($7) # Te1[s2>>16]
|
||
+ ext $2,$11,16,8
|
||
+ lwxs $14,$24($7) # Te1[s3>>16]
|
||
+ ext $24,$8,16,8
|
||
+ lwxs $15,$25($7) # Te1[s0>>16]
|
||
+ ext $25,$9,16,8
|
||
+
|
||
+ lwxs $16,$1($7) # Te2[s2>>8]
|
||
+ ext $1,$11,24,8
|
||
+ lwxs $17,$2($7) # Te2[s3>>8]
|
||
+ ext $2,$8,24,8
|
||
+ lwxs $18,$24($7) # Te2[s0>>8]
|
||
+ ext $24,$9,24,8
|
||
+ lwxs $19,$25($7) # Te2[s1>>8]
|
||
+ ext $25,$10,24,8
|
||
+
|
||
+ lwxs $20,$1($7) # Te3[s3]
|
||
+ ext $1,$8,0,8
|
||
+ lwxs $21,$2($7) # Te3[s0]
|
||
+ ext $2,$9,0,8
|
||
+ lwxs $22,$24($7) # Te3[s1]
|
||
+ ext $24,$10,0,8
|
||
+ lwxs $23,$25($7) # Te3[s2]
|
||
+ ext $25,$11,0,8
|
||
+
|
||
+ rotr $12,$12,24
|
||
+ rotr $13,$13,24
|
||
+ rotr $14,$14,24
|
||
+ rotr $15,$15,24
|
||
+
|
||
+ rotr $16,$16,16
|
||
+ rotr $17,$17,16
|
||
+ rotr $18,$18,16
|
||
+ rotr $19,$19,16
|
||
+
|
||
+ xor $12,$16
|
||
+ lwxs $16,$1($7) # Te0[s0>>24]
|
||
+ xor $13,$17
|
||
+ lwxs $17,$2($7) # Te0[s1>>24]
|
||
+ xor $14,$18
|
||
+ lwxs $18,$24($7) # Te0[s2>>24]
|
||
+ xor $15,$19
|
||
+ lwxs $19,$25($7) # Te0[s3>>24]
|
||
+
|
||
+ rotr $20,$20,8
|
||
+ lw $8,0($3)
|
||
+ rotr $21,$21,8
|
||
+ lw $9,4($3)
|
||
+ rotr $22,$22,8
|
||
+ lw $10,8($3)
|
||
+ rotr $23,$23,8
|
||
+ lw $11,12($3)
|
||
+
|
||
+ xor $12,$20
|
||
+ xor $13,$21
|
||
+ xor $14,$22
|
||
+ xor $15,$23
|
||
+
|
||
+ xor $12,$16
|
||
+ xor $13,$17
|
||
+ xor $14,$18
|
||
+ xor $15,$19
|
||
+
|
||
+ subu $30,1
|
||
+ addu $3,16
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+ .set noreorder
|
||
+ bnez $30,.Loop_enc
|
||
+ ext $1,$9,8,8
|
||
+
|
||
+ srl $1,$9,6
|
||
+#else
|
||
+ srl $1,$9,6
|
||
+.Loop_enc:
|
||
+ srl $2,$10,6
|
||
+ srl $24,$11,6
|
||
+ srl $25,$8,6
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ lw $12,0($1) # Te1[s1>>16]
|
||
+ srl $1,$10,14
|
||
+ lw $13,0($2) # Te1[s2>>16]
|
||
+ srl $2,$11,14
|
||
+ lw $14,0($24) # Te1[s3>>16]
|
||
+ srl $24,$8,14
|
||
+ lw $15,0($25) # Te1[s0>>16]
|
||
+ srl $25,$9,14
|
||
+#else
|
||
+ lwl $12,2($1) # Te1[s1>>16]
|
||
+ lwl $13,2($2) # Te1[s2>>16]
|
||
+ lwl $14,2($24) # Te1[s3>>16]
|
||
+ lwl $15,2($25) # Te1[s0>>16]
|
||
+ lwr $12,3($1) # Te1[s1>>16]
|
||
+ srl $1,$10,14
|
||
+ lwr $13,3($2) # Te1[s2>>16]
|
||
+ srl $2,$11,14
|
||
+ lwr $14,3($24) # Te1[s3>>16]
|
||
+ srl $24,$8,14
|
||
+ lwr $15,3($25) # Te1[s0>>16]
|
||
+ srl $25,$9,14
|
||
+#endif
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ rotr $12,$12,24
|
||
+ rotr $13,$13,24
|
||
+ rotr $14,$14,24
|
||
+ rotr $15,$15,24
|
||
+# if defined(_MIPSEL)
|
||
+ lw $16,0($1) # Te2[s2>>8]
|
||
+ srl $1,$11,22
|
||
+ lw $17,0($2) # Te2[s3>>8]
|
||
+ srl $2,$8,22
|
||
+ lw $18,0($24) # Te2[s0>>8]
|
||
+ srl $24,$9,22
|
||
+ lw $19,0($25) # Te2[s1>>8]
|
||
+ srl $25,$10,22
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lw $20,0($1) # Te3[s3]
|
||
+ ins $1,$8,2,8
|
||
+ lw $21,0($2) # Te3[s0]
|
||
+ ins $2,$9,2,8
|
||
+ lw $22,0($24) # Te3[s1]
|
||
+ ins $24,$10,2,8
|
||
+ lw $23,0($25) # Te3[s2]
|
||
+ ins $25,$11,2,8
|
||
+# else
|
||
+ lw $16,0($1) # Te2[s2>>8]
|
||
+ ins $1,$11,2,8
|
||
+ lw $17,0($2) # Te2[s3>>8]
|
||
+ ins $2,$8,2,8
|
||
+ lw $18,0($24) # Te2[s0>>8]
|
||
+ ins $24,$9,2,8
|
||
+ lw $19,0($25) # Te2[s1>>8]
|
||
+ ins $25,$10,2,8
|
||
+
|
||
+ lw $20,0($1) # Te3[s3]
|
||
+ sll $1,$8,2
|
||
+ lw $21,0($2) # Te3[s0]
|
||
+ sll $2,$9,2
|
||
+ lw $22,0($24) # Te3[s1]
|
||
+ sll $24,$10,2
|
||
+ lw $23,0($25) # Te3[s2]
|
||
+ sll $25,$11,2
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+# endif
|
||
+ rotr $16,$16,16
|
||
+ rotr $17,$17,16
|
||
+ rotr $18,$18,16
|
||
+ rotr $19,$19,16
|
||
+
|
||
+ rotr $20,$20,8
|
||
+ rotr $21,$21,8
|
||
+ rotr $22,$22,8
|
||
+ rotr $23,$23,8
|
||
+#else
|
||
+ lwl $16,1($1) # Te2[s2>>8]
|
||
+ lwl $17,1($2) # Te2[s3>>8]
|
||
+ lwl $18,1($24) # Te2[s0>>8]
|
||
+ lwl $19,1($25) # Te2[s1>>8]
|
||
+ lwr $16,2($1) # Te2[s2>>8]
|
||
+ srl $1,$11,22
|
||
+ lwr $17,2($2) # Te2[s3>>8]
|
||
+ srl $2,$8,22
|
||
+ lwr $18,2($24) # Te2[s0>>8]
|
||
+ srl $24,$9,22
|
||
+ lwr $19,2($25) # Te2[s1>>8]
|
||
+ srl $25,$10,22
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lwl $20,0($1) # Te3[s3]
|
||
+ lwl $21,0($2) # Te3[s0]
|
||
+ lwl $22,0($24) # Te3[s1]
|
||
+ lwl $23,0($25) # Te3[s2]
|
||
+ lwr $20,1($1) # Te3[s3]
|
||
+ sll $1,$8,2
|
||
+ lwr $21,1($2) # Te3[s0]
|
||
+ sll $2,$9,2
|
||
+ lwr $22,1($24) # Te3[s1]
|
||
+ sll $24,$10,2
|
||
+ lwr $23,1($25) # Te3[s2]
|
||
+ sll $25,$11,2
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#endif
|
||
+ xor $12,$16
|
||
+ lw $16,0($1) # Te0[s0>>24]
|
||
+ xor $13,$17
|
||
+ lw $17,0($2) # Te0[s1>>24]
|
||
+ xor $14,$18
|
||
+ lw $18,0($24) # Te0[s2>>24]
|
||
+ xor $15,$19
|
||
+ lw $19,0($25) # Te0[s3>>24]
|
||
+
|
||
+ xor $12,$20
|
||
+ lw $8,0($3)
|
||
+ xor $13,$21
|
||
+ lw $9,4($3)
|
||
+ xor $14,$22
|
||
+ lw $10,8($3)
|
||
+ xor $15,$23
|
||
+ lw $11,12($3)
|
||
+
|
||
+ xor $12,$16
|
||
+ xor $13,$17
|
||
+ xor $14,$18
|
||
+ xor $15,$19
|
||
+
|
||
+ subu $30,1
|
||
+ addu $3,16
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+ .set noreorder
|
||
+ bnez $30,.Loop_enc
|
||
+ srl $1,$9,6
|
||
+#endif
|
||
+
|
||
+ .set reorder
|
||
+ srl $2,$10,6
|
||
+ srl $24,$11,6
|
||
+ srl $25,$8,6
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $12,2($1) # Te4[s1>>16]
|
||
+ srl $1,$10,14
|
||
+ lbu $13,2($2) # Te4[s2>>16]
|
||
+ srl $2,$11,14
|
||
+ lbu $14,2($24) # Te4[s3>>16]
|
||
+ srl $24,$8,14
|
||
+ lbu $15,2($25) # Te4[s0>>16]
|
||
+ srl $25,$9,14
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+# if defined(_MIPSEL)
|
||
+ lbu $16,2($1) # Te4[s2>>8]
|
||
+ ins $1,$8,2,8
|
||
+ lbu $17,2($2) # Te4[s3>>8]
|
||
+ ins $2,$9,2,8
|
||
+ lbu $18,2($24) # Te4[s0>>8]
|
||
+ ins $24,$10,2,8
|
||
+ lbu $19,2($25) # Te4[s1>>8]
|
||
+ ins $25,$11,2,8
|
||
+
|
||
+ lbu $20,2($1) # Te4[s0>>24]
|
||
+ srl $1,$11,22
|
||
+ lbu $21,2($2) # Te4[s1>>24]
|
||
+ srl $2,$8,22
|
||
+ lbu $22,2($24) # Te4[s2>>24]
|
||
+ srl $24,$9,22
|
||
+ lbu $23,2($25) # Te4[s3>>24]
|
||
+ srl $25,$10,22
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+# else
|
||
+ lbu $16,2($1) # Te4[s2>>8]
|
||
+ sll $1,$8,2
|
||
+ lbu $17,2($2) # Te4[s3>>8]
|
||
+ sll $2,$9,2
|
||
+ lbu $18,2($24) # Te4[s0>>8]
|
||
+ sll $24,$10,2
|
||
+ lbu $19,2($25) # Te4[s1>>8]
|
||
+ sll $25,$11,2
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $20,2($1) # Te4[s0>>24]
|
||
+ ins $1,$11,2,8
|
||
+ lbu $21,2($2) # Te4[s1>>24]
|
||
+ ins $2,$8,2,8
|
||
+ lbu $22,2($24) # Te4[s2>>24]
|
||
+ ins $24,$9,2,8
|
||
+ lbu $23,2($25) # Te4[s3>>24]
|
||
+ ins $25,$10,2,8
|
||
+# endif
|
||
+ sll $12,$12,8
|
||
+ sll $13,$13,8
|
||
+ sll $14,$14,8
|
||
+ sll $15,$15,8
|
||
+
|
||
+ ins $12,$16,16,8
|
||
+ lbu $16,2($1) # Te4[s3]
|
||
+ ins $13,$17,16,8
|
||
+ lbu $17,2($2) # Te4[s0]
|
||
+ ins $14,$18,16,8
|
||
+ lbu $18,2($24) # Te4[s1]
|
||
+ ins $15,$19,16,8
|
||
+ lbu $19,2($25) # Te4[s2]
|
||
+
|
||
+ ins $12,$20,0,8
|
||
+ lw $8,0($3)
|
||
+ ins $13,$21,0,8
|
||
+ lw $9,4($3)
|
||
+ ins $14,$22,0,8
|
||
+ lw $10,8($3)
|
||
+ ins $15,$23,0,8
|
||
+ lw $11,12($3)
|
||
+
|
||
+ ins $12,$16,24,8
|
||
+ ins $13,$17,24,8
|
||
+ ins $14,$18,24,8
|
||
+ ins $15,$19,24,8
|
||
+#else
|
||
+ lbu $16,2($1) # Te4[s2>>8]
|
||
+ sll $1,$8,2
|
||
+ lbu $17,2($2) # Te4[s3>>8]
|
||
+ sll $2,$9,2
|
||
+ lbu $18,2($24) # Te4[s0>>8]
|
||
+ sll $24,$10,2
|
||
+ lbu $19,2($25) # Te4[s1>>8]
|
||
+ sll $25,$11,2
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $20,2($1) # Te4[s0>>24]
|
||
+ srl $1,$11,22
|
||
+ lbu $21,2($2) # Te4[s1>>24]
|
||
+ srl $2,$8,22
|
||
+ lbu $22,2($24) # Te4[s2>>24]
|
||
+ srl $24,$9,22
|
||
+ lbu $23,2($25) # Te4[s3>>24]
|
||
+ srl $25,$10,22
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+
|
||
+ sll $12,$12,8
|
||
+ sll $13,$13,8
|
||
+ sll $14,$14,8
|
||
+ sll $15,$15,8
|
||
+
|
||
+ sll $16,$16,16
|
||
+ sll $17,$17,16
|
||
+ sll $18,$18,16
|
||
+ sll $19,$19,16
|
||
+
|
||
+ xor $12,$16
|
||
+ lbu $16,2($1) # Te4[s3]
|
||
+ xor $13,$17
|
||
+ lbu $17,2($2) # Te4[s0]
|
||
+ xor $14,$18
|
||
+ lbu $18,2($24) # Te4[s1]
|
||
+ xor $15,$19
|
||
+ lbu $19,2($25) # Te4[s2]
|
||
+
|
||
+ #sll $20,$20,0
|
||
+ lw $8,0($3)
|
||
+ #sll $21,$21,0
|
||
+ lw $9,4($3)
|
||
+ #sll $22,$22,0
|
||
+ lw $10,8($3)
|
||
+ #sll $23,$23,0
|
||
+ lw $11,12($3)
|
||
+
|
||
+ xor $12,$20
|
||
+ xor $13,$21
|
||
+ xor $14,$22
|
||
+ xor $15,$23
|
||
+
|
||
+ sll $16,$16,24
|
||
+ sll $17,$17,24
|
||
+ sll $18,$18,24
|
||
+ sll $19,$19,24
|
||
+
|
||
+ xor $12,$16
|
||
+ xor $13,$17
|
||
+ xor $14,$18
|
||
+ xor $15,$19
|
||
+#endif
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+
|
||
+ jr $31
|
||
+.end _mips_AES_encrypt
|
||
+
|
||
+.align 5
|
||
+.globl AES_encrypt
|
||
+.ent AES_encrypt
|
||
+AES_encrypt:
|
||
+ .frame $29,64,$31
|
||
+ .mask 0xc0ff0000,-4
|
||
+ .set noreorder
|
||
+ .cpload $25
|
||
+ subu $29,64
|
||
+ sw $31,64-1*4($29)
|
||
+ sw $30,64-2*4($29)
|
||
+ sw $23,64-3*4($29)
|
||
+ sw $22,64-4*4($29)
|
||
+ sw $21,64-5*4($29)
|
||
+ sw $20,64-6*4($29)
|
||
+ sw $19,64-7*4($29)
|
||
+ sw $18,64-8*4($29)
|
||
+ sw $17,64-9*4($29)
|
||
+ sw $16,64-10*4($29)
|
||
+ .set reorder
|
||
+ la $7,AES_Te # PIC-ified 'load address'
|
||
+
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $8,0($4)
|
||
+ lw $9,4($4)
|
||
+ lw $10,8($4)
|
||
+ lw $11,12($4)
|
||
+#else
|
||
+ lwl $8,0+3($4)
|
||
+ lwl $9,4+3($4)
|
||
+ lwl $10,8+3($4)
|
||
+ lwl $11,12+3($4)
|
||
+ lwr $8,0+0($4)
|
||
+ lwr $9,4+0($4)
|
||
+ lwr $10,8+0($4)
|
||
+ lwr $11,12+0($4)
|
||
+#endif
|
||
+
|
||
+ bal _mips_AES_encrypt
|
||
+
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ sw $8,0($5)
|
||
+ sw $9,4($5)
|
||
+ sw $10,8($5)
|
||
+ sw $11,12($5)
|
||
+#else
|
||
+ swr $8,0+0($5)
|
||
+ swr $9,4+0($5)
|
||
+ swr $10,8+0($5)
|
||
+ swr $11,12+0($5)
|
||
+ swl $8,0+3($5)
|
||
+ swl $9,4+3($5)
|
||
+ swl $10,8+3($5)
|
||
+ swl $11,12+3($5)
|
||
+#endif
|
||
+
|
||
+ .set noreorder
|
||
+ lw $31,64-1*4($29)
|
||
+ lw $30,64-2*4($29)
|
||
+ lw $23,64-3*4($29)
|
||
+ lw $22,64-4*4($29)
|
||
+ lw $21,64-5*4($29)
|
||
+ lw $20,64-6*4($29)
|
||
+ lw $19,64-7*4($29)
|
||
+ lw $18,64-8*4($29)
|
||
+ lw $17,64-9*4($29)
|
||
+ lw $16,64-10*4($29)
|
||
+ jr $31
|
||
+ addu $29,64
|
||
+.end AES_encrypt
|
||
+.align 5
|
||
+.ent _mips_AES_decrypt
|
||
+_mips_AES_decrypt:
|
||
+ .frame $29,0,$31
|
||
+ .set reorder
|
||
+ lw $12,0($6)
|
||
+ lw $13,4($6)
|
||
+ lw $14,8($6)
|
||
+ lw $15,12($6)
|
||
+ lw $30,240($6)
|
||
+ addu $3,$6,16
|
||
+
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+
|
||
+ subu $30,1
|
||
+#if defined(__mips_smartmips)
|
||
+ ext $1,$11,8,8
|
||
+.Loop_dec:
|
||
+ ext $2,$8,8,8
|
||
+ ext $24,$9,8,8
|
||
+ ext $25,$10,8,8
|
||
+ lwxs $12,$1($7) # Td1[s3>>16]
|
||
+ ext $1,$10,16,8
|
||
+ lwxs $13,$2($7) # Td1[s0>>16]
|
||
+ ext $2,$11,16,8
|
||
+ lwxs $14,$24($7) # Td1[s1>>16]
|
||
+ ext $24,$8,16,8
|
||
+ lwxs $15,$25($7) # Td1[s2>>16]
|
||
+ ext $25,$9,16,8
|
||
+
|
||
+ lwxs $16,$1($7) # Td2[s2>>8]
|
||
+ ext $1,$9,24,8
|
||
+ lwxs $17,$2($7) # Td2[s3>>8]
|
||
+ ext $2,$10,24,8
|
||
+ lwxs $18,$24($7) # Td2[s0>>8]
|
||
+ ext $24,$11,24,8
|
||
+ lwxs $19,$25($7) # Td2[s1>>8]
|
||
+ ext $25,$8,24,8
|
||
+
|
||
+ lwxs $20,$1($7) # Td3[s1]
|
||
+ ext $1,$8,0,8
|
||
+ lwxs $21,$2($7) # Td3[s2]
|
||
+ ext $2,$9,0,8
|
||
+ lwxs $22,$24($7) # Td3[s3]
|
||
+ ext $24,$10,0,8
|
||
+ lwxs $23,$25($7) # Td3[s0]
|
||
+ ext $25,$11,0,8
|
||
+
|
||
+ rotr $12,$12,24
|
||
+ rotr $13,$13,24
|
||
+ rotr $14,$14,24
|
||
+ rotr $15,$15,24
|
||
+
|
||
+ rotr $16,$16,16
|
||
+ rotr $17,$17,16
|
||
+ rotr $18,$18,16
|
||
+ rotr $19,$19,16
|
||
+
|
||
+ xor $12,$16
|
||
+ lwxs $16,$1($7) # Td0[s0>>24]
|
||
+ xor $13,$17
|
||
+ lwxs $17,$2($7) # Td0[s1>>24]
|
||
+ xor $14,$18
|
||
+ lwxs $18,$24($7) # Td0[s2>>24]
|
||
+ xor $15,$19
|
||
+ lwxs $19,$25($7) # Td0[s3>>24]
|
||
+
|
||
+ rotr $20,$20,8
|
||
+ lw $8,0($3)
|
||
+ rotr $21,$21,8
|
||
+ lw $9,4($3)
|
||
+ rotr $22,$22,8
|
||
+ lw $10,8($3)
|
||
+ rotr $23,$23,8
|
||
+ lw $11,12($3)
|
||
+
|
||
+ xor $12,$20
|
||
+ xor $13,$21
|
||
+ xor $14,$22
|
||
+ xor $15,$23
|
||
+
|
||
+ xor $12,$16
|
||
+ xor $13,$17
|
||
+ xor $14,$18
|
||
+ xor $15,$19
|
||
+
|
||
+ subu $30,1
|
||
+ addu $3,16
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+ .set noreorder
|
||
+ bnez $30,.Loop_dec
|
||
+ ext $1,$11,8,8
|
||
+
|
||
+ srl $1,$11,6
|
||
+#else
|
||
+ srl $1,$11,6
|
||
+.Loop_dec:
|
||
+ srl $2,$8,6
|
||
+ srl $24,$9,6
|
||
+ srl $25,$10,6
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ lw $12,0($1) # Td1[s3>>16]
|
||
+ srl $1,$10,14
|
||
+ lw $13,0($2) # Td1[s0>>16]
|
||
+ srl $2,$11,14
|
||
+ lw $14,0($24) # Td1[s1>>16]
|
||
+ srl $24,$8,14
|
||
+ lw $15,0($25) # Td1[s2>>16]
|
||
+ srl $25,$9,14
|
||
+#else
|
||
+ lwl $12,2($1) # Td1[s3>>16]
|
||
+ lwl $13,2($2) # Td1[s0>>16]
|
||
+ lwl $14,2($24) # Td1[s1>>16]
|
||
+ lwl $15,2($25) # Td1[s2>>16]
|
||
+ lwr $12,3($1) # Td1[s3>>16]
|
||
+ srl $1,$10,14
|
||
+ lwr $13,3($2) # Td1[s0>>16]
|
||
+ srl $2,$11,14
|
||
+ lwr $14,3($24) # Td1[s1>>16]
|
||
+ srl $24,$8,14
|
||
+ lwr $15,3($25) # Td1[s2>>16]
|
||
+ srl $25,$9,14
|
||
+#endif
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ rotr $12,$12,24
|
||
+ rotr $13,$13,24
|
||
+ rotr $14,$14,24
|
||
+ rotr $15,$15,24
|
||
+# if defined(_MIPSEL)
|
||
+ lw $16,0($1) # Td2[s2>>8]
|
||
+ srl $1,$9,22
|
||
+ lw $17,0($2) # Td2[s3>>8]
|
||
+ srl $2,$10,22
|
||
+ lw $18,0($24) # Td2[s0>>8]
|
||
+ srl $24,$11,22
|
||
+ lw $19,0($25) # Td2[s1>>8]
|
||
+ srl $25,$8,22
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lw $20,0($1) # Td3[s1]
|
||
+ ins $1,$8,2,8
|
||
+ lw $21,0($2) # Td3[s2]
|
||
+ ins $2,$9,2,8
|
||
+ lw $22,0($24) # Td3[s3]
|
||
+ ins $24,$10,2,8
|
||
+ lw $23,0($25) # Td3[s0]
|
||
+ ins $25,$11,2,8
|
||
+#else
|
||
+ lw $16,0($1) # Td2[s2>>8]
|
||
+ ins $1,$9,2,8
|
||
+ lw $17,0($2) # Td2[s3>>8]
|
||
+ ins $2,$10,2,8
|
||
+ lw $18,0($24) # Td2[s0>>8]
|
||
+ ins $24,$11,2,8
|
||
+ lw $19,0($25) # Td2[s1>>8]
|
||
+ ins $25,$8,2,8
|
||
+
|
||
+ lw $20,0($1) # Td3[s1]
|
||
+ sll $1,$8,2
|
||
+ lw $21,0($2) # Td3[s2]
|
||
+ sll $2,$9,2
|
||
+ lw $22,0($24) # Td3[s3]
|
||
+ sll $24,$10,2
|
||
+ lw $23,0($25) # Td3[s0]
|
||
+ sll $25,$11,2
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#endif
|
||
+ rotr $16,$16,16
|
||
+ rotr $17,$17,16
|
||
+ rotr $18,$18,16
|
||
+ rotr $19,$19,16
|
||
+
|
||
+ rotr $20,$20,8
|
||
+ rotr $21,$21,8
|
||
+ rotr $22,$22,8
|
||
+ rotr $23,$23,8
|
||
+#else
|
||
+ lwl $16,1($1) # Td2[s2>>8]
|
||
+ lwl $17,1($2) # Td2[s3>>8]
|
||
+ lwl $18,1($24) # Td2[s0>>8]
|
||
+ lwl $19,1($25) # Td2[s1>>8]
|
||
+ lwr $16,2($1) # Td2[s2>>8]
|
||
+ srl $1,$9,22
|
||
+ lwr $17,2($2) # Td2[s3>>8]
|
||
+ srl $2,$10,22
|
||
+ lwr $18,2($24) # Td2[s0>>8]
|
||
+ srl $24,$11,22
|
||
+ lwr $19,2($25) # Td2[s1>>8]
|
||
+ srl $25,$8,22
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lwl $20,0($1) # Td3[s1]
|
||
+ lwl $21,0($2) # Td3[s2]
|
||
+ lwl $22,0($24) # Td3[s3]
|
||
+ lwl $23,0($25) # Td3[s0]
|
||
+ lwr $20,1($1) # Td3[s1]
|
||
+ sll $1,$8,2
|
||
+ lwr $21,1($2) # Td3[s2]
|
||
+ sll $2,$9,2
|
||
+ lwr $22,1($24) # Td3[s3]
|
||
+ sll $24,$10,2
|
||
+ lwr $23,1($25) # Td3[s0]
|
||
+ sll $25,$11,2
|
||
+
|
||
+ and $1,0x3fc
|
||
+ and $2,0x3fc
|
||
+ and $24,0x3fc
|
||
+ and $25,0x3fc
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#endif
|
||
+
|
||
+ xor $12,$16
|
||
+ lw $16,0($1) # Td0[s0>>24]
|
||
+ xor $13,$17
|
||
+ lw $17,0($2) # Td0[s1>>24]
|
||
+ xor $14,$18
|
||
+ lw $18,0($24) # Td0[s2>>24]
|
||
+ xor $15,$19
|
||
+ lw $19,0($25) # Td0[s3>>24]
|
||
+
|
||
+ xor $12,$20
|
||
+ lw $8,0($3)
|
||
+ xor $13,$21
|
||
+ lw $9,4($3)
|
||
+ xor $14,$22
|
||
+ lw $10,8($3)
|
||
+ xor $15,$23
|
||
+ lw $11,12($3)
|
||
+
|
||
+ xor $12,$16
|
||
+ xor $13,$17
|
||
+ xor $14,$18
|
||
+ xor $15,$19
|
||
+
|
||
+ subu $30,1
|
||
+ addu $3,16
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+ .set noreorder
|
||
+ bnez $30,.Loop_dec
|
||
+ srl $1,$11,6
|
||
+#endif
|
||
+
|
||
+ .set reorder
|
||
+ lw $16,1024($7) # prefetch Td4
|
||
+ srl $1,$11,8
|
||
+ lw $17,1024+32($7)
|
||
+ srl $2,$8,8
|
||
+ lw $18,1024+64($7)
|
||
+ srl $24,$9,8
|
||
+ lw $19,1024+96($7)
|
||
+ srl $25,$10,8
|
||
+ lw $20,1024+128($7)
|
||
+ and $1,0xff
|
||
+ lw $21,1024+160($7)
|
||
+ and $2,0xff
|
||
+ lw $22,1024+192($7)
|
||
+ and $24,0xff
|
||
+ lw $23,1024+224($7)
|
||
+ and $25,0xff
|
||
+
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $12,1024($1) # Td4[s3>>16]
|
||
+ srl $1,$10,16
|
||
+ lbu $13,1024($2) # Td4[s0>>16]
|
||
+ srl $2,$11,16
|
||
+ lbu $14,1024($24) # Td4[s1>>16]
|
||
+ srl $24,$8,16
|
||
+ lbu $15,1024($25) # Td4[s2>>16]
|
||
+ srl $25,$9,16
|
||
+
|
||
+ and $1,0xff
|
||
+ and $2,0xff
|
||
+ and $24,0xff
|
||
+ and $25,0xff
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+# if defined(_MIPSEL)
|
||
+ lbu $16,1024($1) # Td4[s2>>8]
|
||
+ ins $1,$8,0,8
|
||
+ lbu $17,1024($2) # Td4[s3>>8]
|
||
+ ins $2,$9,0,8
|
||
+ lbu $18,1024($24) # Td4[s0>>8]
|
||
+ ins $24,$10,0,8
|
||
+ lbu $19,1024($25) # Td4[s1>>8]
|
||
+ ins $25,$11,0,8
|
||
+
|
||
+ lbu $20,1024($1) # Td4[s0>>24]
|
||
+ srl $1,$9,24
|
||
+ lbu $21,1024($2) # Td4[s1>>24]
|
||
+ srl $2,$10,24
|
||
+ lbu $22,1024($24) # Td4[s2>>24]
|
||
+ srl $24,$11,24
|
||
+ lbu $23,1024($25) # Td4[s3>>24]
|
||
+ srl $25,$8,24
|
||
+
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+# else
|
||
+ lbu $16,1024($1) # Td4[s2>>8]
|
||
+ and $1,$8,0xff
|
||
+ lbu $17,1024($2) # Td4[s3>>8]
|
||
+ and $2,$9,0xff
|
||
+ lbu $18,1024($24) # Td4[s0>>8]
|
||
+ and $24,$10,0xff
|
||
+ lbu $19,1024($25) # Td4[s1>>8]
|
||
+ and $25,$11,0xff
|
||
+
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $20,1024($1) # Td4[s0>>24]
|
||
+ ins $1,$9,0,8
|
||
+ lbu $21,1024($2) # Td4[s1>>24]
|
||
+ ins $2,$10,0,8
|
||
+ lbu $22,1024($24) # Td4[s2>>24]
|
||
+ ins $24,$11,0,8
|
||
+ lbu $23,1024($25) # Td4[s3>>24]
|
||
+ ins $25,$8,0,8
|
||
+# endif
|
||
+ sll $12,$12,8
|
||
+ sll $13,$13,8
|
||
+ sll $14,$14,8
|
||
+ sll $15,$15,8
|
||
+
|
||
+ ins $12,$16,16,8
|
||
+ lbu $16,1024($1) # Td4[s1]
|
||
+ ins $13,$17,16,8
|
||
+ lbu $17,1024($2) # Td4[s2]
|
||
+ ins $14,$18,16,8
|
||
+ lbu $18,1024($24) # Td4[s3]
|
||
+ ins $15,$19,16,8
|
||
+ lbu $19,1024($25) # Td4[s0]
|
||
+
|
||
+ ins $12,$20,0,8
|
||
+ lw $8,0($3)
|
||
+ ins $13,$21,0,8
|
||
+ lw $9,4($3)
|
||
+ ins $14,$22,0,8
|
||
+ lw $10,8($3)
|
||
+ ins $15,$23,0,8
|
||
+ lw $11,12($3)
|
||
+
|
||
+ ins $12,$16,24,8
|
||
+ ins $13,$17,24,8
|
||
+ ins $14,$18,24,8
|
||
+ ins $15,$19,24,8
|
||
+#else
|
||
+ lbu $16,1024($1) # Td4[s2>>8]
|
||
+ and $1,$8,0xff
|
||
+ lbu $17,1024($2) # Td4[s3>>8]
|
||
+ and $2,$9,0xff
|
||
+ lbu $18,1024($24) # Td4[s0>>8]
|
||
+ and $24,$10,0xff
|
||
+ lbu $19,1024($25) # Td4[s1>>8]
|
||
+ and $25,$11,0xff
|
||
+
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $20,1024($1) # Td4[s0>>24]
|
||
+ srl $1,$9,24
|
||
+ lbu $21,1024($2) # Td4[s1>>24]
|
||
+ srl $2,$10,24
|
||
+ lbu $22,1024($24) # Td4[s2>>24]
|
||
+ srl $24,$11,24
|
||
+ lbu $23,1024($25) # Td4[s3>>24]
|
||
+ srl $25,$8,24
|
||
+
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+
|
||
+ sll $12,$12,8
|
||
+ sll $13,$13,8
|
||
+ sll $14,$14,8
|
||
+ sll $15,$15,8
|
||
+
|
||
+ sll $16,$16,16
|
||
+ sll $17,$17,16
|
||
+ sll $18,$18,16
|
||
+ sll $19,$19,16
|
||
+
|
||
+ xor $12,$16
|
||
+ lbu $16,1024($1) # Td4[s1]
|
||
+ xor $13,$17
|
||
+ lbu $17,1024($2) # Td4[s2]
|
||
+ xor $14,$18
|
||
+ lbu $18,1024($24) # Td4[s3]
|
||
+ xor $15,$19
|
||
+ lbu $19,1024($25) # Td4[s0]
|
||
+
|
||
+ #sll $20,$20,0
|
||
+ lw $8,0($3)
|
||
+ #sll $21,$21,0
|
||
+ lw $9,4($3)
|
||
+ #sll $22,$22,0
|
||
+ lw $10,8($3)
|
||
+ #sll $23,$23,0
|
||
+ lw $11,12($3)
|
||
+
|
||
+ xor $12,$20
|
||
+ xor $13,$21
|
||
+ xor $14,$22
|
||
+ xor $15,$23
|
||
+
|
||
+ sll $16,$16,24
|
||
+ sll $17,$17,24
|
||
+ sll $18,$18,24
|
||
+ sll $19,$19,24
|
||
+
|
||
+ xor $12,$16
|
||
+ xor $13,$17
|
||
+ xor $14,$18
|
||
+ xor $15,$19
|
||
+#endif
|
||
+
|
||
+ xor $8,$12
|
||
+ xor $9,$13
|
||
+ xor $10,$14
|
||
+ xor $11,$15
|
||
+
|
||
+ jr $31
|
||
+.end _mips_AES_decrypt
|
||
+
|
||
+.align 5
|
||
+.globl AES_decrypt
|
||
+.ent AES_decrypt
|
||
+AES_decrypt:
|
||
+ .frame $29,64,$31
|
||
+ .mask 0xc0ff0000,-4
|
||
+ .set noreorder
|
||
+ .cpload $25
|
||
+ subu $29,64
|
||
+ sw $31,64-1*4($29)
|
||
+ sw $30,64-2*4($29)
|
||
+ sw $23,64-3*4($29)
|
||
+ sw $22,64-4*4($29)
|
||
+ sw $21,64-5*4($29)
|
||
+ sw $20,64-6*4($29)
|
||
+ sw $19,64-7*4($29)
|
||
+ sw $18,64-8*4($29)
|
||
+ sw $17,64-9*4($29)
|
||
+ sw $16,64-10*4($29)
|
||
+ .set reorder
|
||
+ la $7,AES_Td # PIC-ified 'load address'
|
||
+
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $8,0($4)
|
||
+ lw $9,4($4)
|
||
+ lw $10,8($4)
|
||
+ lw $11,12($4)
|
||
+#else
|
||
+ lwl $8,0+3($4)
|
||
+ lwl $9,4+3($4)
|
||
+ lwl $10,8+3($4)
|
||
+ lwl $11,12+3($4)
|
||
+ lwr $8,0+0($4)
|
||
+ lwr $9,4+0($4)
|
||
+ lwr $10,8+0($4)
|
||
+ lwr $11,12+0($4)
|
||
+#endif
|
||
+
|
||
+ bal _mips_AES_decrypt
|
||
+
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ sw $8,0($5)
|
||
+ sw $9,4($5)
|
||
+ sw $10,8($5)
|
||
+ sw $11,12($5)
|
||
+#else
|
||
+ swr $8,0+0($5)
|
||
+ swr $9,4+0($5)
|
||
+ swr $10,8+0($5)
|
||
+ swr $11,12+0($5)
|
||
+ swl $8,0+3($5)
|
||
+ swl $9,4+3($5)
|
||
+ swl $10,8+3($5)
|
||
+ swl $11,12+3($5)
|
||
+#endif
|
||
+
|
||
+ .set noreorder
|
||
+ lw $31,64-1*4($29)
|
||
+ lw $30,64-2*4($29)
|
||
+ lw $23,64-3*4($29)
|
||
+ lw $22,64-4*4($29)
|
||
+ lw $21,64-5*4($29)
|
||
+ lw $20,64-6*4($29)
|
||
+ lw $19,64-7*4($29)
|
||
+ lw $18,64-8*4($29)
|
||
+ lw $17,64-9*4($29)
|
||
+ lw $16,64-10*4($29)
|
||
+ jr $31
|
||
+ addu $29,64
|
||
+.end AES_decrypt
|
||
+.align 5
|
||
+.ent _mips_AES_set_encrypt_key
|
||
+_mips_AES_set_encrypt_key:
|
||
+ .frame $29,0,$31
|
||
+ .set noreorder
|
||
+ beqz $4,.Lekey_done
|
||
+ li $2,-1
|
||
+ beqz $6,.Lekey_done
|
||
+ addu $3,$7,256
|
||
+
|
||
+ .set reorder
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $8,0($4) # load 128 bits
|
||
+ lw $9,4($4)
|
||
+ lw $10,8($4)
|
||
+ lw $11,12($4)
|
||
+#else
|
||
+ lwl $8,0+3($4) # load 128 bits
|
||
+ lwl $9,4+3($4)
|
||
+ lwl $10,8+3($4)
|
||
+ lwl $11,12+3($4)
|
||
+ lwr $8,0+0($4)
|
||
+ lwr $9,4+0($4)
|
||
+ lwr $10,8+0($4)
|
||
+ lwr $11,12+0($4)
|
||
+#endif
|
||
+ li $1,128
|
||
+ .set noreorder
|
||
+ beq $5,$1,.L128bits
|
||
+ li $30,10
|
||
+
|
||
+ .set reorder
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $12,16($4) # load 192 bits
|
||
+ lw $13,20($4)
|
||
+#else
|
||
+ lwl $12,16+3($4) # load 192 bits
|
||
+ lwl $13,20+3($4)
|
||
+ lwr $12,16+0($4)
|
||
+ lwr $13,20+0($4)
|
||
+#endif
|
||
+ li $1,192
|
||
+ .set noreorder
|
||
+ beq $5,$1,.L192bits
|
||
+ li $30,8
|
||
+
|
||
+ .set reorder
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $14,24($4) # load 256 bits
|
||
+ lw $15,28($4)
|
||
+#else
|
||
+ lwl $14,24+3($4) # load 256 bits
|
||
+ lwl $15,28+3($4)
|
||
+ lwr $14,24+0($4)
|
||
+ lwr $15,28+0($4)
|
||
+#endif
|
||
+ li $1,256
|
||
+ .set noreorder
|
||
+ beq $5,$1,.L256bits
|
||
+ li $30,7
|
||
+
|
||
+ b .Lekey_done
|
||
+ li $2,-2
|
||
+
|
||
+.align 4
|
||
+.L128bits:
|
||
+ .set reorder
|
||
+ srl $1,$11,16
|
||
+ srl $2,$11,8
|
||
+ and $1,0xff
|
||
+ and $2,0xff
|
||
+ and $24,$11,0xff
|
||
+ srl $25,$11,24
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $1,0($1)
|
||
+ lbu $2,0($2)
|
||
+ lbu $24,0($24)
|
||
+ lbu $25,0($25)
|
||
+
|
||
+ sw $8,0($6)
|
||
+ sw $9,4($6)
|
||
+ sw $10,8($6)
|
||
+ sw $11,12($6)
|
||
+ subu $30,1
|
||
+ addu $6,16
|
||
+
|
||
+ sll $1,$1,8
|
||
+ #sll $2,$2,0
|
||
+ sll $24,$24,24
|
||
+ sll $25,$25,16
|
||
+
|
||
+ xor $8,$1
|
||
+ lw $1,0($3)
|
||
+ xor $8,$2
|
||
+ xor $8,$24
|
||
+ xor $8,$25
|
||
+ xor $8,$1
|
||
+
|
||
+ xor $9,$8
|
||
+ xor $10,$9
|
||
+ xor $11,$10
|
||
+
|
||
+ .set noreorder
|
||
+ bnez $30,.L128bits
|
||
+ addu $3,4
|
||
+
|
||
+ sw $8,0($6)
|
||
+ sw $9,4($6)
|
||
+ sw $10,8($6)
|
||
+ li $30,10
|
||
+ sw $11,12($6)
|
||
+ li $2,0
|
||
+ sw $30,80($6)
|
||
+ b .Lekey_done
|
||
+ subu $6,10*16
|
||
+
|
||
+.align 4
|
||
+.L192bits:
|
||
+ .set reorder
|
||
+ srl $1,$13,16
|
||
+ srl $2,$13,8
|
||
+ and $1,0xff
|
||
+ and $2,0xff
|
||
+ and $24,$13,0xff
|
||
+ srl $25,$13,24
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $1,0($1)
|
||
+ lbu $2,0($2)
|
||
+ lbu $24,0($24)
|
||
+ lbu $25,0($25)
|
||
+
|
||
+ sw $8,0($6)
|
||
+ sw $9,4($6)
|
||
+ sw $10,8($6)
|
||
+ sw $11,12($6)
|
||
+ sw $12,16($6)
|
||
+ sw $13,20($6)
|
||
+ subu $30,1
|
||
+ addu $6,24
|
||
+
|
||
+ sll $1,$1,8
|
||
+ #sll $2,$2,0
|
||
+ sll $24,$24,24
|
||
+ sll $25,$25,16
|
||
+
|
||
+ xor $8,$1
|
||
+ lw $1,0($3)
|
||
+ xor $8,$2
|
||
+ xor $8,$24
|
||
+ xor $8,$25
|
||
+ xor $8,$1
|
||
+
|
||
+ xor $9,$8
|
||
+ xor $10,$9
|
||
+ xor $11,$10
|
||
+ xor $12,$11
|
||
+ xor $13,$12
|
||
+
|
||
+ .set noreorder
|
||
+ bnez $30,.L192bits
|
||
+ addu $3,4
|
||
+
|
||
+ sw $8,0($6)
|
||
+ sw $9,4($6)
|
||
+ sw $10,8($6)
|
||
+ li $30,12
|
||
+ sw $11,12($6)
|
||
+ li $2,0
|
||
+ sw $30,48($6)
|
||
+ b .Lekey_done
|
||
+ subu $6,12*16
|
||
+
|
||
+.align 4
|
||
+.L256bits:
|
||
+ .set reorder
|
||
+ srl $1,$15,16
|
||
+ srl $2,$15,8
|
||
+ and $1,0xff
|
||
+ and $2,0xff
|
||
+ and $24,$15,0xff
|
||
+ srl $25,$15,24
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $1,0($1)
|
||
+ lbu $2,0($2)
|
||
+ lbu $24,0($24)
|
||
+ lbu $25,0($25)
|
||
+
|
||
+ sw $8,0($6)
|
||
+ sw $9,4($6)
|
||
+ sw $10,8($6)
|
||
+ sw $11,12($6)
|
||
+ sw $12,16($6)
|
||
+ sw $13,20($6)
|
||
+ sw $14,24($6)
|
||
+ sw $15,28($6)
|
||
+ subu $30,1
|
||
+
|
||
+ sll $1,$1,8
|
||
+ #sll $2,$2,0
|
||
+ sll $24,$24,24
|
||
+ sll $25,$25,16
|
||
+
|
||
+ xor $8,$1
|
||
+ lw $1,0($3)
|
||
+ xor $8,$2
|
||
+ xor $8,$24
|
||
+ xor $8,$25
|
||
+ xor $8,$1
|
||
+
|
||
+ xor $9,$8
|
||
+ xor $10,$9
|
||
+ xor $11,$10
|
||
+ beqz $30,.L256bits_done
|
||
+
|
||
+ srl $1,$11,24
|
||
+ srl $2,$11,16
|
||
+ srl $24,$11,8
|
||
+ and $25,$11,0xff
|
||
+ and $2,0xff
|
||
+ and $24,0xff
|
||
+ addu $1,$7
|
||
+ addu $2,$7
|
||
+ addu $24,$7
|
||
+ addu $25,$7
|
||
+ lbu $1,0($1)
|
||
+ lbu $2,0($2)
|
||
+ lbu $24,0($24)
|
||
+ lbu $25,0($25)
|
||
+ sll $1,24
|
||
+ sll $2,16
|
||
+ sll $24,8
|
||
+
|
||
+ xor $12,$1
|
||
+ xor $12,$2
|
||
+ xor $12,$24
|
||
+ xor $12,$25
|
||
+
|
||
+ xor $13,$12
|
||
+ xor $14,$13
|
||
+ xor $15,$14
|
||
+
|
||
+ addu $6,32
|
||
+ .set noreorder
|
||
+ b .L256bits
|
||
+ addu $3,4
|
||
+
|
||
+.L256bits_done:
|
||
+ sw $8,32($6)
|
||
+ sw $9,36($6)
|
||
+ sw $10,40($6)
|
||
+ li $30,14
|
||
+ sw $11,44($6)
|
||
+ li $2,0
|
||
+ sw $30,48($6)
|
||
+ subu $6,12*16
|
||
+
|
||
+.Lekey_done:
|
||
+ jr $31
|
||
+ nop
|
||
+.end _mips_AES_set_encrypt_key
|
||
+
|
||
+.globl AES_set_encrypt_key
|
||
+.ent AES_set_encrypt_key
|
||
+AES_set_encrypt_key:
|
||
+ .frame $29,32,$31
|
||
+ .mask 0xc0000000,-4
|
||
+ .set noreorder
|
||
+ .cpload $25
|
||
+ subu $29,32
|
||
+ sw $31,32-1*4($29)
|
||
+ sw $30,32-2*4($29)
|
||
+ .set reorder
|
||
+ la $7,AES_Te4 # PIC-ified 'load address'
|
||
+
|
||
+ bal _mips_AES_set_encrypt_key
|
||
+
|
||
+ .set noreorder
|
||
+ move $4,$2
|
||
+ lw $31,32-1*4($29)
|
||
+ lw $30,32-2*4($29)
|
||
+ jr $31
|
||
+ addu $29,32
|
||
+.end AES_set_encrypt_key
|
||
+.align 5
|
||
+.globl AES_set_decrypt_key
|
||
+.ent AES_set_decrypt_key
|
||
+AES_set_decrypt_key:
|
||
+ .frame $29,32,$31
|
||
+ .mask 0xc0000000,-4
|
||
+ .set noreorder
|
||
+ .cpload $25
|
||
+ subu $29,32
|
||
+ sw $31,32-1*4($29)
|
||
+ sw $30,32-2*4($29)
|
||
+ .set reorder
|
||
+ la $7,AES_Te4 # PIC-ified 'load address'
|
||
+
|
||
+ bal _mips_AES_set_encrypt_key
|
||
+
|
||
+ bltz $2,.Ldkey_done
|
||
+
|
||
+ sll $1,$30,4
|
||
+ addu $4,$6,0
|
||
+ addu $5,$6,$1
|
||
+.align 4
|
||
+.Lswap:
|
||
+ lw $8,0($4)
|
||
+ lw $9,4($4)
|
||
+ lw $10,8($4)
|
||
+ lw $11,12($4)
|
||
+ lw $12,0($5)
|
||
+ lw $13,4($5)
|
||
+ lw $14,8($5)
|
||
+ lw $15,12($5)
|
||
+ sw $8,0($5)
|
||
+ sw $9,4($5)
|
||
+ sw $10,8($5)
|
||
+ sw $11,12($5)
|
||
+ addu $4,16
|
||
+ subu $5,16
|
||
+ sw $12,-16($4)
|
||
+ sw $13,-12($4)
|
||
+ sw $14,-8($4)
|
||
+ sw $15,-4($4)
|
||
+ bne $4,$5,.Lswap
|
||
+
|
||
+ lw $8,16($6) # modulo-scheduled
|
||
+ lui $2,0x8080
|
||
+ subu $30,1
|
||
+ or $2,0x8080
|
||
+ sll $30,2
|
||
+ addu $6,16
|
||
+ lui $25,0x1b1b
|
||
+ nor $24,$0,$2
|
||
+ or $25,0x1b1b
|
||
+.align 4
|
||
+.Lmix:
|
||
+ and $1,$8,$2
|
||
+ and $9,$8,$24
|
||
+ srl $10,$1,7
|
||
+ addu $9,$9 # tp2<<1
|
||
+ subu $1,$10
|
||
+ and $1,$25
|
||
+ xor $9,$1
|
||
+
|
||
+ and $1,$9,$2
|
||
+ and $10,$9,$24
|
||
+ srl $11,$1,7
|
||
+ addu $10,$10 # tp4<<1
|
||
+ subu $1,$11
|
||
+ and $1,$25
|
||
+ xor $10,$1
|
||
+
|
||
+ and $1,$10,$2
|
||
+ and $11,$10,$24
|
||
+ srl $12,$1,7
|
||
+ addu $11,$11 # tp8<<1
|
||
+ subu $1,$12
|
||
+ and $1,$25
|
||
+ xor $11,$1
|
||
+
|
||
+ xor $12,$11,$8
|
||
+ xor $15,$11,$10
|
||
+ xor $13,$12,$9
|
||
+ xor $14,$12,$10
|
||
+
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ rotr $8,$14,16
|
||
+ xor $15,$9
|
||
+ rotr $9,$12,24
|
||
+ xor $15,$8
|
||
+ rotr $10,$13,8
|
||
+ xor $15,$9
|
||
+ lw $8,4($6) # modulo-scheduled
|
||
+ xor $15,$10
|
||
+#else
|
||
+ sll $8,$14,16
|
||
+ xor $15,$9
|
||
+ srl $9,$14,16
|
||
+ xor $15,$8
|
||
+ sll $8,$12,8
|
||
+ xor $15,$9
|
||
+ srl $9,$12,24
|
||
+ xor $15,$8
|
||
+ sll $8,$13,24
|
||
+ xor $15,$9
|
||
+ srl $9,$13,8
|
||
+ xor $15,$8
|
||
+ lw $8,4($6) # modulo-scheduled
|
||
+ xor $15,$9
|
||
+#endif
|
||
+ subu $30,1
|
||
+ sw $15,0($6)
|
||
+ addu $6,4
|
||
+ bnez $30,.Lmix
|
||
+
|
||
+ li $2,0
|
||
+.Ldkey_done:
|
||
+ .set noreorder
|
||
+ move $4,$2
|
||
+ lw $31,32-1*4($29)
|
||
+ lw $30,32-2*4($29)
|
||
+ jr $31
|
||
+ addu $29,32
|
||
+.end AES_set_decrypt_key
|
||
+.rdata
|
||
+.align 10
|
||
+AES_Te:
|
||
+.byte 0xc6,0x63,0x63,0xa5, 0xf8,0x7c,0x7c,0x84 # Te0
|
||
+.byte 0xee,0x77,0x77,0x99, 0xf6,0x7b,0x7b,0x8d
|
||
+.byte 0xff,0xf2,0xf2,0x0d, 0xd6,0x6b,0x6b,0xbd
|
||
+.byte 0xde,0x6f,0x6f,0xb1, 0x91,0xc5,0xc5,0x54
|
||
+.byte 0x60,0x30,0x30,0x50, 0x02,0x01,0x01,0x03
|
||
+.byte 0xce,0x67,0x67,0xa9, 0x56,0x2b,0x2b,0x7d
|
||
+.byte 0xe7,0xfe,0xfe,0x19, 0xb5,0xd7,0xd7,0x62
|
||
+.byte 0x4d,0xab,0xab,0xe6, 0xec,0x76,0x76,0x9a
|
||
+.byte 0x8f,0xca,0xca,0x45, 0x1f,0x82,0x82,0x9d
|
||
+.byte 0x89,0xc9,0xc9,0x40, 0xfa,0x7d,0x7d,0x87
|
||
+.byte 0xef,0xfa,0xfa,0x15, 0xb2,0x59,0x59,0xeb
|
||
+.byte 0x8e,0x47,0x47,0xc9, 0xfb,0xf0,0xf0,0x0b
|
||
+.byte 0x41,0xad,0xad,0xec, 0xb3,0xd4,0xd4,0x67
|
||
+.byte 0x5f,0xa2,0xa2,0xfd, 0x45,0xaf,0xaf,0xea
|
||
+.byte 0x23,0x9c,0x9c,0xbf, 0x53,0xa4,0xa4,0xf7
|
||
+.byte 0xe4,0x72,0x72,0x96, 0x9b,0xc0,0xc0,0x5b
|
||
+.byte 0x75,0xb7,0xb7,0xc2, 0xe1,0xfd,0xfd,0x1c
|
||
+.byte 0x3d,0x93,0x93,0xae, 0x4c,0x26,0x26,0x6a
|
||
+.byte 0x6c,0x36,0x36,0x5a, 0x7e,0x3f,0x3f,0x41
|
||
+.byte 0xf5,0xf7,0xf7,0x02, 0x83,0xcc,0xcc,0x4f
|
||
+.byte 0x68,0x34,0x34,0x5c, 0x51,0xa5,0xa5,0xf4
|
||
+.byte 0xd1,0xe5,0xe5,0x34, 0xf9,0xf1,0xf1,0x08
|
||
+.byte 0xe2,0x71,0x71,0x93, 0xab,0xd8,0xd8,0x73
|
||
+.byte 0x62,0x31,0x31,0x53, 0x2a,0x15,0x15,0x3f
|
||
+.byte 0x08,0x04,0x04,0x0c, 0x95,0xc7,0xc7,0x52
|
||
+.byte 0x46,0x23,0x23,0x65, 0x9d,0xc3,0xc3,0x5e
|
||
+.byte 0x30,0x18,0x18,0x28, 0x37,0x96,0x96,0xa1
|
||
+.byte 0x0a,0x05,0x05,0x0f, 0x2f,0x9a,0x9a,0xb5
|
||
+.byte 0x0e,0x07,0x07,0x09, 0x24,0x12,0x12,0x36
|
||
+.byte 0x1b,0x80,0x80,0x9b, 0xdf,0xe2,0xe2,0x3d
|
||
+.byte 0xcd,0xeb,0xeb,0x26, 0x4e,0x27,0x27,0x69
|
||
+.byte 0x7f,0xb2,0xb2,0xcd, 0xea,0x75,0x75,0x9f
|
||
+.byte 0x12,0x09,0x09,0x1b, 0x1d,0x83,0x83,0x9e
|
||
+.byte 0x58,0x2c,0x2c,0x74, 0x34,0x1a,0x1a,0x2e
|
||
+.byte 0x36,0x1b,0x1b,0x2d, 0xdc,0x6e,0x6e,0xb2
|
||
+.byte 0xb4,0x5a,0x5a,0xee, 0x5b,0xa0,0xa0,0xfb
|
||
+.byte 0xa4,0x52,0x52,0xf6, 0x76,0x3b,0x3b,0x4d
|
||
+.byte 0xb7,0xd6,0xd6,0x61, 0x7d,0xb3,0xb3,0xce
|
||
+.byte 0x52,0x29,0x29,0x7b, 0xdd,0xe3,0xe3,0x3e
|
||
+.byte 0x5e,0x2f,0x2f,0x71, 0x13,0x84,0x84,0x97
|
||
+.byte 0xa6,0x53,0x53,0xf5, 0xb9,0xd1,0xd1,0x68
|
||
+.byte 0x00,0x00,0x00,0x00, 0xc1,0xed,0xed,0x2c
|
||
+.byte 0x40,0x20,0x20,0x60, 0xe3,0xfc,0xfc,0x1f
|
||
+.byte 0x79,0xb1,0xb1,0xc8, 0xb6,0x5b,0x5b,0xed
|
||
+.byte 0xd4,0x6a,0x6a,0xbe, 0x8d,0xcb,0xcb,0x46
|
||
+.byte 0x67,0xbe,0xbe,0xd9, 0x72,0x39,0x39,0x4b
|
||
+.byte 0x94,0x4a,0x4a,0xde, 0x98,0x4c,0x4c,0xd4
|
||
+.byte 0xb0,0x58,0x58,0xe8, 0x85,0xcf,0xcf,0x4a
|
||
+.byte 0xbb,0xd0,0xd0,0x6b, 0xc5,0xef,0xef,0x2a
|
||
+.byte 0x4f,0xaa,0xaa,0xe5, 0xed,0xfb,0xfb,0x16
|
||
+.byte 0x86,0x43,0x43,0xc5, 0x9a,0x4d,0x4d,0xd7
|
||
+.byte 0x66,0x33,0x33,0x55, 0x11,0x85,0x85,0x94
|
||
+.byte 0x8a,0x45,0x45,0xcf, 0xe9,0xf9,0xf9,0x10
|
||
+.byte 0x04,0x02,0x02,0x06, 0xfe,0x7f,0x7f,0x81
|
||
+.byte 0xa0,0x50,0x50,0xf0, 0x78,0x3c,0x3c,0x44
|
||
+.byte 0x25,0x9f,0x9f,0xba, 0x4b,0xa8,0xa8,0xe3
|
||
+.byte 0xa2,0x51,0x51,0xf3, 0x5d,0xa3,0xa3,0xfe
|
||
+.byte 0x80,0x40,0x40,0xc0, 0x05,0x8f,0x8f,0x8a
|
||
+.byte 0x3f,0x92,0x92,0xad, 0x21,0x9d,0x9d,0xbc
|
||
+.byte 0x70,0x38,0x38,0x48, 0xf1,0xf5,0xf5,0x04
|
||
+.byte 0x63,0xbc,0xbc,0xdf, 0x77,0xb6,0xb6,0xc1
|
||
+.byte 0xaf,0xda,0xda,0x75, 0x42,0x21,0x21,0x63
|
||
+.byte 0x20,0x10,0x10,0x30, 0xe5,0xff,0xff,0x1a
|
||
+.byte 0xfd,0xf3,0xf3,0x0e, 0xbf,0xd2,0xd2,0x6d
|
||
+.byte 0x81,0xcd,0xcd,0x4c, 0x18,0x0c,0x0c,0x14
|
||
+.byte 0x26,0x13,0x13,0x35, 0xc3,0xec,0xec,0x2f
|
||
+.byte 0xbe,0x5f,0x5f,0xe1, 0x35,0x97,0x97,0xa2
|
||
+.byte 0x88,0x44,0x44,0xcc, 0x2e,0x17,0x17,0x39
|
||
+.byte 0x93,0xc4,0xc4,0x57, 0x55,0xa7,0xa7,0xf2
|
||
+.byte 0xfc,0x7e,0x7e,0x82, 0x7a,0x3d,0x3d,0x47
|
||
+.byte 0xc8,0x64,0x64,0xac, 0xba,0x5d,0x5d,0xe7
|
||
+.byte 0x32,0x19,0x19,0x2b, 0xe6,0x73,0x73,0x95
|
||
+.byte 0xc0,0x60,0x60,0xa0, 0x19,0x81,0x81,0x98
|
||
+.byte 0x9e,0x4f,0x4f,0xd1, 0xa3,0xdc,0xdc,0x7f
|
||
+.byte 0x44,0x22,0x22,0x66, 0x54,0x2a,0x2a,0x7e
|
||
+.byte 0x3b,0x90,0x90,0xab, 0x0b,0x88,0x88,0x83
|
||
+.byte 0x8c,0x46,0x46,0xca, 0xc7,0xee,0xee,0x29
|
||
+.byte 0x6b,0xb8,0xb8,0xd3, 0x28,0x14,0x14,0x3c
|
||
+.byte 0xa7,0xde,0xde,0x79, 0xbc,0x5e,0x5e,0xe2
|
||
+.byte 0x16,0x0b,0x0b,0x1d, 0xad,0xdb,0xdb,0x76
|
||
+.byte 0xdb,0xe0,0xe0,0x3b, 0x64,0x32,0x32,0x56
|
||
+.byte 0x74,0x3a,0x3a,0x4e, 0x14,0x0a,0x0a,0x1e
|
||
+.byte 0x92,0x49,0x49,0xdb, 0x0c,0x06,0x06,0x0a
|
||
+.byte 0x48,0x24,0x24,0x6c, 0xb8,0x5c,0x5c,0xe4
|
||
+.byte 0x9f,0xc2,0xc2,0x5d, 0xbd,0xd3,0xd3,0x6e
|
||
+.byte 0x43,0xac,0xac,0xef, 0xc4,0x62,0x62,0xa6
|
||
+.byte 0x39,0x91,0x91,0xa8, 0x31,0x95,0x95,0xa4
|
||
+.byte 0xd3,0xe4,0xe4,0x37, 0xf2,0x79,0x79,0x8b
|
||
+.byte 0xd5,0xe7,0xe7,0x32, 0x8b,0xc8,0xc8,0x43
|
||
+.byte 0x6e,0x37,0x37,0x59, 0xda,0x6d,0x6d,0xb7
|
||
+.byte 0x01,0x8d,0x8d,0x8c, 0xb1,0xd5,0xd5,0x64
|
||
+.byte 0x9c,0x4e,0x4e,0xd2, 0x49,0xa9,0xa9,0xe0
|
||
+.byte 0xd8,0x6c,0x6c,0xb4, 0xac,0x56,0x56,0xfa
|
||
+.byte 0xf3,0xf4,0xf4,0x07, 0xcf,0xea,0xea,0x25
|
||
+.byte 0xca,0x65,0x65,0xaf, 0xf4,0x7a,0x7a,0x8e
|
||
+.byte 0x47,0xae,0xae,0xe9, 0x10,0x08,0x08,0x18
|
||
+.byte 0x6f,0xba,0xba,0xd5, 0xf0,0x78,0x78,0x88
|
||
+.byte 0x4a,0x25,0x25,0x6f, 0x5c,0x2e,0x2e,0x72
|
||
+.byte 0x38,0x1c,0x1c,0x24, 0x57,0xa6,0xa6,0xf1
|
||
+.byte 0x73,0xb4,0xb4,0xc7, 0x97,0xc6,0xc6,0x51
|
||
+.byte 0xcb,0xe8,0xe8,0x23, 0xa1,0xdd,0xdd,0x7c
|
||
+.byte 0xe8,0x74,0x74,0x9c, 0x3e,0x1f,0x1f,0x21
|
||
+.byte 0x96,0x4b,0x4b,0xdd, 0x61,0xbd,0xbd,0xdc
|
||
+.byte 0x0d,0x8b,0x8b,0x86, 0x0f,0x8a,0x8a,0x85
|
||
+.byte 0xe0,0x70,0x70,0x90, 0x7c,0x3e,0x3e,0x42
|
||
+.byte 0x71,0xb5,0xb5,0xc4, 0xcc,0x66,0x66,0xaa
|
||
+.byte 0x90,0x48,0x48,0xd8, 0x06,0x03,0x03,0x05
|
||
+.byte 0xf7,0xf6,0xf6,0x01, 0x1c,0x0e,0x0e,0x12
|
||
+.byte 0xc2,0x61,0x61,0xa3, 0x6a,0x35,0x35,0x5f
|
||
+.byte 0xae,0x57,0x57,0xf9, 0x69,0xb9,0xb9,0xd0
|
||
+.byte 0x17,0x86,0x86,0x91, 0x99,0xc1,0xc1,0x58
|
||
+.byte 0x3a,0x1d,0x1d,0x27, 0x27,0x9e,0x9e,0xb9
|
||
+.byte 0xd9,0xe1,0xe1,0x38, 0xeb,0xf8,0xf8,0x13
|
||
+.byte 0x2b,0x98,0x98,0xb3, 0x22,0x11,0x11,0x33
|
||
+.byte 0xd2,0x69,0x69,0xbb, 0xa9,0xd9,0xd9,0x70
|
||
+.byte 0x07,0x8e,0x8e,0x89, 0x33,0x94,0x94,0xa7
|
||
+.byte 0x2d,0x9b,0x9b,0xb6, 0x3c,0x1e,0x1e,0x22
|
||
+.byte 0x15,0x87,0x87,0x92, 0xc9,0xe9,0xe9,0x20
|
||
+.byte 0x87,0xce,0xce,0x49, 0xaa,0x55,0x55,0xff
|
||
+.byte 0x50,0x28,0x28,0x78, 0xa5,0xdf,0xdf,0x7a
|
||
+.byte 0x03,0x8c,0x8c,0x8f, 0x59,0xa1,0xa1,0xf8
|
||
+.byte 0x09,0x89,0x89,0x80, 0x1a,0x0d,0x0d,0x17
|
||
+.byte 0x65,0xbf,0xbf,0xda, 0xd7,0xe6,0xe6,0x31
|
||
+.byte 0x84,0x42,0x42,0xc6, 0xd0,0x68,0x68,0xb8
|
||
+.byte 0x82,0x41,0x41,0xc3, 0x29,0x99,0x99,0xb0
|
||
+.byte 0x5a,0x2d,0x2d,0x77, 0x1e,0x0f,0x0f,0x11
|
||
+.byte 0x7b,0xb0,0xb0,0xcb, 0xa8,0x54,0x54,0xfc
|
||
+.byte 0x6d,0xbb,0xbb,0xd6, 0x2c,0x16,0x16,0x3a
|
||
+
|
||
+AES_Td:
|
||
+.byte 0x51,0xf4,0xa7,0x50, 0x7e,0x41,0x65,0x53 # Td0
|
||
+.byte 0x1a,0x17,0xa4,0xc3, 0x3a,0x27,0x5e,0x96
|
||
+.byte 0x3b,0xab,0x6b,0xcb, 0x1f,0x9d,0x45,0xf1
|
||
+.byte 0xac,0xfa,0x58,0xab, 0x4b,0xe3,0x03,0x93
|
||
+.byte 0x20,0x30,0xfa,0x55, 0xad,0x76,0x6d,0xf6
|
||
+.byte 0x88,0xcc,0x76,0x91, 0xf5,0x02,0x4c,0x25
|
||
+.byte 0x4f,0xe5,0xd7,0xfc, 0xc5,0x2a,0xcb,0xd7
|
||
+.byte 0x26,0x35,0x44,0x80, 0xb5,0x62,0xa3,0x8f
|
||
+.byte 0xde,0xb1,0x5a,0x49, 0x25,0xba,0x1b,0x67
|
||
+.byte 0x45,0xea,0x0e,0x98, 0x5d,0xfe,0xc0,0xe1
|
||
+.byte 0xc3,0x2f,0x75,0x02, 0x81,0x4c,0xf0,0x12
|
||
+.byte 0x8d,0x46,0x97,0xa3, 0x6b,0xd3,0xf9,0xc6
|
||
+.byte 0x03,0x8f,0x5f,0xe7, 0x15,0x92,0x9c,0x95
|
||
+.byte 0xbf,0x6d,0x7a,0xeb, 0x95,0x52,0x59,0xda
|
||
+.byte 0xd4,0xbe,0x83,0x2d, 0x58,0x74,0x21,0xd3
|
||
+.byte 0x49,0xe0,0x69,0x29, 0x8e,0xc9,0xc8,0x44
|
||
+.byte 0x75,0xc2,0x89,0x6a, 0xf4,0x8e,0x79,0x78
|
||
+.byte 0x99,0x58,0x3e,0x6b, 0x27,0xb9,0x71,0xdd
|
||
+.byte 0xbe,0xe1,0x4f,0xb6, 0xf0,0x88,0xad,0x17
|
||
+.byte 0xc9,0x20,0xac,0x66, 0x7d,0xce,0x3a,0xb4
|
||
+.byte 0x63,0xdf,0x4a,0x18, 0xe5,0x1a,0x31,0x82
|
||
+.byte 0x97,0x51,0x33,0x60, 0x62,0x53,0x7f,0x45
|
||
+.byte 0xb1,0x64,0x77,0xe0, 0xbb,0x6b,0xae,0x84
|
||
+.byte 0xfe,0x81,0xa0,0x1c, 0xf9,0x08,0x2b,0x94
|
||
+.byte 0x70,0x48,0x68,0x58, 0x8f,0x45,0xfd,0x19
|
||
+.byte 0x94,0xde,0x6c,0x87, 0x52,0x7b,0xf8,0xb7
|
||
+.byte 0xab,0x73,0xd3,0x23, 0x72,0x4b,0x02,0xe2
|
||
+.byte 0xe3,0x1f,0x8f,0x57, 0x66,0x55,0xab,0x2a
|
||
+.byte 0xb2,0xeb,0x28,0x07, 0x2f,0xb5,0xc2,0x03
|
||
+.byte 0x86,0xc5,0x7b,0x9a, 0xd3,0x37,0x08,0xa5
|
||
+.byte 0x30,0x28,0x87,0xf2, 0x23,0xbf,0xa5,0xb2
|
||
+.byte 0x02,0x03,0x6a,0xba, 0xed,0x16,0x82,0x5c
|
||
+.byte 0x8a,0xcf,0x1c,0x2b, 0xa7,0x79,0xb4,0x92
|
||
+.byte 0xf3,0x07,0xf2,0xf0, 0x4e,0x69,0xe2,0xa1
|
||
+.byte 0x65,0xda,0xf4,0xcd, 0x06,0x05,0xbe,0xd5
|
||
+.byte 0xd1,0x34,0x62,0x1f, 0xc4,0xa6,0xfe,0x8a
|
||
+.byte 0x34,0x2e,0x53,0x9d, 0xa2,0xf3,0x55,0xa0
|
||
+.byte 0x05,0x8a,0xe1,0x32, 0xa4,0xf6,0xeb,0x75
|
||
+.byte 0x0b,0x83,0xec,0x39, 0x40,0x60,0xef,0xaa
|
||
+.byte 0x5e,0x71,0x9f,0x06, 0xbd,0x6e,0x10,0x51
|
||
+.byte 0x3e,0x21,0x8a,0xf9, 0x96,0xdd,0x06,0x3d
|
||
+.byte 0xdd,0x3e,0x05,0xae, 0x4d,0xe6,0xbd,0x46
|
||
+.byte 0x91,0x54,0x8d,0xb5, 0x71,0xc4,0x5d,0x05
|
||
+.byte 0x04,0x06,0xd4,0x6f, 0x60,0x50,0x15,0xff
|
||
+.byte 0x19,0x98,0xfb,0x24, 0xd6,0xbd,0xe9,0x97
|
||
+.byte 0x89,0x40,0x43,0xcc, 0x67,0xd9,0x9e,0x77
|
||
+.byte 0xb0,0xe8,0x42,0xbd, 0x07,0x89,0x8b,0x88
|
||
+.byte 0xe7,0x19,0x5b,0x38, 0x79,0xc8,0xee,0xdb
|
||
+.byte 0xa1,0x7c,0x0a,0x47, 0x7c,0x42,0x0f,0xe9
|
||
+.byte 0xf8,0x84,0x1e,0xc9, 0x00,0x00,0x00,0x00
|
||
+.byte 0x09,0x80,0x86,0x83, 0x32,0x2b,0xed,0x48
|
||
+.byte 0x1e,0x11,0x70,0xac, 0x6c,0x5a,0x72,0x4e
|
||
+.byte 0xfd,0x0e,0xff,0xfb, 0x0f,0x85,0x38,0x56
|
||
+.byte 0x3d,0xae,0xd5,0x1e, 0x36,0x2d,0x39,0x27
|
||
+.byte 0x0a,0x0f,0xd9,0x64, 0x68,0x5c,0xa6,0x21
|
||
+.byte 0x9b,0x5b,0x54,0xd1, 0x24,0x36,0x2e,0x3a
|
||
+.byte 0x0c,0x0a,0x67,0xb1, 0x93,0x57,0xe7,0x0f
|
||
+.byte 0xb4,0xee,0x96,0xd2, 0x1b,0x9b,0x91,0x9e
|
||
+.byte 0x80,0xc0,0xc5,0x4f, 0x61,0xdc,0x20,0xa2
|
||
+.byte 0x5a,0x77,0x4b,0x69, 0x1c,0x12,0x1a,0x16
|
||
+.byte 0xe2,0x93,0xba,0x0a, 0xc0,0xa0,0x2a,0xe5
|
||
+.byte 0x3c,0x22,0xe0,0x43, 0x12,0x1b,0x17,0x1d
|
||
+.byte 0x0e,0x09,0x0d,0x0b, 0xf2,0x8b,0xc7,0xad
|
||
+.byte 0x2d,0xb6,0xa8,0xb9, 0x14,0x1e,0xa9,0xc8
|
||
+.byte 0x57,0xf1,0x19,0x85, 0xaf,0x75,0x07,0x4c
|
||
+.byte 0xee,0x99,0xdd,0xbb, 0xa3,0x7f,0x60,0xfd
|
||
+.byte 0xf7,0x01,0x26,0x9f, 0x5c,0x72,0xf5,0xbc
|
||
+.byte 0x44,0x66,0x3b,0xc5, 0x5b,0xfb,0x7e,0x34
|
||
+.byte 0x8b,0x43,0x29,0x76, 0xcb,0x23,0xc6,0xdc
|
||
+.byte 0xb6,0xed,0xfc,0x68, 0xb8,0xe4,0xf1,0x63
|
||
+.byte 0xd7,0x31,0xdc,0xca, 0x42,0x63,0x85,0x10
|
||
+.byte 0x13,0x97,0x22,0x40, 0x84,0xc6,0x11,0x20
|
||
+.byte 0x85,0x4a,0x24,0x7d, 0xd2,0xbb,0x3d,0xf8
|
||
+.byte 0xae,0xf9,0x32,0x11, 0xc7,0x29,0xa1,0x6d
|
||
+.byte 0x1d,0x9e,0x2f,0x4b, 0xdc,0xb2,0x30,0xf3
|
||
+.byte 0x0d,0x86,0x52,0xec, 0x77,0xc1,0xe3,0xd0
|
||
+.byte 0x2b,0xb3,0x16,0x6c, 0xa9,0x70,0xb9,0x99
|
||
+.byte 0x11,0x94,0x48,0xfa, 0x47,0xe9,0x64,0x22
|
||
+.byte 0xa8,0xfc,0x8c,0xc4, 0xa0,0xf0,0x3f,0x1a
|
||
+.byte 0x56,0x7d,0x2c,0xd8, 0x22,0x33,0x90,0xef
|
||
+.byte 0x87,0x49,0x4e,0xc7, 0xd9,0x38,0xd1,0xc1
|
||
+.byte 0x8c,0xca,0xa2,0xfe, 0x98,0xd4,0x0b,0x36
|
||
+.byte 0xa6,0xf5,0x81,0xcf, 0xa5,0x7a,0xde,0x28
|
||
+.byte 0xda,0xb7,0x8e,0x26, 0x3f,0xad,0xbf,0xa4
|
||
+.byte 0x2c,0x3a,0x9d,0xe4, 0x50,0x78,0x92,0x0d
|
||
+.byte 0x6a,0x5f,0xcc,0x9b, 0x54,0x7e,0x46,0x62
|
||
+.byte 0xf6,0x8d,0x13,0xc2, 0x90,0xd8,0xb8,0xe8
|
||
+.byte 0x2e,0x39,0xf7,0x5e, 0x82,0xc3,0xaf,0xf5
|
||
+.byte 0x9f,0x5d,0x80,0xbe, 0x69,0xd0,0x93,0x7c
|
||
+.byte 0x6f,0xd5,0x2d,0xa9, 0xcf,0x25,0x12,0xb3
|
||
+.byte 0xc8,0xac,0x99,0x3b, 0x10,0x18,0x7d,0xa7
|
||
+.byte 0xe8,0x9c,0x63,0x6e, 0xdb,0x3b,0xbb,0x7b
|
||
+.byte 0xcd,0x26,0x78,0x09, 0x6e,0x59,0x18,0xf4
|
||
+.byte 0xec,0x9a,0xb7,0x01, 0x83,0x4f,0x9a,0xa8
|
||
+.byte 0xe6,0x95,0x6e,0x65, 0xaa,0xff,0xe6,0x7e
|
||
+.byte 0x21,0xbc,0xcf,0x08, 0xef,0x15,0xe8,0xe6
|
||
+.byte 0xba,0xe7,0x9b,0xd9, 0x4a,0x6f,0x36,0xce
|
||
+.byte 0xea,0x9f,0x09,0xd4, 0x29,0xb0,0x7c,0xd6
|
||
+.byte 0x31,0xa4,0xb2,0xaf, 0x2a,0x3f,0x23,0x31
|
||
+.byte 0xc6,0xa5,0x94,0x30, 0x35,0xa2,0x66,0xc0
|
||
+.byte 0x74,0x4e,0xbc,0x37, 0xfc,0x82,0xca,0xa6
|
||
+.byte 0xe0,0x90,0xd0,0xb0, 0x33,0xa7,0xd8,0x15
|
||
+.byte 0xf1,0x04,0x98,0x4a, 0x41,0xec,0xda,0xf7
|
||
+.byte 0x7f,0xcd,0x50,0x0e, 0x17,0x91,0xf6,0x2f
|
||
+.byte 0x76,0x4d,0xd6,0x8d, 0x43,0xef,0xb0,0x4d
|
||
+.byte 0xcc,0xaa,0x4d,0x54, 0xe4,0x96,0x04,0xdf
|
||
+.byte 0x9e,0xd1,0xb5,0xe3, 0x4c,0x6a,0x88,0x1b
|
||
+.byte 0xc1,0x2c,0x1f,0xb8, 0x46,0x65,0x51,0x7f
|
||
+.byte 0x9d,0x5e,0xea,0x04, 0x01,0x8c,0x35,0x5d
|
||
+.byte 0xfa,0x87,0x74,0x73, 0xfb,0x0b,0x41,0x2e
|
||
+.byte 0xb3,0x67,0x1d,0x5a, 0x92,0xdb,0xd2,0x52
|
||
+.byte 0xe9,0x10,0x56,0x33, 0x6d,0xd6,0x47,0x13
|
||
+.byte 0x9a,0xd7,0x61,0x8c, 0x37,0xa1,0x0c,0x7a
|
||
+.byte 0x59,0xf8,0x14,0x8e, 0xeb,0x13,0x3c,0x89
|
||
+.byte 0xce,0xa9,0x27,0xee, 0xb7,0x61,0xc9,0x35
|
||
+.byte 0xe1,0x1c,0xe5,0xed, 0x7a,0x47,0xb1,0x3c
|
||
+.byte 0x9c,0xd2,0xdf,0x59, 0x55,0xf2,0x73,0x3f
|
||
+.byte 0x18,0x14,0xce,0x79, 0x73,0xc7,0x37,0xbf
|
||
+.byte 0x53,0xf7,0xcd,0xea, 0x5f,0xfd,0xaa,0x5b
|
||
+.byte 0xdf,0x3d,0x6f,0x14, 0x78,0x44,0xdb,0x86
|
||
+.byte 0xca,0xaf,0xf3,0x81, 0xb9,0x68,0xc4,0x3e
|
||
+.byte 0x38,0x24,0x34,0x2c, 0xc2,0xa3,0x40,0x5f
|
||
+.byte 0x16,0x1d,0xc3,0x72, 0xbc,0xe2,0x25,0x0c
|
||
+.byte 0x28,0x3c,0x49,0x8b, 0xff,0x0d,0x95,0x41
|
||
+.byte 0x39,0xa8,0x01,0x71, 0x08,0x0c,0xb3,0xde
|
||
+.byte 0xd8,0xb4,0xe4,0x9c, 0x64,0x56,0xc1,0x90
|
||
+.byte 0x7b,0xcb,0x84,0x61, 0xd5,0x32,0xb6,0x70
|
||
+.byte 0x48,0x6c,0x5c,0x74, 0xd0,0xb8,0x57,0x42
|
||
+
|
||
+.byte 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38 # Td4
|
||
+.byte 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb
|
||
+.byte 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87
|
||
+.byte 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb
|
||
+.byte 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d
|
||
+.byte 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e
|
||
+.byte 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2
|
||
+.byte 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25
|
||
+.byte 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16
|
||
+.byte 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92
|
||
+.byte 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda
|
||
+.byte 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84
|
||
+.byte 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a
|
||
+.byte 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06
|
||
+.byte 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02
|
||
+.byte 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b
|
||
+.byte 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea
|
||
+.byte 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73
|
||
+.byte 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85
|
||
+.byte 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e
|
||
+.byte 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89
|
||
+.byte 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b
|
||
+.byte 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20
|
||
+.byte 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4
|
||
+.byte 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31
|
||
+.byte 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f
|
||
+.byte 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d
|
||
+.byte 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef
|
||
+.byte 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0
|
||
+.byte 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61
|
||
+.byte 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26
|
||
+.byte 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d
|
||
+
|
||
+AES_Te4:
|
||
+.byte 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5 # Te4
|
||
+.byte 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76
|
||
+.byte 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0
|
||
+.byte 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0
|
||
+.byte 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc
|
||
+.byte 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15
|
||
+.byte 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a
|
||
+.byte 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75
|
||
+.byte 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0
|
||
+.byte 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84
|
||
+.byte 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b
|
||
+.byte 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf
|
||
+.byte 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85
|
||
+.byte 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8
|
||
+.byte 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5
|
||
+.byte 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2
|
||
+.byte 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17
|
||
+.byte 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73
|
||
+.byte 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88
|
||
+.byte 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb
|
||
+.byte 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c
|
||
+.byte 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79
|
||
+.byte 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9
|
||
+.byte 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08
|
||
+.byte 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6
|
||
+.byte 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a
|
||
+.byte 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e
|
||
+.byte 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e
|
||
+.byte 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94
|
||
+.byte 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf
|
||
+.byte 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68
|
||
+.byte 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16
|
||
+
|
||
+.byte 0x01,0x00,0x00,0x00, 0x02,0x00,0x00,0x00 # rcon
|
||
+.byte 0x04,0x00,0x00,0x00, 0x08,0x00,0x00,0x00
|
||
+.byte 0x10,0x00,0x00,0x00, 0x20,0x00,0x00,0x00
|
||
+.byte 0x40,0x00,0x00,0x00, 0x80,0x00,0x00,0x00
|
||
+.byte 0x1B,0x00,0x00,0x00, 0x36,0x00,0x00,0x00
|
||
diff -urN a/deps/openssl/config/archs/linux-mipsel/asm/crypto/bn/bn-mips.S b/deps/openssl/config/archs/linux-mipsel/asm/crypto/bn/bn-mips.S
|
||
--- a/deps/openssl/config/archs/linux-mipsel/asm/crypto/bn/bn-mips.S 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mipsel/asm/crypto/bn/bn-mips.S 2019-12-25 13:49:19.988298795 +0900
|
||
@@ -0,0 +1,2183 @@
|
||
+#if !(defined (__mips_isa_rev) && (__mips_isa_rev >= 6))
|
||
+.set mips2
|
||
+#endif
|
||
+#include "mips_arch.h"
|
||
+
|
||
+#if defined(_MIPS_ARCH_MIPS64R6)
|
||
+# define ddivu(rs,rt)
|
||
+# define mfqt(rd,rs,rt) ddivu rd,rs,rt
|
||
+# define mfrm(rd,rs,rt) dmodu rd,rs,rt
|
||
+#elif defined(_MIPS_ARCH_MIPS32R6)
|
||
+# define divu(rs,rt)
|
||
+# define mfqt(rd,rs,rt) divu rd,rs,rt
|
||
+# define mfrm(rd,rs,rt) modu rd,rs,rt
|
||
+#else
|
||
+# define divu(rs,rt) divu $0,rs,rt
|
||
+# define mfqt(rd,rs,rt) mflo rd
|
||
+# define mfrm(rd,rs,rt) mfhi rd
|
||
+#endif
|
||
+
|
||
+.rdata
|
||
+.asciiz "mips3.s, Version 1.2"
|
||
+.asciiz "MIPS II/III/IV ISA artwork by Andy Polyakov <appro@fy.chalmers.se>"
|
||
+
|
||
+.text
|
||
+.set noat
|
||
+
|
||
+.align 5
|
||
+.globl bn_mul_add_words
|
||
+.ent bn_mul_add_words
|
||
+bn_mul_add_words:
|
||
+ .set noreorder
|
||
+ bgtz $6,bn_mul_add_words_internal
|
||
+ move $2,$0
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_mul_add_words
|
||
+
|
||
+.align 5
|
||
+.ent bn_mul_add_words_internal
|
||
+bn_mul_add_words_internal:
|
||
+ .set reorder
|
||
+ li $3,-4
|
||
+ and $8,$6,$3
|
||
+ beqz $8,.L_bn_mul_add_words_tail
|
||
+
|
||
+.L_bn_mul_add_words_loop:
|
||
+ lw $12,0($5)
|
||
+ multu ($12,$7)
|
||
+ lw $13,0($4)
|
||
+ lw $14,4($5)
|
||
+ lw $15,4($4)
|
||
+ lw $8,2*4($5)
|
||
+ lw $9,2*4($4)
|
||
+ addu $13,$2
|
||
+ sltu $2,$13,$2 # All manuals say it "compares 32-bit
|
||
+ # values", but it seems to work fine
|
||
+ # even on 64-bit registers.
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $13,$1
|
||
+ addu $2,$12
|
||
+ multu ($14,$7)
|
||
+ sltu $1,$13,$1
|
||
+ sw $13,0($4)
|
||
+ addu $2,$1
|
||
+
|
||
+ lw $10,3*4($5)
|
||
+ lw $11,3*4($4)
|
||
+ addu $15,$2
|
||
+ sltu $2,$15,$2
|
||
+ mflo ($1,$14,$7)
|
||
+ mfhi ($14,$14,$7)
|
||
+ addu $15,$1
|
||
+ addu $2,$14
|
||
+ multu ($8,$7)
|
||
+ sltu $1,$15,$1
|
||
+ sw $15,4($4)
|
||
+ addu $2,$1
|
||
+
|
||
+ subu $6,4
|
||
+ addu $4,4*4
|
||
+ addu $5,4*4
|
||
+ addu $9,$2
|
||
+ sltu $2,$9,$2
|
||
+ mflo ($1,$8,$7)
|
||
+ mfhi ($8,$8,$7)
|
||
+ addu $9,$1
|
||
+ addu $2,$8
|
||
+ multu ($10,$7)
|
||
+ sltu $1,$9,$1
|
||
+ sw $9,-2*4($4)
|
||
+ addu $2,$1
|
||
+
|
||
+
|
||
+ and $8,$6,$3
|
||
+ addu $11,$2
|
||
+ sltu $2,$11,$2
|
||
+ mflo ($1,$10,$7)
|
||
+ mfhi ($10,$10,$7)
|
||
+ addu $11,$1
|
||
+ addu $2,$10
|
||
+ sltu $1,$11,$1
|
||
+ sw $11,-4($4)
|
||
+ .set noreorder
|
||
+ bgtz $8,.L_bn_mul_add_words_loop
|
||
+ addu $2,$1
|
||
+
|
||
+ beqz $6,.L_bn_mul_add_words_return
|
||
+ nop
|
||
+
|
||
+.L_bn_mul_add_words_tail:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ multu ($12,$7)
|
||
+ lw $13,0($4)
|
||
+ subu $6,1
|
||
+ addu $13,$2
|
||
+ sltu $2,$13,$2
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $13,$1
|
||
+ addu $2,$12
|
||
+ sltu $1,$13,$1
|
||
+ sw $13,0($4)
|
||
+ addu $2,$1
|
||
+ beqz $6,.L_bn_mul_add_words_return
|
||
+
|
||
+ lw $12,4($5)
|
||
+ multu ($12,$7)
|
||
+ lw $13,4($4)
|
||
+ subu $6,1
|
||
+ addu $13,$2
|
||
+ sltu $2,$13,$2
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $13,$1
|
||
+ addu $2,$12
|
||
+ sltu $1,$13,$1
|
||
+ sw $13,4($4)
|
||
+ addu $2,$1
|
||
+ beqz $6,.L_bn_mul_add_words_return
|
||
+
|
||
+ lw $12,2*4($5)
|
||
+ multu ($12,$7)
|
||
+ lw $13,2*4($4)
|
||
+ addu $13,$2
|
||
+ sltu $2,$13,$2
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $13,$1
|
||
+ addu $2,$12
|
||
+ sltu $1,$13,$1
|
||
+ sw $13,2*4($4)
|
||
+ addu $2,$1
|
||
+
|
||
+.L_bn_mul_add_words_return:
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_mul_add_words_internal
|
||
+
|
||
+.align 5
|
||
+.globl bn_mul_words
|
||
+.ent bn_mul_words
|
||
+bn_mul_words:
|
||
+ .set noreorder
|
||
+ bgtz $6,bn_mul_words_internal
|
||
+ move $2,$0
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_mul_words
|
||
+
|
||
+.align 5
|
||
+.ent bn_mul_words_internal
|
||
+bn_mul_words_internal:
|
||
+ .set reorder
|
||
+ li $3,-4
|
||
+ and $8,$6,$3
|
||
+ beqz $8,.L_bn_mul_words_tail
|
||
+
|
||
+.L_bn_mul_words_loop:
|
||
+ lw $12,0($5)
|
||
+ multu ($12,$7)
|
||
+ lw $14,4($5)
|
||
+ lw $8,2*4($5)
|
||
+ lw $10,3*4($5)
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $2,$1
|
||
+ sltu $13,$2,$1
|
||
+ multu ($14,$7)
|
||
+ sw $2,0($4)
|
||
+ addu $2,$13,$12
|
||
+
|
||
+ subu $6,4
|
||
+ addu $4,4*4
|
||
+ addu $5,4*4
|
||
+ mflo ($1,$14,$7)
|
||
+ mfhi ($14,$14,$7)
|
||
+ addu $2,$1
|
||
+ sltu $15,$2,$1
|
||
+ multu ($8,$7)
|
||
+ sw $2,-3*4($4)
|
||
+ addu $2,$15,$14
|
||
+
|
||
+ mflo ($1,$8,$7)
|
||
+ mfhi ($8,$8,$7)
|
||
+ addu $2,$1
|
||
+ sltu $9,$2,$1
|
||
+ multu ($10,$7)
|
||
+ sw $2,-2*4($4)
|
||
+ addu $2,$9,$8
|
||
+
|
||
+ and $8,$6,$3
|
||
+ mflo ($1,$10,$7)
|
||
+ mfhi ($10,$10,$7)
|
||
+ addu $2,$1
|
||
+ sltu $11,$2,$1
|
||
+ sw $2,-4($4)
|
||
+ .set noreorder
|
||
+ bgtz $8,.L_bn_mul_words_loop
|
||
+ addu $2,$11,$10
|
||
+
|
||
+ beqz $6,.L_bn_mul_words_return
|
||
+ nop
|
||
+
|
||
+.L_bn_mul_words_tail:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ multu ($12,$7)
|
||
+ subu $6,1
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $2,$1
|
||
+ sltu $13,$2,$1
|
||
+ sw $2,0($4)
|
||
+ addu $2,$13,$12
|
||
+ beqz $6,.L_bn_mul_words_return
|
||
+
|
||
+ lw $12,4($5)
|
||
+ multu ($12,$7)
|
||
+ subu $6,1
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $2,$1
|
||
+ sltu $13,$2,$1
|
||
+ sw $2,4($4)
|
||
+ addu $2,$13,$12
|
||
+ beqz $6,.L_bn_mul_words_return
|
||
+
|
||
+ lw $12,2*4($5)
|
||
+ multu ($12,$7)
|
||
+ mflo ($1,$12,$7)
|
||
+ mfhi ($12,$12,$7)
|
||
+ addu $2,$1
|
||
+ sltu $13,$2,$1
|
||
+ sw $2,2*4($4)
|
||
+ addu $2,$13,$12
|
||
+
|
||
+.L_bn_mul_words_return:
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_mul_words_internal
|
||
+
|
||
+.align 5
|
||
+.globl bn_sqr_words
|
||
+.ent bn_sqr_words
|
||
+bn_sqr_words:
|
||
+ .set noreorder
|
||
+ bgtz $6,bn_sqr_words_internal
|
||
+ move $2,$0
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_sqr_words
|
||
+
|
||
+.align 5
|
||
+.ent bn_sqr_words_internal
|
||
+bn_sqr_words_internal:
|
||
+ .set reorder
|
||
+ li $3,-4
|
||
+ and $8,$6,$3
|
||
+ beqz $8,.L_bn_sqr_words_tail
|
||
+
|
||
+.L_bn_sqr_words_loop:
|
||
+ lw $12,0($5)
|
||
+ multu ($12,$12)
|
||
+ lw $14,4($5)
|
||
+ lw $8,2*4($5)
|
||
+ lw $10,3*4($5)
|
||
+ mflo ($13,$12,$12)
|
||
+ mfhi ($12,$12,$12)
|
||
+ sw $13,0($4)
|
||
+ sw $12,4($4)
|
||
+
|
||
+ multu ($14,$14)
|
||
+ subu $6,4
|
||
+ addu $4,8*4
|
||
+ addu $5,4*4
|
||
+ mflo ($15,$14,$14)
|
||
+ mfhi ($14,$14,$14)
|
||
+ sw $15,-6*4($4)
|
||
+ sw $14,-5*4($4)
|
||
+
|
||
+ multu ($8,$8)
|
||
+ mflo ($9,$8,$8)
|
||
+ mfhi ($8,$8,$8)
|
||
+ sw $9,-4*4($4)
|
||
+ sw $8,-3*4($4)
|
||
+
|
||
+
|
||
+ multu ($10,$10)
|
||
+ and $8,$6,$3
|
||
+ mflo ($11,$10,$10)
|
||
+ mfhi ($10,$10,$10)
|
||
+ sw $11,-2*4($4)
|
||
+
|
||
+ .set noreorder
|
||
+ bgtz $8,.L_bn_sqr_words_loop
|
||
+ sw $10,-4($4)
|
||
+
|
||
+ beqz $6,.L_bn_sqr_words_return
|
||
+ nop
|
||
+
|
||
+.L_bn_sqr_words_tail:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ multu ($12,$12)
|
||
+ subu $6,1
|
||
+ mflo ($13,$12,$12)
|
||
+ mfhi ($12,$12,$12)
|
||
+ sw $13,0($4)
|
||
+ sw $12,4($4)
|
||
+ beqz $6,.L_bn_sqr_words_return
|
||
+
|
||
+ lw $12,4($5)
|
||
+ multu ($12,$12)
|
||
+ subu $6,1
|
||
+ mflo ($13,$12,$12)
|
||
+ mfhi ($12,$12,$12)
|
||
+ sw $13,2*4($4)
|
||
+ sw $12,3*4($4)
|
||
+ beqz $6,.L_bn_sqr_words_return
|
||
+
|
||
+ lw $12,2*4($5)
|
||
+ multu ($12,$12)
|
||
+ mflo ($13,$12,$12)
|
||
+ mfhi ($12,$12,$12)
|
||
+ sw $13,4*4($4)
|
||
+ sw $12,5*4($4)
|
||
+
|
||
+.L_bn_sqr_words_return:
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+
|
||
+.end bn_sqr_words_internal
|
||
+
|
||
+.align 5
|
||
+.globl bn_add_words
|
||
+.ent bn_add_words
|
||
+bn_add_words:
|
||
+ .set noreorder
|
||
+ bgtz $7,bn_add_words_internal
|
||
+ move $2,$0
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_add_words
|
||
+
|
||
+.align 5
|
||
+.ent bn_add_words_internal
|
||
+bn_add_words_internal:
|
||
+ .set reorder
|
||
+ li $3,-4
|
||
+ and $1,$7,$3
|
||
+ beqz $1,.L_bn_add_words_tail
|
||
+
|
||
+.L_bn_add_words_loop:
|
||
+ lw $12,0($5)
|
||
+ lw $8,0($6)
|
||
+ subu $7,4
|
||
+ lw $13,4($5)
|
||
+ and $1,$7,$3
|
||
+ lw $14,2*4($5)
|
||
+ addu $6,4*4
|
||
+ lw $15,3*4($5)
|
||
+ addu $4,4*4
|
||
+ lw $9,-3*4($6)
|
||
+ addu $5,4*4
|
||
+ lw $10,-2*4($6)
|
||
+ lw $11,-4($6)
|
||
+ addu $8,$12
|
||
+ sltu $24,$8,$12
|
||
+ addu $12,$8,$2
|
||
+ sltu $2,$12,$8
|
||
+ sw $12,-4*4($4)
|
||
+ addu $2,$24
|
||
+
|
||
+ addu $9,$13
|
||
+ sltu $25,$9,$13
|
||
+ addu $13,$9,$2
|
||
+ sltu $2,$13,$9
|
||
+ sw $13,-3*4($4)
|
||
+ addu $2,$25
|
||
+
|
||
+ addu $10,$14
|
||
+ sltu $24,$10,$14
|
||
+ addu $14,$10,$2
|
||
+ sltu $2,$14,$10
|
||
+ sw $14,-2*4($4)
|
||
+ addu $2,$24
|
||
+
|
||
+ addu $11,$15
|
||
+ sltu $25,$11,$15
|
||
+ addu $15,$11,$2
|
||
+ sltu $2,$15,$11
|
||
+ sw $15,-4($4)
|
||
+
|
||
+ .set noreorder
|
||
+ bgtz $1,.L_bn_add_words_loop
|
||
+ addu $2,$25
|
||
+
|
||
+ beqz $7,.L_bn_add_words_return
|
||
+ nop
|
||
+
|
||
+.L_bn_add_words_tail:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ lw $8,0($6)
|
||
+ addu $8,$12
|
||
+ subu $7,1
|
||
+ sltu $24,$8,$12
|
||
+ addu $12,$8,$2
|
||
+ sltu $2,$12,$8
|
||
+ sw $12,0($4)
|
||
+ addu $2,$24
|
||
+ beqz $7,.L_bn_add_words_return
|
||
+
|
||
+ lw $13,4($5)
|
||
+ lw $9,4($6)
|
||
+ addu $9,$13
|
||
+ subu $7,1
|
||
+ sltu $25,$9,$13
|
||
+ addu $13,$9,$2
|
||
+ sltu $2,$13,$9
|
||
+ sw $13,4($4)
|
||
+ addu $2,$25
|
||
+ beqz $7,.L_bn_add_words_return
|
||
+
|
||
+ lw $14,2*4($5)
|
||
+ lw $10,2*4($6)
|
||
+ addu $10,$14
|
||
+ sltu $24,$10,$14
|
||
+ addu $14,$10,$2
|
||
+ sltu $2,$14,$10
|
||
+ sw $14,2*4($4)
|
||
+ addu $2,$24
|
||
+
|
||
+.L_bn_add_words_return:
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+
|
||
+.end bn_add_words_internal
|
||
+
|
||
+.align 5
|
||
+.globl bn_sub_words
|
||
+.ent bn_sub_words
|
||
+bn_sub_words:
|
||
+ .set noreorder
|
||
+ bgtz $7,bn_sub_words_internal
|
||
+ move $2,$0
|
||
+ jr $31
|
||
+ move $4,$0
|
||
+.end bn_sub_words
|
||
+
|
||
+.align 5
|
||
+.ent bn_sub_words_internal
|
||
+bn_sub_words_internal:
|
||
+ .set reorder
|
||
+ li $3,-4
|
||
+ and $1,$7,$3
|
||
+ beqz $1,.L_bn_sub_words_tail
|
||
+
|
||
+.L_bn_sub_words_loop:
|
||
+ lw $12,0($5)
|
||
+ lw $8,0($6)
|
||
+ subu $7,4
|
||
+ lw $13,4($5)
|
||
+ and $1,$7,$3
|
||
+ lw $14,2*4($5)
|
||
+ addu $6,4*4
|
||
+ lw $15,3*4($5)
|
||
+ addu $4,4*4
|
||
+ lw $9,-3*4($6)
|
||
+ addu $5,4*4
|
||
+ lw $10,-2*4($6)
|
||
+ lw $11,-4($6)
|
||
+ sltu $24,$12,$8
|
||
+ subu $8,$12,$8
|
||
+ subu $12,$8,$2
|
||
+ sgtu $2,$12,$8
|
||
+ sw $12,-4*4($4)
|
||
+ addu $2,$24
|
||
+
|
||
+ sltu $25,$13,$9
|
||
+ subu $9,$13,$9
|
||
+ subu $13,$9,$2
|
||
+ sgtu $2,$13,$9
|
||
+ sw $13,-3*4($4)
|
||
+ addu $2,$25
|
||
+
|
||
+
|
||
+ sltu $24,$14,$10
|
||
+ subu $10,$14,$10
|
||
+ subu $14,$10,$2
|
||
+ sgtu $2,$14,$10
|
||
+ sw $14,-2*4($4)
|
||
+ addu $2,$24
|
||
+
|
||
+ sltu $25,$15,$11
|
||
+ subu $11,$15,$11
|
||
+ subu $15,$11,$2
|
||
+ sgtu $2,$15,$11
|
||
+ sw $15,-4($4)
|
||
+
|
||
+ .set noreorder
|
||
+ bgtz $1,.L_bn_sub_words_loop
|
||
+ addu $2,$25
|
||
+
|
||
+ beqz $7,.L_bn_sub_words_return
|
||
+ nop
|
||
+
|
||
+.L_bn_sub_words_tail:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ lw $8,0($6)
|
||
+ subu $7,1
|
||
+ sltu $24,$12,$8
|
||
+ subu $8,$12,$8
|
||
+ subu $12,$8,$2
|
||
+ sgtu $2,$12,$8
|
||
+ sw $12,0($4)
|
||
+ addu $2,$24
|
||
+ beqz $7,.L_bn_sub_words_return
|
||
+
|
||
+ lw $13,4($5)
|
||
+ subu $7,1
|
||
+ lw $9,4($6)
|
||
+ sltu $25,$13,$9
|
||
+ subu $9,$13,$9
|
||
+ subu $13,$9,$2
|
||
+ sgtu $2,$13,$9
|
||
+ sw $13,4($4)
|
||
+ addu $2,$25
|
||
+ beqz $7,.L_bn_sub_words_return
|
||
+
|
||
+ lw $14,2*4($5)
|
||
+ lw $10,2*4($6)
|
||
+ sltu $24,$14,$10
|
||
+ subu $10,$14,$10
|
||
+ subu $14,$10,$2
|
||
+ sgtu $2,$14,$10
|
||
+ sw $14,2*4($4)
|
||
+ addu $2,$24
|
||
+
|
||
+.L_bn_sub_words_return:
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_sub_words_internal
|
||
+
|
||
+#if 0
|
||
+/*
|
||
+ * The bn_div_3_words entry point is re-used for constant-time interface.
|
||
+ * Implementation is retained as historical reference.
|
||
+ */
|
||
+.align 5
|
||
+.globl bn_div_3_words
|
||
+.ent bn_div_3_words
|
||
+bn_div_3_words:
|
||
+ .set noreorder
|
||
+ move $7,$4 # we know that bn_div_words does not
|
||
+ # touch $7, $10, $11 and preserves $6
|
||
+ # so that we can save two arguments
|
||
+ # and return address in registers
|
||
+ # instead of stack:-)
|
||
+
|
||
+ lw $4,($7)
|
||
+ move $10,$5
|
||
+ bne $4,$6,bn_div_3_words_internal
|
||
+ lw $5,-4($7)
|
||
+ li $2,-1
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_div_3_words
|
||
+
|
||
+.align 5
|
||
+.ent bn_div_3_words_internal
|
||
+bn_div_3_words_internal:
|
||
+ .set reorder
|
||
+ move $11,$31
|
||
+ bal bn_div_words_internal
|
||
+ move $31,$11
|
||
+ multu ($10,$2)
|
||
+ lw $14,-2*4($7)
|
||
+ move $8,$0
|
||
+ mfhi ($13,$10,$2)
|
||
+ mflo ($12,$10,$2)
|
||
+ sltu $24,$13,$5
|
||
+.L_bn_div_3_words_inner_loop:
|
||
+ bnez $24,.L_bn_div_3_words_inner_loop_done
|
||
+ sgeu $1,$14,$12
|
||
+ seq $25,$13,$5
|
||
+ and $1,$25
|
||
+ sltu $15,$12,$10
|
||
+ addu $5,$6
|
||
+ subu $13,$15
|
||
+ subu $12,$10
|
||
+ sltu $24,$13,$5
|
||
+ sltu $8,$5,$6
|
||
+ or $24,$8
|
||
+ .set noreorder
|
||
+ beqz $1,.L_bn_div_3_words_inner_loop
|
||
+ subu $2,1
|
||
+ addu $2,1
|
||
+ .set reorder
|
||
+.L_bn_div_3_words_inner_loop_done:
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_div_3_words_internal
|
||
+#endif
|
||
+
|
||
+.align 5
|
||
+.globl bn_div_words
|
||
+.ent bn_div_words
|
||
+bn_div_words:
|
||
+ .set noreorder
|
||
+ bnez $6,bn_div_words_internal
|
||
+ li $2,-1 # I would rather signal div-by-zero
|
||
+ # which can be done with 'break 7'
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_div_words
|
||
+
|
||
+.align 5
|
||
+.ent bn_div_words_internal
|
||
+bn_div_words_internal:
|
||
+ move $3,$0
|
||
+ bltz $6,.L_bn_div_words_body
|
||
+ move $25,$3
|
||
+ sll $6,1
|
||
+ bgtz $6,.-4
|
||
+ addu $25,1
|
||
+
|
||
+ .set reorder
|
||
+ negu $13,$25
|
||
+ li $14,-1
|
||
+ sll $14,$13
|
||
+ and $14,$4
|
||
+ srl $1,$5,$13
|
||
+ .set noreorder
|
||
+ beqz $14,.+12
|
||
+ nop
|
||
+ break 6 # signal overflow
|
||
+ .set reorder
|
||
+ sll $4,$25
|
||
+ sll $5,$25
|
||
+ or $4,$1
|
||
+.L_bn_div_words_body:
|
||
+ srl $3,$6,4*4 # bits
|
||
+ sgeu $1,$4,$6
|
||
+ .set noreorder
|
||
+ beqz $1,.+12
|
||
+ nop
|
||
+ subu $4,$6
|
||
+ .set reorder
|
||
+
|
||
+ li $8,-1
|
||
+ srl $9,$4,4*4 # bits
|
||
+ srl $8,4*4 # q=0xffffffff
|
||
+ beq $3,$9,.L_bn_div_words_skip_div1
|
||
+ divu ($4,$3)
|
||
+ mfqt ($8,$4,$3)
|
||
+.L_bn_div_words_skip_div1:
|
||
+ multu ($6,$8)
|
||
+ sll $15,$4,4*4 # bits
|
||
+ srl $1,$5,4*4 # bits
|
||
+ or $15,$1
|
||
+ mflo ($12,$6,$8)
|
||
+ mfhi ($13,$6,$8)
|
||
+.L_bn_div_words_inner_loop1:
|
||
+ sltu $14,$15,$12
|
||
+ seq $24,$9,$13
|
||
+ sltu $1,$9,$13
|
||
+ and $14,$24
|
||
+ sltu $2,$12,$6
|
||
+ or $1,$14
|
||
+ .set noreorder
|
||
+ beqz $1,.L_bn_div_words_inner_loop1_done
|
||
+ subu $13,$2
|
||
+ subu $12,$6
|
||
+ b .L_bn_div_words_inner_loop1
|
||
+ subu $8,1
|
||
+ .set reorder
|
||
+.L_bn_div_words_inner_loop1_done:
|
||
+
|
||
+ sll $5,4*4 # bits
|
||
+ subu $4,$15,$12
|
||
+ sll $2,$8,4*4 # bits
|
||
+
|
||
+ li $8,-1
|
||
+ srl $9,$4,4*4 # bits
|
||
+ srl $8,4*4 # q=0xffffffff
|
||
+ beq $3,$9,.L_bn_div_words_skip_div2
|
||
+ divu ($4,$3)
|
||
+ mfqt ($8,$4,$3)
|
||
+.L_bn_div_words_skip_div2:
|
||
+ multu ($6,$8)
|
||
+ sll $15,$4,4*4 # bits
|
||
+ srl $1,$5,4*4 # bits
|
||
+ or $15,$1
|
||
+ mflo ($12,$6,$8)
|
||
+ mfhi ($13,$6,$8)
|
||
+.L_bn_div_words_inner_loop2:
|
||
+ sltu $14,$15,$12
|
||
+ seq $24,$9,$13
|
||
+ sltu $1,$9,$13
|
||
+ and $14,$24
|
||
+ sltu $3,$12,$6
|
||
+ or $1,$14
|
||
+ .set noreorder
|
||
+ beqz $1,.L_bn_div_words_inner_loop2_done
|
||
+ subu $13,$3
|
||
+ subu $12,$6
|
||
+ b .L_bn_div_words_inner_loop2
|
||
+ subu $8,1
|
||
+ .set reorder
|
||
+.L_bn_div_words_inner_loop2_done:
|
||
+
|
||
+ subu $4,$15,$12
|
||
+ or $2,$8
|
||
+ srl $3,$4,$25 # $3 contains remainder if anybody wants it
|
||
+ srl $6,$25 # restore $6
|
||
+
|
||
+ .set noreorder
|
||
+ move $5,$3
|
||
+ jr $31
|
||
+ move $4,$2
|
||
+.end bn_div_words_internal
|
||
+
|
||
+.align 5
|
||
+.globl bn_mul_comba8
|
||
+.ent bn_mul_comba8
|
||
+bn_mul_comba8:
|
||
+ .set noreorder
|
||
+ .frame $29,6*4,$31
|
||
+ .mask 0x003f0000,-4
|
||
+ subu $29,6*4
|
||
+ sw $21,5*4($29)
|
||
+ sw $20,4*4($29)
|
||
+ sw $19,3*4($29)
|
||
+ sw $18,2*4($29)
|
||
+ sw $17,1*4($29)
|
||
+ sw $16,0*4($29)
|
||
+
|
||
+ .set reorder
|
||
+ lw $12,0($5) # If compiled with -mips3 option on
|
||
+ # R5000 box assembler barks on this
|
||
+ # 1ine with "should not have mult/div
|
||
+ # as last instruction in bb (R10K
|
||
+ # bug)" warning. If anybody out there
|
||
+ # has a clue about how to circumvent
|
||
+ # this do send me a note.
|
||
+ # <appro@fy.chalmers.se>
|
||
+
|
||
+ lw $8,0($6)
|
||
+ lw $13,4($5)
|
||
+ lw $14,2*4($5)
|
||
+ multu ($12,$8) # mul_add_c(a[0],b[0],c1,c2,c3);
|
||
+ lw $15,3*4($5)
|
||
+ lw $9,4($6)
|
||
+ lw $10,2*4($6)
|
||
+ lw $11,3*4($6)
|
||
+ mflo ($2,$12,$8)
|
||
+ mfhi ($3,$12,$8)
|
||
+
|
||
+ lw $16,4*4($5)
|
||
+ lw $18,5*4($5)
|
||
+ multu ($12,$9) # mul_add_c(a[0],b[1],c2,c3,c1);
|
||
+ lw $20,6*4($5)
|
||
+ lw $5,7*4($5)
|
||
+ lw $17,4*4($6)
|
||
+ lw $19,5*4($6)
|
||
+ mflo ($24,$12,$9)
|
||
+ mfhi ($25,$12,$9)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($13,$8) # mul_add_c(a[1],b[0],c2,c3,c1);
|
||
+ addu $7,$25,$1
|
||
+ lw $21,6*4($6)
|
||
+ lw $6,7*4($6)
|
||
+ sw $2,0($4) # r[0]=c1;
|
||
+ mflo ($24,$13,$8)
|
||
+ mfhi ($25,$13,$8)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$8) # mul_add_c(a[2],b[0],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $2,$7,$25
|
||
+ sw $3,4($4) # r[1]=c2;
|
||
+
|
||
+ mflo ($24,$14,$8)
|
||
+ mfhi ($25,$14,$8)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($13,$9) # mul_add_c(a[1],b[1],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ mflo ($24,$13,$9)
|
||
+ mfhi ($25,$13,$9)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($12,$10) # mul_add_c(a[0],b[2],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $3,$2,$25
|
||
+ mflo ($24,$12,$10)
|
||
+ mfhi ($25,$12,$10)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($12,$11) # mul_add_c(a[0],b[3],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,2*4($4) # r[2]=c3;
|
||
+
|
||
+ mflo ($24,$12,$11)
|
||
+ mfhi ($25,$12,$11)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($13,$10) # mul_add_c(a[1],b[2],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $7,$3,$25
|
||
+ mflo ($24,$13,$10)
|
||
+ mfhi ($25,$13,$10)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($14,$9) # mul_add_c(a[2],b[1],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$14,$9)
|
||
+ mfhi ($25,$14,$9)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$8) # mul_add_c(a[3],b[0],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$15,$8)
|
||
+ mfhi ($25,$15,$8)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($16,$8) # mul_add_c(a[4],b[0],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ sw $2,3*4($4) # r[3]=c1;
|
||
+
|
||
+ mflo ($24,$16,$8)
|
||
+ mfhi ($25,$16,$8)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($15,$9) # mul_add_c(a[3],b[1],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $2,$7,$25
|
||
+ mflo ($24,$15,$9)
|
||
+ mfhi ($25,$15,$9)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$10) # mul_add_c(a[2],b[2],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$14,$10)
|
||
+ mfhi ($25,$14,$10)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($13,$11) # mul_add_c(a[1],b[3],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$13,$11)
|
||
+ mfhi ($25,$13,$11)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($12,$17) # mul_add_c(a[0],b[4],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$12,$17)
|
||
+ mfhi ($25,$12,$17)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($12,$19) # mul_add_c(a[0],b[5],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,4*4($4) # r[4]=c2;
|
||
+
|
||
+ mflo ($24,$12,$19)
|
||
+ mfhi ($25,$12,$19)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($13,$17) # mul_add_c(a[1],b[4],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $3,$2,$25
|
||
+ mflo ($24,$13,$17)
|
||
+ mfhi ($25,$13,$17)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($14,$11) # mul_add_c(a[2],b[3],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$14,$11)
|
||
+ mfhi ($25,$14,$11)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($15,$10) # mul_add_c(a[3],b[2],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$15,$10)
|
||
+ mfhi ($25,$15,$10)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($16,$9) # mul_add_c(a[4],b[1],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$16,$9)
|
||
+ mfhi ($25,$16,$9)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($18,$8) # mul_add_c(a[5],b[0],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$18,$8)
|
||
+ mfhi ($25,$18,$8)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($20,$8) # mul_add_c(a[6],b[0],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,5*4($4) # r[5]=c3;
|
||
+
|
||
+ mflo ($24,$20,$8)
|
||
+ mfhi ($25,$20,$8)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($18,$9) # mul_add_c(a[5],b[1],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $7,$3,$25
|
||
+ mflo ($24,$18,$9)
|
||
+ mfhi ($25,$18,$9)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($16,$10) # mul_add_c(a[4],b[2],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$16,$10)
|
||
+ mfhi ($25,$16,$10)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$11) # mul_add_c(a[3],b[3],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$15,$11)
|
||
+ mfhi ($25,$15,$11)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($14,$17) # mul_add_c(a[2],b[4],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$14,$17)
|
||
+ mfhi ($25,$14,$17)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($13,$19) # mul_add_c(a[1],b[5],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$13,$19)
|
||
+ mfhi ($25,$13,$19)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($12,$21) # mul_add_c(a[0],b[6],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$12,$21)
|
||
+ mfhi ($25,$12,$21)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($12,$6) # mul_add_c(a[0],b[7],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ sw $2,6*4($4) # r[6]=c1;
|
||
+
|
||
+ mflo ($24,$12,$6)
|
||
+ mfhi ($25,$12,$6)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($13,$21) # mul_add_c(a[1],b[6],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $2,$7,$25
|
||
+ mflo ($24,$13,$21)
|
||
+ mfhi ($25,$13,$21)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$19) # mul_add_c(a[2],b[5],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$14,$19)
|
||
+ mfhi ($25,$14,$19)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($15,$17) # mul_add_c(a[3],b[4],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$15,$17)
|
||
+ mfhi ($25,$15,$17)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($16,$11) # mul_add_c(a[4],b[3],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$16,$11)
|
||
+ mfhi ($25,$16,$11)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($18,$10) # mul_add_c(a[5],b[2],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$18,$10)
|
||
+ mfhi ($25,$18,$10)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($20,$9) # mul_add_c(a[6],b[1],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$20,$9)
|
||
+ mfhi ($25,$20,$9)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($5,$8) # mul_add_c(a[7],b[0],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$5,$8)
|
||
+ mfhi ($25,$5,$8)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($5,$9) # mul_add_c(a[7],b[1],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,7*4($4) # r[7]=c2;
|
||
+
|
||
+ mflo ($24,$5,$9)
|
||
+ mfhi ($25,$5,$9)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($20,$10) # mul_add_c(a[6],b[2],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $3,$2,$25
|
||
+ mflo ($24,$20,$10)
|
||
+ mfhi ($25,$20,$10)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($18,$11) # mul_add_c(a[5],b[3],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$18,$11)
|
||
+ mfhi ($25,$18,$11)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($16,$17) # mul_add_c(a[4],b[4],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$16,$17)
|
||
+ mfhi ($25,$16,$17)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($15,$19) # mul_add_c(a[3],b[5],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$15,$19)
|
||
+ mfhi ($25,$15,$19)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($14,$21) # mul_add_c(a[2],b[6],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$14,$21)
|
||
+ mfhi ($25,$14,$21)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($13,$6) # mul_add_c(a[1],b[7],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$13,$6)
|
||
+ mfhi ($25,$13,$6)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($14,$6) # mul_add_c(a[2],b[7],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,8*4($4) # r[8]=c3;
|
||
+
|
||
+ mflo ($24,$14,$6)
|
||
+ mfhi ($25,$14,$6)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$21) # mul_add_c(a[3],b[6],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $7,$3,$25
|
||
+ mflo ($24,$15,$21)
|
||
+ mfhi ($25,$15,$21)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($16,$19) # mul_add_c(a[4],b[5],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$16,$19)
|
||
+ mfhi ($25,$16,$19)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($18,$17) # mul_add_c(a[5],b[4],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$18,$17)
|
||
+ mfhi ($25,$18,$17)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($20,$11) # mul_add_c(a[6],b[3],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$20,$11)
|
||
+ mfhi ($25,$20,$11)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($5,$10) # mul_add_c(a[7],b[2],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$5,$10)
|
||
+ mfhi ($25,$5,$10)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($5,$11) # mul_add_c(a[7],b[3],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ sw $2,9*4($4) # r[9]=c1;
|
||
+
|
||
+ mflo ($24,$5,$11)
|
||
+ mfhi ($25,$5,$11)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($20,$17) # mul_add_c(a[6],b[4],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $2,$7,$25
|
||
+ mflo ($24,$20,$17)
|
||
+ mfhi ($25,$20,$17)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($18,$19) # mul_add_c(a[5],b[5],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$18,$19)
|
||
+ mfhi ($25,$18,$19)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($16,$21) # mul_add_c(a[4],b[6],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$16,$21)
|
||
+ mfhi ($25,$16,$21)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($15,$6) # mul_add_c(a[3],b[7],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$15,$6)
|
||
+ mfhi ($25,$15,$6)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($16,$6) # mul_add_c(a[4],b[7],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,10*4($4) # r[10]=c2;
|
||
+
|
||
+ mflo ($24,$16,$6)
|
||
+ mfhi ($25,$16,$6)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($18,$21) # mul_add_c(a[5],b[6],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $3,$2,$25
|
||
+ mflo ($24,$18,$21)
|
||
+ mfhi ($25,$18,$21)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($20,$19) # mul_add_c(a[6],b[5],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$20,$19)
|
||
+ mfhi ($25,$20,$19)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($5,$17) # mul_add_c(a[7],b[4],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ mflo ($24,$5,$17)
|
||
+ mfhi ($25,$5,$17)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($5,$19) # mul_add_c(a[7],b[5],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,11*4($4) # r[11]=c3;
|
||
+
|
||
+ mflo ($24,$5,$19)
|
||
+ mfhi ($25,$5,$19)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($20,$21) # mul_add_c(a[6],b[6],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $7,$3,$25
|
||
+ mflo ($24,$20,$21)
|
||
+ mfhi ($25,$20,$21)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($18,$6) # mul_add_c(a[5],b[7],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$18,$6)
|
||
+ mfhi ($25,$18,$6)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($20,$6) # mul_add_c(a[6],b[7],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ sw $2,12*4($4) # r[12]=c1;
|
||
+
|
||
+ mflo ($24,$20,$6)
|
||
+ mfhi ($25,$20,$6)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($5,$21) # mul_add_c(a[7],b[6],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $2,$7,$25
|
||
+ mflo ($24,$5,$21)
|
||
+ mfhi ($25,$5,$21)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($5,$6) # mul_add_c(a[7],b[7],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,13*4($4) # r[13]=c2;
|
||
+
|
||
+ mflo ($24,$5,$6)
|
||
+ mfhi ($25,$5,$6)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sw $7,14*4($4) # r[14]=c3;
|
||
+ sw $2,15*4($4) # r[15]=c1;
|
||
+
|
||
+ .set noreorder
|
||
+ lw $21,5*4($29)
|
||
+ lw $20,4*4($29)
|
||
+ lw $19,3*4($29)
|
||
+ lw $18,2*4($29)
|
||
+ lw $17,1*4($29)
|
||
+ lw $16,0*4($29)
|
||
+ jr $31
|
||
+ addu $29,6*4
|
||
+.end bn_mul_comba8
|
||
+
|
||
+.align 5
|
||
+.globl bn_mul_comba4
|
||
+.ent bn_mul_comba4
|
||
+bn_mul_comba4:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ lw $8,0($6)
|
||
+ lw $13,4($5)
|
||
+ lw $14,2*4($5)
|
||
+ multu ($12,$8) # mul_add_c(a[0],b[0],c1,c2,c3);
|
||
+ lw $15,3*4($5)
|
||
+ lw $9,4($6)
|
||
+ lw $10,2*4($6)
|
||
+ lw $11,3*4($6)
|
||
+ mflo ($2,$12,$8)
|
||
+ mfhi ($3,$12,$8)
|
||
+ sw $2,0($4)
|
||
+
|
||
+ multu ($12,$9) # mul_add_c(a[0],b[1],c2,c3,c1);
|
||
+ mflo ($24,$12,$9)
|
||
+ mfhi ($25,$12,$9)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($13,$8) # mul_add_c(a[1],b[0],c2,c3,c1);
|
||
+ addu $7,$25,$1
|
||
+ mflo ($24,$13,$8)
|
||
+ mfhi ($25,$13,$8)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$8) # mul_add_c(a[2],b[0],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $2,$7,$25
|
||
+ sw $3,4($4)
|
||
+
|
||
+ mflo ($24,$14,$8)
|
||
+ mfhi ($25,$14,$8)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($13,$9) # mul_add_c(a[1],b[1],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ mflo ($24,$13,$9)
|
||
+ mfhi ($25,$13,$9)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($12,$10) # mul_add_c(a[0],b[2],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $3,$2,$25
|
||
+ mflo ($24,$12,$10)
|
||
+ mfhi ($25,$12,$10)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($12,$11) # mul_add_c(a[0],b[3],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,2*4($4)
|
||
+
|
||
+ mflo ($24,$12,$11)
|
||
+ mfhi ($25,$12,$11)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($13,$10) # mul_add_c(a[1],b[2],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $7,$3,$25
|
||
+ mflo ($24,$13,$10)
|
||
+ mfhi ($25,$13,$10)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($14,$9) # mul_add_c(a[2],b[1],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$14,$9)
|
||
+ mfhi ($25,$14,$9)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$8) # mul_add_c(a[3],b[0],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ mflo ($24,$15,$8)
|
||
+ mfhi ($25,$15,$8)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$9) # mul_add_c(a[3],b[1],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ sw $2,3*4($4)
|
||
+
|
||
+ mflo ($24,$15,$9)
|
||
+ mfhi ($25,$15,$9)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$10) # mul_add_c(a[2],b[2],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $2,$7,$25
|
||
+ mflo ($24,$14,$10)
|
||
+ mfhi ($25,$14,$10)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($13,$11) # mul_add_c(a[1],b[3],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ mflo ($24,$13,$11)
|
||
+ mfhi ($25,$13,$11)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$11) # mul_add_c(a[2],b[3],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,4*4($4)
|
||
+
|
||
+ mflo ($24,$14,$11)
|
||
+ mfhi ($25,$14,$11)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($15,$10) # mul_add_c(a[3],b[2],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $3,$2,$25
|
||
+ mflo ($24,$15,$10)
|
||
+ mfhi ($25,$15,$10)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($15,$11) # mul_add_c(a[3],b[3],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,5*4($4)
|
||
+
|
||
+ mflo ($24,$15,$11)
|
||
+ mfhi ($25,$15,$11)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sw $2,6*4($4)
|
||
+ sw $3,7*4($4)
|
||
+
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ nop
|
||
+.end bn_mul_comba4
|
||
+
|
||
+.align 5
|
||
+.globl bn_sqr_comba8
|
||
+.ent bn_sqr_comba8
|
||
+bn_sqr_comba8:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ lw $13,4($5)
|
||
+ lw $14,2*4($5)
|
||
+ lw $15,3*4($5)
|
||
+
|
||
+ multu ($12,$12) # mul_add_c(a[0],b[0],c1,c2,c3);
|
||
+ lw $8,4*4($5)
|
||
+ lw $9,5*4($5)
|
||
+ lw $10,6*4($5)
|
||
+ lw $11,7*4($5)
|
||
+ mflo ($2,$12,$12)
|
||
+ mfhi ($3,$12,$12)
|
||
+ sw $2,0($4)
|
||
+
|
||
+ multu ($12,$13) # mul_add_c2(a[0],b[1],c2,c3,c1);
|
||
+ mflo ($24,$12,$13)
|
||
+ mfhi ($25,$12,$13)
|
||
+ slt $2,$25,$0
|
||
+ sll $25,1
|
||
+ multu ($14,$12) # mul_add_c2(a[2],b[0],c3,c1,c2);
|
||
+ slt $6,$24,$0
|
||
+ addu $25,$6
|
||
+ sll $24,1
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ addu $7,$25,$1
|
||
+ sw $3,4($4)
|
||
+ mflo ($24,$14,$12)
|
||
+ mfhi ($25,$14,$12)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($13,$13) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $3,$2,$1
|
||
+ addu $2,$25
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$13,$13)
|
||
+ mfhi ($25,$13,$13)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($12,$15) # mul_add_c2(a[0],b[3],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,2*4($4)
|
||
+ mflo ($24,$12,$15)
|
||
+ mfhi ($25,$12,$15)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($13,$14) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $7,$3,$1
|
||
+ addu $3,$25
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$13,$14)
|
||
+ mfhi ($25,$13,$14)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($8,$12) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$3,$1
|
||
+ addu $3,$25
|
||
+ addu $7,$1
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$8,$12)
|
||
+ mfhi ($25,$8,$12)
|
||
+ sw $2,3*4($4)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($15,$13) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $2,$7,$1
|
||
+ addu $7,$25
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$15,$13)
|
||
+ mfhi ($25,$15,$13)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$14) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$7,$1
|
||
+ addu $7,$25
|
||
+ addu $2,$1
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$14,$14)
|
||
+ mfhi ($25,$14,$14)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($12,$9) # mul_add_c2(a[0],b[5],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,4*4($4)
|
||
+ mflo ($24,$12,$9)
|
||
+ mfhi ($25,$12,$9)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($13,$8) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $3,$2,$1
|
||
+ addu $2,$25
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$13,$8)
|
||
+ mfhi ($25,$13,$8)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($14,$15) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$2,$1
|
||
+ addu $2,$25
|
||
+ addu $3,$1
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$14,$15)
|
||
+ mfhi ($25,$14,$15)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($10,$12) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$2,$1
|
||
+ addu $2,$25
|
||
+ addu $3,$1
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$10,$12)
|
||
+ mfhi ($25,$10,$12)
|
||
+ sw $7,5*4($4)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($9,$13) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $7,$3,$1
|
||
+ addu $3,$25
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$9,$13)
|
||
+ mfhi ($25,$9,$13)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($8,$14) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$3,$1
|
||
+ addu $3,$25
|
||
+ addu $7,$1
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$8,$14)
|
||
+ mfhi ($25,$8,$14)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$15) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$3,$1
|
||
+ addu $3,$25
|
||
+ addu $7,$1
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$15,$15)
|
||
+ mfhi ($25,$15,$15)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($12,$11) # mul_add_c2(a[0],b[7],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ sw $2,6*4($4)
|
||
+ mflo ($24,$12,$11)
|
||
+ mfhi ($25,$12,$11)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($13,$10) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $2,$7,$1
|
||
+ addu $7,$25
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$13,$10)
|
||
+ mfhi ($25,$13,$10)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$9) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$7,$1
|
||
+ addu $7,$25
|
||
+ addu $2,$1
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$14,$9)
|
||
+ mfhi ($25,$14,$9)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($15,$8) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$7,$1
|
||
+ addu $7,$25
|
||
+ addu $2,$1
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$15,$8)
|
||
+ mfhi ($25,$15,$8)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($11,$13) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$7,$1
|
||
+ addu $7,$25
|
||
+ addu $2,$1
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$11,$13)
|
||
+ mfhi ($25,$11,$13)
|
||
+ sw $3,7*4($4)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($10,$14) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $3,$2,$1
|
||
+ addu $2,$25
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$10,$14)
|
||
+ mfhi ($25,$10,$14)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($9,$15) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$2,$1
|
||
+ addu $2,$25
|
||
+ addu $3,$1
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$9,$15)
|
||
+ mfhi ($25,$9,$15)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($8,$8) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$2,$1
|
||
+ addu $2,$25
|
||
+ addu $3,$1
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$8,$8)
|
||
+ mfhi ($25,$8,$8)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($14,$11) # mul_add_c2(a[2],b[7],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,8*4($4)
|
||
+ mflo ($24,$14,$11)
|
||
+ mfhi ($25,$14,$11)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$10) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $7,$3,$1
|
||
+ addu $3,$25
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$15,$10)
|
||
+ mfhi ($25,$15,$10)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($8,$9) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$3,$1
|
||
+ addu $3,$25
|
||
+ addu $7,$1
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$8,$9)
|
||
+ mfhi ($25,$8,$9)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($11,$15) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$3,$1
|
||
+ addu $3,$25
|
||
+ addu $7,$1
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$11,$15)
|
||
+ mfhi ($25,$11,$15)
|
||
+ sw $2,9*4($4)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($10,$8) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $2,$7,$1
|
||
+ addu $7,$25
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$10,$8)
|
||
+ mfhi ($25,$10,$8)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($9,$9) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$7,$1
|
||
+ addu $7,$25
|
||
+ addu $2,$1
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$9,$9)
|
||
+ mfhi ($25,$9,$9)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($8,$11) # mul_add_c2(a[4],b[7],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,10*4($4)
|
||
+ mflo ($24,$8,$11)
|
||
+ mfhi ($25,$8,$11)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($9,$10) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $3,$2,$1
|
||
+ addu $2,$25
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$9,$10)
|
||
+ mfhi ($25,$9,$10)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($11,$9) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$2,$1
|
||
+ addu $2,$25
|
||
+ addu $3,$1
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$11,$9)
|
||
+ mfhi ($25,$11,$9)
|
||
+ sw $7,11*4($4)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($10,$10) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $7,$3,$1
|
||
+ addu $3,$25
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$10,$10)
|
||
+ mfhi ($25,$10,$10)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($10,$11) # mul_add_c2(a[6],b[7],c2,c3,c1);
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sltu $1,$3,$25
|
||
+ addu $7,$1
|
||
+ sw $2,12*4($4)
|
||
+ mflo ($24,$10,$11)
|
||
+ mfhi ($25,$10,$11)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($11,$11) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $2,$7,$1
|
||
+ addu $7,$25
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$11,$11)
|
||
+ mfhi ($25,$11,$11)
|
||
+ sw $3,13*4($4)
|
||
+
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sw $7,14*4($4)
|
||
+ sw $2,15*4($4)
|
||
+
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ nop
|
||
+.end bn_sqr_comba8
|
||
+
|
||
+.align 5
|
||
+.globl bn_sqr_comba4
|
||
+.ent bn_sqr_comba4
|
||
+bn_sqr_comba4:
|
||
+ .set reorder
|
||
+ lw $12,0($5)
|
||
+ lw $13,4($5)
|
||
+ multu ($12,$12) # mul_add_c(a[0],b[0],c1,c2,c3);
|
||
+ lw $14,2*4($5)
|
||
+ lw $15,3*4($5)
|
||
+ mflo ($2,$12,$12)
|
||
+ mfhi ($3,$12,$12)
|
||
+ sw $2,0($4)
|
||
+
|
||
+ multu ($12,$13) # mul_add_c2(a[0],b[1],c2,c3,c1);
|
||
+ mflo ($24,$12,$13)
|
||
+ mfhi ($25,$12,$13)
|
||
+ slt $2,$25,$0
|
||
+ sll $25,1
|
||
+ multu ($14,$12) # mul_add_c2(a[2],b[0],c3,c1,c2);
|
||
+ slt $6,$24,$0
|
||
+ addu $25,$6
|
||
+ sll $24,1
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ addu $7,$25,$1
|
||
+ sw $3,4($4)
|
||
+ mflo ($24,$14,$12)
|
||
+ mfhi ($25,$14,$12)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($13,$13) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $3,$2,$1
|
||
+ addu $2,$25
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$13,$13)
|
||
+ mfhi ($25,$13,$13)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($12,$15) # mul_add_c2(a[0],b[3],c1,c2,c3);
|
||
+ addu $25,$1
|
||
+ addu $2,$25
|
||
+ sltu $1,$2,$25
|
||
+ addu $3,$1
|
||
+ sw $7,2*4($4)
|
||
+ mflo ($24,$12,$15)
|
||
+ mfhi ($25,$12,$15)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($13,$14) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $7,$3,$1
|
||
+ addu $3,$25
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$13,$14)
|
||
+ mfhi ($25,$13,$14)
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ multu ($15,$13) # forward multiplication
|
||
+ addu $2,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$2,$24
|
||
+ addu $3,$1
|
||
+ addu $25,$24
|
||
+ sltu $1,$3,$1
|
||
+ addu $3,$25
|
||
+ addu $7,$1
|
||
+ sltu $25,$3,$25
|
||
+ addu $7,$25
|
||
+ mflo ($24,$15,$13)
|
||
+ mfhi ($25,$15,$13)
|
||
+ sw $2,3*4($4)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$14) # forward multiplication
|
||
+ addu $3,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$3,$24
|
||
+ addu $7,$1
|
||
+ addu $25,$24
|
||
+ sltu $2,$7,$1
|
||
+ addu $7,$25
|
||
+ sltu $25,$7,$25
|
||
+ addu $2,$25
|
||
+ mflo ($24,$14,$14)
|
||
+ mfhi ($25,$14,$14)
|
||
+ addu $3,$24
|
||
+ sltu $1,$3,$24
|
||
+ multu ($14,$15) # mul_add_c2(a[2],b[3],c3,c1,c2);
|
||
+ addu $25,$1
|
||
+ addu $7,$25
|
||
+ sltu $1,$7,$25
|
||
+ addu $2,$1
|
||
+ sw $3,4*4($4)
|
||
+ mflo ($24,$14,$15)
|
||
+ mfhi ($25,$14,$15)
|
||
+ addu $7,$24
|
||
+ sltu $1,$7,$24
|
||
+ multu ($15,$15) # forward multiplication
|
||
+ addu $7,$24
|
||
+ addu $1,$25
|
||
+ sltu $24,$7,$24
|
||
+ addu $2,$1
|
||
+ addu $25,$24
|
||
+ sltu $3,$2,$1
|
||
+ addu $2,$25
|
||
+ sltu $25,$2,$25
|
||
+ addu $3,$25
|
||
+ mflo ($24,$15,$15)
|
||
+ mfhi ($25,$15,$15)
|
||
+ sw $7,5*4($4)
|
||
+
|
||
+ addu $2,$24
|
||
+ sltu $1,$2,$24
|
||
+ addu $25,$1
|
||
+ addu $3,$25
|
||
+ sw $2,6*4($4)
|
||
+ sw $3,7*4($4)
|
||
+
|
||
+ .set noreorder
|
||
+ jr $31
|
||
+ nop
|
||
+.end bn_sqr_comba4
|
||
diff -urN a/deps/openssl/config/archs/linux-mipsel/asm/crypto/bn/mips-mont.S b/deps/openssl/config/archs/linux-mipsel/asm/crypto/bn/mips-mont.S
|
||
--- a/deps/openssl/config/archs/linux-mipsel/asm/crypto/bn/mips-mont.S 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mipsel/asm/crypto/bn/mips-mont.S 2019-12-25 13:49:19.988298795 +0900
|
||
@@ -0,0 +1,284 @@
|
||
+#include "mips_arch.h"
|
||
+
|
||
+.text
|
||
+
|
||
+.set noat
|
||
+.set noreorder
|
||
+
|
||
+.align 5
|
||
+.globl bn_mul_mont
|
||
+.ent bn_mul_mont
|
||
+bn_mul_mont:
|
||
+ lw $8,16($29)
|
||
+ lw $9,20($29)
|
||
+ slt $1,$9,4
|
||
+ bnez $1,1f
|
||
+ li $2,0
|
||
+ slt $1,$9,17 # on in-order CPU
|
||
+ bnez $1,bn_mul_mont_internal
|
||
+ nop
|
||
+1: jr $31
|
||
+ li $4,0
|
||
+.end bn_mul_mont
|
||
+
|
||
+.align 5
|
||
+.ent bn_mul_mont_internal
|
||
+bn_mul_mont_internal:
|
||
+ .frame $30,14*4,$31
|
||
+ .mask 0x40000000|16711680,-4
|
||
+ subu $29,14*4
|
||
+ sw $30,(14-1)*4($29)
|
||
+ sw $23,(14-2)*4($29)
|
||
+ sw $22,(14-3)*4($29)
|
||
+ sw $21,(14-4)*4($29)
|
||
+ sw $20,(14-5)*4($29)
|
||
+ sw $19,(14-6)*4($29)
|
||
+ sw $18,(14-7)*4($29)
|
||
+ sw $17,(14-8)*4($29)
|
||
+ sw $16,(14-9)*4($29)
|
||
+ move $30,$29
|
||
+
|
||
+ .set reorder
|
||
+ lw $8,0($8)
|
||
+ lw $13,0($6) # bp[0]
|
||
+ lw $12,0($5) # ap[0]
|
||
+ lw $14,0($7) # np[0]
|
||
+
|
||
+ subu $29,2*4 # place for two extra words
|
||
+ sll $9,2
|
||
+ li $1,-4096
|
||
+ subu $29,$9
|
||
+ and $29,$1
|
||
+
|
||
+ multu ($12,$13)
|
||
+ lw $17,4($5)
|
||
+ lw $19,4($7)
|
||
+ mflo ($10,$12,$13)
|
||
+ mfhi ($11,$12,$13)
|
||
+ multu ($10,$8)
|
||
+ mflo ($23,$10,$8)
|
||
+
|
||
+ multu ($17,$13)
|
||
+ mflo ($16,$17,$13)
|
||
+ mfhi ($17,$17,$13)
|
||
+
|
||
+ multu ($14,$23)
|
||
+ mflo ($24,$14,$23)
|
||
+ mfhi ($25,$14,$23)
|
||
+ multu ($19,$23)
|
||
+ addu $24,$10
|
||
+ sltu $1,$24,$10
|
||
+ addu $25,$1
|
||
+ mflo ($18,$19,$23)
|
||
+ mfhi ($19,$19,$23)
|
||
+
|
||
+ move $15,$29
|
||
+ li $22,2*4
|
||
+.align 4
|
||
+.L1st:
|
||
+ .set noreorder
|
||
+ addu $12,$5,$22
|
||
+ addu $14,$7,$22
|
||
+ lw $12,($12)
|
||
+ lw $14,($14)
|
||
+
|
||
+ multu ($12,$13)
|
||
+ addu $10,$16,$11
|
||
+ addu $24,$18,$25
|
||
+ sltu $1,$10,$11
|
||
+ sltu $2,$24,$25
|
||
+ addu $11,$17,$1
|
||
+ addu $25,$19,$2
|
||
+ mflo ($16,$12,$13)
|
||
+ mfhi ($17,$12,$13)
|
||
+
|
||
+ addu $24,$10
|
||
+ sltu $1,$24,$10
|
||
+ multu ($14,$23)
|
||
+ addu $25,$1
|
||
+ addu $22,4
|
||
+ sw $24,($15)
|
||
+ sltu $2,$22,$9
|
||
+ mflo ($18,$14,$23)
|
||
+ mfhi ($19,$14,$23)
|
||
+
|
||
+ bnez $2,.L1st
|
||
+ addu $15,4
|
||
+ .set reorder
|
||
+
|
||
+ addu $10,$16,$11
|
||
+ sltu $1,$10,$11
|
||
+ addu $11,$17,$1
|
||
+
|
||
+ addu $24,$18,$25
|
||
+ sltu $2,$24,$25
|
||
+ addu $25,$19,$2
|
||
+ addu $24,$10
|
||
+ sltu $1,$24,$10
|
||
+ addu $25,$1
|
||
+
|
||
+ sw $24,($15)
|
||
+
|
||
+ addu $25,$11
|
||
+ sltu $1,$25,$11
|
||
+ sw $25,4($15)
|
||
+ sw $1,2*4($15)
|
||
+
|
||
+ li $21,4
|
||
+.align 4
|
||
+.Louter:
|
||
+ addu $13,$6,$21
|
||
+ lw $13,($13)
|
||
+ lw $12,($5)
|
||
+ lw $17,4($5)
|
||
+ lw $20,($29)
|
||
+
|
||
+ multu ($12,$13)
|
||
+ lw $14,($7)
|
||
+ lw $19,4($7)
|
||
+ mflo ($10,$12,$13)
|
||
+ mfhi ($11,$12,$13)
|
||
+ addu $10,$20
|
||
+ multu ($10,$8)
|
||
+ sltu $1,$10,$20
|
||
+ addu $11,$1
|
||
+ mflo ($23,$10,$8)
|
||
+
|
||
+ multu ($17,$13)
|
||
+ mflo ($16,$17,$13)
|
||
+ mfhi ($17,$17,$13)
|
||
+
|
||
+ multu ($14,$23)
|
||
+ mflo ($24,$14,$23)
|
||
+ mfhi ($25,$14,$23)
|
||
+
|
||
+ multu ($19,$23)
|
||
+ addu $24,$10
|
||
+ sltu $1,$24,$10
|
||
+ addu $25,$1
|
||
+ mflo ($18,$19,$23)
|
||
+ mfhi ($19,$19,$23)
|
||
+
|
||
+ move $15,$29
|
||
+ li $22,2*4
|
||
+ lw $20,4($15)
|
||
+.align 4
|
||
+.Linner:
|
||
+ .set noreorder
|
||
+ addu $12,$5,$22
|
||
+ addu $14,$7,$22
|
||
+ lw $12,($12)
|
||
+ lw $14,($14)
|
||
+
|
||
+ multu ($12,$13)
|
||
+ addu $10,$16,$11
|
||
+ addu $24,$18,$25
|
||
+ sltu $1,$10,$11
|
||
+ sltu $2,$24,$25
|
||
+ addu $11,$17,$1
|
||
+ addu $25,$19,$2
|
||
+ mflo ($16,$12,$13)
|
||
+ mfhi ($17,$12,$13)
|
||
+
|
||
+ addu $10,$20
|
||
+ addu $22,4
|
||
+ multu ($14,$23)
|
||
+ sltu $1,$10,$20
|
||
+ addu $24,$10
|
||
+ addu $11,$1
|
||
+ sltu $2,$24,$10
|
||
+ lw $20,2*4($15)
|
||
+ addu $25,$2
|
||
+ sltu $1,$22,$9
|
||
+ mflo ($18,$14,$23)
|
||
+ mfhi ($19,$14,$23)
|
||
+ sw $24,($15)
|
||
+ bnez $1,.Linner
|
||
+ addu $15,4
|
||
+ .set reorder
|
||
+
|
||
+ addu $10,$16,$11
|
||
+ sltu $1,$10,$11
|
||
+ addu $11,$17,$1
|
||
+ addu $10,$20
|
||
+ sltu $2,$10,$20
|
||
+ addu $11,$2
|
||
+
|
||
+ lw $20,2*4($15)
|
||
+ addu $24,$18,$25
|
||
+ sltu $1,$24,$25
|
||
+ addu $25,$19,$1
|
||
+ addu $24,$10
|
||
+ sltu $2,$24,$10
|
||
+ addu $25,$2
|
||
+ sw $24,($15)
|
||
+
|
||
+ addu $24,$25,$11
|
||
+ sltu $25,$24,$11
|
||
+ addu $24,$20
|
||
+ sltu $1,$24,$20
|
||
+ addu $25,$1
|
||
+ sw $24,4($15)
|
||
+ sw $25,2*4($15)
|
||
+
|
||
+ addu $21,4
|
||
+ sltu $2,$21,$9
|
||
+ bnez $2,.Louter
|
||
+
|
||
+ .set noreorder
|
||
+ addu $20,$29,$9 # &tp[num]
|
||
+ move $15,$29
|
||
+ move $5,$29
|
||
+ li $11,0 # clear borrow bit
|
||
+
|
||
+.align 4
|
||
+.Lsub: lw $10,($15)
|
||
+ lw $24,($7)
|
||
+ addu $15,4
|
||
+ addu $7,4
|
||
+ subu $24,$10,$24 # tp[i]-np[i]
|
||
+ sgtu $1,$24,$10
|
||
+ subu $10,$24,$11
|
||
+ sgtu $11,$10,$24
|
||
+ sw $10,($4)
|
||
+ or $11,$1
|
||
+ sltu $1,$15,$20
|
||
+ bnez $1,.Lsub
|
||
+ addu $4,4
|
||
+
|
||
+ subu $11,$25,$11 # handle upmost overflow bit
|
||
+ move $15,$29
|
||
+ subu $4,$9 # restore rp
|
||
+ not $25,$11
|
||
+
|
||
+.Lcopy: lw $14,($15) # conditional move
|
||
+ lw $12,($4)
|
||
+ sw $0,($15)
|
||
+ addu $15,4
|
||
+ and $14,$11
|
||
+ and $12,$25
|
||
+ or $12,$14
|
||
+ sltu $1,$15,$20
|
||
+ sw $12,($4)
|
||
+ bnez $1,.Lcopy
|
||
+ addu $4,4
|
||
+
|
||
+ li $4,1
|
||
+ li $2,1
|
||
+
|
||
+ .set noreorder
|
||
+ move $29,$30
|
||
+ lw $30,(14-1)*4($29)
|
||
+ lw $23,(14-2)*4($29)
|
||
+ lw $22,(14-3)*4($29)
|
||
+ lw $21,(14-4)*4($29)
|
||
+ lw $20,(14-5)*4($29)
|
||
+ lw $19,(14-6)*4($29)
|
||
+ lw $18,(14-7)*4($29)
|
||
+ lw $17,(14-8)*4($29)
|
||
+ lw $16,(14-9)*4($29)
|
||
+ jr $31
|
||
+ addu $29,14*4
|
||
+.end bn_mul_mont_internal
|
||
+.rdata
|
||
+.asciiz "Montgomery Multiplication for MIPS, CRYPTOGAMS by <appro@openssl.org>"
|
||
diff -urN a/deps/openssl/config/archs/linux-mipsel/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-mipsel/asm/crypto/buildinf.h
|
||
--- a/deps/openssl/config/archs/linux-mipsel/asm/crypto/buildinf.h 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mipsel/asm/crypto/buildinf.h 2019-12-25 13:49:19.988298795 +0900
|
||
@@ -0,0 +1,33 @@
|
||
+/*
|
||
+ * WARNING: do not edit!
|
||
+ * Generated by util/mkbuildinf.pl
|
||
+ *
|
||
+ * Copyright 2014-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||
+ *
|
||
+ * Licensed under the OpenSSL license (the "License"). You may not use
|
||
+ * this file except in compliance with the License. You can obtain a copy
|
||
+ * in the file LICENSE in the source distribution or at
|
||
+ * https://www.openssl.org/source/license.html
|
||
+ */
|
||
+
|
||
+#define PLATFORM "platform: linux-mips32"
|
||
+#define DATE "built on: Thu Feb 28 07:51:38 2019 UTC"
|
||
+
|
||
+/*
|
||
+ * Generate compiler_flags as an array of individual characters. This is a
|
||
+ * workaround for the situation where CFLAGS gets too long for a C90 string
|
||
+ * literal
|
||
+ */
|
||
+static const char compiler_flags[] = {
|
||
+ 'c','o','m','p','i','l','e','r',':',' ','g','c','c',' ','-','f',
|
||
+ 'P','I','C',' ','-','p','t','h','r','e','a','d',' ','-','m','a',
|
||
+ 'b','i','=','3','2',' ','-','m','i','p','s','2',' ','-','W','a',
|
||
+ ',','-','-','n','o','e','x','e','c','s','t','a','c','k',' ','-',
|
||
+ 'W','a','l','l',' ','-','O','3',' ','-','D','O','P','E','N','S',
|
||
+ 'S','L','_','U','S','E','_','N','O','D','E','L','E','T','E',' ',
|
||
+ '-','D','O','P','E','N','S','S','L','_','P','I','C',' ','-','D',
|
||
+ 'O','P','E','N','S','S','L','_','B','N','_','A','S','M','_','M',
|
||
+ 'O','N','T',' ','-','D','S','H','A','1','_','A','S','M',' ','-',
|
||
+ 'D','S','H','A','2','5','6','_','A','S','M',' ','-','D','A','E',
|
||
+ 'S','_','A','S','M',' ','-','D','N','D','E','B','U','G','\0'
|
||
+};
|
||
diff -urN a/deps/openssl/config/archs/linux-mipsel/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux-mipsel/asm/crypto/include/internal/bn_conf.h
|
||
--- a/deps/openssl/config/archs/linux-mipsel/asm/crypto/include/internal/bn_conf.h 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mipsel/asm/crypto/include/internal/bn_conf.h 2019-12-25 13:49:19.988298795 +0900
|
||
@@ -0,0 +1,28 @@
|
||
+/* WARNING: do not edit! */
|
||
+/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */
|
||
+/*
|
||
+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
||
+ *
|
||
+ * Licensed under the OpenSSL license (the "License"). You may not use
|
||
+ * this file except in compliance with the License. You can obtain a copy
|
||
+ * in the file LICENSE in the source distribution or at
|
||
+ * https://www.openssl.org/source/license.html
|
||
+ */
|
||
+
|
||
+#ifndef HEADER_BN_CONF_H
|
||
+# define HEADER_BN_CONF_H
|
||
+
|
||
+/*
|
||
+ * The contents of this file are not used in the UEFI build, as
|
||
+ * both 32-bit and 64-bit builds are supported from a single run
|
||
+ * of the Configure script.
|
||
+ */
|
||
+
|
||
+/* Should we define BN_DIV2W here? */
|
||
+
|
||
+/* Only one for the following should be defined */
|
||
+#undef SIXTY_FOUR_BIT_LONG
|
||
+#undef SIXTY_FOUR_BIT
|
||
+#define THIRTY_TWO_BIT
|
||
+
|
||
+#endif
|
||
diff -urN a/deps/openssl/config/archs/linux-mipsel/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux-mipsel/asm/crypto/include/internal/dso_conf.h
|
||
--- a/deps/openssl/config/archs/linux-mipsel/asm/crypto/include/internal/dso_conf.h 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mipsel/asm/crypto/include/internal/dso_conf.h 2019-12-25 13:49:19.988298795 +0900
|
||
@@ -0,0 +1,17 @@
|
||
+/* WARNING: do not edit! */
|
||
+/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */
|
||
+/*
|
||
+ * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||
+ *
|
||
+ * Licensed under the OpenSSL license (the "License"). You may not use
|
||
+ * this file except in compliance with the License. You can obtain a copy
|
||
+ * in the file LICENSE in the source distribution or at
|
||
+ * https://www.openssl.org/source/license.html
|
||
+ */
|
||
+
|
||
+#ifndef HEADER_DSO_CONF_H
|
||
+# define HEADER_DSO_CONF_H
|
||
+# define DSO_DLFCN
|
||
+# define HAVE_DLFCN_H
|
||
+# define DSO_EXTENSION ".so"
|
||
+#endif
|
||
diff -urN a/deps/openssl/config/archs/linux-mipsel/asm/crypto/sha/sha1-mips.S b/deps/openssl/config/archs/linux-mipsel/asm/crypto/sha/sha1-mips.S
|
||
--- a/deps/openssl/config/archs/linux-mipsel/asm/crypto/sha/sha1-mips.S 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mipsel/asm/crypto/sha/sha1-mips.S 2019-12-25 13:49:19.988298795 +0900
|
||
@@ -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*4,$31
|
||
+ .mask 0xc0ff0000,-4
|
||
+ .set noreorder
|
||
+ subu $29,16*4
|
||
+ sw $31,(16-1)*4($29)
|
||
+ sw $30,(16-2)*4($29)
|
||
+ sw $23,(16-3)*4($29)
|
||
+ sw $22,(16-4)*4($29)
|
||
+ sw $21,(16-5)*4($29)
|
||
+ sw $20,(16-6)*4($29)
|
||
+ sw $19,(16-7)*4($29)
|
||
+ sw $18,(16-8)*4($29)
|
||
+ sw $17,(16-9)*4($29)
|
||
+ sw $16,(16-10)*4($29)
|
||
+ sll $6,6
|
||
+ addu $6,$5
|
||
+ sw $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
|
||
+ addu $5,64
|
||
+ lw $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
|
||
+ lw $31,(16-1)*4($29)
|
||
+ lw $30,(16-2)*4($29)
|
||
+ lw $23,(16-3)*4($29)
|
||
+ lw $22,(16-4)*4($29)
|
||
+ lw $21,(16-5)*4($29)
|
||
+ lw $20,(16-6)*4($29)
|
||
+ lw $19,(16-7)*4($29)
|
||
+ lw $18,(16-8)*4($29)
|
||
+ lw $17,(16-9)*4($29)
|
||
+ lw $16,(16-10)*4($29)
|
||
+ jr $31
|
||
+ addu $29,16*4
|
||
+.end sha1_block_data_order
|
||
+.rdata
|
||
+.asciiz "SHA1 for MIPS, CRYPTOGAMS by <appro@openssl.org>"
|
||
diff -urN a/deps/openssl/config/archs/linux-mipsel/asm/crypto/sha/sha256-mips.S b/deps/openssl/config/archs/linux-mipsel/asm/crypto/sha/sha256-mips.S
|
||
--- a/deps/openssl/config/archs/linux-mipsel/asm/crypto/sha/sha256-mips.S 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mipsel/asm/crypto/sha/sha256-mips.S 2019-12-25 13:49:19.992298784 +0900
|
||
@@ -0,0 +1,3036 @@
|
||
+#include "mips_arch.h"
|
||
+
|
||
+.text
|
||
+.set noat
|
||
+#if !defined(__mips_eabi) && (!defined(__vxworks) || defined(__pic__))
|
||
+.option pic2
|
||
+#endif
|
||
+
|
||
+.align 5
|
||
+.globl sha256_block_data_order
|
||
+.ent sha256_block_data_order
|
||
+sha256_block_data_order:
|
||
+ .frame $29,128,$31
|
||
+ .mask 0xc0ff0000,-4
|
||
+ .set noreorder
|
||
+ .cpload $25
|
||
+ subu $29,128
|
||
+ sw $31,128-1*4($29)
|
||
+ sw $30,128-2*4($29)
|
||
+ sw $23,128-3*4($29)
|
||
+ sw $22,128-4*4($29)
|
||
+ sw $21,128-5*4($29)
|
||
+ sw $20,128-6*4($29)
|
||
+ sw $19,128-7*4($29)
|
||
+ sw $18,128-8*4($29)
|
||
+ sw $17,128-9*4($29)
|
||
+ sw $16,128-10*4($29)
|
||
+ sll $23,$6,6
|
||
+ .set reorder
|
||
+ la $6,K256 # PIC-ified 'load address'
|
||
+
|
||
+ lw $1,0*4($4) # load context
|
||
+ lw $2,1*4($4)
|
||
+ lw $3,2*4($4)
|
||
+ lw $7,3*4($4)
|
||
+ lw $24,4*4($4)
|
||
+ lw $25,5*4($4)
|
||
+ lw $30,6*4($4)
|
||
+ lw $31,7*4($4)
|
||
+
|
||
+ addu $23,$5 # pointer to the end of input
|
||
+ sw $23,16*4($29)
|
||
+ b .Loop
|
||
+
|
||
+.align 5
|
||
+.Loop:
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $8,($5)
|
||
+#else
|
||
+ lwl $8,3($5)
|
||
+ lwr $8,0($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $9,4($5)
|
||
+#else
|
||
+ lwl $9,7($5)
|
||
+ lwr $9,4($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $8,$8 # byte swap(0)
|
||
+ rotr $8,$8,16
|
||
+#else
|
||
+ srl $13,$8,24 # byte swap(0)
|
||
+ srl $14,$8,8
|
||
+ andi $15,$8,0xFF00
|
||
+ sll $8,$8,24
|
||
+ andi $14,0xFF00
|
||
+ sll $15,$15,8
|
||
+ or $8,$13
|
||
+ or $14,$15
|
||
+ or $8,$14
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $15,$25,$30 # 0
|
||
+ rotr $13,$24,6
|
||
+ addu $12,$8,$31
|
||
+ rotr $14,$24,11
|
||
+ and $15,$24
|
||
+ rotr $31,$24,25
|
||
+ xor $13,$14
|
||
+ rotr $14,$1,2
|
||
+ xor $15,$30 # Ch(e,f,g)
|
||
+ xor $13,$31 # Sigma1(e)
|
||
+
|
||
+ rotr $31,$1,13
|
||
+ addu $12,$15
|
||
+ lw $15,0($6) # K[0]
|
||
+ xor $31,$14
|
||
+ rotr $14,$1,22
|
||
+ addu $12,$13
|
||
+ and $13,$2,$3
|
||
+ xor $31,$14 # Sigma0(a)
|
||
+ xor $14,$2,$3
|
||
+#else
|
||
+ addu $12,$8,$31 # 0
|
||
+ srl $31,$24,6
|
||
+ xor $15,$25,$30
|
||
+ sll $14,$24,7
|
||
+ and $15,$24
|
||
+ srl $13,$24,11
|
||
+ xor $31,$14
|
||
+ sll $14,$24,21
|
||
+ xor $31,$13
|
||
+ srl $13,$24,25
|
||
+ xor $31,$14
|
||
+ sll $14,$24,26
|
||
+ xor $31,$13
|
||
+ xor $15,$30 # Ch(e,f,g)
|
||
+ xor $13,$14,$31 # Sigma1(e)
|
||
+
|
||
+ srl $31,$1,2
|
||
+ addu $12,$15
|
||
+ lw $15,0($6) # K[0]
|
||
+ sll $14,$1,10
|
||
+ addu $12,$13
|
||
+ srl $13,$1,13
|
||
+ xor $31,$14
|
||
+ sll $14,$1,19
|
||
+ xor $31,$13
|
||
+ srl $13,$1,22
|
||
+ xor $31,$14
|
||
+ sll $14,$1,30
|
||
+ xor $31,$13
|
||
+ and $13,$2,$3
|
||
+ xor $31,$14 # Sigma0(a)
|
||
+ xor $14,$2,$3
|
||
+#endif
|
||
+ sw $8,0($29) # offload to ring buffer
|
||
+ addu $31,$13
|
||
+ and $14,$1
|
||
+ addu $12,$15 # +=K[0]
|
||
+ addu $31,$14 # +=Maj(a,b,c)
|
||
+ addu $7,$12
|
||
+ addu $31,$12
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $10,8($5)
|
||
+#else
|
||
+ lwl $10,11($5)
|
||
+ lwr $10,8($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $9,$9 # byte swap(1)
|
||
+ rotr $9,$9,16
|
||
+#else
|
||
+ srl $14,$9,24 # byte swap(1)
|
||
+ srl $15,$9,8
|
||
+ andi $16,$9,0xFF00
|
||
+ sll $9,$9,24
|
||
+ andi $15,0xFF00
|
||
+ sll $16,$16,8
|
||
+ or $9,$14
|
||
+ or $15,$16
|
||
+ or $9,$15
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $16,$24,$25 # 1
|
||
+ rotr $14,$7,6
|
||
+ addu $13,$9,$30
|
||
+ rotr $15,$7,11
|
||
+ and $16,$7
|
||
+ rotr $30,$7,25
|
||
+ xor $14,$15
|
||
+ rotr $15,$31,2
|
||
+ xor $16,$25 # Ch(e,f,g)
|
||
+ xor $14,$30 # Sigma1(e)
|
||
+
|
||
+ rotr $30,$31,13
|
||
+ addu $13,$16
|
||
+ lw $16,4($6) # K[1]
|
||
+ xor $30,$15
|
||
+ rotr $15,$31,22
|
||
+ addu $13,$14
|
||
+ and $14,$1,$2
|
||
+ xor $30,$15 # Sigma0(a)
|
||
+ xor $15,$1,$2
|
||
+#else
|
||
+ addu $13,$9,$30 # 1
|
||
+ srl $30,$7,6
|
||
+ xor $16,$24,$25
|
||
+ sll $15,$7,7
|
||
+ and $16,$7
|
||
+ srl $14,$7,11
|
||
+ xor $30,$15
|
||
+ sll $15,$7,21
|
||
+ xor $30,$14
|
||
+ srl $14,$7,25
|
||
+ xor $30,$15
|
||
+ sll $15,$7,26
|
||
+ xor $30,$14
|
||
+ xor $16,$25 # Ch(e,f,g)
|
||
+ xor $14,$15,$30 # Sigma1(e)
|
||
+
|
||
+ srl $30,$31,2
|
||
+ addu $13,$16
|
||
+ lw $16,4($6) # K[1]
|
||
+ sll $15,$31,10
|
||
+ addu $13,$14
|
||
+ srl $14,$31,13
|
||
+ xor $30,$15
|
||
+ sll $15,$31,19
|
||
+ xor $30,$14
|
||
+ srl $14,$31,22
|
||
+ xor $30,$15
|
||
+ sll $15,$31,30
|
||
+ xor $30,$14
|
||
+ and $14,$1,$2
|
||
+ xor $30,$15 # Sigma0(a)
|
||
+ xor $15,$1,$2
|
||
+#endif
|
||
+ sw $9,4($29) # offload to ring buffer
|
||
+ addu $30,$14
|
||
+ and $15,$31
|
||
+ addu $13,$16 # +=K[1]
|
||
+ addu $30,$15 # +=Maj(a,b,c)
|
||
+ addu $3,$13
|
||
+ addu $30,$13
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $11,12($5)
|
||
+#else
|
||
+ lwl $11,15($5)
|
||
+ lwr $11,12($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $10,$10 # byte swap(2)
|
||
+ rotr $10,$10,16
|
||
+#else
|
||
+ srl $15,$10,24 # byte swap(2)
|
||
+ srl $16,$10,8
|
||
+ andi $17,$10,0xFF00
|
||
+ sll $10,$10,24
|
||
+ andi $16,0xFF00
|
||
+ sll $17,$17,8
|
||
+ or $10,$15
|
||
+ or $16,$17
|
||
+ or $10,$16
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $17,$7,$24 # 2
|
||
+ rotr $15,$3,6
|
||
+ addu $14,$10,$25
|
||
+ rotr $16,$3,11
|
||
+ and $17,$3
|
||
+ rotr $25,$3,25
|
||
+ xor $15,$16
|
||
+ rotr $16,$30,2
|
||
+ xor $17,$24 # Ch(e,f,g)
|
||
+ xor $15,$25 # Sigma1(e)
|
||
+
|
||
+ rotr $25,$30,13
|
||
+ addu $14,$17
|
||
+ lw $17,8($6) # K[2]
|
||
+ xor $25,$16
|
||
+ rotr $16,$30,22
|
||
+ addu $14,$15
|
||
+ and $15,$31,$1
|
||
+ xor $25,$16 # Sigma0(a)
|
||
+ xor $16,$31,$1
|
||
+#else
|
||
+ addu $14,$10,$25 # 2
|
||
+ srl $25,$3,6
|
||
+ xor $17,$7,$24
|
||
+ sll $16,$3,7
|
||
+ and $17,$3
|
||
+ srl $15,$3,11
|
||
+ xor $25,$16
|
||
+ sll $16,$3,21
|
||
+ xor $25,$15
|
||
+ srl $15,$3,25
|
||
+ xor $25,$16
|
||
+ sll $16,$3,26
|
||
+ xor $25,$15
|
||
+ xor $17,$24 # Ch(e,f,g)
|
||
+ xor $15,$16,$25 # Sigma1(e)
|
||
+
|
||
+ srl $25,$30,2
|
||
+ addu $14,$17
|
||
+ lw $17,8($6) # K[2]
|
||
+ sll $16,$30,10
|
||
+ addu $14,$15
|
||
+ srl $15,$30,13
|
||
+ xor $25,$16
|
||
+ sll $16,$30,19
|
||
+ xor $25,$15
|
||
+ srl $15,$30,22
|
||
+ xor $25,$16
|
||
+ sll $16,$30,30
|
||
+ xor $25,$15
|
||
+ and $15,$31,$1
|
||
+ xor $25,$16 # Sigma0(a)
|
||
+ xor $16,$31,$1
|
||
+#endif
|
||
+ sw $10,8($29) # offload to ring buffer
|
||
+ addu $25,$15
|
||
+ and $16,$30
|
||
+ addu $14,$17 # +=K[2]
|
||
+ addu $25,$16 # +=Maj(a,b,c)
|
||
+ addu $2,$14
|
||
+ addu $25,$14
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $12,16($5)
|
||
+#else
|
||
+ lwl $12,19($5)
|
||
+ lwr $12,16($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $11,$11 # byte swap(3)
|
||
+ rotr $11,$11,16
|
||
+#else
|
||
+ srl $16,$11,24 # byte swap(3)
|
||
+ srl $17,$11,8
|
||
+ andi $18,$11,0xFF00
|
||
+ sll $11,$11,24
|
||
+ andi $17,0xFF00
|
||
+ sll $18,$18,8
|
||
+ or $11,$16
|
||
+ or $17,$18
|
||
+ or $11,$17
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $18,$3,$7 # 3
|
||
+ rotr $16,$2,6
|
||
+ addu $15,$11,$24
|
||
+ rotr $17,$2,11
|
||
+ and $18,$2
|
||
+ rotr $24,$2,25
|
||
+ xor $16,$17
|
||
+ rotr $17,$25,2
|
||
+ xor $18,$7 # Ch(e,f,g)
|
||
+ xor $16,$24 # Sigma1(e)
|
||
+
|
||
+ rotr $24,$25,13
|
||
+ addu $15,$18
|
||
+ lw $18,12($6) # K[3]
|
||
+ xor $24,$17
|
||
+ rotr $17,$25,22
|
||
+ addu $15,$16
|
||
+ and $16,$30,$31
|
||
+ xor $24,$17 # Sigma0(a)
|
||
+ xor $17,$30,$31
|
||
+#else
|
||
+ addu $15,$11,$24 # 3
|
||
+ srl $24,$2,6
|
||
+ xor $18,$3,$7
|
||
+ sll $17,$2,7
|
||
+ and $18,$2
|
||
+ srl $16,$2,11
|
||
+ xor $24,$17
|
||
+ sll $17,$2,21
|
||
+ xor $24,$16
|
||
+ srl $16,$2,25
|
||
+ xor $24,$17
|
||
+ sll $17,$2,26
|
||
+ xor $24,$16
|
||
+ xor $18,$7 # Ch(e,f,g)
|
||
+ xor $16,$17,$24 # Sigma1(e)
|
||
+
|
||
+ srl $24,$25,2
|
||
+ addu $15,$18
|
||
+ lw $18,12($6) # K[3]
|
||
+ sll $17,$25,10
|
||
+ addu $15,$16
|
||
+ srl $16,$25,13
|
||
+ xor $24,$17
|
||
+ sll $17,$25,19
|
||
+ xor $24,$16
|
||
+ srl $16,$25,22
|
||
+ xor $24,$17
|
||
+ sll $17,$25,30
|
||
+ xor $24,$16
|
||
+ and $16,$30,$31
|
||
+ xor $24,$17 # Sigma0(a)
|
||
+ xor $17,$30,$31
|
||
+#endif
|
||
+ sw $11,12($29) # offload to ring buffer
|
||
+ addu $24,$16
|
||
+ and $17,$25
|
||
+ addu $15,$18 # +=K[3]
|
||
+ addu $24,$17 # +=Maj(a,b,c)
|
||
+ addu $1,$15
|
||
+ addu $24,$15
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $13,20($5)
|
||
+#else
|
||
+ lwl $13,23($5)
|
||
+ lwr $13,20($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $12,$12 # byte swap(4)
|
||
+ rotr $12,$12,16
|
||
+#else
|
||
+ srl $17,$12,24 # byte swap(4)
|
||
+ srl $18,$12,8
|
||
+ andi $19,$12,0xFF00
|
||
+ sll $12,$12,24
|
||
+ andi $18,0xFF00
|
||
+ sll $19,$19,8
|
||
+ or $12,$17
|
||
+ or $18,$19
|
||
+ or $12,$18
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $19,$2,$3 # 4
|
||
+ rotr $17,$1,6
|
||
+ addu $16,$12,$7
|
||
+ rotr $18,$1,11
|
||
+ and $19,$1
|
||
+ rotr $7,$1,25
|
||
+ xor $17,$18
|
||
+ rotr $18,$24,2
|
||
+ xor $19,$3 # Ch(e,f,g)
|
||
+ xor $17,$7 # Sigma1(e)
|
||
+
|
||
+ rotr $7,$24,13
|
||
+ addu $16,$19
|
||
+ lw $19,16($6) # K[4]
|
||
+ xor $7,$18
|
||
+ rotr $18,$24,22
|
||
+ addu $16,$17
|
||
+ and $17,$25,$30
|
||
+ xor $7,$18 # Sigma0(a)
|
||
+ xor $18,$25,$30
|
||
+#else
|
||
+ addu $16,$12,$7 # 4
|
||
+ srl $7,$1,6
|
||
+ xor $19,$2,$3
|
||
+ sll $18,$1,7
|
||
+ and $19,$1
|
||
+ srl $17,$1,11
|
||
+ xor $7,$18
|
||
+ sll $18,$1,21
|
||
+ xor $7,$17
|
||
+ srl $17,$1,25
|
||
+ xor $7,$18
|
||
+ sll $18,$1,26
|
||
+ xor $7,$17
|
||
+ xor $19,$3 # Ch(e,f,g)
|
||
+ xor $17,$18,$7 # Sigma1(e)
|
||
+
|
||
+ srl $7,$24,2
|
||
+ addu $16,$19
|
||
+ lw $19,16($6) # K[4]
|
||
+ sll $18,$24,10
|
||
+ addu $16,$17
|
||
+ srl $17,$24,13
|
||
+ xor $7,$18
|
||
+ sll $18,$24,19
|
||
+ xor $7,$17
|
||
+ srl $17,$24,22
|
||
+ xor $7,$18
|
||
+ sll $18,$24,30
|
||
+ xor $7,$17
|
||
+ and $17,$25,$30
|
||
+ xor $7,$18 # Sigma0(a)
|
||
+ xor $18,$25,$30
|
||
+#endif
|
||
+ sw $12,16($29) # offload to ring buffer
|
||
+ addu $7,$17
|
||
+ and $18,$24
|
||
+ addu $16,$19 # +=K[4]
|
||
+ addu $7,$18 # +=Maj(a,b,c)
|
||
+ addu $31,$16
|
||
+ addu $7,$16
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $14,24($5)
|
||
+#else
|
||
+ lwl $14,27($5)
|
||
+ lwr $14,24($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $13,$13 # byte swap(5)
|
||
+ rotr $13,$13,16
|
||
+#else
|
||
+ srl $18,$13,24 # byte swap(5)
|
||
+ srl $19,$13,8
|
||
+ andi $20,$13,0xFF00
|
||
+ sll $13,$13,24
|
||
+ andi $19,0xFF00
|
||
+ sll $20,$20,8
|
||
+ or $13,$18
|
||
+ or $19,$20
|
||
+ or $13,$19
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $20,$1,$2 # 5
|
||
+ rotr $18,$31,6
|
||
+ addu $17,$13,$3
|
||
+ rotr $19,$31,11
|
||
+ and $20,$31
|
||
+ rotr $3,$31,25
|
||
+ xor $18,$19
|
||
+ rotr $19,$7,2
|
||
+ xor $20,$2 # Ch(e,f,g)
|
||
+ xor $18,$3 # Sigma1(e)
|
||
+
|
||
+ rotr $3,$7,13
|
||
+ addu $17,$20
|
||
+ lw $20,20($6) # K[5]
|
||
+ xor $3,$19
|
||
+ rotr $19,$7,22
|
||
+ addu $17,$18
|
||
+ and $18,$24,$25
|
||
+ xor $3,$19 # Sigma0(a)
|
||
+ xor $19,$24,$25
|
||
+#else
|
||
+ addu $17,$13,$3 # 5
|
||
+ srl $3,$31,6
|
||
+ xor $20,$1,$2
|
||
+ sll $19,$31,7
|
||
+ and $20,$31
|
||
+ srl $18,$31,11
|
||
+ xor $3,$19
|
||
+ sll $19,$31,21
|
||
+ xor $3,$18
|
||
+ srl $18,$31,25
|
||
+ xor $3,$19
|
||
+ sll $19,$31,26
|
||
+ xor $3,$18
|
||
+ xor $20,$2 # Ch(e,f,g)
|
||
+ xor $18,$19,$3 # Sigma1(e)
|
||
+
|
||
+ srl $3,$7,2
|
||
+ addu $17,$20
|
||
+ lw $20,20($6) # K[5]
|
||
+ sll $19,$7,10
|
||
+ addu $17,$18
|
||
+ srl $18,$7,13
|
||
+ xor $3,$19
|
||
+ sll $19,$7,19
|
||
+ xor $3,$18
|
||
+ srl $18,$7,22
|
||
+ xor $3,$19
|
||
+ sll $19,$7,30
|
||
+ xor $3,$18
|
||
+ and $18,$24,$25
|
||
+ xor $3,$19 # Sigma0(a)
|
||
+ xor $19,$24,$25
|
||
+#endif
|
||
+ sw $13,20($29) # offload to ring buffer
|
||
+ addu $3,$18
|
||
+ and $19,$7
|
||
+ addu $17,$20 # +=K[5]
|
||
+ addu $3,$19 # +=Maj(a,b,c)
|
||
+ addu $30,$17
|
||
+ addu $3,$17
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $15,28($5)
|
||
+#else
|
||
+ lwl $15,31($5)
|
||
+ lwr $15,28($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $14,$14 # byte swap(6)
|
||
+ rotr $14,$14,16
|
||
+#else
|
||
+ srl $19,$14,24 # byte swap(6)
|
||
+ srl $20,$14,8
|
||
+ andi $21,$14,0xFF00
|
||
+ sll $14,$14,24
|
||
+ andi $20,0xFF00
|
||
+ sll $21,$21,8
|
||
+ or $14,$19
|
||
+ or $20,$21
|
||
+ or $14,$20
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $21,$31,$1 # 6
|
||
+ rotr $19,$30,6
|
||
+ addu $18,$14,$2
|
||
+ rotr $20,$30,11
|
||
+ and $21,$30
|
||
+ rotr $2,$30,25
|
||
+ xor $19,$20
|
||
+ rotr $20,$3,2
|
||
+ xor $21,$1 # Ch(e,f,g)
|
||
+ xor $19,$2 # Sigma1(e)
|
||
+
|
||
+ rotr $2,$3,13
|
||
+ addu $18,$21
|
||
+ lw $21,24($6) # K[6]
|
||
+ xor $2,$20
|
||
+ rotr $20,$3,22
|
||
+ addu $18,$19
|
||
+ and $19,$7,$24
|
||
+ xor $2,$20 # Sigma0(a)
|
||
+ xor $20,$7,$24
|
||
+#else
|
||
+ addu $18,$14,$2 # 6
|
||
+ srl $2,$30,6
|
||
+ xor $21,$31,$1
|
||
+ sll $20,$30,7
|
||
+ and $21,$30
|
||
+ srl $19,$30,11
|
||
+ xor $2,$20
|
||
+ sll $20,$30,21
|
||
+ xor $2,$19
|
||
+ srl $19,$30,25
|
||
+ xor $2,$20
|
||
+ sll $20,$30,26
|
||
+ xor $2,$19
|
||
+ xor $21,$1 # Ch(e,f,g)
|
||
+ xor $19,$20,$2 # Sigma1(e)
|
||
+
|
||
+ srl $2,$3,2
|
||
+ addu $18,$21
|
||
+ lw $21,24($6) # K[6]
|
||
+ sll $20,$3,10
|
||
+ addu $18,$19
|
||
+ srl $19,$3,13
|
||
+ xor $2,$20
|
||
+ sll $20,$3,19
|
||
+ xor $2,$19
|
||
+ srl $19,$3,22
|
||
+ xor $2,$20
|
||
+ sll $20,$3,30
|
||
+ xor $2,$19
|
||
+ and $19,$7,$24
|
||
+ xor $2,$20 # Sigma0(a)
|
||
+ xor $20,$7,$24
|
||
+#endif
|
||
+ sw $14,24($29) # offload to ring buffer
|
||
+ addu $2,$19
|
||
+ and $20,$3
|
||
+ addu $18,$21 # +=K[6]
|
||
+ addu $2,$20 # +=Maj(a,b,c)
|
||
+ addu $25,$18
|
||
+ addu $2,$18
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $16,32($5)
|
||
+#else
|
||
+ lwl $16,35($5)
|
||
+ lwr $16,32($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $15,$15 # byte swap(7)
|
||
+ rotr $15,$15,16
|
||
+#else
|
||
+ srl $20,$15,24 # byte swap(7)
|
||
+ srl $21,$15,8
|
||
+ andi $22,$15,0xFF00
|
||
+ sll $15,$15,24
|
||
+ andi $21,0xFF00
|
||
+ sll $22,$22,8
|
||
+ or $15,$20
|
||
+ or $21,$22
|
||
+ or $15,$21
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $22,$30,$31 # 7
|
||
+ rotr $20,$25,6
|
||
+ addu $19,$15,$1
|
||
+ rotr $21,$25,11
|
||
+ and $22,$25
|
||
+ rotr $1,$25,25
|
||
+ xor $20,$21
|
||
+ rotr $21,$2,2
|
||
+ xor $22,$31 # Ch(e,f,g)
|
||
+ xor $20,$1 # Sigma1(e)
|
||
+
|
||
+ rotr $1,$2,13
|
||
+ addu $19,$22
|
||
+ lw $22,28($6) # K[7]
|
||
+ xor $1,$21
|
||
+ rotr $21,$2,22
|
||
+ addu $19,$20
|
||
+ and $20,$3,$7
|
||
+ xor $1,$21 # Sigma0(a)
|
||
+ xor $21,$3,$7
|
||
+#else
|
||
+ addu $19,$15,$1 # 7
|
||
+ srl $1,$25,6
|
||
+ xor $22,$30,$31
|
||
+ sll $21,$25,7
|
||
+ and $22,$25
|
||
+ srl $20,$25,11
|
||
+ xor $1,$21
|
||
+ sll $21,$25,21
|
||
+ xor $1,$20
|
||
+ srl $20,$25,25
|
||
+ xor $1,$21
|
||
+ sll $21,$25,26
|
||
+ xor $1,$20
|
||
+ xor $22,$31 # Ch(e,f,g)
|
||
+ xor $20,$21,$1 # Sigma1(e)
|
||
+
|
||
+ srl $1,$2,2
|
||
+ addu $19,$22
|
||
+ lw $22,28($6) # K[7]
|
||
+ sll $21,$2,10
|
||
+ addu $19,$20
|
||
+ srl $20,$2,13
|
||
+ xor $1,$21
|
||
+ sll $21,$2,19
|
||
+ xor $1,$20
|
||
+ srl $20,$2,22
|
||
+ xor $1,$21
|
||
+ sll $21,$2,30
|
||
+ xor $1,$20
|
||
+ and $20,$3,$7
|
||
+ xor $1,$21 # Sigma0(a)
|
||
+ xor $21,$3,$7
|
||
+#endif
|
||
+ sw $15,28($29) # offload to ring buffer
|
||
+ addu $1,$20
|
||
+ and $21,$2
|
||
+ addu $19,$22 # +=K[7]
|
||
+ addu $1,$21 # +=Maj(a,b,c)
|
||
+ addu $24,$19
|
||
+ addu $1,$19
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $17,36($5)
|
||
+#else
|
||
+ lwl $17,39($5)
|
||
+ lwr $17,36($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $16,$16 # byte swap(8)
|
||
+ rotr $16,$16,16
|
||
+#else
|
||
+ srl $21,$16,24 # byte swap(8)
|
||
+ srl $22,$16,8
|
||
+ andi $23,$16,0xFF00
|
||
+ sll $16,$16,24
|
||
+ andi $22,0xFF00
|
||
+ sll $23,$23,8
|
||
+ or $16,$21
|
||
+ or $22,$23
|
||
+ or $16,$22
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $23,$25,$30 # 8
|
||
+ rotr $21,$24,6
|
||
+ addu $20,$16,$31
|
||
+ rotr $22,$24,11
|
||
+ and $23,$24
|
||
+ rotr $31,$24,25
|
||
+ xor $21,$22
|
||
+ rotr $22,$1,2
|
||
+ xor $23,$30 # Ch(e,f,g)
|
||
+ xor $21,$31 # Sigma1(e)
|
||
+
|
||
+ rotr $31,$1,13
|
||
+ addu $20,$23
|
||
+ lw $23,32($6) # K[8]
|
||
+ xor $31,$22
|
||
+ rotr $22,$1,22
|
||
+ addu $20,$21
|
||
+ and $21,$2,$3
|
||
+ xor $31,$22 # Sigma0(a)
|
||
+ xor $22,$2,$3
|
||
+#else
|
||
+ addu $20,$16,$31 # 8
|
||
+ srl $31,$24,6
|
||
+ xor $23,$25,$30
|
||
+ sll $22,$24,7
|
||
+ and $23,$24
|
||
+ srl $21,$24,11
|
||
+ xor $31,$22
|
||
+ sll $22,$24,21
|
||
+ xor $31,$21
|
||
+ srl $21,$24,25
|
||
+ xor $31,$22
|
||
+ sll $22,$24,26
|
||
+ xor $31,$21
|
||
+ xor $23,$30 # Ch(e,f,g)
|
||
+ xor $21,$22,$31 # Sigma1(e)
|
||
+
|
||
+ srl $31,$1,2
|
||
+ addu $20,$23
|
||
+ lw $23,32($6) # K[8]
|
||
+ sll $22,$1,10
|
||
+ addu $20,$21
|
||
+ srl $21,$1,13
|
||
+ xor $31,$22
|
||
+ sll $22,$1,19
|
||
+ xor $31,$21
|
||
+ srl $21,$1,22
|
||
+ xor $31,$22
|
||
+ sll $22,$1,30
|
||
+ xor $31,$21
|
||
+ and $21,$2,$3
|
||
+ xor $31,$22 # Sigma0(a)
|
||
+ xor $22,$2,$3
|
||
+#endif
|
||
+ sw $16,32($29) # offload to ring buffer
|
||
+ addu $31,$21
|
||
+ and $22,$1
|
||
+ addu $20,$23 # +=K[8]
|
||
+ addu $31,$22 # +=Maj(a,b,c)
|
||
+ addu $7,$20
|
||
+ addu $31,$20
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $18,40($5)
|
||
+#else
|
||
+ lwl $18,43($5)
|
||
+ lwr $18,40($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $17,$17 # byte swap(9)
|
||
+ rotr $17,$17,16
|
||
+#else
|
||
+ srl $22,$17,24 # byte swap(9)
|
||
+ srl $23,$17,8
|
||
+ andi $8,$17,0xFF00
|
||
+ sll $17,$17,24
|
||
+ andi $23,0xFF00
|
||
+ sll $8,$8,8
|
||
+ or $17,$22
|
||
+ or $23,$8
|
||
+ or $17,$23
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $8,$24,$25 # 9
|
||
+ rotr $22,$7,6
|
||
+ addu $21,$17,$30
|
||
+ rotr $23,$7,11
|
||
+ and $8,$7
|
||
+ rotr $30,$7,25
|
||
+ xor $22,$23
|
||
+ rotr $23,$31,2
|
||
+ xor $8,$25 # Ch(e,f,g)
|
||
+ xor $22,$30 # Sigma1(e)
|
||
+
|
||
+ rotr $30,$31,13
|
||
+ addu $21,$8
|
||
+ lw $8,36($6) # K[9]
|
||
+ xor $30,$23
|
||
+ rotr $23,$31,22
|
||
+ addu $21,$22
|
||
+ and $22,$1,$2
|
||
+ xor $30,$23 # Sigma0(a)
|
||
+ xor $23,$1,$2
|
||
+#else
|
||
+ addu $21,$17,$30 # 9
|
||
+ srl $30,$7,6
|
||
+ xor $8,$24,$25
|
||
+ sll $23,$7,7
|
||
+ and $8,$7
|
||
+ srl $22,$7,11
|
||
+ xor $30,$23
|
||
+ sll $23,$7,21
|
||
+ xor $30,$22
|
||
+ srl $22,$7,25
|
||
+ xor $30,$23
|
||
+ sll $23,$7,26
|
||
+ xor $30,$22
|
||
+ xor $8,$25 # Ch(e,f,g)
|
||
+ xor $22,$23,$30 # Sigma1(e)
|
||
+
|
||
+ srl $30,$31,2
|
||
+ addu $21,$8
|
||
+ lw $8,36($6) # K[9]
|
||
+ sll $23,$31,10
|
||
+ addu $21,$22
|
||
+ srl $22,$31,13
|
||
+ xor $30,$23
|
||
+ sll $23,$31,19
|
||
+ xor $30,$22
|
||
+ srl $22,$31,22
|
||
+ xor $30,$23
|
||
+ sll $23,$31,30
|
||
+ xor $30,$22
|
||
+ and $22,$1,$2
|
||
+ xor $30,$23 # Sigma0(a)
|
||
+ xor $23,$1,$2
|
||
+#endif
|
||
+ sw $17,36($29) # offload to ring buffer
|
||
+ addu $30,$22
|
||
+ and $23,$31
|
||
+ addu $21,$8 # +=K[9]
|
||
+ addu $30,$23 # +=Maj(a,b,c)
|
||
+ addu $3,$21
|
||
+ addu $30,$21
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $19,44($5)
|
||
+#else
|
||
+ lwl $19,47($5)
|
||
+ lwr $19,44($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $18,$18 # byte swap(10)
|
||
+ rotr $18,$18,16
|
||
+#else
|
||
+ srl $23,$18,24 # byte swap(10)
|
||
+ srl $8,$18,8
|
||
+ andi $9,$18,0xFF00
|
||
+ sll $18,$18,24
|
||
+ andi $8,0xFF00
|
||
+ sll $9,$9,8
|
||
+ or $18,$23
|
||
+ or $8,$9
|
||
+ or $18,$8
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $9,$7,$24 # 10
|
||
+ rotr $23,$3,6
|
||
+ addu $22,$18,$25
|
||
+ rotr $8,$3,11
|
||
+ and $9,$3
|
||
+ rotr $25,$3,25
|
||
+ xor $23,$8
|
||
+ rotr $8,$30,2
|
||
+ xor $9,$24 # Ch(e,f,g)
|
||
+ xor $23,$25 # Sigma1(e)
|
||
+
|
||
+ rotr $25,$30,13
|
||
+ addu $22,$9
|
||
+ lw $9,40($6) # K[10]
|
||
+ xor $25,$8
|
||
+ rotr $8,$30,22
|
||
+ addu $22,$23
|
||
+ and $23,$31,$1
|
||
+ xor $25,$8 # Sigma0(a)
|
||
+ xor $8,$31,$1
|
||
+#else
|
||
+ addu $22,$18,$25 # 10
|
||
+ srl $25,$3,6
|
||
+ xor $9,$7,$24
|
||
+ sll $8,$3,7
|
||
+ and $9,$3
|
||
+ srl $23,$3,11
|
||
+ xor $25,$8
|
||
+ sll $8,$3,21
|
||
+ xor $25,$23
|
||
+ srl $23,$3,25
|
||
+ xor $25,$8
|
||
+ sll $8,$3,26
|
||
+ xor $25,$23
|
||
+ xor $9,$24 # Ch(e,f,g)
|
||
+ xor $23,$8,$25 # Sigma1(e)
|
||
+
|
||
+ srl $25,$30,2
|
||
+ addu $22,$9
|
||
+ lw $9,40($6) # K[10]
|
||
+ sll $8,$30,10
|
||
+ addu $22,$23
|
||
+ srl $23,$30,13
|
||
+ xor $25,$8
|
||
+ sll $8,$30,19
|
||
+ xor $25,$23
|
||
+ srl $23,$30,22
|
||
+ xor $25,$8
|
||
+ sll $8,$30,30
|
||
+ xor $25,$23
|
||
+ and $23,$31,$1
|
||
+ xor $25,$8 # Sigma0(a)
|
||
+ xor $8,$31,$1
|
||
+#endif
|
||
+ sw $18,40($29) # offload to ring buffer
|
||
+ addu $25,$23
|
||
+ and $8,$30
|
||
+ addu $22,$9 # +=K[10]
|
||
+ addu $25,$8 # +=Maj(a,b,c)
|
||
+ addu $2,$22
|
||
+ addu $25,$22
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $20,48($5)
|
||
+#else
|
||
+ lwl $20,51($5)
|
||
+ lwr $20,48($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $19,$19 # byte swap(11)
|
||
+ rotr $19,$19,16
|
||
+#else
|
||
+ srl $8,$19,24 # byte swap(11)
|
||
+ srl $9,$19,8
|
||
+ andi $10,$19,0xFF00
|
||
+ sll $19,$19,24
|
||
+ andi $9,0xFF00
|
||
+ sll $10,$10,8
|
||
+ or $19,$8
|
||
+ or $9,$10
|
||
+ or $19,$9
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $10,$3,$7 # 11
|
||
+ rotr $8,$2,6
|
||
+ addu $23,$19,$24
|
||
+ rotr $9,$2,11
|
||
+ and $10,$2
|
||
+ rotr $24,$2,25
|
||
+ xor $8,$9
|
||
+ rotr $9,$25,2
|
||
+ xor $10,$7 # Ch(e,f,g)
|
||
+ xor $8,$24 # Sigma1(e)
|
||
+
|
||
+ rotr $24,$25,13
|
||
+ addu $23,$10
|
||
+ lw $10,44($6) # K[11]
|
||
+ xor $24,$9
|
||
+ rotr $9,$25,22
|
||
+ addu $23,$8
|
||
+ and $8,$30,$31
|
||
+ xor $24,$9 # Sigma0(a)
|
||
+ xor $9,$30,$31
|
||
+#else
|
||
+ addu $23,$19,$24 # 11
|
||
+ srl $24,$2,6
|
||
+ xor $10,$3,$7
|
||
+ sll $9,$2,7
|
||
+ and $10,$2
|
||
+ srl $8,$2,11
|
||
+ xor $24,$9
|
||
+ sll $9,$2,21
|
||
+ xor $24,$8
|
||
+ srl $8,$2,25
|
||
+ xor $24,$9
|
||
+ sll $9,$2,26
|
||
+ xor $24,$8
|
||
+ xor $10,$7 # Ch(e,f,g)
|
||
+ xor $8,$9,$24 # Sigma1(e)
|
||
+
|
||
+ srl $24,$25,2
|
||
+ addu $23,$10
|
||
+ lw $10,44($6) # K[11]
|
||
+ sll $9,$25,10
|
||
+ addu $23,$8
|
||
+ srl $8,$25,13
|
||
+ xor $24,$9
|
||
+ sll $9,$25,19
|
||
+ xor $24,$8
|
||
+ srl $8,$25,22
|
||
+ xor $24,$9
|
||
+ sll $9,$25,30
|
||
+ xor $24,$8
|
||
+ and $8,$30,$31
|
||
+ xor $24,$9 # Sigma0(a)
|
||
+ xor $9,$30,$31
|
||
+#endif
|
||
+ sw $19,44($29) # offload to ring buffer
|
||
+ addu $24,$8
|
||
+ and $9,$25
|
||
+ addu $23,$10 # +=K[11]
|
||
+ addu $24,$9 # +=Maj(a,b,c)
|
||
+ addu $1,$23
|
||
+ addu $24,$23
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $21,52($5)
|
||
+#else
|
||
+ lwl $21,55($5)
|
||
+ lwr $21,52($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $20,$20 # byte swap(12)
|
||
+ rotr $20,$20,16
|
||
+#else
|
||
+ srl $9,$20,24 # byte swap(12)
|
||
+ srl $10,$20,8
|
||
+ andi $11,$20,0xFF00
|
||
+ sll $20,$20,24
|
||
+ andi $10,0xFF00
|
||
+ sll $11,$11,8
|
||
+ or $20,$9
|
||
+ or $10,$11
|
||
+ or $20,$10
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $11,$2,$3 # 12
|
||
+ rotr $9,$1,6
|
||
+ addu $8,$20,$7
|
||
+ rotr $10,$1,11
|
||
+ and $11,$1
|
||
+ rotr $7,$1,25
|
||
+ xor $9,$10
|
||
+ rotr $10,$24,2
|
||
+ xor $11,$3 # Ch(e,f,g)
|
||
+ xor $9,$7 # Sigma1(e)
|
||
+
|
||
+ rotr $7,$24,13
|
||
+ addu $8,$11
|
||
+ lw $11,48($6) # K[12]
|
||
+ xor $7,$10
|
||
+ rotr $10,$24,22
|
||
+ addu $8,$9
|
||
+ and $9,$25,$30
|
||
+ xor $7,$10 # Sigma0(a)
|
||
+ xor $10,$25,$30
|
||
+#else
|
||
+ addu $8,$20,$7 # 12
|
||
+ srl $7,$1,6
|
||
+ xor $11,$2,$3
|
||
+ sll $10,$1,7
|
||
+ and $11,$1
|
||
+ srl $9,$1,11
|
||
+ xor $7,$10
|
||
+ sll $10,$1,21
|
||
+ xor $7,$9
|
||
+ srl $9,$1,25
|
||
+ xor $7,$10
|
||
+ sll $10,$1,26
|
||
+ xor $7,$9
|
||
+ xor $11,$3 # Ch(e,f,g)
|
||
+ xor $9,$10,$7 # Sigma1(e)
|
||
+
|
||
+ srl $7,$24,2
|
||
+ addu $8,$11
|
||
+ lw $11,48($6) # K[12]
|
||
+ sll $10,$24,10
|
||
+ addu $8,$9
|
||
+ srl $9,$24,13
|
||
+ xor $7,$10
|
||
+ sll $10,$24,19
|
||
+ xor $7,$9
|
||
+ srl $9,$24,22
|
||
+ xor $7,$10
|
||
+ sll $10,$24,30
|
||
+ xor $7,$9
|
||
+ and $9,$25,$30
|
||
+ xor $7,$10 # Sigma0(a)
|
||
+ xor $10,$25,$30
|
||
+#endif
|
||
+ sw $20,48($29) # offload to ring buffer
|
||
+ addu $7,$9
|
||
+ and $10,$24
|
||
+ addu $8,$11 # +=K[12]
|
||
+ addu $7,$10 # +=Maj(a,b,c)
|
||
+ addu $31,$8
|
||
+ addu $7,$8
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $22,56($5)
|
||
+#else
|
||
+ lwl $22,59($5)
|
||
+ lwr $22,56($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $21,$21 # byte swap(13)
|
||
+ rotr $21,$21,16
|
||
+#else
|
||
+ srl $10,$21,24 # byte swap(13)
|
||
+ srl $11,$21,8
|
||
+ andi $12,$21,0xFF00
|
||
+ sll $21,$21,24
|
||
+ andi $11,0xFF00
|
||
+ sll $12,$12,8
|
||
+ or $21,$10
|
||
+ or $11,$12
|
||
+ or $21,$11
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $12,$1,$2 # 13
|
||
+ rotr $10,$31,6
|
||
+ addu $9,$21,$3
|
||
+ rotr $11,$31,11
|
||
+ and $12,$31
|
||
+ rotr $3,$31,25
|
||
+ xor $10,$11
|
||
+ rotr $11,$7,2
|
||
+ xor $12,$2 # Ch(e,f,g)
|
||
+ xor $10,$3 # Sigma1(e)
|
||
+
|
||
+ rotr $3,$7,13
|
||
+ addu $9,$12
|
||
+ lw $12,52($6) # K[13]
|
||
+ xor $3,$11
|
||
+ rotr $11,$7,22
|
||
+ addu $9,$10
|
||
+ and $10,$24,$25
|
||
+ xor $3,$11 # Sigma0(a)
|
||
+ xor $11,$24,$25
|
||
+#else
|
||
+ addu $9,$21,$3 # 13
|
||
+ srl $3,$31,6
|
||
+ xor $12,$1,$2
|
||
+ sll $11,$31,7
|
||
+ and $12,$31
|
||
+ srl $10,$31,11
|
||
+ xor $3,$11
|
||
+ sll $11,$31,21
|
||
+ xor $3,$10
|
||
+ srl $10,$31,25
|
||
+ xor $3,$11
|
||
+ sll $11,$31,26
|
||
+ xor $3,$10
|
||
+ xor $12,$2 # Ch(e,f,g)
|
||
+ xor $10,$11,$3 # Sigma1(e)
|
||
+
|
||
+ srl $3,$7,2
|
||
+ addu $9,$12
|
||
+ lw $12,52($6) # K[13]
|
||
+ sll $11,$7,10
|
||
+ addu $9,$10
|
||
+ srl $10,$7,13
|
||
+ xor $3,$11
|
||
+ sll $11,$7,19
|
||
+ xor $3,$10
|
||
+ srl $10,$7,22
|
||
+ xor $3,$11
|
||
+ sll $11,$7,30
|
||
+ xor $3,$10
|
||
+ and $10,$24,$25
|
||
+ xor $3,$11 # Sigma0(a)
|
||
+ xor $11,$24,$25
|
||
+#endif
|
||
+ sw $21,52($29) # offload to ring buffer
|
||
+ addu $3,$10
|
||
+ and $11,$7
|
||
+ addu $9,$12 # +=K[13]
|
||
+ addu $3,$11 # +=Maj(a,b,c)
|
||
+ addu $30,$9
|
||
+ addu $3,$9
|
||
+ lw $8,0($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6)
|
||
+ lw $23,60($5)
|
||
+#else
|
||
+ lwl $23,63($5)
|
||
+ lwr $23,60($5)
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $22,$22 # byte swap(14)
|
||
+ rotr $22,$22,16
|
||
+#else
|
||
+ srl $11,$22,24 # byte swap(14)
|
||
+ srl $12,$22,8
|
||
+ andi $13,$22,0xFF00
|
||
+ sll $22,$22,24
|
||
+ andi $12,0xFF00
|
||
+ sll $13,$13,8
|
||
+ or $22,$11
|
||
+ or $12,$13
|
||
+ or $22,$12
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $13,$31,$1 # 14
|
||
+ rotr $11,$30,6
|
||
+ addu $10,$22,$2
|
||
+ rotr $12,$30,11
|
||
+ and $13,$30
|
||
+ rotr $2,$30,25
|
||
+ xor $11,$12
|
||
+ rotr $12,$3,2
|
||
+ xor $13,$1 # Ch(e,f,g)
|
||
+ xor $11,$2 # Sigma1(e)
|
||
+
|
||
+ rotr $2,$3,13
|
||
+ addu $10,$13
|
||
+ lw $13,56($6) # K[14]
|
||
+ xor $2,$12
|
||
+ rotr $12,$3,22
|
||
+ addu $10,$11
|
||
+ and $11,$7,$24
|
||
+ xor $2,$12 # Sigma0(a)
|
||
+ xor $12,$7,$24
|
||
+#else
|
||
+ addu $10,$22,$2 # 14
|
||
+ srl $2,$30,6
|
||
+ xor $13,$31,$1
|
||
+ sll $12,$30,7
|
||
+ and $13,$30
|
||
+ srl $11,$30,11
|
||
+ xor $2,$12
|
||
+ sll $12,$30,21
|
||
+ xor $2,$11
|
||
+ srl $11,$30,25
|
||
+ xor $2,$12
|
||
+ sll $12,$30,26
|
||
+ xor $2,$11
|
||
+ xor $13,$1 # Ch(e,f,g)
|
||
+ xor $11,$12,$2 # Sigma1(e)
|
||
+
|
||
+ srl $2,$3,2
|
||
+ addu $10,$13
|
||
+ lw $13,56($6) # K[14]
|
||
+ sll $12,$3,10
|
||
+ addu $10,$11
|
||
+ srl $11,$3,13
|
||
+ xor $2,$12
|
||
+ sll $12,$3,19
|
||
+ xor $2,$11
|
||
+ srl $11,$3,22
|
||
+ xor $2,$12
|
||
+ sll $12,$3,30
|
||
+ xor $2,$11
|
||
+ and $11,$7,$24
|
||
+ xor $2,$12 # Sigma0(a)
|
||
+ xor $12,$7,$24
|
||
+#endif
|
||
+ sw $22,56($29) # offload to ring buffer
|
||
+ addu $2,$11
|
||
+ and $12,$3
|
||
+ addu $10,$13 # +=K[14]
|
||
+ addu $2,$12 # +=Maj(a,b,c)
|
||
+ addu $25,$10
|
||
+ addu $2,$10
|
||
+ lw $9,4($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ wsbh $23,$23 # byte swap(15)
|
||
+ rotr $23,$23,16
|
||
+#else
|
||
+ srl $12,$23,24 # byte swap(15)
|
||
+ srl $13,$23,8
|
||
+ andi $14,$23,0xFF00
|
||
+ sll $23,$23,24
|
||
+ andi $13,0xFF00
|
||
+ sll $14,$14,8
|
||
+ or $23,$12
|
||
+ or $13,$14
|
||
+ or $23,$13
|
||
+#endif
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $14,$30,$31 # 15
|
||
+ rotr $12,$25,6
|
||
+ addu $11,$23,$1
|
||
+ rotr $13,$25,11
|
||
+ and $14,$25
|
||
+ rotr $1,$25,25
|
||
+ xor $12,$13
|
||
+ rotr $13,$2,2
|
||
+ xor $14,$31 # Ch(e,f,g)
|
||
+ xor $12,$1 # Sigma1(e)
|
||
+
|
||
+ rotr $1,$2,13
|
||
+ addu $11,$14
|
||
+ lw $14,60($6) # K[15]
|
||
+ xor $1,$13
|
||
+ rotr $13,$2,22
|
||
+ addu $11,$12
|
||
+ and $12,$3,$7
|
||
+ xor $1,$13 # Sigma0(a)
|
||
+ xor $13,$3,$7
|
||
+#else
|
||
+ addu $11,$23,$1 # 15
|
||
+ srl $1,$25,6
|
||
+ xor $14,$30,$31
|
||
+ sll $13,$25,7
|
||
+ and $14,$25
|
||
+ srl $12,$25,11
|
||
+ xor $1,$13
|
||
+ sll $13,$25,21
|
||
+ xor $1,$12
|
||
+ srl $12,$25,25
|
||
+ xor $1,$13
|
||
+ sll $13,$25,26
|
||
+ xor $1,$12
|
||
+ xor $14,$31 # Ch(e,f,g)
|
||
+ xor $12,$13,$1 # Sigma1(e)
|
||
+
|
||
+ srl $1,$2,2
|
||
+ addu $11,$14
|
||
+ lw $14,60($6) # K[15]
|
||
+ sll $13,$2,10
|
||
+ addu $11,$12
|
||
+ srl $12,$2,13
|
||
+ xor $1,$13
|
||
+ sll $13,$2,19
|
||
+ xor $1,$12
|
||
+ srl $12,$2,22
|
||
+ xor $1,$13
|
||
+ sll $13,$2,30
|
||
+ xor $1,$12
|
||
+ and $12,$3,$7
|
||
+ xor $1,$13 # Sigma0(a)
|
||
+ xor $13,$3,$7
|
||
+#endif
|
||
+ sw $23,60($29) # offload to ring buffer
|
||
+ addu $1,$12
|
||
+ and $13,$2
|
||
+ addu $11,$14 # +=K[15]
|
||
+ addu $1,$13 # +=Maj(a,b,c)
|
||
+ addu $24,$11
|
||
+ addu $1,$11
|
||
+ lw $10,8($29) # prefetch from ring buffer
|
||
+ b .L16_xx
|
||
+.align 4
|
||
+.L16_xx:
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $14,$9,3 # Xupdate(16)
|
||
+ rotr $12,$9,7
|
||
+ addu $8,$17 # +=X[i+9]
|
||
+ xor $14,$12
|
||
+ rotr $12,$9,18
|
||
+
|
||
+ srl $15,$22,10
|
||
+ rotr $13,$22,17
|
||
+ xor $14,$12 # sigma0(X[i+1])
|
||
+ rotr $12,$22,19
|
||
+ xor $15,$13
|
||
+ addu $8,$14
|
||
+#else
|
||
+ srl $14,$9,3 # Xupdate(16)
|
||
+ addu $8,$17 # +=X[i+9]
|
||
+ sll $13,$9,14
|
||
+ srl $12,$9,7
|
||
+ xor $14,$13
|
||
+ sll $13,11
|
||
+ xor $14,$12
|
||
+ srl $12,$9,18
|
||
+ xor $14,$13
|
||
+
|
||
+ srl $15,$22,10
|
||
+ xor $14,$12 # sigma0(X[i+1])
|
||
+ sll $13,$22,13
|
||
+ addu $8,$14
|
||
+ srl $12,$22,17
|
||
+ xor $15,$13
|
||
+ sll $13,2
|
||
+ xor $15,$12
|
||
+ srl $12,$22,19
|
||
+ xor $15,$13
|
||
+#endif
|
||
+ xor $15,$12 # sigma1(X[i+14])
|
||
+ addu $8,$15
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $15,$25,$30 # 16
|
||
+ rotr $13,$24,6
|
||
+ addu $12,$8,$31
|
||
+ rotr $14,$24,11
|
||
+ and $15,$24
|
||
+ rotr $31,$24,25
|
||
+ xor $13,$14
|
||
+ rotr $14,$1,2
|
||
+ xor $15,$30 # Ch(e,f,g)
|
||
+ xor $13,$31 # Sigma1(e)
|
||
+
|
||
+ rotr $31,$1,13
|
||
+ addu $12,$15
|
||
+ lw $15,64($6) # K[16]
|
||
+ xor $31,$14
|
||
+ rotr $14,$1,22
|
||
+ addu $12,$13
|
||
+ and $13,$2,$3
|
||
+ xor $31,$14 # Sigma0(a)
|
||
+ xor $14,$2,$3
|
||
+#else
|
||
+ addu $12,$8,$31 # 16
|
||
+ srl $31,$24,6
|
||
+ xor $15,$25,$30
|
||
+ sll $14,$24,7
|
||
+ and $15,$24
|
||
+ srl $13,$24,11
|
||
+ xor $31,$14
|
||
+ sll $14,$24,21
|
||
+ xor $31,$13
|
||
+ srl $13,$24,25
|
||
+ xor $31,$14
|
||
+ sll $14,$24,26
|
||
+ xor $31,$13
|
||
+ xor $15,$30 # Ch(e,f,g)
|
||
+ xor $13,$14,$31 # Sigma1(e)
|
||
+
|
||
+ srl $31,$1,2
|
||
+ addu $12,$15
|
||
+ lw $15,64($6) # K[16]
|
||
+ sll $14,$1,10
|
||
+ addu $12,$13
|
||
+ srl $13,$1,13
|
||
+ xor $31,$14
|
||
+ sll $14,$1,19
|
||
+ xor $31,$13
|
||
+ srl $13,$1,22
|
||
+ xor $31,$14
|
||
+ sll $14,$1,30
|
||
+ xor $31,$13
|
||
+ and $13,$2,$3
|
||
+ xor $31,$14 # Sigma0(a)
|
||
+ xor $14,$2,$3
|
||
+#endif
|
||
+ sw $8,0($29) # offload to ring buffer
|
||
+ addu $31,$13
|
||
+ and $14,$1
|
||
+ addu $12,$15 # +=K[16]
|
||
+ addu $31,$14 # +=Maj(a,b,c)
|
||
+ addu $7,$12
|
||
+ addu $31,$12
|
||
+ lw $11,12($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $15,$10,3 # Xupdate(17)
|
||
+ rotr $13,$10,7
|
||
+ addu $9,$18 # +=X[i+9]
|
||
+ xor $15,$13
|
||
+ rotr $13,$10,18
|
||
+
|
||
+ srl $16,$23,10
|
||
+ rotr $14,$23,17
|
||
+ xor $15,$13 # sigma0(X[i+1])
|
||
+ rotr $13,$23,19
|
||
+ xor $16,$14
|
||
+ addu $9,$15
|
||
+#else
|
||
+ srl $15,$10,3 # Xupdate(17)
|
||
+ addu $9,$18 # +=X[i+9]
|
||
+ sll $14,$10,14
|
||
+ srl $13,$10,7
|
||
+ xor $15,$14
|
||
+ sll $14,11
|
||
+ xor $15,$13
|
||
+ srl $13,$10,18
|
||
+ xor $15,$14
|
||
+
|
||
+ srl $16,$23,10
|
||
+ xor $15,$13 # sigma0(X[i+1])
|
||
+ sll $14,$23,13
|
||
+ addu $9,$15
|
||
+ srl $13,$23,17
|
||
+ xor $16,$14
|
||
+ sll $14,2
|
||
+ xor $16,$13
|
||
+ srl $13,$23,19
|
||
+ xor $16,$14
|
||
+#endif
|
||
+ xor $16,$13 # sigma1(X[i+14])
|
||
+ addu $9,$16
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $16,$24,$25 # 17
|
||
+ rotr $14,$7,6
|
||
+ addu $13,$9,$30
|
||
+ rotr $15,$7,11
|
||
+ and $16,$7
|
||
+ rotr $30,$7,25
|
||
+ xor $14,$15
|
||
+ rotr $15,$31,2
|
||
+ xor $16,$25 # Ch(e,f,g)
|
||
+ xor $14,$30 # Sigma1(e)
|
||
+
|
||
+ rotr $30,$31,13
|
||
+ addu $13,$16
|
||
+ lw $16,68($6) # K[17]
|
||
+ xor $30,$15
|
||
+ rotr $15,$31,22
|
||
+ addu $13,$14
|
||
+ and $14,$1,$2
|
||
+ xor $30,$15 # Sigma0(a)
|
||
+ xor $15,$1,$2
|
||
+#else
|
||
+ addu $13,$9,$30 # 17
|
||
+ srl $30,$7,6
|
||
+ xor $16,$24,$25
|
||
+ sll $15,$7,7
|
||
+ and $16,$7
|
||
+ srl $14,$7,11
|
||
+ xor $30,$15
|
||
+ sll $15,$7,21
|
||
+ xor $30,$14
|
||
+ srl $14,$7,25
|
||
+ xor $30,$15
|
||
+ sll $15,$7,26
|
||
+ xor $30,$14
|
||
+ xor $16,$25 # Ch(e,f,g)
|
||
+ xor $14,$15,$30 # Sigma1(e)
|
||
+
|
||
+ srl $30,$31,2
|
||
+ addu $13,$16
|
||
+ lw $16,68($6) # K[17]
|
||
+ sll $15,$31,10
|
||
+ addu $13,$14
|
||
+ srl $14,$31,13
|
||
+ xor $30,$15
|
||
+ sll $15,$31,19
|
||
+ xor $30,$14
|
||
+ srl $14,$31,22
|
||
+ xor $30,$15
|
||
+ sll $15,$31,30
|
||
+ xor $30,$14
|
||
+ and $14,$1,$2
|
||
+ xor $30,$15 # Sigma0(a)
|
||
+ xor $15,$1,$2
|
||
+#endif
|
||
+ sw $9,4($29) # offload to ring buffer
|
||
+ addu $30,$14
|
||
+ and $15,$31
|
||
+ addu $13,$16 # +=K[17]
|
||
+ addu $30,$15 # +=Maj(a,b,c)
|
||
+ addu $3,$13
|
||
+ addu $30,$13
|
||
+ lw $12,16($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $16,$11,3 # Xupdate(18)
|
||
+ rotr $14,$11,7
|
||
+ addu $10,$19 # +=X[i+9]
|
||
+ xor $16,$14
|
||
+ rotr $14,$11,18
|
||
+
|
||
+ srl $17,$8,10
|
||
+ rotr $15,$8,17
|
||
+ xor $16,$14 # sigma0(X[i+1])
|
||
+ rotr $14,$8,19
|
||
+ xor $17,$15
|
||
+ addu $10,$16
|
||
+#else
|
||
+ srl $16,$11,3 # Xupdate(18)
|
||
+ addu $10,$19 # +=X[i+9]
|
||
+ sll $15,$11,14
|
||
+ srl $14,$11,7
|
||
+ xor $16,$15
|
||
+ sll $15,11
|
||
+ xor $16,$14
|
||
+ srl $14,$11,18
|
||
+ xor $16,$15
|
||
+
|
||
+ srl $17,$8,10
|
||
+ xor $16,$14 # sigma0(X[i+1])
|
||
+ sll $15,$8,13
|
||
+ addu $10,$16
|
||
+ srl $14,$8,17
|
||
+ xor $17,$15
|
||
+ sll $15,2
|
||
+ xor $17,$14
|
||
+ srl $14,$8,19
|
||
+ xor $17,$15
|
||
+#endif
|
||
+ xor $17,$14 # sigma1(X[i+14])
|
||
+ addu $10,$17
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $17,$7,$24 # 18
|
||
+ rotr $15,$3,6
|
||
+ addu $14,$10,$25
|
||
+ rotr $16,$3,11
|
||
+ and $17,$3
|
||
+ rotr $25,$3,25
|
||
+ xor $15,$16
|
||
+ rotr $16,$30,2
|
||
+ xor $17,$24 # Ch(e,f,g)
|
||
+ xor $15,$25 # Sigma1(e)
|
||
+
|
||
+ rotr $25,$30,13
|
||
+ addu $14,$17
|
||
+ lw $17,72($6) # K[18]
|
||
+ xor $25,$16
|
||
+ rotr $16,$30,22
|
||
+ addu $14,$15
|
||
+ and $15,$31,$1
|
||
+ xor $25,$16 # Sigma0(a)
|
||
+ xor $16,$31,$1
|
||
+#else
|
||
+ addu $14,$10,$25 # 18
|
||
+ srl $25,$3,6
|
||
+ xor $17,$7,$24
|
||
+ sll $16,$3,7
|
||
+ and $17,$3
|
||
+ srl $15,$3,11
|
||
+ xor $25,$16
|
||
+ sll $16,$3,21
|
||
+ xor $25,$15
|
||
+ srl $15,$3,25
|
||
+ xor $25,$16
|
||
+ sll $16,$3,26
|
||
+ xor $25,$15
|
||
+ xor $17,$24 # Ch(e,f,g)
|
||
+ xor $15,$16,$25 # Sigma1(e)
|
||
+
|
||
+ srl $25,$30,2
|
||
+ addu $14,$17
|
||
+ lw $17,72($6) # K[18]
|
||
+ sll $16,$30,10
|
||
+ addu $14,$15
|
||
+ srl $15,$30,13
|
||
+ xor $25,$16
|
||
+ sll $16,$30,19
|
||
+ xor $25,$15
|
||
+ srl $15,$30,22
|
||
+ xor $25,$16
|
||
+ sll $16,$30,30
|
||
+ xor $25,$15
|
||
+ and $15,$31,$1
|
||
+ xor $25,$16 # Sigma0(a)
|
||
+ xor $16,$31,$1
|
||
+#endif
|
||
+ sw $10,8($29) # offload to ring buffer
|
||
+ addu $25,$15
|
||
+ and $16,$30
|
||
+ addu $14,$17 # +=K[18]
|
||
+ addu $25,$16 # +=Maj(a,b,c)
|
||
+ addu $2,$14
|
||
+ addu $25,$14
|
||
+ lw $13,20($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $17,$12,3 # Xupdate(19)
|
||
+ rotr $15,$12,7
|
||
+ addu $11,$20 # +=X[i+9]
|
||
+ xor $17,$15
|
||
+ rotr $15,$12,18
|
||
+
|
||
+ srl $18,$9,10
|
||
+ rotr $16,$9,17
|
||
+ xor $17,$15 # sigma0(X[i+1])
|
||
+ rotr $15,$9,19
|
||
+ xor $18,$16
|
||
+ addu $11,$17
|
||
+#else
|
||
+ srl $17,$12,3 # Xupdate(19)
|
||
+ addu $11,$20 # +=X[i+9]
|
||
+ sll $16,$12,14
|
||
+ srl $15,$12,7
|
||
+ xor $17,$16
|
||
+ sll $16,11
|
||
+ xor $17,$15
|
||
+ srl $15,$12,18
|
||
+ xor $17,$16
|
||
+
|
||
+ srl $18,$9,10
|
||
+ xor $17,$15 # sigma0(X[i+1])
|
||
+ sll $16,$9,13
|
||
+ addu $11,$17
|
||
+ srl $15,$9,17
|
||
+ xor $18,$16
|
||
+ sll $16,2
|
||
+ xor $18,$15
|
||
+ srl $15,$9,19
|
||
+ xor $18,$16
|
||
+#endif
|
||
+ xor $18,$15 # sigma1(X[i+14])
|
||
+ addu $11,$18
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $18,$3,$7 # 19
|
||
+ rotr $16,$2,6
|
||
+ addu $15,$11,$24
|
||
+ rotr $17,$2,11
|
||
+ and $18,$2
|
||
+ rotr $24,$2,25
|
||
+ xor $16,$17
|
||
+ rotr $17,$25,2
|
||
+ xor $18,$7 # Ch(e,f,g)
|
||
+ xor $16,$24 # Sigma1(e)
|
||
+
|
||
+ rotr $24,$25,13
|
||
+ addu $15,$18
|
||
+ lw $18,76($6) # K[19]
|
||
+ xor $24,$17
|
||
+ rotr $17,$25,22
|
||
+ addu $15,$16
|
||
+ and $16,$30,$31
|
||
+ xor $24,$17 # Sigma0(a)
|
||
+ xor $17,$30,$31
|
||
+#else
|
||
+ addu $15,$11,$24 # 19
|
||
+ srl $24,$2,6
|
||
+ xor $18,$3,$7
|
||
+ sll $17,$2,7
|
||
+ and $18,$2
|
||
+ srl $16,$2,11
|
||
+ xor $24,$17
|
||
+ sll $17,$2,21
|
||
+ xor $24,$16
|
||
+ srl $16,$2,25
|
||
+ xor $24,$17
|
||
+ sll $17,$2,26
|
||
+ xor $24,$16
|
||
+ xor $18,$7 # Ch(e,f,g)
|
||
+ xor $16,$17,$24 # Sigma1(e)
|
||
+
|
||
+ srl $24,$25,2
|
||
+ addu $15,$18
|
||
+ lw $18,76($6) # K[19]
|
||
+ sll $17,$25,10
|
||
+ addu $15,$16
|
||
+ srl $16,$25,13
|
||
+ xor $24,$17
|
||
+ sll $17,$25,19
|
||
+ xor $24,$16
|
||
+ srl $16,$25,22
|
||
+ xor $24,$17
|
||
+ sll $17,$25,30
|
||
+ xor $24,$16
|
||
+ and $16,$30,$31
|
||
+ xor $24,$17 # Sigma0(a)
|
||
+ xor $17,$30,$31
|
||
+#endif
|
||
+ sw $11,12($29) # offload to ring buffer
|
||
+ addu $24,$16
|
||
+ and $17,$25
|
||
+ addu $15,$18 # +=K[19]
|
||
+ addu $24,$17 # +=Maj(a,b,c)
|
||
+ addu $1,$15
|
||
+ addu $24,$15
|
||
+ lw $14,24($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $18,$13,3 # Xupdate(20)
|
||
+ rotr $16,$13,7
|
||
+ addu $12,$21 # +=X[i+9]
|
||
+ xor $18,$16
|
||
+ rotr $16,$13,18
|
||
+
|
||
+ srl $19,$10,10
|
||
+ rotr $17,$10,17
|
||
+ xor $18,$16 # sigma0(X[i+1])
|
||
+ rotr $16,$10,19
|
||
+ xor $19,$17
|
||
+ addu $12,$18
|
||
+#else
|
||
+ srl $18,$13,3 # Xupdate(20)
|
||
+ addu $12,$21 # +=X[i+9]
|
||
+ sll $17,$13,14
|
||
+ srl $16,$13,7
|
||
+ xor $18,$17
|
||
+ sll $17,11
|
||
+ xor $18,$16
|
||
+ srl $16,$13,18
|
||
+ xor $18,$17
|
||
+
|
||
+ srl $19,$10,10
|
||
+ xor $18,$16 # sigma0(X[i+1])
|
||
+ sll $17,$10,13
|
||
+ addu $12,$18
|
||
+ srl $16,$10,17
|
||
+ xor $19,$17
|
||
+ sll $17,2
|
||
+ xor $19,$16
|
||
+ srl $16,$10,19
|
||
+ xor $19,$17
|
||
+#endif
|
||
+ xor $19,$16 # sigma1(X[i+14])
|
||
+ addu $12,$19
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $19,$2,$3 # 20
|
||
+ rotr $17,$1,6
|
||
+ addu $16,$12,$7
|
||
+ rotr $18,$1,11
|
||
+ and $19,$1
|
||
+ rotr $7,$1,25
|
||
+ xor $17,$18
|
||
+ rotr $18,$24,2
|
||
+ xor $19,$3 # Ch(e,f,g)
|
||
+ xor $17,$7 # Sigma1(e)
|
||
+
|
||
+ rotr $7,$24,13
|
||
+ addu $16,$19
|
||
+ lw $19,80($6) # K[20]
|
||
+ xor $7,$18
|
||
+ rotr $18,$24,22
|
||
+ addu $16,$17
|
||
+ and $17,$25,$30
|
||
+ xor $7,$18 # Sigma0(a)
|
||
+ xor $18,$25,$30
|
||
+#else
|
||
+ addu $16,$12,$7 # 20
|
||
+ srl $7,$1,6
|
||
+ xor $19,$2,$3
|
||
+ sll $18,$1,7
|
||
+ and $19,$1
|
||
+ srl $17,$1,11
|
||
+ xor $7,$18
|
||
+ sll $18,$1,21
|
||
+ xor $7,$17
|
||
+ srl $17,$1,25
|
||
+ xor $7,$18
|
||
+ sll $18,$1,26
|
||
+ xor $7,$17
|
||
+ xor $19,$3 # Ch(e,f,g)
|
||
+ xor $17,$18,$7 # Sigma1(e)
|
||
+
|
||
+ srl $7,$24,2
|
||
+ addu $16,$19
|
||
+ lw $19,80($6) # K[20]
|
||
+ sll $18,$24,10
|
||
+ addu $16,$17
|
||
+ srl $17,$24,13
|
||
+ xor $7,$18
|
||
+ sll $18,$24,19
|
||
+ xor $7,$17
|
||
+ srl $17,$24,22
|
||
+ xor $7,$18
|
||
+ sll $18,$24,30
|
||
+ xor $7,$17
|
||
+ and $17,$25,$30
|
||
+ xor $7,$18 # Sigma0(a)
|
||
+ xor $18,$25,$30
|
||
+#endif
|
||
+ sw $12,16($29) # offload to ring buffer
|
||
+ addu $7,$17
|
||
+ and $18,$24
|
||
+ addu $16,$19 # +=K[20]
|
||
+ addu $7,$18 # +=Maj(a,b,c)
|
||
+ addu $31,$16
|
||
+ addu $7,$16
|
||
+ lw $15,28($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $19,$14,3 # Xupdate(21)
|
||
+ rotr $17,$14,7
|
||
+ addu $13,$22 # +=X[i+9]
|
||
+ xor $19,$17
|
||
+ rotr $17,$14,18
|
||
+
|
||
+ srl $20,$11,10
|
||
+ rotr $18,$11,17
|
||
+ xor $19,$17 # sigma0(X[i+1])
|
||
+ rotr $17,$11,19
|
||
+ xor $20,$18
|
||
+ addu $13,$19
|
||
+#else
|
||
+ srl $19,$14,3 # Xupdate(21)
|
||
+ addu $13,$22 # +=X[i+9]
|
||
+ sll $18,$14,14
|
||
+ srl $17,$14,7
|
||
+ xor $19,$18
|
||
+ sll $18,11
|
||
+ xor $19,$17
|
||
+ srl $17,$14,18
|
||
+ xor $19,$18
|
||
+
|
||
+ srl $20,$11,10
|
||
+ xor $19,$17 # sigma0(X[i+1])
|
||
+ sll $18,$11,13
|
||
+ addu $13,$19
|
||
+ srl $17,$11,17
|
||
+ xor $20,$18
|
||
+ sll $18,2
|
||
+ xor $20,$17
|
||
+ srl $17,$11,19
|
||
+ xor $20,$18
|
||
+#endif
|
||
+ xor $20,$17 # sigma1(X[i+14])
|
||
+ addu $13,$20
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $20,$1,$2 # 21
|
||
+ rotr $18,$31,6
|
||
+ addu $17,$13,$3
|
||
+ rotr $19,$31,11
|
||
+ and $20,$31
|
||
+ rotr $3,$31,25
|
||
+ xor $18,$19
|
||
+ rotr $19,$7,2
|
||
+ xor $20,$2 # Ch(e,f,g)
|
||
+ xor $18,$3 # Sigma1(e)
|
||
+
|
||
+ rotr $3,$7,13
|
||
+ addu $17,$20
|
||
+ lw $20,84($6) # K[21]
|
||
+ xor $3,$19
|
||
+ rotr $19,$7,22
|
||
+ addu $17,$18
|
||
+ and $18,$24,$25
|
||
+ xor $3,$19 # Sigma0(a)
|
||
+ xor $19,$24,$25
|
||
+#else
|
||
+ addu $17,$13,$3 # 21
|
||
+ srl $3,$31,6
|
||
+ xor $20,$1,$2
|
||
+ sll $19,$31,7
|
||
+ and $20,$31
|
||
+ srl $18,$31,11
|
||
+ xor $3,$19
|
||
+ sll $19,$31,21
|
||
+ xor $3,$18
|
||
+ srl $18,$31,25
|
||
+ xor $3,$19
|
||
+ sll $19,$31,26
|
||
+ xor $3,$18
|
||
+ xor $20,$2 # Ch(e,f,g)
|
||
+ xor $18,$19,$3 # Sigma1(e)
|
||
+
|
||
+ srl $3,$7,2
|
||
+ addu $17,$20
|
||
+ lw $20,84($6) # K[21]
|
||
+ sll $19,$7,10
|
||
+ addu $17,$18
|
||
+ srl $18,$7,13
|
||
+ xor $3,$19
|
||
+ sll $19,$7,19
|
||
+ xor $3,$18
|
||
+ srl $18,$7,22
|
||
+ xor $3,$19
|
||
+ sll $19,$7,30
|
||
+ xor $3,$18
|
||
+ and $18,$24,$25
|
||
+ xor $3,$19 # Sigma0(a)
|
||
+ xor $19,$24,$25
|
||
+#endif
|
||
+ sw $13,20($29) # offload to ring buffer
|
||
+ addu $3,$18
|
||
+ and $19,$7
|
||
+ addu $17,$20 # +=K[21]
|
||
+ addu $3,$19 # +=Maj(a,b,c)
|
||
+ addu $30,$17
|
||
+ addu $3,$17
|
||
+ lw $16,32($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $20,$15,3 # Xupdate(22)
|
||
+ rotr $18,$15,7
|
||
+ addu $14,$23 # +=X[i+9]
|
||
+ xor $20,$18
|
||
+ rotr $18,$15,18
|
||
+
|
||
+ srl $21,$12,10
|
||
+ rotr $19,$12,17
|
||
+ xor $20,$18 # sigma0(X[i+1])
|
||
+ rotr $18,$12,19
|
||
+ xor $21,$19
|
||
+ addu $14,$20
|
||
+#else
|
||
+ srl $20,$15,3 # Xupdate(22)
|
||
+ addu $14,$23 # +=X[i+9]
|
||
+ sll $19,$15,14
|
||
+ srl $18,$15,7
|
||
+ xor $20,$19
|
||
+ sll $19,11
|
||
+ xor $20,$18
|
||
+ srl $18,$15,18
|
||
+ xor $20,$19
|
||
+
|
||
+ srl $21,$12,10
|
||
+ xor $20,$18 # sigma0(X[i+1])
|
||
+ sll $19,$12,13
|
||
+ addu $14,$20
|
||
+ srl $18,$12,17
|
||
+ xor $21,$19
|
||
+ sll $19,2
|
||
+ xor $21,$18
|
||
+ srl $18,$12,19
|
||
+ xor $21,$19
|
||
+#endif
|
||
+ xor $21,$18 # sigma1(X[i+14])
|
||
+ addu $14,$21
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $21,$31,$1 # 22
|
||
+ rotr $19,$30,6
|
||
+ addu $18,$14,$2
|
||
+ rotr $20,$30,11
|
||
+ and $21,$30
|
||
+ rotr $2,$30,25
|
||
+ xor $19,$20
|
||
+ rotr $20,$3,2
|
||
+ xor $21,$1 # Ch(e,f,g)
|
||
+ xor $19,$2 # Sigma1(e)
|
||
+
|
||
+ rotr $2,$3,13
|
||
+ addu $18,$21
|
||
+ lw $21,88($6) # K[22]
|
||
+ xor $2,$20
|
||
+ rotr $20,$3,22
|
||
+ addu $18,$19
|
||
+ and $19,$7,$24
|
||
+ xor $2,$20 # Sigma0(a)
|
||
+ xor $20,$7,$24
|
||
+#else
|
||
+ addu $18,$14,$2 # 22
|
||
+ srl $2,$30,6
|
||
+ xor $21,$31,$1
|
||
+ sll $20,$30,7
|
||
+ and $21,$30
|
||
+ srl $19,$30,11
|
||
+ xor $2,$20
|
||
+ sll $20,$30,21
|
||
+ xor $2,$19
|
||
+ srl $19,$30,25
|
||
+ xor $2,$20
|
||
+ sll $20,$30,26
|
||
+ xor $2,$19
|
||
+ xor $21,$1 # Ch(e,f,g)
|
||
+ xor $19,$20,$2 # Sigma1(e)
|
||
+
|
||
+ srl $2,$3,2
|
||
+ addu $18,$21
|
||
+ lw $21,88($6) # K[22]
|
||
+ sll $20,$3,10
|
||
+ addu $18,$19
|
||
+ srl $19,$3,13
|
||
+ xor $2,$20
|
||
+ sll $20,$3,19
|
||
+ xor $2,$19
|
||
+ srl $19,$3,22
|
||
+ xor $2,$20
|
||
+ sll $20,$3,30
|
||
+ xor $2,$19
|
||
+ and $19,$7,$24
|
||
+ xor $2,$20 # Sigma0(a)
|
||
+ xor $20,$7,$24
|
||
+#endif
|
||
+ sw $14,24($29) # offload to ring buffer
|
||
+ addu $2,$19
|
||
+ and $20,$3
|
||
+ addu $18,$21 # +=K[22]
|
||
+ addu $2,$20 # +=Maj(a,b,c)
|
||
+ addu $25,$18
|
||
+ addu $2,$18
|
||
+ lw $17,36($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $21,$16,3 # Xupdate(23)
|
||
+ rotr $19,$16,7
|
||
+ addu $15,$8 # +=X[i+9]
|
||
+ xor $21,$19
|
||
+ rotr $19,$16,18
|
||
+
|
||
+ srl $22,$13,10
|
||
+ rotr $20,$13,17
|
||
+ xor $21,$19 # sigma0(X[i+1])
|
||
+ rotr $19,$13,19
|
||
+ xor $22,$20
|
||
+ addu $15,$21
|
||
+#else
|
||
+ srl $21,$16,3 # Xupdate(23)
|
||
+ addu $15,$8 # +=X[i+9]
|
||
+ sll $20,$16,14
|
||
+ srl $19,$16,7
|
||
+ xor $21,$20
|
||
+ sll $20,11
|
||
+ xor $21,$19
|
||
+ srl $19,$16,18
|
||
+ xor $21,$20
|
||
+
|
||
+ srl $22,$13,10
|
||
+ xor $21,$19 # sigma0(X[i+1])
|
||
+ sll $20,$13,13
|
||
+ addu $15,$21
|
||
+ srl $19,$13,17
|
||
+ xor $22,$20
|
||
+ sll $20,2
|
||
+ xor $22,$19
|
||
+ srl $19,$13,19
|
||
+ xor $22,$20
|
||
+#endif
|
||
+ xor $22,$19 # sigma1(X[i+14])
|
||
+ addu $15,$22
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $22,$30,$31 # 23
|
||
+ rotr $20,$25,6
|
||
+ addu $19,$15,$1
|
||
+ rotr $21,$25,11
|
||
+ and $22,$25
|
||
+ rotr $1,$25,25
|
||
+ xor $20,$21
|
||
+ rotr $21,$2,2
|
||
+ xor $22,$31 # Ch(e,f,g)
|
||
+ xor $20,$1 # Sigma1(e)
|
||
+
|
||
+ rotr $1,$2,13
|
||
+ addu $19,$22
|
||
+ lw $22,92($6) # K[23]
|
||
+ xor $1,$21
|
||
+ rotr $21,$2,22
|
||
+ addu $19,$20
|
||
+ and $20,$3,$7
|
||
+ xor $1,$21 # Sigma0(a)
|
||
+ xor $21,$3,$7
|
||
+#else
|
||
+ addu $19,$15,$1 # 23
|
||
+ srl $1,$25,6
|
||
+ xor $22,$30,$31
|
||
+ sll $21,$25,7
|
||
+ and $22,$25
|
||
+ srl $20,$25,11
|
||
+ xor $1,$21
|
||
+ sll $21,$25,21
|
||
+ xor $1,$20
|
||
+ srl $20,$25,25
|
||
+ xor $1,$21
|
||
+ sll $21,$25,26
|
||
+ xor $1,$20
|
||
+ xor $22,$31 # Ch(e,f,g)
|
||
+ xor $20,$21,$1 # Sigma1(e)
|
||
+
|
||
+ srl $1,$2,2
|
||
+ addu $19,$22
|
||
+ lw $22,92($6) # K[23]
|
||
+ sll $21,$2,10
|
||
+ addu $19,$20
|
||
+ srl $20,$2,13
|
||
+ xor $1,$21
|
||
+ sll $21,$2,19
|
||
+ xor $1,$20
|
||
+ srl $20,$2,22
|
||
+ xor $1,$21
|
||
+ sll $21,$2,30
|
||
+ xor $1,$20
|
||
+ and $20,$3,$7
|
||
+ xor $1,$21 # Sigma0(a)
|
||
+ xor $21,$3,$7
|
||
+#endif
|
||
+ sw $15,28($29) # offload to ring buffer
|
||
+ addu $1,$20
|
||
+ and $21,$2
|
||
+ addu $19,$22 # +=K[23]
|
||
+ addu $1,$21 # +=Maj(a,b,c)
|
||
+ addu $24,$19
|
||
+ addu $1,$19
|
||
+ lw $18,40($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $22,$17,3 # Xupdate(24)
|
||
+ rotr $20,$17,7
|
||
+ addu $16,$9 # +=X[i+9]
|
||
+ xor $22,$20
|
||
+ rotr $20,$17,18
|
||
+
|
||
+ srl $23,$14,10
|
||
+ rotr $21,$14,17
|
||
+ xor $22,$20 # sigma0(X[i+1])
|
||
+ rotr $20,$14,19
|
||
+ xor $23,$21
|
||
+ addu $16,$22
|
||
+#else
|
||
+ srl $22,$17,3 # Xupdate(24)
|
||
+ addu $16,$9 # +=X[i+9]
|
||
+ sll $21,$17,14
|
||
+ srl $20,$17,7
|
||
+ xor $22,$21
|
||
+ sll $21,11
|
||
+ xor $22,$20
|
||
+ srl $20,$17,18
|
||
+ xor $22,$21
|
||
+
|
||
+ srl $23,$14,10
|
||
+ xor $22,$20 # sigma0(X[i+1])
|
||
+ sll $21,$14,13
|
||
+ addu $16,$22
|
||
+ srl $20,$14,17
|
||
+ xor $23,$21
|
||
+ sll $21,2
|
||
+ xor $23,$20
|
||
+ srl $20,$14,19
|
||
+ xor $23,$21
|
||
+#endif
|
||
+ xor $23,$20 # sigma1(X[i+14])
|
||
+ addu $16,$23
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $23,$25,$30 # 24
|
||
+ rotr $21,$24,6
|
||
+ addu $20,$16,$31
|
||
+ rotr $22,$24,11
|
||
+ and $23,$24
|
||
+ rotr $31,$24,25
|
||
+ xor $21,$22
|
||
+ rotr $22,$1,2
|
||
+ xor $23,$30 # Ch(e,f,g)
|
||
+ xor $21,$31 # Sigma1(e)
|
||
+
|
||
+ rotr $31,$1,13
|
||
+ addu $20,$23
|
||
+ lw $23,96($6) # K[24]
|
||
+ xor $31,$22
|
||
+ rotr $22,$1,22
|
||
+ addu $20,$21
|
||
+ and $21,$2,$3
|
||
+ xor $31,$22 # Sigma0(a)
|
||
+ xor $22,$2,$3
|
||
+#else
|
||
+ addu $20,$16,$31 # 24
|
||
+ srl $31,$24,6
|
||
+ xor $23,$25,$30
|
||
+ sll $22,$24,7
|
||
+ and $23,$24
|
||
+ srl $21,$24,11
|
||
+ xor $31,$22
|
||
+ sll $22,$24,21
|
||
+ xor $31,$21
|
||
+ srl $21,$24,25
|
||
+ xor $31,$22
|
||
+ sll $22,$24,26
|
||
+ xor $31,$21
|
||
+ xor $23,$30 # Ch(e,f,g)
|
||
+ xor $21,$22,$31 # Sigma1(e)
|
||
+
|
||
+ srl $31,$1,2
|
||
+ addu $20,$23
|
||
+ lw $23,96($6) # K[24]
|
||
+ sll $22,$1,10
|
||
+ addu $20,$21
|
||
+ srl $21,$1,13
|
||
+ xor $31,$22
|
||
+ sll $22,$1,19
|
||
+ xor $31,$21
|
||
+ srl $21,$1,22
|
||
+ xor $31,$22
|
||
+ sll $22,$1,30
|
||
+ xor $31,$21
|
||
+ and $21,$2,$3
|
||
+ xor $31,$22 # Sigma0(a)
|
||
+ xor $22,$2,$3
|
||
+#endif
|
||
+ sw $16,32($29) # offload to ring buffer
|
||
+ addu $31,$21
|
||
+ and $22,$1
|
||
+ addu $20,$23 # +=K[24]
|
||
+ addu $31,$22 # +=Maj(a,b,c)
|
||
+ addu $7,$20
|
||
+ addu $31,$20
|
||
+ lw $19,44($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $23,$18,3 # Xupdate(25)
|
||
+ rotr $21,$18,7
|
||
+ addu $17,$10 # +=X[i+9]
|
||
+ xor $23,$21
|
||
+ rotr $21,$18,18
|
||
+
|
||
+ srl $8,$15,10
|
||
+ rotr $22,$15,17
|
||
+ xor $23,$21 # sigma0(X[i+1])
|
||
+ rotr $21,$15,19
|
||
+ xor $8,$22
|
||
+ addu $17,$23
|
||
+#else
|
||
+ srl $23,$18,3 # Xupdate(25)
|
||
+ addu $17,$10 # +=X[i+9]
|
||
+ sll $22,$18,14
|
||
+ srl $21,$18,7
|
||
+ xor $23,$22
|
||
+ sll $22,11
|
||
+ xor $23,$21
|
||
+ srl $21,$18,18
|
||
+ xor $23,$22
|
||
+
|
||
+ srl $8,$15,10
|
||
+ xor $23,$21 # sigma0(X[i+1])
|
||
+ sll $22,$15,13
|
||
+ addu $17,$23
|
||
+ srl $21,$15,17
|
||
+ xor $8,$22
|
||
+ sll $22,2
|
||
+ xor $8,$21
|
||
+ srl $21,$15,19
|
||
+ xor $8,$22
|
||
+#endif
|
||
+ xor $8,$21 # sigma1(X[i+14])
|
||
+ addu $17,$8
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $8,$24,$25 # 25
|
||
+ rotr $22,$7,6
|
||
+ addu $21,$17,$30
|
||
+ rotr $23,$7,11
|
||
+ and $8,$7
|
||
+ rotr $30,$7,25
|
||
+ xor $22,$23
|
||
+ rotr $23,$31,2
|
||
+ xor $8,$25 # Ch(e,f,g)
|
||
+ xor $22,$30 # Sigma1(e)
|
||
+
|
||
+ rotr $30,$31,13
|
||
+ addu $21,$8
|
||
+ lw $8,100($6) # K[25]
|
||
+ xor $30,$23
|
||
+ rotr $23,$31,22
|
||
+ addu $21,$22
|
||
+ and $22,$1,$2
|
||
+ xor $30,$23 # Sigma0(a)
|
||
+ xor $23,$1,$2
|
||
+#else
|
||
+ addu $21,$17,$30 # 25
|
||
+ srl $30,$7,6
|
||
+ xor $8,$24,$25
|
||
+ sll $23,$7,7
|
||
+ and $8,$7
|
||
+ srl $22,$7,11
|
||
+ xor $30,$23
|
||
+ sll $23,$7,21
|
||
+ xor $30,$22
|
||
+ srl $22,$7,25
|
||
+ xor $30,$23
|
||
+ sll $23,$7,26
|
||
+ xor $30,$22
|
||
+ xor $8,$25 # Ch(e,f,g)
|
||
+ xor $22,$23,$30 # Sigma1(e)
|
||
+
|
||
+ srl $30,$31,2
|
||
+ addu $21,$8
|
||
+ lw $8,100($6) # K[25]
|
||
+ sll $23,$31,10
|
||
+ addu $21,$22
|
||
+ srl $22,$31,13
|
||
+ xor $30,$23
|
||
+ sll $23,$31,19
|
||
+ xor $30,$22
|
||
+ srl $22,$31,22
|
||
+ xor $30,$23
|
||
+ sll $23,$31,30
|
||
+ xor $30,$22
|
||
+ and $22,$1,$2
|
||
+ xor $30,$23 # Sigma0(a)
|
||
+ xor $23,$1,$2
|
||
+#endif
|
||
+ sw $17,36($29) # offload to ring buffer
|
||
+ addu $30,$22
|
||
+ and $23,$31
|
||
+ addu $21,$8 # +=K[25]
|
||
+ addu $30,$23 # +=Maj(a,b,c)
|
||
+ addu $3,$21
|
||
+ addu $30,$21
|
||
+ lw $20,48($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $8,$19,3 # Xupdate(26)
|
||
+ rotr $22,$19,7
|
||
+ addu $18,$11 # +=X[i+9]
|
||
+ xor $8,$22
|
||
+ rotr $22,$19,18
|
||
+
|
||
+ srl $9,$16,10
|
||
+ rotr $23,$16,17
|
||
+ xor $8,$22 # sigma0(X[i+1])
|
||
+ rotr $22,$16,19
|
||
+ xor $9,$23
|
||
+ addu $18,$8
|
||
+#else
|
||
+ srl $8,$19,3 # Xupdate(26)
|
||
+ addu $18,$11 # +=X[i+9]
|
||
+ sll $23,$19,14
|
||
+ srl $22,$19,7
|
||
+ xor $8,$23
|
||
+ sll $23,11
|
||
+ xor $8,$22
|
||
+ srl $22,$19,18
|
||
+ xor $8,$23
|
||
+
|
||
+ srl $9,$16,10
|
||
+ xor $8,$22 # sigma0(X[i+1])
|
||
+ sll $23,$16,13
|
||
+ addu $18,$8
|
||
+ srl $22,$16,17
|
||
+ xor $9,$23
|
||
+ sll $23,2
|
||
+ xor $9,$22
|
||
+ srl $22,$16,19
|
||
+ xor $9,$23
|
||
+#endif
|
||
+ xor $9,$22 # sigma1(X[i+14])
|
||
+ addu $18,$9
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $9,$7,$24 # 26
|
||
+ rotr $23,$3,6
|
||
+ addu $22,$18,$25
|
||
+ rotr $8,$3,11
|
||
+ and $9,$3
|
||
+ rotr $25,$3,25
|
||
+ xor $23,$8
|
||
+ rotr $8,$30,2
|
||
+ xor $9,$24 # Ch(e,f,g)
|
||
+ xor $23,$25 # Sigma1(e)
|
||
+
|
||
+ rotr $25,$30,13
|
||
+ addu $22,$9
|
||
+ lw $9,104($6) # K[26]
|
||
+ xor $25,$8
|
||
+ rotr $8,$30,22
|
||
+ addu $22,$23
|
||
+ and $23,$31,$1
|
||
+ xor $25,$8 # Sigma0(a)
|
||
+ xor $8,$31,$1
|
||
+#else
|
||
+ addu $22,$18,$25 # 26
|
||
+ srl $25,$3,6
|
||
+ xor $9,$7,$24
|
||
+ sll $8,$3,7
|
||
+ and $9,$3
|
||
+ srl $23,$3,11
|
||
+ xor $25,$8
|
||
+ sll $8,$3,21
|
||
+ xor $25,$23
|
||
+ srl $23,$3,25
|
||
+ xor $25,$8
|
||
+ sll $8,$3,26
|
||
+ xor $25,$23
|
||
+ xor $9,$24 # Ch(e,f,g)
|
||
+ xor $23,$8,$25 # Sigma1(e)
|
||
+
|
||
+ srl $25,$30,2
|
||
+ addu $22,$9
|
||
+ lw $9,104($6) # K[26]
|
||
+ sll $8,$30,10
|
||
+ addu $22,$23
|
||
+ srl $23,$30,13
|
||
+ xor $25,$8
|
||
+ sll $8,$30,19
|
||
+ xor $25,$23
|
||
+ srl $23,$30,22
|
||
+ xor $25,$8
|
||
+ sll $8,$30,30
|
||
+ xor $25,$23
|
||
+ and $23,$31,$1
|
||
+ xor $25,$8 # Sigma0(a)
|
||
+ xor $8,$31,$1
|
||
+#endif
|
||
+ sw $18,40($29) # offload to ring buffer
|
||
+ addu $25,$23
|
||
+ and $8,$30
|
||
+ addu $22,$9 # +=K[26]
|
||
+ addu $25,$8 # +=Maj(a,b,c)
|
||
+ addu $2,$22
|
||
+ addu $25,$22
|
||
+ lw $21,52($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $9,$20,3 # Xupdate(27)
|
||
+ rotr $23,$20,7
|
||
+ addu $19,$12 # +=X[i+9]
|
||
+ xor $9,$23
|
||
+ rotr $23,$20,18
|
||
+
|
||
+ srl $10,$17,10
|
||
+ rotr $8,$17,17
|
||
+ xor $9,$23 # sigma0(X[i+1])
|
||
+ rotr $23,$17,19
|
||
+ xor $10,$8
|
||
+ addu $19,$9
|
||
+#else
|
||
+ srl $9,$20,3 # Xupdate(27)
|
||
+ addu $19,$12 # +=X[i+9]
|
||
+ sll $8,$20,14
|
||
+ srl $23,$20,7
|
||
+ xor $9,$8
|
||
+ sll $8,11
|
||
+ xor $9,$23
|
||
+ srl $23,$20,18
|
||
+ xor $9,$8
|
||
+
|
||
+ srl $10,$17,10
|
||
+ xor $9,$23 # sigma0(X[i+1])
|
||
+ sll $8,$17,13
|
||
+ addu $19,$9
|
||
+ srl $23,$17,17
|
||
+ xor $10,$8
|
||
+ sll $8,2
|
||
+ xor $10,$23
|
||
+ srl $23,$17,19
|
||
+ xor $10,$8
|
||
+#endif
|
||
+ xor $10,$23 # sigma1(X[i+14])
|
||
+ addu $19,$10
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $10,$3,$7 # 27
|
||
+ rotr $8,$2,6
|
||
+ addu $23,$19,$24
|
||
+ rotr $9,$2,11
|
||
+ and $10,$2
|
||
+ rotr $24,$2,25
|
||
+ xor $8,$9
|
||
+ rotr $9,$25,2
|
||
+ xor $10,$7 # Ch(e,f,g)
|
||
+ xor $8,$24 # Sigma1(e)
|
||
+
|
||
+ rotr $24,$25,13
|
||
+ addu $23,$10
|
||
+ lw $10,108($6) # K[27]
|
||
+ xor $24,$9
|
||
+ rotr $9,$25,22
|
||
+ addu $23,$8
|
||
+ and $8,$30,$31
|
||
+ xor $24,$9 # Sigma0(a)
|
||
+ xor $9,$30,$31
|
||
+#else
|
||
+ addu $23,$19,$24 # 27
|
||
+ srl $24,$2,6
|
||
+ xor $10,$3,$7
|
||
+ sll $9,$2,7
|
||
+ and $10,$2
|
||
+ srl $8,$2,11
|
||
+ xor $24,$9
|
||
+ sll $9,$2,21
|
||
+ xor $24,$8
|
||
+ srl $8,$2,25
|
||
+ xor $24,$9
|
||
+ sll $9,$2,26
|
||
+ xor $24,$8
|
||
+ xor $10,$7 # Ch(e,f,g)
|
||
+ xor $8,$9,$24 # Sigma1(e)
|
||
+
|
||
+ srl $24,$25,2
|
||
+ addu $23,$10
|
||
+ lw $10,108($6) # K[27]
|
||
+ sll $9,$25,10
|
||
+ addu $23,$8
|
||
+ srl $8,$25,13
|
||
+ xor $24,$9
|
||
+ sll $9,$25,19
|
||
+ xor $24,$8
|
||
+ srl $8,$25,22
|
||
+ xor $24,$9
|
||
+ sll $9,$25,30
|
||
+ xor $24,$8
|
||
+ and $8,$30,$31
|
||
+ xor $24,$9 # Sigma0(a)
|
||
+ xor $9,$30,$31
|
||
+#endif
|
||
+ sw $19,44($29) # offload to ring buffer
|
||
+ addu $24,$8
|
||
+ and $9,$25
|
||
+ addu $23,$10 # +=K[27]
|
||
+ addu $24,$9 # +=Maj(a,b,c)
|
||
+ addu $1,$23
|
||
+ addu $24,$23
|
||
+ lw $22,56($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $10,$21,3 # Xupdate(28)
|
||
+ rotr $8,$21,7
|
||
+ addu $20,$13 # +=X[i+9]
|
||
+ xor $10,$8
|
||
+ rotr $8,$21,18
|
||
+
|
||
+ srl $11,$18,10
|
||
+ rotr $9,$18,17
|
||
+ xor $10,$8 # sigma0(X[i+1])
|
||
+ rotr $8,$18,19
|
||
+ xor $11,$9
|
||
+ addu $20,$10
|
||
+#else
|
||
+ srl $10,$21,3 # Xupdate(28)
|
||
+ addu $20,$13 # +=X[i+9]
|
||
+ sll $9,$21,14
|
||
+ srl $8,$21,7
|
||
+ xor $10,$9
|
||
+ sll $9,11
|
||
+ xor $10,$8
|
||
+ srl $8,$21,18
|
||
+ xor $10,$9
|
||
+
|
||
+ srl $11,$18,10
|
||
+ xor $10,$8 # sigma0(X[i+1])
|
||
+ sll $9,$18,13
|
||
+ addu $20,$10
|
||
+ srl $8,$18,17
|
||
+ xor $11,$9
|
||
+ sll $9,2
|
||
+ xor $11,$8
|
||
+ srl $8,$18,19
|
||
+ xor $11,$9
|
||
+#endif
|
||
+ xor $11,$8 # sigma1(X[i+14])
|
||
+ addu $20,$11
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $11,$2,$3 # 28
|
||
+ rotr $9,$1,6
|
||
+ addu $8,$20,$7
|
||
+ rotr $10,$1,11
|
||
+ and $11,$1
|
||
+ rotr $7,$1,25
|
||
+ xor $9,$10
|
||
+ rotr $10,$24,2
|
||
+ xor $11,$3 # Ch(e,f,g)
|
||
+ xor $9,$7 # Sigma1(e)
|
||
+
|
||
+ rotr $7,$24,13
|
||
+ addu $8,$11
|
||
+ lw $11,112($6) # K[28]
|
||
+ xor $7,$10
|
||
+ rotr $10,$24,22
|
||
+ addu $8,$9
|
||
+ and $9,$25,$30
|
||
+ xor $7,$10 # Sigma0(a)
|
||
+ xor $10,$25,$30
|
||
+#else
|
||
+ addu $8,$20,$7 # 28
|
||
+ srl $7,$1,6
|
||
+ xor $11,$2,$3
|
||
+ sll $10,$1,7
|
||
+ and $11,$1
|
||
+ srl $9,$1,11
|
||
+ xor $7,$10
|
||
+ sll $10,$1,21
|
||
+ xor $7,$9
|
||
+ srl $9,$1,25
|
||
+ xor $7,$10
|
||
+ sll $10,$1,26
|
||
+ xor $7,$9
|
||
+ xor $11,$3 # Ch(e,f,g)
|
||
+ xor $9,$10,$7 # Sigma1(e)
|
||
+
|
||
+ srl $7,$24,2
|
||
+ addu $8,$11
|
||
+ lw $11,112($6) # K[28]
|
||
+ sll $10,$24,10
|
||
+ addu $8,$9
|
||
+ srl $9,$24,13
|
||
+ xor $7,$10
|
||
+ sll $10,$24,19
|
||
+ xor $7,$9
|
||
+ srl $9,$24,22
|
||
+ xor $7,$10
|
||
+ sll $10,$24,30
|
||
+ xor $7,$9
|
||
+ and $9,$25,$30
|
||
+ xor $7,$10 # Sigma0(a)
|
||
+ xor $10,$25,$30
|
||
+#endif
|
||
+ sw $20,48($29) # offload to ring buffer
|
||
+ addu $7,$9
|
||
+ and $10,$24
|
||
+ addu $8,$11 # +=K[28]
|
||
+ addu $7,$10 # +=Maj(a,b,c)
|
||
+ addu $31,$8
|
||
+ addu $7,$8
|
||
+ lw $23,60($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $11,$22,3 # Xupdate(29)
|
||
+ rotr $9,$22,7
|
||
+ addu $21,$14 # +=X[i+9]
|
||
+ xor $11,$9
|
||
+ rotr $9,$22,18
|
||
+
|
||
+ srl $12,$19,10
|
||
+ rotr $10,$19,17
|
||
+ xor $11,$9 # sigma0(X[i+1])
|
||
+ rotr $9,$19,19
|
||
+ xor $12,$10
|
||
+ addu $21,$11
|
||
+#else
|
||
+ srl $11,$22,3 # Xupdate(29)
|
||
+ addu $21,$14 # +=X[i+9]
|
||
+ sll $10,$22,14
|
||
+ srl $9,$22,7
|
||
+ xor $11,$10
|
||
+ sll $10,11
|
||
+ xor $11,$9
|
||
+ srl $9,$22,18
|
||
+ xor $11,$10
|
||
+
|
||
+ srl $12,$19,10
|
||
+ xor $11,$9 # sigma0(X[i+1])
|
||
+ sll $10,$19,13
|
||
+ addu $21,$11
|
||
+ srl $9,$19,17
|
||
+ xor $12,$10
|
||
+ sll $10,2
|
||
+ xor $12,$9
|
||
+ srl $9,$19,19
|
||
+ xor $12,$10
|
||
+#endif
|
||
+ xor $12,$9 # sigma1(X[i+14])
|
||
+ addu $21,$12
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $12,$1,$2 # 29
|
||
+ rotr $10,$31,6
|
||
+ addu $9,$21,$3
|
||
+ rotr $11,$31,11
|
||
+ and $12,$31
|
||
+ rotr $3,$31,25
|
||
+ xor $10,$11
|
||
+ rotr $11,$7,2
|
||
+ xor $12,$2 # Ch(e,f,g)
|
||
+ xor $10,$3 # Sigma1(e)
|
||
+
|
||
+ rotr $3,$7,13
|
||
+ addu $9,$12
|
||
+ lw $12,116($6) # K[29]
|
||
+ xor $3,$11
|
||
+ rotr $11,$7,22
|
||
+ addu $9,$10
|
||
+ and $10,$24,$25
|
||
+ xor $3,$11 # Sigma0(a)
|
||
+ xor $11,$24,$25
|
||
+#else
|
||
+ addu $9,$21,$3 # 29
|
||
+ srl $3,$31,6
|
||
+ xor $12,$1,$2
|
||
+ sll $11,$31,7
|
||
+ and $12,$31
|
||
+ srl $10,$31,11
|
||
+ xor $3,$11
|
||
+ sll $11,$31,21
|
||
+ xor $3,$10
|
||
+ srl $10,$31,25
|
||
+ xor $3,$11
|
||
+ sll $11,$31,26
|
||
+ xor $3,$10
|
||
+ xor $12,$2 # Ch(e,f,g)
|
||
+ xor $10,$11,$3 # Sigma1(e)
|
||
+
|
||
+ srl $3,$7,2
|
||
+ addu $9,$12
|
||
+ lw $12,116($6) # K[29]
|
||
+ sll $11,$7,10
|
||
+ addu $9,$10
|
||
+ srl $10,$7,13
|
||
+ xor $3,$11
|
||
+ sll $11,$7,19
|
||
+ xor $3,$10
|
||
+ srl $10,$7,22
|
||
+ xor $3,$11
|
||
+ sll $11,$7,30
|
||
+ xor $3,$10
|
||
+ and $10,$24,$25
|
||
+ xor $3,$11 # Sigma0(a)
|
||
+ xor $11,$24,$25
|
||
+#endif
|
||
+ sw $21,52($29) # offload to ring buffer
|
||
+ addu $3,$10
|
||
+ and $11,$7
|
||
+ addu $9,$12 # +=K[29]
|
||
+ addu $3,$11 # +=Maj(a,b,c)
|
||
+ addu $30,$9
|
||
+ addu $3,$9
|
||
+ lw $8,0($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $12,$23,3 # Xupdate(30)
|
||
+ rotr $10,$23,7
|
||
+ addu $22,$15 # +=X[i+9]
|
||
+ xor $12,$10
|
||
+ rotr $10,$23,18
|
||
+
|
||
+ srl $13,$20,10
|
||
+ rotr $11,$20,17
|
||
+ xor $12,$10 # sigma0(X[i+1])
|
||
+ rotr $10,$20,19
|
||
+ xor $13,$11
|
||
+ addu $22,$12
|
||
+#else
|
||
+ srl $12,$23,3 # Xupdate(30)
|
||
+ addu $22,$15 # +=X[i+9]
|
||
+ sll $11,$23,14
|
||
+ srl $10,$23,7
|
||
+ xor $12,$11
|
||
+ sll $11,11
|
||
+ xor $12,$10
|
||
+ srl $10,$23,18
|
||
+ xor $12,$11
|
||
+
|
||
+ srl $13,$20,10
|
||
+ xor $12,$10 # sigma0(X[i+1])
|
||
+ sll $11,$20,13
|
||
+ addu $22,$12
|
||
+ srl $10,$20,17
|
||
+ xor $13,$11
|
||
+ sll $11,2
|
||
+ xor $13,$10
|
||
+ srl $10,$20,19
|
||
+ xor $13,$11
|
||
+#endif
|
||
+ xor $13,$10 # sigma1(X[i+14])
|
||
+ addu $22,$13
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $13,$31,$1 # 30
|
||
+ rotr $11,$30,6
|
||
+ addu $10,$22,$2
|
||
+ rotr $12,$30,11
|
||
+ and $13,$30
|
||
+ rotr $2,$30,25
|
||
+ xor $11,$12
|
||
+ rotr $12,$3,2
|
||
+ xor $13,$1 # Ch(e,f,g)
|
||
+ xor $11,$2 # Sigma1(e)
|
||
+
|
||
+ rotr $2,$3,13
|
||
+ addu $10,$13
|
||
+ lw $13,120($6) # K[30]
|
||
+ xor $2,$12
|
||
+ rotr $12,$3,22
|
||
+ addu $10,$11
|
||
+ and $11,$7,$24
|
||
+ xor $2,$12 # Sigma0(a)
|
||
+ xor $12,$7,$24
|
||
+#else
|
||
+ addu $10,$22,$2 # 30
|
||
+ srl $2,$30,6
|
||
+ xor $13,$31,$1
|
||
+ sll $12,$30,7
|
||
+ and $13,$30
|
||
+ srl $11,$30,11
|
||
+ xor $2,$12
|
||
+ sll $12,$30,21
|
||
+ xor $2,$11
|
||
+ srl $11,$30,25
|
||
+ xor $2,$12
|
||
+ sll $12,$30,26
|
||
+ xor $2,$11
|
||
+ xor $13,$1 # Ch(e,f,g)
|
||
+ xor $11,$12,$2 # Sigma1(e)
|
||
+
|
||
+ srl $2,$3,2
|
||
+ addu $10,$13
|
||
+ lw $13,120($6) # K[30]
|
||
+ sll $12,$3,10
|
||
+ addu $10,$11
|
||
+ srl $11,$3,13
|
||
+ xor $2,$12
|
||
+ sll $12,$3,19
|
||
+ xor $2,$11
|
||
+ srl $11,$3,22
|
||
+ xor $2,$12
|
||
+ sll $12,$3,30
|
||
+ xor $2,$11
|
||
+ and $11,$7,$24
|
||
+ xor $2,$12 # Sigma0(a)
|
||
+ xor $12,$7,$24
|
||
+#endif
|
||
+ sw $22,56($29) # offload to ring buffer
|
||
+ addu $2,$11
|
||
+ and $12,$3
|
||
+ addu $10,$13 # +=K[30]
|
||
+ addu $2,$12 # +=Maj(a,b,c)
|
||
+ addu $25,$10
|
||
+ addu $2,$10
|
||
+ lw $9,4($29) # prefetch from ring buffer
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ srl $13,$8,3 # Xupdate(31)
|
||
+ rotr $11,$8,7
|
||
+ addu $23,$16 # +=X[i+9]
|
||
+ xor $13,$11
|
||
+ rotr $11,$8,18
|
||
+
|
||
+ srl $14,$21,10
|
||
+ rotr $12,$21,17
|
||
+ xor $13,$11 # sigma0(X[i+1])
|
||
+ rotr $11,$21,19
|
||
+ xor $14,$12
|
||
+ addu $23,$13
|
||
+#else
|
||
+ srl $13,$8,3 # Xupdate(31)
|
||
+ addu $23,$16 # +=X[i+9]
|
||
+ sll $12,$8,14
|
||
+ srl $11,$8,7
|
||
+ xor $13,$12
|
||
+ sll $12,11
|
||
+ xor $13,$11
|
||
+ srl $11,$8,18
|
||
+ xor $13,$12
|
||
+
|
||
+ srl $14,$21,10
|
||
+ xor $13,$11 # sigma0(X[i+1])
|
||
+ sll $12,$21,13
|
||
+ addu $23,$13
|
||
+ srl $11,$21,17
|
||
+ xor $14,$12
|
||
+ sll $12,2
|
||
+ xor $14,$11
|
||
+ srl $11,$21,19
|
||
+ xor $14,$12
|
||
+#endif
|
||
+ xor $14,$11 # sigma1(X[i+14])
|
||
+ addu $23,$14
|
||
+#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2)
|
||
+ xor $14,$30,$31 # 31
|
||
+ rotr $12,$25,6
|
||
+ addu $11,$23,$1
|
||
+ rotr $13,$25,11
|
||
+ and $14,$25
|
||
+ rotr $1,$25,25
|
||
+ xor $12,$13
|
||
+ rotr $13,$2,2
|
||
+ xor $14,$31 # Ch(e,f,g)
|
||
+ xor $12,$1 # Sigma1(e)
|
||
+
|
||
+ rotr $1,$2,13
|
||
+ addu $11,$14
|
||
+ lw $14,124($6) # K[31]
|
||
+ xor $1,$13
|
||
+ rotr $13,$2,22
|
||
+ addu $11,$12
|
||
+ and $12,$3,$7
|
||
+ xor $1,$13 # Sigma0(a)
|
||
+ xor $13,$3,$7
|
||
+#else
|
||
+ addu $11,$23,$1 # 31
|
||
+ srl $1,$25,6
|
||
+ xor $14,$30,$31
|
||
+ sll $13,$25,7
|
||
+ and $14,$25
|
||
+ srl $12,$25,11
|
||
+ xor $1,$13
|
||
+ sll $13,$25,21
|
||
+ xor $1,$12
|
||
+ srl $12,$25,25
|
||
+ xor $1,$13
|
||
+ sll $13,$25,26
|
||
+ xor $1,$12
|
||
+ xor $14,$31 # Ch(e,f,g)
|
||
+ xor $12,$13,$1 # Sigma1(e)
|
||
+
|
||
+ srl $1,$2,2
|
||
+ addu $11,$14
|
||
+ lw $14,124($6) # K[31]
|
||
+ sll $13,$2,10
|
||
+ addu $11,$12
|
||
+ srl $12,$2,13
|
||
+ xor $1,$13
|
||
+ sll $13,$2,19
|
||
+ xor $1,$12
|
||
+ srl $12,$2,22
|
||
+ xor $1,$13
|
||
+ sll $13,$2,30
|
||
+ xor $1,$12
|
||
+ and $12,$3,$7
|
||
+ xor $1,$13 # Sigma0(a)
|
||
+ xor $13,$3,$7
|
||
+#endif
|
||
+ sw $23,60($29) # offload to ring buffer
|
||
+ addu $1,$12
|
||
+ and $13,$2
|
||
+ addu $11,$14 # +=K[31]
|
||
+ addu $1,$13 # +=Maj(a,b,c)
|
||
+ addu $24,$11
|
||
+ addu $1,$11
|
||
+ lw $10,8($29) # prefetch from ring buffer
|
||
+ and $14,0xfff
|
||
+ li $15,2290
|
||
+ .set noreorder
|
||
+ bne $14,$15,.L16_xx
|
||
+ addu $6,16*4 # Ktbl+=16
|
||
+
|
||
+ lw $23,16*4($29) # restore pointer to the end of input
|
||
+ lw $8,0*4($4)
|
||
+ lw $9,1*4($4)
|
||
+ lw $10,2*4($4)
|
||
+ addu $5,16*4
|
||
+ lw $11,3*4($4)
|
||
+ addu $1,$8
|
||
+ lw $12,4*4($4)
|
||
+ addu $2,$9
|
||
+ lw $13,5*4($4)
|
||
+ addu $3,$10
|
||
+ lw $14,6*4($4)
|
||
+ addu $7,$11
|
||
+ lw $15,7*4($4)
|
||
+ addu $24,$12
|
||
+ sw $1,0*4($4)
|
||
+ addu $25,$13
|
||
+ sw $2,1*4($4)
|
||
+ addu $30,$14
|
||
+ sw $3,2*4($4)
|
||
+ addu $31,$15
|
||
+ sw $7,3*4($4)
|
||
+ sw $24,4*4($4)
|
||
+ sw $25,5*4($4)
|
||
+ sw $30,6*4($4)
|
||
+ sw $31,7*4($4)
|
||
+
|
||
+ bne $5,$23,.Loop
|
||
+ subu $6,192 # rewind $6
|
||
+
|
||
+ lw $31,128-1*4($29)
|
||
+ lw $30,128-2*4($29)
|
||
+ lw $23,128-3*4($29)
|
||
+ lw $22,128-4*4($29)
|
||
+ lw $21,128-5*4($29)
|
||
+ lw $20,128-6*4($29)
|
||
+ lw $19,128-7*4($29)
|
||
+ lw $18,128-8*4($29)
|
||
+ lw $17,128-9*4($29)
|
||
+ lw $16,128-10*4($29)
|
||
+ jr $31
|
||
+ addu $29,128
|
||
+.end sha256_block_data_order
|
||
+
|
||
+.rdata
|
||
+.align 5
|
||
+K256:
|
||
+ .word 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5
|
||
+ .word 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5
|
||
+ .word 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3
|
||
+ .word 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174
|
||
+ .word 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc
|
||
+ .word 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da
|
||
+ .word 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7
|
||
+ .word 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967
|
||
+ .word 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13
|
||
+ .word 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85
|
||
+ .word 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3
|
||
+ .word 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070
|
||
+ .word 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5
|
||
+ .word 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3
|
||
+ .word 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208
|
||
+ .word 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
|
||
+.asciiz "SHA256 for MIPS, CRYPTOGAMS by <appro@openssl.org>"
|
||
+.align 5
|
||
+
|
||
diff -urN a/deps/openssl/config/archs/linux-mipsel/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux-mipsel/asm/include/openssl/opensslconf.h
|
||
--- a/deps/openssl/config/archs/linux-mipsel/asm/include/openssl/opensslconf.h 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mipsel/asm/include/openssl/opensslconf.h 2019-12-25 13:49:19.992298784 +0900
|
||
@@ -0,0 +1,201 @@
|
||
+/*
|
||
+ * WARNING: do not edit!
|
||
+ * Generated by Makefile from include/openssl/opensslconf.h.in
|
||
+ *
|
||
+ * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||
+ *
|
||
+ * Licensed under the OpenSSL license (the "License"). You may not use
|
||
+ * this file except in compliance with the License. You can obtain a copy
|
||
+ * in the file LICENSE in the source distribution or at
|
||
+ * https://www.openssl.org/source/license.html
|
||
+ */
|
||
+
|
||
+#include <openssl/opensslv.h>
|
||
+
|
||
+#ifdef __cplusplus
|
||
+extern "C" {
|
||
+#endif
|
||
+
|
||
+#ifdef OPENSSL_ALGORITHM_DEFINES
|
||
+# error OPENSSL_ALGORITHM_DEFINES no longer supported
|
||
+#endif
|
||
+
|
||
+/*
|
||
+ * OpenSSL was configured with the following options:
|
||
+ */
|
||
+
|
||
+#ifndef OPENSSL_NO_COMP
|
||
+# define OPENSSL_NO_COMP
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_MD2
|
||
+# define OPENSSL_NO_MD2
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC5
|
||
+# define OPENSSL_NO_RC5
|
||
+#endif
|
||
+#ifndef OPENSSL_THREADS
|
||
+# define OPENSSL_THREADS
|
||
+#endif
|
||
+#ifndef OPENSSL_RAND_SEED_OS
|
||
+# define OPENSSL_RAND_SEED_OS
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_AFALGENG
|
||
+# define OPENSSL_NO_AFALGENG
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ASAN
|
||
+# define OPENSSL_NO_ASAN
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG
|
||
+# define OPENSSL_NO_CRYPTO_MDEBUG
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
|
||
+# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DEVCRYPTOENG
|
||
+# define OPENSSL_NO_DEVCRYPTOENG
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
|
||
+# define OPENSSL_NO_EC_NISTP_64_GCC_128
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_EGD
|
||
+# define OPENSSL_NO_EGD
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_EXTERNAL_TESTS
|
||
+# define OPENSSL_NO_EXTERNAL_TESTS
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_FUZZ_AFL
|
||
+# define OPENSSL_NO_FUZZ_AFL
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_FUZZ_LIBFUZZER
|
||
+# define OPENSSL_NO_FUZZ_LIBFUZZER
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_HEARTBEATS
|
||
+# define OPENSSL_NO_HEARTBEATS
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_MSAN
|
||
+# define OPENSSL_NO_MSAN
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SCTP
|
||
+# define OPENSSL_NO_SCTP
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SSL_TRACE
|
||
+# define OPENSSL_NO_SSL_TRACE
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SSL3
|
||
+# define OPENSSL_NO_SSL3
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SSL3_METHOD
|
||
+# define OPENSSL_NO_SSL3_METHOD
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_UBSAN
|
||
+# define OPENSSL_NO_UBSAN
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_UNIT_TEST
|
||
+# define OPENSSL_NO_UNIT_TEST
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
|
||
+# define OPENSSL_NO_WEAK_SSL_CIPHERS
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DYNAMIC_ENGINE
|
||
+# define OPENSSL_NO_DYNAMIC_ENGINE
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_AFALGENG
|
||
+# define OPENSSL_NO_AFALGENG
|
||
+#endif
|
||
+
|
||
+
|
||
+/*
|
||
+ * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers
|
||
+ * don't like that. This will hopefully silence them.
|
||
+ */
|
||
+#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
|
||
+
|
||
+/*
|
||
+ * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
|
||
+ * declarations of functions deprecated in or before <version>. Otherwise, they
|
||
+ * still won't see them if the library has been built to disable deprecated
|
||
+ * functions.
|
||
+ */
|
||
+#ifndef DECLARE_DEPRECATED
|
||
+# define DECLARE_DEPRECATED(f) f;
|
||
+# ifdef __GNUC__
|
||
+# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
|
||
+# undef DECLARE_DEPRECATED
|
||
+# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
|
||
+# endif
|
||
+# endif
|
||
+#endif
|
||
+
|
||
+#ifndef OPENSSL_FILE
|
||
+# ifdef OPENSSL_NO_FILENAMES
|
||
+# define OPENSSL_FILE ""
|
||
+# define OPENSSL_LINE 0
|
||
+# else
|
||
+# define OPENSSL_FILE __FILE__
|
||
+# define OPENSSL_LINE __LINE__
|
||
+# endif
|
||
+#endif
|
||
+
|
||
+#ifndef OPENSSL_MIN_API
|
||
+# define OPENSSL_MIN_API 0
|
||
+#endif
|
||
+
|
||
+#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
|
||
+# undef OPENSSL_API_COMPAT
|
||
+# define OPENSSL_API_COMPAT OPENSSL_MIN_API
|
||
+#endif
|
||
+
|
||
+/*
|
||
+ * Do not deprecate things to be deprecated in version 1.2.0 before the
|
||
+ * OpenSSL version number matches.
|
||
+ */
|
||
+#if OPENSSL_VERSION_NUMBER < 0x10200000L
|
||
+# define DEPRECATEDIN_1_2_0(f) f;
|
||
+#elif OPENSSL_API_COMPAT < 0x10200000L
|
||
+# define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f)
|
||
+#else
|
||
+# define DEPRECATEDIN_1_2_0(f)
|
||
+#endif
|
||
+
|
||
+#if OPENSSL_API_COMPAT < 0x10100000L
|
||
+# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f)
|
||
+#else
|
||
+# define DEPRECATEDIN_1_1_0(f)
|
||
+#endif
|
||
+
|
||
+#if OPENSSL_API_COMPAT < 0x10000000L
|
||
+# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f)
|
||
+#else
|
||
+# define DEPRECATEDIN_1_0_0(f)
|
||
+#endif
|
||
+
|
||
+#if OPENSSL_API_COMPAT < 0x00908000L
|
||
+# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f)
|
||
+#else
|
||
+# define DEPRECATEDIN_0_9_8(f)
|
||
+#endif
|
||
+
|
||
+/* Generate 80386 code? */
|
||
+#undef I386_ONLY
|
||
+
|
||
+#undef OPENSSL_UNISTD
|
||
+#define OPENSSL_UNISTD <unistd.h>
|
||
+
|
||
+#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
|
||
+
|
||
+/*
|
||
+ * The following are cipher-specific, but are part of the public API.
|
||
+ */
|
||
+#if !defined(OPENSSL_SYS_UEFI)
|
||
+# define BN_LLONG
|
||
+/* Only one for the following should be defined */
|
||
+# undef SIXTY_FOUR_BIT_LONG
|
||
+# undef SIXTY_FOUR_BIT
|
||
+# define THIRTY_TWO_BIT
|
||
+#endif
|
||
+
|
||
+#define RC4_INT unsigned char
|
||
+
|
||
+#ifdef __cplusplus
|
||
+}
|
||
+#endif
|
||
diff -urN a/deps/openssl/config/archs/linux-mipsel/asm/include/progs.h b/deps/openssl/config/archs/linux-mipsel/asm/include/progs.h
|
||
--- a/deps/openssl/config/archs/linux-mipsel/asm/include/progs.h 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mipsel/asm/include/progs.h 2019-12-25 13:49:19.992298784 +0900
|
||
@@ -0,0 +1,507 @@
|
||
+/*
|
||
+ * WARNING: do not edit!
|
||
+ * Generated by apps/progs.pl
|
||
+ *
|
||
+ * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||
+ *
|
||
+ * Licensed under the OpenSSL license (the "License"). You may not use
|
||
+ * this file except in compliance with the License. You can obtain a copy
|
||
+ * in the file LICENSE in the source distribution or at
|
||
+ * https://www.openssl.org/source/license.html
|
||
+ */
|
||
+
|
||
+typedef enum FUNC_TYPE {
|
||
+ FT_none, FT_general, FT_md, FT_cipher, FT_pkey,
|
||
+ FT_md_alg, FT_cipher_alg
|
||
+} FUNC_TYPE;
|
||
+
|
||
+typedef struct function_st {
|
||
+ FUNC_TYPE type;
|
||
+ const char *name;
|
||
+ int (*func)(int argc, char *argv[]);
|
||
+ const OPTIONS *help;
|
||
+} FUNCTION;
|
||
+
|
||
+DEFINE_LHASH_OF(FUNCTION);
|
||
+
|
||
+extern int asn1parse_main(int argc, char *argv[]);
|
||
+extern int ca_main(int argc, char *argv[]);
|
||
+extern int ciphers_main(int argc, char *argv[]);
|
||
+extern int cms_main(int argc, char *argv[]);
|
||
+extern int crl_main(int argc, char *argv[]);
|
||
+extern int crl2pkcs7_main(int argc, char *argv[]);
|
||
+extern int dgst_main(int argc, char *argv[]);
|
||
+extern int dhparam_main(int argc, char *argv[]);
|
||
+extern int dsa_main(int argc, char *argv[]);
|
||
+extern int dsaparam_main(int argc, char *argv[]);
|
||
+extern int ec_main(int argc, char *argv[]);
|
||
+extern int ecparam_main(int argc, char *argv[]);
|
||
+extern int enc_main(int argc, char *argv[]);
|
||
+extern int engine_main(int argc, char *argv[]);
|
||
+extern int errstr_main(int argc, char *argv[]);
|
||
+extern int gendsa_main(int argc, char *argv[]);
|
||
+extern int genpkey_main(int argc, char *argv[]);
|
||
+extern int genrsa_main(int argc, char *argv[]);
|
||
+extern int help_main(int argc, char *argv[]);
|
||
+extern int list_main(int argc, char *argv[]);
|
||
+extern int nseq_main(int argc, char *argv[]);
|
||
+extern int ocsp_main(int argc, char *argv[]);
|
||
+extern int passwd_main(int argc, char *argv[]);
|
||
+extern int pkcs12_main(int argc, char *argv[]);
|
||
+extern int pkcs7_main(int argc, char *argv[]);
|
||
+extern int pkcs8_main(int argc, char *argv[]);
|
||
+extern int pkey_main(int argc, char *argv[]);
|
||
+extern int pkeyparam_main(int argc, char *argv[]);
|
||
+extern int pkeyutl_main(int argc, char *argv[]);
|
||
+extern int prime_main(int argc, char *argv[]);
|
||
+extern int rand_main(int argc, char *argv[]);
|
||
+extern int rehash_main(int argc, char *argv[]);
|
||
+extern int req_main(int argc, char *argv[]);
|
||
+extern int rsa_main(int argc, char *argv[]);
|
||
+extern int rsautl_main(int argc, char *argv[]);
|
||
+extern int s_client_main(int argc, char *argv[]);
|
||
+extern int s_server_main(int argc, char *argv[]);
|
||
+extern int s_time_main(int argc, char *argv[]);
|
||
+extern int sess_id_main(int argc, char *argv[]);
|
||
+extern int smime_main(int argc, char *argv[]);
|
||
+extern int speed_main(int argc, char *argv[]);
|
||
+extern int spkac_main(int argc, char *argv[]);
|
||
+extern int srp_main(int argc, char *argv[]);
|
||
+extern int storeutl_main(int argc, char *argv[]);
|
||
+extern int ts_main(int argc, char *argv[]);
|
||
+extern int verify_main(int argc, char *argv[]);
|
||
+extern int version_main(int argc, char *argv[]);
|
||
+extern int x509_main(int argc, char *argv[]);
|
||
+
|
||
+extern const OPTIONS asn1parse_options[];
|
||
+extern const OPTIONS ca_options[];
|
||
+extern const OPTIONS ciphers_options[];
|
||
+extern const OPTIONS cms_options[];
|
||
+extern const OPTIONS crl_options[];
|
||
+extern const OPTIONS crl2pkcs7_options[];
|
||
+extern const OPTIONS dgst_options[];
|
||
+extern const OPTIONS dhparam_options[];
|
||
+extern const OPTIONS dsa_options[];
|
||
+extern const OPTIONS dsaparam_options[];
|
||
+extern const OPTIONS ec_options[];
|
||
+extern const OPTIONS ecparam_options[];
|
||
+extern const OPTIONS enc_options[];
|
||
+extern const OPTIONS engine_options[];
|
||
+extern const OPTIONS errstr_options[];
|
||
+extern const OPTIONS gendsa_options[];
|
||
+extern const OPTIONS genpkey_options[];
|
||
+extern const OPTIONS genrsa_options[];
|
||
+extern const OPTIONS help_options[];
|
||
+extern const OPTIONS list_options[];
|
||
+extern const OPTIONS nseq_options[];
|
||
+extern const OPTIONS ocsp_options[];
|
||
+extern const OPTIONS passwd_options[];
|
||
+extern const OPTIONS pkcs12_options[];
|
||
+extern const OPTIONS pkcs7_options[];
|
||
+extern const OPTIONS pkcs8_options[];
|
||
+extern const OPTIONS pkey_options[];
|
||
+extern const OPTIONS pkeyparam_options[];
|
||
+extern const OPTIONS pkeyutl_options[];
|
||
+extern const OPTIONS prime_options[];
|
||
+extern const OPTIONS rand_options[];
|
||
+extern const OPTIONS rehash_options[];
|
||
+extern const OPTIONS req_options[];
|
||
+extern const OPTIONS rsa_options[];
|
||
+extern const OPTIONS rsautl_options[];
|
||
+extern const OPTIONS s_client_options[];
|
||
+extern const OPTIONS s_server_options[];
|
||
+extern const OPTIONS s_time_options[];
|
||
+extern const OPTIONS sess_id_options[];
|
||
+extern const OPTIONS smime_options[];
|
||
+extern const OPTIONS speed_options[];
|
||
+extern const OPTIONS spkac_options[];
|
||
+extern const OPTIONS srp_options[];
|
||
+extern const OPTIONS storeutl_options[];
|
||
+extern const OPTIONS ts_options[];
|
||
+extern const OPTIONS verify_options[];
|
||
+extern const OPTIONS version_options[];
|
||
+extern const OPTIONS x509_options[];
|
||
+
|
||
+#ifdef INCLUDE_FUNCTION_TABLE
|
||
+static FUNCTION functions[] = {
|
||
+ {FT_general, "asn1parse", asn1parse_main, asn1parse_options},
|
||
+ {FT_general, "ca", ca_main, ca_options},
|
||
+#ifndef OPENSSL_NO_SOCK
|
||
+ {FT_general, "ciphers", ciphers_main, ciphers_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CMS
|
||
+ {FT_general, "cms", cms_main, cms_options},
|
||
+#endif
|
||
+ {FT_general, "crl", crl_main, crl_options},
|
||
+ {FT_general, "crl2pkcs7", crl2pkcs7_main, crl2pkcs7_options},
|
||
+ {FT_general, "dgst", dgst_main, dgst_options},
|
||
+#ifndef OPENSSL_NO_DH
|
||
+ {FT_general, "dhparam", dhparam_main, dhparam_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DSA
|
||
+ {FT_general, "dsa", dsa_main, dsa_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DSA
|
||
+ {FT_general, "dsaparam", dsaparam_main, dsaparam_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_EC
|
||
+ {FT_general, "ec", ec_main, ec_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_EC
|
||
+ {FT_general, "ecparam", ecparam_main, ecparam_options},
|
||
+#endif
|
||
+ {FT_general, "enc", enc_main, enc_options},
|
||
+#ifndef OPENSSL_NO_ENGINE
|
||
+ {FT_general, "engine", engine_main, engine_options},
|
||
+#endif
|
||
+ {FT_general, "errstr", errstr_main, errstr_options},
|
||
+#ifndef OPENSSL_NO_DSA
|
||
+ {FT_general, "gendsa", gendsa_main, gendsa_options},
|
||
+#endif
|
||
+ {FT_general, "genpkey", genpkey_main, genpkey_options},
|
||
+#ifndef OPENSSL_NO_RSA
|
||
+ {FT_general, "genrsa", genrsa_main, genrsa_options},
|
||
+#endif
|
||
+ {FT_general, "help", help_main, help_options},
|
||
+ {FT_general, "list", list_main, list_options},
|
||
+ {FT_general, "nseq", nseq_main, nseq_options},
|
||
+#ifndef OPENSSL_NO_OCSP
|
||
+ {FT_general, "ocsp", ocsp_main, ocsp_options},
|
||
+#endif
|
||
+ {FT_general, "passwd", passwd_main, passwd_options},
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_general, "pkcs12", pkcs12_main, pkcs12_options},
|
||
+#endif
|
||
+ {FT_general, "pkcs7", pkcs7_main, pkcs7_options},
|
||
+ {FT_general, "pkcs8", pkcs8_main, pkcs8_options},
|
||
+ {FT_general, "pkey", pkey_main, pkey_options},
|
||
+ {FT_general, "pkeyparam", pkeyparam_main, pkeyparam_options},
|
||
+ {FT_general, "pkeyutl", pkeyutl_main, pkeyutl_options},
|
||
+ {FT_general, "prime", prime_main, prime_options},
|
||
+ {FT_general, "rand", rand_main, rand_options},
|
||
+ {FT_general, "rehash", rehash_main, rehash_options},
|
||
+ {FT_general, "req", req_main, req_options},
|
||
+ {FT_general, "rsa", rsa_main, rsa_options},
|
||
+#ifndef OPENSSL_NO_RSA
|
||
+ {FT_general, "rsautl", rsautl_main, rsautl_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SOCK
|
||
+ {FT_general, "s_client", s_client_main, s_client_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SOCK
|
||
+ {FT_general, "s_server", s_server_main, s_server_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SOCK
|
||
+ {FT_general, "s_time", s_time_main, s_time_options},
|
||
+#endif
|
||
+ {FT_general, "sess_id", sess_id_main, sess_id_options},
|
||
+ {FT_general, "smime", smime_main, smime_options},
|
||
+ {FT_general, "speed", speed_main, speed_options},
|
||
+ {FT_general, "spkac", spkac_main, spkac_options},
|
||
+#ifndef OPENSSL_NO_SRP
|
||
+ {FT_general, "srp", srp_main, srp_options},
|
||
+#endif
|
||
+ {FT_general, "storeutl", storeutl_main, storeutl_options},
|
||
+#ifndef OPENSSL_NO_TS
|
||
+ {FT_general, "ts", ts_main, ts_options},
|
||
+#endif
|
||
+ {FT_general, "verify", verify_main, verify_options},
|
||
+ {FT_general, "version", version_main, version_options},
|
||
+ {FT_general, "x509", x509_main, x509_options},
|
||
+#ifndef OPENSSL_NO_MD2
|
||
+ {FT_md, "md2", dgst_main},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_MD4
|
||
+ {FT_md, "md4", dgst_main},
|
||
+#endif
|
||
+ {FT_md, "md5", dgst_main},
|
||
+#ifndef OPENSSL_NO_GOST
|
||
+ {FT_md, "gost", dgst_main},
|
||
+#endif
|
||
+ {FT_md, "sha1", dgst_main},
|
||
+ {FT_md, "sha224", dgst_main},
|
||
+ {FT_md, "sha256", dgst_main},
|
||
+ {FT_md, "sha384", dgst_main},
|
||
+ {FT_md, "sha512", dgst_main},
|
||
+ {FT_md, "sha512-224", dgst_main},
|
||
+ {FT_md, "sha512-256", dgst_main},
|
||
+ {FT_md, "sha3-224", dgst_main},
|
||
+ {FT_md, "sha3-256", dgst_main},
|
||
+ {FT_md, "sha3-384", dgst_main},
|
||
+ {FT_md, "sha3-512", dgst_main},
|
||
+ {FT_md, "shake128", dgst_main},
|
||
+ {FT_md, "shake256", dgst_main},
|
||
+#ifndef OPENSSL_NO_MDC2
|
||
+ {FT_md, "mdc2", dgst_main},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RMD160
|
||
+ {FT_md, "rmd160", dgst_main},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_BLAKE2
|
||
+ {FT_md, "blake2b512", dgst_main},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_BLAKE2
|
||
+ {FT_md, "blake2s256", dgst_main},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SM3
|
||
+ {FT_md, "sm3", dgst_main},
|
||
+#endif
|
||
+ {FT_cipher, "aes-128-cbc", enc_main, enc_options},
|
||
+ {FT_cipher, "aes-128-ecb", enc_main, enc_options},
|
||
+ {FT_cipher, "aes-192-cbc", enc_main, enc_options},
|
||
+ {FT_cipher, "aes-192-ecb", enc_main, enc_options},
|
||
+ {FT_cipher, "aes-256-cbc", enc_main, enc_options},
|
||
+ {FT_cipher, "aes-256-ecb", enc_main, enc_options},
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-128-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-128-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-128-ctr", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-128-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-128-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-128-cfb1", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-128-cfb8", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-192-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-192-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-192-ctr", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-192-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-192-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-192-cfb1", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-192-cfb8", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-256-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-256-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-256-ctr", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-256-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-256-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-256-cfb1", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_ARIA
|
||
+ {FT_cipher, "aria-256-cfb8", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAMELLIA
|
||
+ {FT_cipher, "camellia-128-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAMELLIA
|
||
+ {FT_cipher, "camellia-128-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAMELLIA
|
||
+ {FT_cipher, "camellia-192-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAMELLIA
|
||
+ {FT_cipher, "camellia-192-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAMELLIA
|
||
+ {FT_cipher, "camellia-256-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAMELLIA
|
||
+ {FT_cipher, "camellia-256-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+ {FT_cipher, "base64", enc_main, enc_options},
|
||
+#ifdef ZLIB
|
||
+ {FT_cipher, "zlib", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des3", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "desx", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_IDEA
|
||
+ {FT_cipher, "idea", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SEED
|
||
+ {FT_cipher, "seed", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC4
|
||
+ {FT_cipher, "rc4", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC4
|
||
+ {FT_cipher, "rc4-40", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC2
|
||
+ {FT_cipher, "rc2", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_BF
|
||
+ {FT_cipher, "bf", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAST
|
||
+ {FT_cipher, "cast", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC5
|
||
+ {FT_cipher, "rc5", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede3", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede3-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede3-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_DES
|
||
+ {FT_cipher, "des-ede3-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_IDEA
|
||
+ {FT_cipher, "idea-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_IDEA
|
||
+ {FT_cipher, "idea-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_IDEA
|
||
+ {FT_cipher, "idea-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_IDEA
|
||
+ {FT_cipher, "idea-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SEED
|
||
+ {FT_cipher, "seed-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SEED
|
||
+ {FT_cipher, "seed-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SEED
|
||
+ {FT_cipher, "seed-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SEED
|
||
+ {FT_cipher, "seed-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC2
|
||
+ {FT_cipher, "rc2-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC2
|
||
+ {FT_cipher, "rc2-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC2
|
||
+ {FT_cipher, "rc2-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC2
|
||
+ {FT_cipher, "rc2-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC2
|
||
+ {FT_cipher, "rc2-64-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC2
|
||
+ {FT_cipher, "rc2-40-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_BF
|
||
+ {FT_cipher, "bf-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_BF
|
||
+ {FT_cipher, "bf-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_BF
|
||
+ {FT_cipher, "bf-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_BF
|
||
+ {FT_cipher, "bf-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAST
|
||
+ {FT_cipher, "cast5-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAST
|
||
+ {FT_cipher, "cast5-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAST
|
||
+ {FT_cipher, "cast5-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAST
|
||
+ {FT_cipher, "cast5-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_CAST
|
||
+ {FT_cipher, "cast-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC5
|
||
+ {FT_cipher, "rc5-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC5
|
||
+ {FT_cipher, "rc5-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC5
|
||
+ {FT_cipher, "rc5-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_RC5
|
||
+ {FT_cipher, "rc5-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SM4
|
||
+ {FT_cipher, "sm4-cbc", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SM4
|
||
+ {FT_cipher, "sm4-ecb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SM4
|
||
+ {FT_cipher, "sm4-cfb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SM4
|
||
+ {FT_cipher, "sm4-ofb", enc_main, enc_options},
|
||
+#endif
|
||
+#ifndef OPENSSL_NO_SM4
|
||
+ {FT_cipher, "sm4-ctr", enc_main, enc_options},
|
||
+#endif
|
||
+ {0, NULL, NULL}
|
||
+};
|
||
+#endif
|
||
diff -urN a/deps/openssl/config/archs/linux-mipsel/asm/openssl-cl.gypi b/deps/openssl/config/archs/linux-mipsel/asm/openssl-cl.gypi
|
||
--- a/deps/openssl/config/archs/linux-mipsel/asm/openssl-cl.gypi 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mipsel/asm/openssl-cl.gypi 2019-12-25 13:49:19.992298784 +0900
|
||
@@ -0,0 +1,81 @@
|
||
+{
|
||
+ 'variables': {
|
||
+ 'openssl_defines_linux-mipsel': [
|
||
+ 'NDEBUG',
|
||
+ 'OPENSSL_USE_NODELETE',
|
||
+ 'OPENSSL_PIC',
|
||
+ 'OPENSSL_BN_ASM_MONT',
|
||
+ 'SHA1_ASM',
|
||
+ 'SHA256_ASM',
|
||
+ 'AES_ASM',
|
||
+ ],
|
||
+ 'openssl_cflags_linux-mipsel': [
|
||
+ '-Wall -O3 -pthread',
|
||
+ ],
|
||
+ 'openssl_ex_libs_linux-mipsel': [
|
||
+ '-ldl -pthread',
|
||
+ ],
|
||
+ 'openssl_cli_srcs_linux-mipsel': [
|
||
+ 'openssl/apps/asn1pars.c',
|
||
+ 'openssl/apps/ca.c',
|
||
+ 'openssl/apps/ciphers.c',
|
||
+ 'openssl/apps/cms.c',
|
||
+ 'openssl/apps/crl.c',
|
||
+ 'openssl/apps/crl2p7.c',
|
||
+ 'openssl/apps/dgst.c',
|
||
+ 'openssl/apps/dhparam.c',
|
||
+ 'openssl/apps/dsa.c',
|
||
+ 'openssl/apps/dsaparam.c',
|
||
+ 'openssl/apps/ec.c',
|
||
+ 'openssl/apps/ecparam.c',
|
||
+ 'openssl/apps/enc.c',
|
||
+ 'openssl/apps/engine.c',
|
||
+ 'openssl/apps/errstr.c',
|
||
+ 'openssl/apps/gendsa.c',
|
||
+ 'openssl/apps/genpkey.c',
|
||
+ 'openssl/apps/genrsa.c',
|
||
+ 'openssl/apps/nseq.c',
|
||
+ 'openssl/apps/ocsp.c',
|
||
+ 'openssl/apps/openssl.c',
|
||
+ 'openssl/apps/passwd.c',
|
||
+ 'openssl/apps/pkcs12.c',
|
||
+ 'openssl/apps/pkcs7.c',
|
||
+ 'openssl/apps/pkcs8.c',
|
||
+ 'openssl/apps/pkey.c',
|
||
+ 'openssl/apps/pkeyparam.c',
|
||
+ 'openssl/apps/pkeyutl.c',
|
||
+ 'openssl/apps/prime.c',
|
||
+ 'openssl/apps/rand.c',
|
||
+ 'openssl/apps/rehash.c',
|
||
+ 'openssl/apps/req.c',
|
||
+ 'openssl/apps/rsa.c',
|
||
+ 'openssl/apps/rsautl.c',
|
||
+ 'openssl/apps/s_client.c',
|
||
+ 'openssl/apps/s_server.c',
|
||
+ 'openssl/apps/s_time.c',
|
||
+ 'openssl/apps/sess_id.c',
|
||
+ 'openssl/apps/smime.c',
|
||
+ 'openssl/apps/speed.c',
|
||
+ 'openssl/apps/spkac.c',
|
||
+ 'openssl/apps/srp.c',
|
||
+ 'openssl/apps/storeutl.c',
|
||
+ 'openssl/apps/ts.c',
|
||
+ 'openssl/apps/verify.c',
|
||
+ 'openssl/apps/version.c',
|
||
+ 'openssl/apps/x509.c',
|
||
+ 'openssl/apps/app_rand.c',
|
||
+ 'openssl/apps/apps.c',
|
||
+ 'openssl/apps/bf_prefix.c',
|
||
+ 'openssl/apps/opt.c',
|
||
+ 'openssl/apps/s_cb.c',
|
||
+ 'openssl/apps/s_socket.c',
|
||
+ ],
|
||
+ },
|
||
+ 'defines': ['<@(openssl_defines_linux-mipsel)'],
|
||
+ 'include_dirs': [
|
||
+ './include',
|
||
+ ],
|
||
+ 'cflags' : ['<@(openssl_cflags_linux-mipsel)'],
|
||
+ 'libraries': ['<@(openssl_ex_libs_linux-mipsel)'],
|
||
+ 'sources': ['<@(openssl_cli_srcs_linux-mipsel)'],
|
||
+}
|
||
diff -urN a/deps/openssl/config/archs/linux-mipsel/asm/openssl.gypi b/deps/openssl/config/archs/linux-mipsel/asm/openssl.gypi
|
||
--- a/deps/openssl/config/archs/linux-mipsel/asm/openssl.gypi 1970-01-01 09:00:00.000000000 +0900
|
||
+++ b/deps/openssl/config/archs/linux-mipsel/asm/openssl.gypi 2019-12-25 13:49:19.992298784 +0900
|
||
@@ -0,0 +1,716 @@
|
||
+{
|
||
+ 'variables': {
|
||
+ 'openssl_sources': [
|
||
+ 'openssl/ssl/bio_ssl.c',
|
||
+ 'openssl/ssl/d1_lib.c',
|
||
+ 'openssl/ssl/d1_msg.c',
|
||
+ 'openssl/ssl/d1_srtp.c',
|
||
+ 'openssl/ssl/methods.c',
|
||
+ 'openssl/ssl/packet.c',
|
||
+ 'openssl/ssl/pqueue.c',
|
||
+ 'openssl/ssl/record/dtls1_bitmap.c',
|
||
+ 'openssl/ssl/record/rec_layer_d1.c',
|
||
+ 'openssl/ssl/record/rec_layer_s3.c',
|
||
+ 'openssl/ssl/record/ssl3_buffer.c',
|
||
+ 'openssl/ssl/record/ssl3_record.c',
|
||
+ 'openssl/ssl/record/ssl3_record_tls13.c',
|
||
+ 'openssl/ssl/s3_cbc.c',
|
||
+ 'openssl/ssl/s3_enc.c',
|
||
+ 'openssl/ssl/s3_lib.c',
|
||
+ 'openssl/ssl/s3_msg.c',
|
||
+ 'openssl/ssl/ssl_asn1.c',
|
||
+ 'openssl/ssl/ssl_cert.c',
|
||
+ 'openssl/ssl/ssl_ciph.c',
|
||
+ 'openssl/ssl/ssl_conf.c',
|
||
+ 'openssl/ssl/ssl_err.c',
|
||
+ 'openssl/ssl/ssl_init.c',
|
||
+ 'openssl/ssl/ssl_lib.c',
|
||
+ 'openssl/ssl/ssl_mcnf.c',
|
||
+ 'openssl/ssl/ssl_rsa.c',
|
||
+ 'openssl/ssl/ssl_sess.c',
|
||
+ 'openssl/ssl/ssl_stat.c',
|
||
+ 'openssl/ssl/ssl_txt.c',
|
||
+ 'openssl/ssl/ssl_utst.c',
|
||
+ 'openssl/ssl/statem/extensions.c',
|
||
+ 'openssl/ssl/statem/extensions_clnt.c',
|
||
+ 'openssl/ssl/statem/extensions_cust.c',
|
||
+ 'openssl/ssl/statem/extensions_srvr.c',
|
||
+ 'openssl/ssl/statem/statem.c',
|
||
+ 'openssl/ssl/statem/statem_clnt.c',
|
||
+ 'openssl/ssl/statem/statem_dtls.c',
|
||
+ 'openssl/ssl/statem/statem_lib.c',
|
||
+ 'openssl/ssl/statem/statem_srvr.c',
|
||
+ 'openssl/ssl/t1_enc.c',
|
||
+ 'openssl/ssl/t1_lib.c',
|
||
+ 'openssl/ssl/t1_trce.c',
|
||
+ 'openssl/ssl/tls13_enc.c',
|
||
+ 'openssl/ssl/tls_srp.c',
|
||
+ 'openssl/crypto/aes/aes_cbc.c',
|
||
+ 'openssl/crypto/aes/aes_cfb.c',
|
||
+ 'openssl/crypto/aes/aes_ecb.c',
|
||
+ 'openssl/crypto/aes/aes_ige.c',
|
||
+ 'openssl/crypto/aes/aes_misc.c',
|
||
+ 'openssl/crypto/aes/aes_ofb.c',
|
||
+ 'openssl/crypto/aes/aes_wrap.c',
|
||
+ 'openssl/crypto/aria/aria.c',
|
||
+ 'openssl/crypto/asn1/a_bitstr.c',
|
||
+ 'openssl/crypto/asn1/a_d2i_fp.c',
|
||
+ 'openssl/crypto/asn1/a_digest.c',
|
||
+ 'openssl/crypto/asn1/a_dup.c',
|
||
+ 'openssl/crypto/asn1/a_gentm.c',
|
||
+ 'openssl/crypto/asn1/a_i2d_fp.c',
|
||
+ 'openssl/crypto/asn1/a_int.c',
|
||
+ 'openssl/crypto/asn1/a_mbstr.c',
|
||
+ 'openssl/crypto/asn1/a_object.c',
|
||
+ 'openssl/crypto/asn1/a_octet.c',
|
||
+ 'openssl/crypto/asn1/a_print.c',
|
||
+ 'openssl/crypto/asn1/a_sign.c',
|
||
+ 'openssl/crypto/asn1/a_strex.c',
|
||
+ 'openssl/crypto/asn1/a_strnid.c',
|
||
+ 'openssl/crypto/asn1/a_time.c',
|
||
+ 'openssl/crypto/asn1/a_type.c',
|
||
+ 'openssl/crypto/asn1/a_utctm.c',
|
||
+ 'openssl/crypto/asn1/a_utf8.c',
|
||
+ 'openssl/crypto/asn1/a_verify.c',
|
||
+ 'openssl/crypto/asn1/ameth_lib.c',
|
||
+ 'openssl/crypto/asn1/asn1_err.c',
|
||
+ 'openssl/crypto/asn1/asn1_gen.c',
|
||
+ 'openssl/crypto/asn1/asn1_item_list.c',
|
||
+ 'openssl/crypto/asn1/asn1_lib.c',
|
||
+ 'openssl/crypto/asn1/asn1_par.c',
|
||
+ 'openssl/crypto/asn1/asn_mime.c',
|
||
+ 'openssl/crypto/asn1/asn_moid.c',
|
||
+ 'openssl/crypto/asn1/asn_mstbl.c',
|
||
+ 'openssl/crypto/asn1/asn_pack.c',
|
||
+ 'openssl/crypto/asn1/bio_asn1.c',
|
||
+ 'openssl/crypto/asn1/bio_ndef.c',
|
||
+ 'openssl/crypto/asn1/d2i_pr.c',
|
||
+ 'openssl/crypto/asn1/d2i_pu.c',
|
||
+ 'openssl/crypto/asn1/evp_asn1.c',
|
||
+ 'openssl/crypto/asn1/f_int.c',
|
||
+ 'openssl/crypto/asn1/f_string.c',
|
||
+ 'openssl/crypto/asn1/i2d_pr.c',
|
||
+ 'openssl/crypto/asn1/i2d_pu.c',
|
||
+ 'openssl/crypto/asn1/n_pkey.c',
|
||
+ 'openssl/crypto/asn1/nsseq.c',
|
||
+ 'openssl/crypto/asn1/p5_pbe.c',
|
||
+ 'openssl/crypto/asn1/p5_pbev2.c',
|
||
+ 'openssl/crypto/asn1/p5_scrypt.c',
|
||
+ 'openssl/crypto/asn1/p8_pkey.c',
|
||
+ 'openssl/crypto/asn1/t_bitst.c',
|
||
+ 'openssl/crypto/asn1/t_pkey.c',
|
||
+ 'openssl/crypto/asn1/t_spki.c',
|
||
+ 'openssl/crypto/asn1/tasn_dec.c',
|
||
+ 'openssl/crypto/asn1/tasn_enc.c',
|
||
+ 'openssl/crypto/asn1/tasn_fre.c',
|
||
+ 'openssl/crypto/asn1/tasn_new.c',
|
||
+ 'openssl/crypto/asn1/tasn_prn.c',
|
||
+ 'openssl/crypto/asn1/tasn_scn.c',
|
||
+ 'openssl/crypto/asn1/tasn_typ.c',
|
||
+ 'openssl/crypto/asn1/tasn_utl.c',
|
||
+ 'openssl/crypto/asn1/x_algor.c',
|
||
+ 'openssl/crypto/asn1/x_bignum.c',
|
||
+ 'openssl/crypto/asn1/x_info.c',
|
||
+ 'openssl/crypto/asn1/x_int64.c',
|
||
+ 'openssl/crypto/asn1/x_long.c',
|
||
+ 'openssl/crypto/asn1/x_pkey.c',
|
||
+ 'openssl/crypto/asn1/x_sig.c',
|
||
+ 'openssl/crypto/asn1/x_spki.c',
|
||
+ 'openssl/crypto/asn1/x_val.c',
|
||
+ 'openssl/crypto/async/arch/async_null.c',
|
||
+ 'openssl/crypto/async/arch/async_posix.c',
|
||
+ 'openssl/crypto/async/arch/async_win.c',
|
||
+ 'openssl/crypto/async/async.c',
|
||
+ 'openssl/crypto/async/async_err.c',
|
||
+ 'openssl/crypto/async/async_wait.c',
|
||
+ 'openssl/crypto/bf/bf_cfb64.c',
|
||
+ 'openssl/crypto/bf/bf_ecb.c',
|
||
+ 'openssl/crypto/bf/bf_enc.c',
|
||
+ 'openssl/crypto/bf/bf_ofb64.c',
|
||
+ 'openssl/crypto/bf/bf_skey.c',
|
||
+ 'openssl/crypto/bio/b_addr.c',
|
||
+ 'openssl/crypto/bio/b_dump.c',
|
||
+ 'openssl/crypto/bio/b_print.c',
|
||
+ 'openssl/crypto/bio/b_sock.c',
|
||
+ 'openssl/crypto/bio/b_sock2.c',
|
||
+ 'openssl/crypto/bio/bf_buff.c',
|
||
+ 'openssl/crypto/bio/bf_lbuf.c',
|
||
+ 'openssl/crypto/bio/bf_nbio.c',
|
||
+ 'openssl/crypto/bio/bf_null.c',
|
||
+ 'openssl/crypto/bio/bio_cb.c',
|
||
+ 'openssl/crypto/bio/bio_err.c',
|
||
+ 'openssl/crypto/bio/bio_lib.c',
|
||
+ 'openssl/crypto/bio/bio_meth.c',
|
||
+ 'openssl/crypto/bio/bss_acpt.c',
|
||
+ 'openssl/crypto/bio/bss_bio.c',
|
||
+ 'openssl/crypto/bio/bss_conn.c',
|
||
+ 'openssl/crypto/bio/bss_dgram.c',
|
||
+ 'openssl/crypto/bio/bss_fd.c',
|
||
+ 'openssl/crypto/bio/bss_file.c',
|
||
+ 'openssl/crypto/bio/bss_log.c',
|
||
+ 'openssl/crypto/bio/bss_mem.c',
|
||
+ 'openssl/crypto/bio/bss_null.c',
|
||
+ 'openssl/crypto/bio/bss_sock.c',
|
||
+ 'openssl/crypto/blake2/blake2b.c',
|
||
+ 'openssl/crypto/blake2/blake2s.c',
|
||
+ 'openssl/crypto/blake2/m_blake2b.c',
|
||
+ 'openssl/crypto/blake2/m_blake2s.c',
|
||
+ 'openssl/crypto/bn/bn_add.c',
|
||
+ 'openssl/crypto/bn/bn_blind.c',
|
||
+ 'openssl/crypto/bn/bn_const.c',
|
||
+ 'openssl/crypto/bn/bn_ctx.c',
|
||
+ 'openssl/crypto/bn/bn_depr.c',
|
||
+ 'openssl/crypto/bn/bn_dh.c',
|
||
+ 'openssl/crypto/bn/bn_div.c',
|
||
+ 'openssl/crypto/bn/bn_err.c',
|
||
+ 'openssl/crypto/bn/bn_exp.c',
|
||
+ 'openssl/crypto/bn/bn_exp2.c',
|
||
+ 'openssl/crypto/bn/bn_gcd.c',
|
||
+ 'openssl/crypto/bn/bn_gf2m.c',
|
||
+ 'openssl/crypto/bn/bn_intern.c',
|
||
+ 'openssl/crypto/bn/bn_kron.c',
|
||
+ 'openssl/crypto/bn/bn_lib.c',
|
||
+ 'openssl/crypto/bn/bn_mod.c',
|
||
+ 'openssl/crypto/bn/bn_mont.c',
|
||
+ 'openssl/crypto/bn/bn_mpi.c',
|
||
+ 'openssl/crypto/bn/bn_mul.c',
|
||
+ 'openssl/crypto/bn/bn_nist.c',
|
||
+ 'openssl/crypto/bn/bn_prime.c',
|
||
+ 'openssl/crypto/bn/bn_print.c',
|
||
+ 'openssl/crypto/bn/bn_rand.c',
|
||
+ 'openssl/crypto/bn/bn_recp.c',
|
||
+ 'openssl/crypto/bn/bn_shift.c',
|
||
+ 'openssl/crypto/bn/bn_sqr.c',
|
||
+ 'openssl/crypto/bn/bn_sqrt.c',
|
||
+ 'openssl/crypto/bn/bn_srp.c',
|
||
+ 'openssl/crypto/bn/bn_word.c',
|
||
+ 'openssl/crypto/bn/bn_x931p.c',
|
||
+ 'openssl/crypto/buffer/buf_err.c',
|
||
+ 'openssl/crypto/buffer/buffer.c',
|
||
+ 'openssl/crypto/camellia/camellia.c',
|
||
+ 'openssl/crypto/camellia/cmll_cbc.c',
|
||
+ 'openssl/crypto/camellia/cmll_cfb.c',
|
||
+ 'openssl/crypto/camellia/cmll_ctr.c',
|
||
+ 'openssl/crypto/camellia/cmll_ecb.c',
|
||
+ 'openssl/crypto/camellia/cmll_misc.c',
|
||
+ 'openssl/crypto/camellia/cmll_ofb.c',
|
||
+ 'openssl/crypto/cast/c_cfb64.c',
|
||
+ 'openssl/crypto/cast/c_ecb.c',
|
||
+ 'openssl/crypto/cast/c_enc.c',
|
||
+ 'openssl/crypto/cast/c_ofb64.c',
|
||
+ 'openssl/crypto/cast/c_skey.c',
|
||
+ 'openssl/crypto/chacha/chacha_enc.c',
|
||
+ 'openssl/crypto/cmac/cm_ameth.c',
|
||
+ 'openssl/crypto/cmac/cm_pmeth.c',
|
||
+ 'openssl/crypto/cmac/cmac.c',
|
||
+ 'openssl/crypto/cms/cms_asn1.c',
|
||
+ 'openssl/crypto/cms/cms_att.c',
|
||
+ 'openssl/crypto/cms/cms_cd.c',
|
||
+ 'openssl/crypto/cms/cms_dd.c',
|
||
+ 'openssl/crypto/cms/cms_enc.c',
|
||
+ 'openssl/crypto/cms/cms_env.c',
|
||
+ 'openssl/crypto/cms/cms_err.c',
|
||
+ 'openssl/crypto/cms/cms_ess.c',
|
||
+ 'openssl/crypto/cms/cms_io.c',
|
||
+ 'openssl/crypto/cms/cms_kari.c',
|
||
+ 'openssl/crypto/cms/cms_lib.c',
|
||
+ 'openssl/crypto/cms/cms_pwri.c',
|
||
+ 'openssl/crypto/cms/cms_sd.c',
|
||
+ 'openssl/crypto/cms/cms_smime.c',
|
||
+ 'openssl/crypto/conf/conf_api.c',
|
||
+ 'openssl/crypto/conf/conf_def.c',
|
||
+ 'openssl/crypto/conf/conf_err.c',
|
||
+ 'openssl/crypto/conf/conf_lib.c',
|
||
+ 'openssl/crypto/conf/conf_mall.c',
|
||
+ 'openssl/crypto/conf/conf_mod.c',
|
||
+ 'openssl/crypto/conf/conf_sap.c',
|
||
+ 'openssl/crypto/conf/conf_ssl.c',
|
||
+ 'openssl/crypto/cpt_err.c',
|
||
+ 'openssl/crypto/cryptlib.c',
|
||
+ 'openssl/crypto/ct/ct_b64.c',
|
||
+ 'openssl/crypto/ct/ct_err.c',
|
||
+ 'openssl/crypto/ct/ct_log.c',
|
||
+ 'openssl/crypto/ct/ct_oct.c',
|
||
+ 'openssl/crypto/ct/ct_policy.c',
|
||
+ 'openssl/crypto/ct/ct_prn.c',
|
||
+ 'openssl/crypto/ct/ct_sct.c',
|
||
+ 'openssl/crypto/ct/ct_sct_ctx.c',
|
||
+ 'openssl/crypto/ct/ct_vfy.c',
|
||
+ 'openssl/crypto/ct/ct_x509v3.c',
|
||
+ 'openssl/crypto/ctype.c',
|
||
+ 'openssl/crypto/cversion.c',
|
||
+ 'openssl/crypto/des/cbc_cksm.c',
|
||
+ 'openssl/crypto/des/cbc_enc.c',
|
||
+ 'openssl/crypto/des/cfb64ede.c',
|
||
+ 'openssl/crypto/des/cfb64enc.c',
|
||
+ 'openssl/crypto/des/cfb_enc.c',
|
||
+ 'openssl/crypto/des/des_enc.c',
|
||
+ 'openssl/crypto/des/ecb3_enc.c',
|
||
+ 'openssl/crypto/des/ecb_enc.c',
|
||
+ 'openssl/crypto/des/fcrypt.c',
|
||
+ 'openssl/crypto/des/fcrypt_b.c',
|
||
+ 'openssl/crypto/des/ofb64ede.c',
|
||
+ 'openssl/crypto/des/ofb64enc.c',
|
||
+ 'openssl/crypto/des/ofb_enc.c',
|
||
+ 'openssl/crypto/des/pcbc_enc.c',
|
||
+ 'openssl/crypto/des/qud_cksm.c',
|
||
+ 'openssl/crypto/des/rand_key.c',
|
||
+ 'openssl/crypto/des/set_key.c',
|
||
+ 'openssl/crypto/des/str2key.c',
|
||
+ 'openssl/crypto/des/xcbc_enc.c',
|
||
+ 'openssl/crypto/dh/dh_ameth.c',
|
||
+ 'openssl/crypto/dh/dh_asn1.c',
|
||
+ 'openssl/crypto/dh/dh_check.c',
|
||
+ 'openssl/crypto/dh/dh_depr.c',
|
||
+ 'openssl/crypto/dh/dh_err.c',
|
||
+ 'openssl/crypto/dh/dh_gen.c',
|
||
+ 'openssl/crypto/dh/dh_kdf.c',
|
||
+ 'openssl/crypto/dh/dh_key.c',
|
||
+ 'openssl/crypto/dh/dh_lib.c',
|
||
+ 'openssl/crypto/dh/dh_meth.c',
|
||
+ 'openssl/crypto/dh/dh_pmeth.c',
|
||
+ 'openssl/crypto/dh/dh_prn.c',
|
||
+ 'openssl/crypto/dh/dh_rfc5114.c',
|
||
+ 'openssl/crypto/dh/dh_rfc7919.c',
|
||
+ 'openssl/crypto/dsa/dsa_ameth.c',
|
||
+ 'openssl/crypto/dsa/dsa_asn1.c',
|
||
+ 'openssl/crypto/dsa/dsa_depr.c',
|
||
+ 'openssl/crypto/dsa/dsa_err.c',
|
||
+ 'openssl/crypto/dsa/dsa_gen.c',
|
||
+ 'openssl/crypto/dsa/dsa_key.c',
|
||
+ 'openssl/crypto/dsa/dsa_lib.c',
|
||
+ 'openssl/crypto/dsa/dsa_meth.c',
|
||
+ 'openssl/crypto/dsa/dsa_ossl.c',
|
||
+ 'openssl/crypto/dsa/dsa_pmeth.c',
|
||
+ 'openssl/crypto/dsa/dsa_prn.c',
|
||
+ 'openssl/crypto/dsa/dsa_sign.c',
|
||
+ 'openssl/crypto/dsa/dsa_vrf.c',
|
||
+ 'openssl/crypto/dso/dso_dl.c',
|
||
+ 'openssl/crypto/dso/dso_dlfcn.c',
|
||
+ 'openssl/crypto/dso/dso_err.c',
|
||
+ 'openssl/crypto/dso/dso_lib.c',
|
||
+ 'openssl/crypto/dso/dso_openssl.c',
|
||
+ 'openssl/crypto/dso/dso_vms.c',
|
||
+ 'openssl/crypto/dso/dso_win32.c',
|
||
+ 'openssl/crypto/ebcdic.c',
|
||
+ 'openssl/crypto/ec/curve25519.c',
|
||
+ 'openssl/crypto/ec/curve448/arch_32/f_impl.c',
|
||
+ 'openssl/crypto/ec/curve448/curve448.c',
|
||
+ 'openssl/crypto/ec/curve448/curve448_tables.c',
|
||
+ 'openssl/crypto/ec/curve448/eddsa.c',
|
||
+ 'openssl/crypto/ec/curve448/f_generic.c',
|
||
+ 'openssl/crypto/ec/curve448/scalar.c',
|
||
+ 'openssl/crypto/ec/ec2_oct.c',
|
||
+ 'openssl/crypto/ec/ec2_smpl.c',
|
||
+ 'openssl/crypto/ec/ec_ameth.c',
|
||
+ 'openssl/crypto/ec/ec_asn1.c',
|
||
+ 'openssl/crypto/ec/ec_check.c',
|
||
+ 'openssl/crypto/ec/ec_curve.c',
|
||
+ 'openssl/crypto/ec/ec_cvt.c',
|
||
+ 'openssl/crypto/ec/ec_err.c',
|
||
+ 'openssl/crypto/ec/ec_key.c',
|
||
+ 'openssl/crypto/ec/ec_kmeth.c',
|
||
+ 'openssl/crypto/ec/ec_lib.c',
|
||
+ 'openssl/crypto/ec/ec_mult.c',
|
||
+ 'openssl/crypto/ec/ec_oct.c',
|
||
+ 'openssl/crypto/ec/ec_pmeth.c',
|
||
+ 'openssl/crypto/ec/ec_print.c',
|
||
+ 'openssl/crypto/ec/ecdh_kdf.c',
|
||
+ 'openssl/crypto/ec/ecdh_ossl.c',
|
||
+ 'openssl/crypto/ec/ecdsa_ossl.c',
|
||
+ 'openssl/crypto/ec/ecdsa_sign.c',
|
||
+ 'openssl/crypto/ec/ecdsa_vrf.c',
|
||
+ 'openssl/crypto/ec/eck_prn.c',
|
||
+ 'openssl/crypto/ec/ecp_mont.c',
|
||
+ 'openssl/crypto/ec/ecp_nist.c',
|
||
+ 'openssl/crypto/ec/ecp_nistp224.c',
|
||
+ 'openssl/crypto/ec/ecp_nistp256.c',
|
||
+ 'openssl/crypto/ec/ecp_nistp521.c',
|
||
+ 'openssl/crypto/ec/ecp_nistputil.c',
|
||
+ 'openssl/crypto/ec/ecp_oct.c',
|
||
+ 'openssl/crypto/ec/ecp_smpl.c',
|
||
+ 'openssl/crypto/ec/ecx_meth.c',
|
||
+ 'openssl/crypto/engine/eng_all.c',
|
||
+ 'openssl/crypto/engine/eng_cnf.c',
|
||
+ 'openssl/crypto/engine/eng_ctrl.c',
|
||
+ 'openssl/crypto/engine/eng_dyn.c',
|
||
+ 'openssl/crypto/engine/eng_err.c',
|
||
+ 'openssl/crypto/engine/eng_fat.c',
|
||
+ 'openssl/crypto/engine/eng_init.c',
|
||
+ 'openssl/crypto/engine/eng_lib.c',
|
||
+ 'openssl/crypto/engine/eng_list.c',
|
||
+ 'openssl/crypto/engine/eng_openssl.c',
|
||
+ 'openssl/crypto/engine/eng_pkey.c',
|
||
+ 'openssl/crypto/engine/eng_rdrand.c',
|
||
+ 'openssl/crypto/engine/eng_table.c',
|
||
+ 'openssl/crypto/engine/tb_asnmth.c',
|
||
+ 'openssl/crypto/engine/tb_cipher.c',
|
||
+ 'openssl/crypto/engine/tb_dh.c',
|
||
+ 'openssl/crypto/engine/tb_digest.c',
|
||
+ 'openssl/crypto/engine/tb_dsa.c',
|
||
+ 'openssl/crypto/engine/tb_eckey.c',
|
||
+ 'openssl/crypto/engine/tb_pkmeth.c',
|
||
+ 'openssl/crypto/engine/tb_rand.c',
|
||
+ 'openssl/crypto/engine/tb_rsa.c',
|
||
+ 'openssl/crypto/err/err.c',
|
||
+ 'openssl/crypto/err/err_all.c',
|
||
+ 'openssl/crypto/err/err_prn.c',
|
||
+ 'openssl/crypto/evp/bio_b64.c',
|
||
+ 'openssl/crypto/evp/bio_enc.c',
|
||
+ 'openssl/crypto/evp/bio_md.c',
|
||
+ 'openssl/crypto/evp/bio_ok.c',
|
||
+ 'openssl/crypto/evp/c_allc.c',
|
||
+ 'openssl/crypto/evp/c_alld.c',
|
||
+ 'openssl/crypto/evp/cmeth_lib.c',
|
||
+ 'openssl/crypto/evp/digest.c',
|
||
+ 'openssl/crypto/evp/e_aes.c',
|
||
+ 'openssl/crypto/evp/e_aes_cbc_hmac_sha1.c',
|
||
+ 'openssl/crypto/evp/e_aes_cbc_hmac_sha256.c',
|
||
+ 'openssl/crypto/evp/e_aria.c',
|
||
+ 'openssl/crypto/evp/e_bf.c',
|
||
+ 'openssl/crypto/evp/e_camellia.c',
|
||
+ 'openssl/crypto/evp/e_cast.c',
|
||
+ 'openssl/crypto/evp/e_chacha20_poly1305.c',
|
||
+ 'openssl/crypto/evp/e_des.c',
|
||
+ 'openssl/crypto/evp/e_des3.c',
|
||
+ 'openssl/crypto/evp/e_idea.c',
|
||
+ 'openssl/crypto/evp/e_null.c',
|
||
+ 'openssl/crypto/evp/e_old.c',
|
||
+ 'openssl/crypto/evp/e_rc2.c',
|
||
+ 'openssl/crypto/evp/e_rc4.c',
|
||
+ 'openssl/crypto/evp/e_rc4_hmac_md5.c',
|
||
+ 'openssl/crypto/evp/e_rc5.c',
|
||
+ 'openssl/crypto/evp/e_seed.c',
|
||
+ 'openssl/crypto/evp/e_sm4.c',
|
||
+ 'openssl/crypto/evp/e_xcbc_d.c',
|
||
+ 'openssl/crypto/evp/encode.c',
|
||
+ 'openssl/crypto/evp/evp_cnf.c',
|
||
+ 'openssl/crypto/evp/evp_enc.c',
|
||
+ 'openssl/crypto/evp/evp_err.c',
|
||
+ 'openssl/crypto/evp/evp_key.c',
|
||
+ 'openssl/crypto/evp/evp_lib.c',
|
||
+ 'openssl/crypto/evp/evp_pbe.c',
|
||
+ 'openssl/crypto/evp/evp_pkey.c',
|
||
+ 'openssl/crypto/evp/m_md2.c',
|
||
+ 'openssl/crypto/evp/m_md4.c',
|
||
+ 'openssl/crypto/evp/m_md5.c',
|
||
+ 'openssl/crypto/evp/m_md5_sha1.c',
|
||
+ 'openssl/crypto/evp/m_mdc2.c',
|
||
+ 'openssl/crypto/evp/m_null.c',
|
||
+ 'openssl/crypto/evp/m_ripemd.c',
|
||
+ 'openssl/crypto/evp/m_sha1.c',
|
||
+ 'openssl/crypto/evp/m_sha3.c',
|
||
+ 'openssl/crypto/evp/m_sigver.c',
|
||
+ 'openssl/crypto/evp/m_wp.c',
|
||
+ 'openssl/crypto/evp/names.c',
|
||
+ 'openssl/crypto/evp/p5_crpt.c',
|
||
+ 'openssl/crypto/evp/p5_crpt2.c',
|
||
+ 'openssl/crypto/evp/p_dec.c',
|
||
+ 'openssl/crypto/evp/p_enc.c',
|
||
+ 'openssl/crypto/evp/p_lib.c',
|
||
+ 'openssl/crypto/evp/p_open.c',
|
||
+ 'openssl/crypto/evp/p_seal.c',
|
||
+ 'openssl/crypto/evp/p_sign.c',
|
||
+ 'openssl/crypto/evp/p_verify.c',
|
||
+ 'openssl/crypto/evp/pbe_scrypt.c',
|
||
+ 'openssl/crypto/evp/pmeth_fn.c',
|
||
+ 'openssl/crypto/evp/pmeth_gn.c',
|
||
+ 'openssl/crypto/evp/pmeth_lib.c',
|
||
+ 'openssl/crypto/ex_data.c',
|
||
+ 'openssl/crypto/getenv.c',
|
||
+ 'openssl/crypto/hmac/hm_ameth.c',
|
||
+ 'openssl/crypto/hmac/hm_pmeth.c',
|
||
+ 'openssl/crypto/hmac/hmac.c',
|
||
+ 'openssl/crypto/idea/i_cbc.c',
|
||
+ 'openssl/crypto/idea/i_cfb64.c',
|
||
+ 'openssl/crypto/idea/i_ecb.c',
|
||
+ 'openssl/crypto/idea/i_ofb64.c',
|
||
+ 'openssl/crypto/idea/i_skey.c',
|
||
+ 'openssl/crypto/init.c',
|
||
+ 'openssl/crypto/kdf/hkdf.c',
|
||
+ 'openssl/crypto/kdf/kdf_err.c',
|
||
+ 'openssl/crypto/kdf/scrypt.c',
|
||
+ 'openssl/crypto/kdf/tls1_prf.c',
|
||
+ 'openssl/crypto/lhash/lh_stats.c',
|
||
+ 'openssl/crypto/lhash/lhash.c',
|
||
+ 'openssl/crypto/md4/md4_dgst.c',
|
||
+ 'openssl/crypto/md4/md4_one.c',
|
||
+ 'openssl/crypto/md5/md5_dgst.c',
|
||
+ 'openssl/crypto/md5/md5_one.c',
|
||
+ 'openssl/crypto/mdc2/mdc2_one.c',
|
||
+ 'openssl/crypto/mdc2/mdc2dgst.c',
|
||
+ 'openssl/crypto/mem.c',
|
||
+ 'openssl/crypto/mem_clr.c',
|
||
+ 'openssl/crypto/mem_dbg.c',
|
||
+ 'openssl/crypto/mem_sec.c',
|
||
+ 'openssl/crypto/modes/cbc128.c',
|
||
+ 'openssl/crypto/modes/ccm128.c',
|
||
+ 'openssl/crypto/modes/cfb128.c',
|
||
+ 'openssl/crypto/modes/ctr128.c',
|
||
+ 'openssl/crypto/modes/cts128.c',
|
||
+ 'openssl/crypto/modes/gcm128.c',
|
||
+ 'openssl/crypto/modes/ocb128.c',
|
||
+ 'openssl/crypto/modes/ofb128.c',
|
||
+ 'openssl/crypto/modes/wrap128.c',
|
||
+ 'openssl/crypto/modes/xts128.c',
|
||
+ 'openssl/crypto/o_dir.c',
|
||
+ 'openssl/crypto/o_fips.c',
|
||
+ 'openssl/crypto/o_fopen.c',
|
||
+ 'openssl/crypto/o_init.c',
|
||
+ 'openssl/crypto/o_str.c',
|
||
+ 'openssl/crypto/o_time.c',
|
||
+ 'openssl/crypto/objects/o_names.c',
|
||
+ 'openssl/crypto/objects/obj_dat.c',
|
||
+ 'openssl/crypto/objects/obj_err.c',
|
||
+ 'openssl/crypto/objects/obj_lib.c',
|
||
+ 'openssl/crypto/objects/obj_xref.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_asn.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_cl.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_err.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_ext.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_ht.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_lib.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_prn.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_srv.c',
|
||
+ 'openssl/crypto/ocsp/ocsp_vfy.c',
|
||
+ 'openssl/crypto/ocsp/v3_ocsp.c',
|
||
+ 'openssl/crypto/pem/pem_all.c',
|
||
+ 'openssl/crypto/pem/pem_err.c',
|
||
+ 'openssl/crypto/pem/pem_info.c',
|
||
+ 'openssl/crypto/pem/pem_lib.c',
|
||
+ 'openssl/crypto/pem/pem_oth.c',
|
||
+ 'openssl/crypto/pem/pem_pk8.c',
|
||
+ 'openssl/crypto/pem/pem_pkey.c',
|
||
+ 'openssl/crypto/pem/pem_sign.c',
|
||
+ 'openssl/crypto/pem/pem_x509.c',
|
||
+ 'openssl/crypto/pem/pem_xaux.c',
|
||
+ 'openssl/crypto/pem/pvkfmt.c',
|
||
+ 'openssl/crypto/pkcs12/p12_add.c',
|
||
+ 'openssl/crypto/pkcs12/p12_asn.c',
|
||
+ 'openssl/crypto/pkcs12/p12_attr.c',
|
||
+ 'openssl/crypto/pkcs12/p12_crpt.c',
|
||
+ 'openssl/crypto/pkcs12/p12_crt.c',
|
||
+ 'openssl/crypto/pkcs12/p12_decr.c',
|
||
+ 'openssl/crypto/pkcs12/p12_init.c',
|
||
+ 'openssl/crypto/pkcs12/p12_key.c',
|
||
+ 'openssl/crypto/pkcs12/p12_kiss.c',
|
||
+ 'openssl/crypto/pkcs12/p12_mutl.c',
|
||
+ 'openssl/crypto/pkcs12/p12_npas.c',
|
||
+ 'openssl/crypto/pkcs12/p12_p8d.c',
|
||
+ 'openssl/crypto/pkcs12/p12_p8e.c',
|
||
+ 'openssl/crypto/pkcs12/p12_sbag.c',
|
||
+ 'openssl/crypto/pkcs12/p12_utl.c',
|
||
+ 'openssl/crypto/pkcs12/pk12err.c',
|
||
+ 'openssl/crypto/pkcs7/bio_pk7.c',
|
||
+ 'openssl/crypto/pkcs7/pk7_asn1.c',
|
||
+ 'openssl/crypto/pkcs7/pk7_attr.c',
|
||
+ 'openssl/crypto/pkcs7/pk7_doit.c',
|
||
+ 'openssl/crypto/pkcs7/pk7_lib.c',
|
||
+ 'openssl/crypto/pkcs7/pk7_mime.c',
|
||
+ 'openssl/crypto/pkcs7/pk7_smime.c',
|
||
+ 'openssl/crypto/pkcs7/pkcs7err.c',
|
||
+ 'openssl/crypto/poly1305/poly1305.c',
|
||
+ 'openssl/crypto/poly1305/poly1305_ameth.c',
|
||
+ 'openssl/crypto/poly1305/poly1305_pmeth.c',
|
||
+ 'openssl/crypto/rand/drbg_ctr.c',
|
||
+ 'openssl/crypto/rand/drbg_lib.c',
|
||
+ 'openssl/crypto/rand/rand_egd.c',
|
||
+ 'openssl/crypto/rand/rand_err.c',
|
||
+ 'openssl/crypto/rand/rand_lib.c',
|
||
+ 'openssl/crypto/rand/rand_unix.c',
|
||
+ 'openssl/crypto/rand/rand_vms.c',
|
||
+ 'openssl/crypto/rand/rand_win.c',
|
||
+ 'openssl/crypto/rand/randfile.c',
|
||
+ 'openssl/crypto/rc2/rc2_cbc.c',
|
||
+ 'openssl/crypto/rc2/rc2_ecb.c',
|
||
+ 'openssl/crypto/rc2/rc2_skey.c',
|
||
+ 'openssl/crypto/rc2/rc2cfb64.c',
|
||
+ 'openssl/crypto/rc2/rc2ofb64.c',
|
||
+ 'openssl/crypto/rc4/rc4_enc.c',
|
||
+ 'openssl/crypto/rc4/rc4_skey.c',
|
||
+ 'openssl/crypto/ripemd/rmd_dgst.c',
|
||
+ 'openssl/crypto/ripemd/rmd_one.c',
|
||
+ 'openssl/crypto/rsa/rsa_ameth.c',
|
||
+ 'openssl/crypto/rsa/rsa_asn1.c',
|
||
+ 'openssl/crypto/rsa/rsa_chk.c',
|
||
+ 'openssl/crypto/rsa/rsa_crpt.c',
|
||
+ 'openssl/crypto/rsa/rsa_depr.c',
|
||
+ 'openssl/crypto/rsa/rsa_err.c',
|
||
+ 'openssl/crypto/rsa/rsa_gen.c',
|
||
+ 'openssl/crypto/rsa/rsa_lib.c',
|
||
+ 'openssl/crypto/rsa/rsa_meth.c',
|
||
+ 'openssl/crypto/rsa/rsa_mp.c',
|
||
+ 'openssl/crypto/rsa/rsa_none.c',
|
||
+ 'openssl/crypto/rsa/rsa_oaep.c',
|
||
+ 'openssl/crypto/rsa/rsa_ossl.c',
|
||
+ 'openssl/crypto/rsa/rsa_pk1.c',
|
||
+ 'openssl/crypto/rsa/rsa_pmeth.c',
|
||
+ 'openssl/crypto/rsa/rsa_prn.c',
|
||
+ 'openssl/crypto/rsa/rsa_pss.c',
|
||
+ 'openssl/crypto/rsa/rsa_saos.c',
|
||
+ 'openssl/crypto/rsa/rsa_sign.c',
|
||
+ 'openssl/crypto/rsa/rsa_ssl.c',
|
||
+ 'openssl/crypto/rsa/rsa_x931.c',
|
||
+ 'openssl/crypto/rsa/rsa_x931g.c',
|
||
+ 'openssl/crypto/seed/seed.c',
|
||
+ 'openssl/crypto/seed/seed_cbc.c',
|
||
+ 'openssl/crypto/seed/seed_cfb.c',
|
||
+ 'openssl/crypto/seed/seed_ecb.c',
|
||
+ 'openssl/crypto/seed/seed_ofb.c',
|
||
+ 'openssl/crypto/sha/keccak1600.c',
|
||
+ 'openssl/crypto/sha/sha1_one.c',
|
||
+ 'openssl/crypto/sha/sha1dgst.c',
|
||
+ 'openssl/crypto/sha/sha256.c',
|
||
+ 'openssl/crypto/sha/sha512.c',
|
||
+ 'openssl/crypto/siphash/siphash.c',
|
||
+ 'openssl/crypto/siphash/siphash_ameth.c',
|
||
+ 'openssl/crypto/siphash/siphash_pmeth.c',
|
||
+ 'openssl/crypto/sm2/sm2_crypt.c',
|
||
+ 'openssl/crypto/sm2/sm2_err.c',
|
||
+ 'openssl/crypto/sm2/sm2_pmeth.c',
|
||
+ 'openssl/crypto/sm2/sm2_sign.c',
|
||
+ 'openssl/crypto/sm3/m_sm3.c',
|
||
+ 'openssl/crypto/sm3/sm3.c',
|
||
+ 'openssl/crypto/sm4/sm4.c',
|
||
+ 'openssl/crypto/srp/srp_lib.c',
|
||
+ 'openssl/crypto/srp/srp_vfy.c',
|
||
+ 'openssl/crypto/stack/stack.c',
|
||
+ 'openssl/crypto/store/loader_file.c',
|
||
+ 'openssl/crypto/store/store_err.c',
|
||
+ 'openssl/crypto/store/store_init.c',
|
||
+ 'openssl/crypto/store/store_lib.c',
|
||
+ 'openssl/crypto/store/store_register.c',
|
||
+ 'openssl/crypto/store/store_strings.c',
|
||
+ 'openssl/crypto/threads_none.c',
|
||
+ 'openssl/crypto/threads_pthread.c',
|
||
+ 'openssl/crypto/threads_win.c',
|
||
+ 'openssl/crypto/ts/ts_asn1.c',
|
||
+ 'openssl/crypto/ts/ts_conf.c',
|
||
+ 'openssl/crypto/ts/ts_err.c',
|
||
+ 'openssl/crypto/ts/ts_lib.c',
|
||
+ 'openssl/crypto/ts/ts_req_print.c',
|
||
+ 'openssl/crypto/ts/ts_req_utils.c',
|
||
+ 'openssl/crypto/ts/ts_rsp_print.c',
|
||
+ 'openssl/crypto/ts/ts_rsp_sign.c',
|
||
+ 'openssl/crypto/ts/ts_rsp_utils.c',
|
||
+ 'openssl/crypto/ts/ts_rsp_verify.c',
|
||
+ 'openssl/crypto/ts/ts_verify_ctx.c',
|
||
+ 'openssl/crypto/txt_db/txt_db.c',
|
||
+ 'openssl/crypto/ui/ui_err.c',
|
||
+ 'openssl/crypto/ui/ui_lib.c',
|
||
+ 'openssl/crypto/ui/ui_null.c',
|
||
+ 'openssl/crypto/ui/ui_openssl.c',
|
||
+ 'openssl/crypto/ui/ui_util.c',
|
||
+ 'openssl/crypto/uid.c',
|
||
+ 'openssl/crypto/whrlpool/wp_block.c',
|
||
+ 'openssl/crypto/whrlpool/wp_dgst.c',
|
||
+ 'openssl/crypto/x509/by_dir.c',
|
||
+ 'openssl/crypto/x509/by_file.c',
|
||
+ 'openssl/crypto/x509/t_crl.c',
|
||
+ 'openssl/crypto/x509/t_req.c',
|
||
+ 'openssl/crypto/x509/t_x509.c',
|
||
+ 'openssl/crypto/x509/x509_att.c',
|
||
+ 'openssl/crypto/x509/x509_cmp.c',
|
||
+ 'openssl/crypto/x509/x509_d2.c',
|
||
+ 'openssl/crypto/x509/x509_def.c',
|
||
+ 'openssl/crypto/x509/x509_err.c',
|
||
+ 'openssl/crypto/x509/x509_ext.c',
|
||
+ 'openssl/crypto/x509/x509_lu.c',
|
||
+ 'openssl/crypto/x509/x509_meth.c',
|
||
+ 'openssl/crypto/x509/x509_obj.c',
|
||
+ 'openssl/crypto/x509/x509_r2x.c',
|
||
+ 'openssl/crypto/x509/x509_req.c',
|
||
+ 'openssl/crypto/x509/x509_set.c',
|
||
+ 'openssl/crypto/x509/x509_trs.c',
|
||
+ 'openssl/crypto/x509/x509_txt.c',
|
||
+ 'openssl/crypto/x509/x509_v3.c',
|
||
+ 'openssl/crypto/x509/x509_vfy.c',
|
||
+ 'openssl/crypto/x509/x509_vpm.c',
|
||
+ 'openssl/crypto/x509/x509cset.c',
|
||
+ 'openssl/crypto/x509/x509name.c',
|
||
+ 'openssl/crypto/x509/x509rset.c',
|
||
+ 'openssl/crypto/x509/x509spki.c',
|
||
+ 'openssl/crypto/x509/x509type.c',
|
||
+ 'openssl/crypto/x509/x_all.c',
|
||
+ 'openssl/crypto/x509/x_attrib.c',
|
||
+ 'openssl/crypto/x509/x_crl.c',
|
||
+ 'openssl/crypto/x509/x_exten.c',
|
||
+ 'openssl/crypto/x509/x_name.c',
|
||
+ 'openssl/crypto/x509/x_pubkey.c',
|
||
+ 'openssl/crypto/x509/x_req.c',
|
||
+ 'openssl/crypto/x509/x_x509.c',
|
||
+ 'openssl/crypto/x509/x_x509a.c',
|
||
+ 'openssl/crypto/x509v3/pcy_cache.c',
|
||
+ 'openssl/crypto/x509v3/pcy_data.c',
|
||
+ 'openssl/crypto/x509v3/pcy_lib.c',
|
||
+ 'openssl/crypto/x509v3/pcy_map.c',
|
||
+ 'openssl/crypto/x509v3/pcy_node.c',
|
||
+ 'openssl/crypto/x509v3/pcy_tree.c',
|
||
+ 'openssl/crypto/x509v3/v3_addr.c',
|
||
+ 'openssl/crypto/x509v3/v3_admis.c',
|
||
+ 'openssl/crypto/x509v3/v3_akey.c',
|
||
+ 'openssl/crypto/x509v3/v3_akeya.c',
|
||
+ 'openssl/crypto/x509v3/v3_alt.c',
|
||
+ 'openssl/crypto/x509v3/v3_asid.c',
|
||
+ 'openssl/crypto/x509v3/v3_bcons.c',
|
||
+ 'openssl/crypto/x509v3/v3_bitst.c',
|
||
+ 'openssl/crypto/x509v3/v3_conf.c',
|
||
+ 'openssl/crypto/x509v3/v3_cpols.c',
|
||
+ 'openssl/crypto/x509v3/v3_crld.c',
|
||
+ 'openssl/crypto/x509v3/v3_enum.c',
|
||
+ 'openssl/crypto/x509v3/v3_extku.c',
|
||
+ 'openssl/crypto/x509v3/v3_genn.c',
|
||
+ 'openssl/crypto/x509v3/v3_ia5.c',
|
||
+ 'openssl/crypto/x509v3/v3_info.c',
|
||
+ 'openssl/crypto/x509v3/v3_int.c',
|
||
+ 'openssl/crypto/x509v3/v3_lib.c',
|
||
+ 'openssl/crypto/x509v3/v3_ncons.c',
|
||
+ 'openssl/crypto/x509v3/v3_pci.c',
|
||
+ 'openssl/crypto/x509v3/v3_pcia.c',
|
||
+ 'openssl/crypto/x509v3/v3_pcons.c',
|
||
+ 'openssl/crypto/x509v3/v3_pku.c',
|
||
+ 'openssl/crypto/x509v3/v3_pmaps.c',
|
||
+ 'openssl/crypto/x509v3/v3_prn.c',
|
||
+ 'openssl/crypto/x509v3/v3_purp.c',
|
||
+ 'openssl/crypto/x509v3/v3_skey.c',
|
||
+ 'openssl/crypto/x509v3/v3_sxnet.c',
|
||
+ 'openssl/crypto/x509v3/v3_tlsf.c',
|
||
+ 'openssl/crypto/x509v3/v3_utl.c',
|
||
+ 'openssl/crypto/x509v3/v3err.c',
|
||
+ 'openssl/engines/e_capi.c',
|
||
+ 'openssl/engines/e_padlock.c',
|
||
+ ],
|
||
+ 'openssl_sources_linux-mipsel': [
|
||
+ './config/archs/linux-mipsel/asm/crypto/aes/aes-mips.S',
|
||
+ './config/archs/linux-mipsel/asm/crypto/bn/bn-mips.S',
|
||
+ './config/archs/linux-mipsel/asm/crypto/bn/mips-mont.S',
|
||
+ './config/archs/linux-mipsel/asm/crypto/sha/sha1-mips.S',
|
||
+ './config/archs/linux-mipsel/asm/crypto/sha/sha256-mips.S',
|
||
+ ],
|
||
+ 'openssl_defines_linux-mipsel': [
|
||
+ 'NDEBUG',
|
||
+ 'OPENSSL_USE_NODELETE',
|
||
+ 'OPENSSL_PIC',
|
||
+ 'OPENSSL_BN_ASM_MONT',
|
||
+ 'SHA1_ASM',
|
||
+ 'SHA256_ASM',
|
||
+ 'AES_ASM',
|
||
+ ],
|
||
+ 'openssl_cflags_linux-mipsel': [
|
||
+ '-Wall -O3 -pthread',
|
||
+ ],
|
||
+ 'openssl_ex_libs_linux-mipsel': [
|
||
+ '-ldl -pthread',
|
||
+ ],
|
||
+ },
|
||
+ 'include_dirs': [
|
||
+ '.',
|
||
+ './include',
|
||
+ './crypto',
|
||
+ './crypto/include/internal',
|
||
+ ],
|
||
+ 'defines': ['<@(openssl_defines_linux-mipsel)'],
|
||
+ 'cflags' : ['<@(openssl_cflags_linux-mipsel)'],
|
||
+ 'libraries': ['<@(openssl_ex_libs_linux-mipsel)'],
|
||
+ 'sources': ['<@(openssl_sources)', '<@(openssl_sources_linux-mipsel)'],
|
||
+}
|
||
diff -urN a/deps/openssl/config/bn_conf_asm.h b/deps/openssl/config/bn_conf_asm.h
|
||
--- a/deps/openssl/config/bn_conf_asm.h 2019-12-17 16:05:03.000000000 +0900
|
||
+++ b/deps/openssl/config/bn_conf_asm.h 2019-12-25 13:49:19.992298784 +0900
|
||
@@ -13,6 +13,10 @@
|
||
# include "./archs/linux-armv4/asm/crypto/include/internal/bn_conf.h"
|
||
#elif defined(OPENSSL_LINUX) && defined(__aarch64__)
|
||
# include "./archs/linux-aarch64/asm/crypto/include/internal/bn_conf.h"
|
||
+#elif defined(OPENSSL_LINUX) && defined(__mips__)
|
||
+# include "./archs/linux-mips/asm/crypto/include/internal/bn_conf.h"
|
||
+#elif defined(OPENSSL_LINUX) && defined(__MIPSEL__)
|
||
+# include "./archs/linux-mipsel/asm/crypto/include/internal/bn_conf.h"
|
||
#elif defined(__APPLE__) && defined(__MACH__) && defined(__i386__)
|
||
# include "./archs/darwin-i386-cc/asm/crypto/include/internal/bn_conf.h"
|
||
#elif defined(__APPLE__) && defined(__MACH__) && defined(__x86_64__)
|
||
diff -urN a/deps/openssl/config/dso_conf_asm.h b/deps/openssl/config/dso_conf_asm.h
|
||
--- a/deps/openssl/config/dso_conf_asm.h 2019-12-17 16:05:03.000000000 +0900
|
||
+++ b/deps/openssl/config/dso_conf_asm.h 2019-12-25 13:49:19.992298784 +0900
|
||
@@ -13,6 +13,10 @@
|
||
# include "./archs/linux-armv4/asm/crypto/include/internal/dso_conf.h"
|
||
#elif defined(OPENSSL_LINUX) && defined(__aarch64__)
|
||
# include "./archs/linux-aarch64/asm/crypto/include/internal/dso_conf.h"
|
||
+#elif defined(OPENSSL_LINUX) && defined(__mips__)
|
||
+# include "./archs/linux-mips/asm/crypto/include/internal/dso_conf.h"
|
||
+#elif defined(OPENSSL_LINUX) && defined(__MIPSEL__)
|
||
+# include "./archs/linux-mipsel/asm/crypto/include/internal/dso_conf.h"
|
||
#elif defined(__APPLE__) && defined(__MACH__) && defined(__i386__)
|
||
# include "./archs/darwin-i386-cc/asm/crypto/include/internal/dso_conf.h"
|
||
#elif defined(__APPLE__) && defined(__MACH__) && defined(__x86_64__)
|
||
diff -urN a/deps/openssl/config/Makefile b/deps/openssl/config/Makefile
|
||
--- a/deps/openssl/config/Makefile 2019-12-17 16:05:02.000000000 +0900
|
||
+++ b/deps/openssl/config/Makefile 2019-12-25 13:49:19.992298784 +0900
|
||
@@ -13,6 +13,7 @@
|
||
darwin64-x86_64-cc darwin-i386-cc linux-aarch64 \
|
||
linux-armv4 linux-elf linux-x32 linux-x86_64 linux-ppc \
|
||
linux-ppc64 linux-ppc64le linux32-s390x linux64-s390x linux64-mips64\
|
||
+linux-mips linux-mipsel \
|
||
solaris-x86-gcc solaris64-x86_64-gcc VC-WIN64A VC-WIN32
|
||
|
||
NO_ASM_ARCHS = VC-WIN64-ARM
|
||
diff -urN a/deps/openssl/config/opensslconf_asm.h b/deps/openssl/config/opensslconf_asm.h
|
||
--- a/deps/openssl/config/opensslconf_asm.h 2019-12-17 16:05:03.000000000 +0900
|
||
+++ b/deps/openssl/config/opensslconf_asm.h 2019-12-25 14:52:55.053667965 +0900
|
||
@@ -100,6 +100,10 @@
|
||
# include "./archs/linux-armv4/asm/include/openssl/opensslconf.h"
|
||
#elif defined(OPENSSL_LINUX) && defined(__aarch64__)
|
||
# include "./archs/linux-aarch64/asm/include/openssl/opensslconf.h"
|
||
+#elif defined(OPENSSL_LINUX) && !defined(__mips64) && defined(__mips__)
|
||
+# include "./archs/linux-mips/asm/include/openssl/opensslconf.h"
|
||
+#elif defined(OPENSSL_LINUX) && !defined(__mips64) && defined(__MIPSEL__)
|
||
+# include "./archs/linux-mipsel/asm/include/openssl/opensslconf.h"
|
||
#elif defined(__APPLE__) && defined(__MACH__) && defined(__i386__)
|
||
# include "./archs/darwin-i386-cc/asm/include/openssl/opensslconf.h"
|
||
#elif defined(__APPLE__) && defined(__MACH__) && defined(__x86_64__)
|
||
diff -urN a/deps/openssl/openssl_asm.gypi b/deps/openssl/openssl_asm.gypi
|
||
--- a/deps/openssl/openssl_asm.gypi 2019-12-17 16:05:03.000000000 +0900
|
||
+++ b/deps/openssl/openssl_asm.gypi 2019-12-25 13:49:19.996298773 +0900
|
||
@@ -16,6 +16,10 @@
|
||
'includes': ['config/archs/linux-armv4/asm/openssl.gypi'],
|
||
}, 'target_arch=="arm64" and OS=="linux"', {
|
||
'includes': ['config/archs/linux-aarch64/asm/openssl.gypi'],
|
||
+ }, 'target_arch=="mips" and OS=="linux"', {
|
||
+ 'includes': ['config/archs/linux-mips/asm/openssl.gypi'],
|
||
+ }, 'target_arch=="mipsel" and OS=="linux"', {
|
||
+ 'includes': ['config/archs/linux-mipsel/asm/openssl.gypi'],
|
||
}, 'target_arch=="arm64" and OS=="mac"', {
|
||
'includes': ['config/archs/darwin64-arm64-cc/asm/openssl.gypi'],
|
||
}, 'target_arch=="ia32" and OS=="freebsd"', {
|
||
diff -urN a/deps/openssl/openssl-cl_asm.gypi b/deps/openssl/openssl-cl_asm.gypi
|
||
--- a/deps/openssl/openssl-cl_asm.gypi 2019-12-17 16:05:03.000000000 +0900
|
||
+++ b/deps/openssl/openssl-cl_asm.gypi 2019-12-25 13:49:19.996298773 +0900
|
||
@@ -16,6 +16,10 @@
|
||
'includes': ['config/archs/linux-armv4/asm/openssl-cl.gypi'],
|
||
}, 'target_arch=="arm64" and OS=="linux"', {
|
||
'includes': ['config/archs/linux-aarch64/asm/openssl-cl.gypi'],
|
||
+ }, 'target_arch=="mips" and OS=="linux"', {
|
||
+ 'includes': ['config/archs/linux-mips/asm/openssl-cl.gypi'],
|
||
+ }, 'target_arch=="mipsel" and OS=="linux"', {
|
||
+ 'includes': ['config/archs/linux-mipsel/asm/openssl-cl.gypi'],
|
||
}, 'target_arch=="ia32" and OS=="freebsd"', {
|
||
'includes': ['config/archs/BSD-x86/asm/openssl-cl.gypi'],
|
||
}, 'target_arch=="ia32" and OS=="linux"', {
|
||
diff -urN a/deps/openssl/openssl.gypi b/deps/openssl/openssl.gypi
|
||
--- a/deps/openssl/openssl.gypi 2019-12-17 16:05:03.000000000 +0900
|
||
+++ b/deps/openssl/openssl.gypi 2019-12-25 13:49:19.996298773 +0900
|
||
@@ -1151,6 +1151,18 @@
|
||
'SHA256_ASM',
|
||
'SHA512_ASM',
|
||
],
|
||
+ 'openssl_defines_mips': [
|
||
+ 'AES_ASM',
|
||
+ 'OPENSSL_BN_ASM_MONT',
|
||
+ 'SHA1_ASM',
|
||
+ 'SHA256_ASM',
|
||
+ ],
|
||
+ 'openssl_defines_mipsel': [
|
||
+ 'AES_ASM',
|
||
+ 'OPENSSL_BN_ASM_MONT',
|
||
+ 'SHA1_ASM',
|
||
+ 'SHA256_ASM',
|
||
+ ],
|
||
'openssl_defines_non_arm': [
|
||
'VPAES_ASM',
|
||
'BN_ASM',
|