diff options
author | Parménides GV <parmegv@sdf.org> | 2015-06-04 19:20:15 +0200 |
---|---|---|
committer | Parménides GV <parmegv@sdf.org> | 2015-06-04 19:20:15 +0200 |
commit | 27594eeae6f40a402bc3110f06d57975168e74e3 (patch) | |
tree | cdabf6571e6f4ff07205fd6921d8095539a1fcdc /app/openssl/crypto/bn/asm/mips-mont.S | |
parent | 8dc4f58d96892fbfd83094fb85b1d17656035290 (diff) |
ics-openvpn as a submodule! beautiful
ics-openvpn is now officially on GitHub, and they track openssl and
openvpn as submodules, so it's easier to update everything. Just a git
submodule update --recursive.
I've also set up soft links to native modules from ics-openvpn in app,
so that we don't copy files in Gradle (which was causing problems with
the submodules .git* files, not being copied). That makes the repo
cleaner.
Diffstat (limited to 'app/openssl/crypto/bn/asm/mips-mont.S')
-rw-r--r-- | app/openssl/crypto/bn/asm/mips-mont.S | 284 |
1 files changed, 0 insertions, 284 deletions
diff --git a/app/openssl/crypto/bn/asm/mips-mont.S b/app/openssl/crypto/bn/asm/mips-mont.S deleted file mode 100644 index 1b875a2a..00000000 --- a/app/openssl/crypto/bn/asm/mips-mont.S +++ /dev/null @@ -1,284 +0,0 @@ -.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 - sub $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] - - sub $29,2*4 # place for two extra words - sll $9,2 - li $1,-4096 - sub $29,$9 - and $29,$1 - - multu $12,$13 - lw $16,4($5) - lw $18,4($7) - mflo $10 - mfhi $11 - multu $10,$8 - mflo $23 - - multu $16,$13 - mflo $16 - mfhi $17 - - multu $14,$23 - mflo $24 - mfhi $25 - multu $18,$23 - addu $24,$10 - sltu $1,$24,$10 - addu $25,$1 - mflo $18 - mfhi $19 - - move $15,$29 - li $22,2*4 -.align 4 -.L1st: - .set noreorder - add $12,$5,$22 - add $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 - mfhi $17 - - 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 - mfhi $19 - - bnez $2,.L1st - add $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: - add $13,$6,$21 - lw $13,($13) - lw $12,($5) - lw $16,4($5) - lw $20,($29) - - multu $12,$13 - lw $14,($7) - lw $18,4($7) - mflo $10 - mfhi $11 - addu $10,$20 - multu $10,$8 - sltu $1,$10,$20 - addu $11,$1 - mflo $23 - - multu $16,$13 - mflo $16 - mfhi $17 - - multu $14,$23 - mflo $24 - mfhi $25 - - multu $18,$23 - addu $24,$10 - sltu $1,$24,$10 - addu $25,$1 - mflo $18 - mfhi $19 - - move $15,$29 - li $22,2*4 - lw $20,4($15) -.align 4 -.Linner: - .set noreorder - add $12,$5,$22 - add $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 - mfhi $17 - - 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 - mfhi $19 - sw $24,($15) - bnez $1,.Linner - add $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 - add $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) - add $15,4 - add $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 - add $4,4 - - subu $11,$25,$11 # handle upmost overflow bit - move $15,$29 - sub $4,$9 # restore rp - not $25,$11 - - and $5,$11,$29 - and $6,$25,$4 - or $5,$5,$6 # ap=borrow?tp:rp - -.align 4 -.Lcopy: lw $12,($5) - add $5,4 - sw $0,($15) - add $15,4 - sltu $1,$15,$20 - sw $12,($4) - bnez $1,.Lcopy - add $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 - add $29,14*4 -.end bn_mul_mont_internal -.rdata -.asciiz "Montgomery Multiplication for MIPS, CRYPTOGAMS by <appro@openssl.org>" |