summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorMark J. Cox <mark@openssl.org>1999-11-03 14:10:10 +0000
committerMark J. Cox <mark@openssl.org>1999-11-03 14:10:10 +0000
commitce2c95b2a249256ec92bd060ff083de8e3a22be2 (patch)
tree6b97a26503a0ef340ed64fa99126c0c6d678d084 /crypto
parentb05eaeb54517d4ce77cc63415aa752cd31cea584 (diff)
Fix assembler for Alpha (tested only on DEC OSF not Linux or *BSD). The
problem was that one of the replacement routines had not been working since SSLeay releases. For now the offending routine has been replaced with non-optimised assembler. Even so, this now gives around 95% performance improvement for 1024 bit RSA signs.
Diffstat (limited to 'crypto')
-rw-r--r--crypto/bn/asm/alpha.s2415
1 files changed, 1858 insertions, 557 deletions
diff --git a/crypto/bn/asm/alpha.s b/crypto/bn/asm/alpha.s
index a351694ca2..555ff0b92d 100644
--- a/crypto/bn/asm/alpha.s
+++ b/crypto/bn/asm/alpha.s
@@ -694,567 +694,1868 @@ bn_mul_comba8:
bn_mul_comba8..ng:
.frame $30,0,$26,0
.prologue 0
-
- subq $30, 16, $30
- ldq $0, 0($17)
+ ldq $1, 0($17)
+ ldq $2, 0($18)
+ zapnot $1, 15, $7
+ srl $2, 32, $8
+ mulq $8, $7, $22
+ srl $1, 32, $6
+ zapnot $2, 15, $5
+ mulq $5, $6, $4
+ mulq $7, $5, $24
+ addq $22, $4, $22
+ cmpult $22, $4, $1
+ mulq $6, $8, $3
+ beq $1, $173
+ bis $31, 1, $1
+ sll $1, 32, $1
+ addq $3, $1, $3
+$173:
+ sll $22, 32, $4
+ addq $24, $4, $24
+ stq $24, 0($16)
+ ldq $2, 0($17)
+ ldq $1, 8($18)
+ zapnot $2, 15, $7
+ srl $1, 32, $8
+ mulq $8, $7, $25
+ zapnot $1, 15, $5
+ mulq $7, $5, $0
+ srl $2, 32, $6
+ mulq $5, $6, $23
+ mulq $6, $8, $6
+ srl $22, 32, $1
+ cmpult $24, $4, $2
+ addq $3, $1, $3
+ addq $2, $3, $22
+ addq $25, $23, $25
+ cmpult $25, $23, $1
+ bis $31, 1, $2
+ beq $1, $177
+ sll $2, 32, $1
+ addq $6, $1, $6
+$177:
+ sll $25, 32, $23
ldq $1, 0($18)
- stq $9, 0($30)
- stq $10, 8($30)
- ldq $2, 8($17)
- ldq $3, 8($18)
- ldq $4, 16($17)
- ldq $5, 16($18)
- ldq $6, 24($17)
- ldq $7, 24($18)
- ldq $8, 8($17)
- ldq $22, 8($18)
- ldq $23, 8($17)
- ldq $24, 8($18)
- ldq $25, 8($17)
- ldq $27, 8($18)
- ldq $28, 8($17)
- ldq $21, 8($18)
- bis $31, $31, $9
- mulq $0, $1, $20
- umulh $0, $1, $19
- stq $20, 0($16)
- bis $31, $31, $20
- mulq $0, $3, $10
- umulh $0, $3, $17
- addq $19, $10, $19
- cmpult $19, $10, $18
- addq $18, $17, $17
- addq $9, $17, $9
- cmpult $9, $17, $10
- addq $20, $10, $20
- mulq $2, $1, $18
- umulh $2, $1, $17
- addq $19, $18, $19
- cmpult $19, $18, $10
- addq $10, $17, $17
- addq $9, $17, $9
- cmpult $9, $17, $18
- addq $20, $18, $20
- stq $19, 8($16)
- bis $31, $31, $19
- mulq $0, $5, $10
- umulh $0, $5, $17
- addq $9, $10, $9
- cmpult $9, $10, $18
- addq $18, $17, $17
- addq $20, $17, $20
- cmpult $20, $17, $10
- addq $19, $10, $19
- mulq $2, $3, $18
- umulh $2, $3, $17
- addq $9, $18, $9
- cmpult $9, $18, $10
- addq $10, $17, $17
- addq $20, $17, $20
- cmpult $20, $17, $18
- addq $19, $18, $19
- mulq $4, $1, $10
- umulh $4, $1, $17
- addq $9, $10, $9
- cmpult $9, $10, $18
- addq $18, $17, $17
- addq $20, $17, $20
- cmpult $20, $17, $10
- addq $19, $10, $19
- stq $9, 16($16)
- bis $31, $31, $9
- mulq $0, $7, $18
- umulh $0, $7, $17
- addq $20, $18, $20
- cmpult $20, $18, $10
- addq $10, $17, $17
- addq $19, $17, $19
- cmpult $19, $17, $18
- addq $9, $18, $9
- mulq $2, $5, $10
- umulh $2, $5, $17
- addq $20, $10, $20
- cmpult $20, $10, $18
- addq $18, $17, $17
- addq $19, $17, $19
- cmpult $19, $17, $10
- addq $9, $10, $9
- mulq $4, $3, $18
- umulh $4, $3, $17
- addq $20, $18, $20
- cmpult $20, $18, $10
- addq $10, $17, $17
- addq $19, $17, $19
- cmpult $19, $17, $18
- addq $9, $18, $9
- mulq $6, $1, $10
- umulh $6, $1, $17
- addq $20, $10, $20
- cmpult $20, $10, $18
- addq $18, $17, $17
- addq $19, $17, $19
- cmpult $19, $17, $10
- addq $9, $10, $9
- stq $20, 24($16)
- bis $31, $31, $20
- mulq $0, $22, $18
- umulh $0, $22, $17
- addq $19, $18, $19
- cmpult $19, $18, $10
- addq $10, $17, $17
- addq $9, $17, $9
- cmpult $9, $17, $18
- addq $20, $18, $20
- mulq $2, $7, $10
- umulh $2, $7, $17
- addq $19, $10, $19
- cmpult $19, $10, $18
- addq $18, $17, $17
- addq $9, $17, $9
- cmpult $9, $17, $10
- addq $20, $10, $20
- mulq $4, $5, $18
- umulh $4, $5, $17
- addq $19, $18, $19
- cmpult $19, $18, $10
- addq $10, $17, $17
- addq $9, $17, $9
- cmpult $9, $17, $18
- addq $20, $18, $20
- mulq $6, $3, $10
- umulh $6, $3, $17
- addq $19, $10, $19
- cmpult $19, $10, $18
- addq $18, $17, $17
- addq $9, $17, $9
- cmpult $9, $17, $10
- addq $20, $10, $20
- mulq $8, $1, $18
- umulh $8, $1, $17
- addq $19, $18, $19
- cmpult $19, $18, $10
- addq $10, $17, $17
- addq $9, $17, $9
- cmpult $9, $17, $18
- addq $20, $18, $20
- stq $19, 32($16)
- bis $31, $31, $19
- mulq $0, $24, $10
- umulh $0, $24, $17
- addq $9, $10, $9
- cmpult $9, $10, $18
- addq $18, $17, $17
- addq $20, $17, $20
- cmpult $20, $17, $10
- addq $19, $10, $19
- mulq $2, $22, $18
- umulh $2, $22, $17
- addq $9, $18, $9
- cmpult $9, $18, $10
- addq $10, $17, $17
- addq $20, $17, $20
- cmpult $20, $17, $18
- addq $19, $18, $19
- mulq $4, $7, $10
- umulh $4, $7, $17
- addq $9, $10, $9
- cmpult $9, $10, $18
- addq $18, $17, $17
- addq $20, $17, $20
- cmpult $20, $17, $10
- addq $19, $10, $19
- mulq $6, $5, $18
- umulh $6, $5, $17
- addq $9, $18, $9
- cmpult $9, $18, $10
- addq $10, $17, $17
- addq $20, $17, $20
- cmpult $20, $17, $18
- addq $19, $18, $19
- mulq $8, $3, $10
- umulh $8, $3, $17
- addq $9, $10, $9
- cmpult $9, $10, $18
- addq $18, $17, $17
- addq $20, $17, $20
- cmpult $20, $17, $10
- addq $19, $10, $19
- mulq $23, $1, $18
- umulh $23, $1, $17
- addq $9, $18, $9
- cmpult $9, $18, $10
- addq $10, $17, $17
- addq $20, $17, $20
- cmpult $20, $17, $18
- addq $19, $18, $19
- stq $9, 40($16)
- bis $31, $31, $9
- mulq $0, $27, $10
- umulh $0, $27, $17
- addq $20, $10, $20
- cmpult $20, $10, $18
- addq $18, $17, $17
- addq $19, $17, $19
- cmpult $19, $17, $10
- addq $9, $10, $9
- mulq $2, $24, $18
- umulh $2, $24, $17
- addq $20, $18, $20
- cmpult $20, $18, $10
- addq $10, $17, $17
- addq $19, $17, $19
- cmpult $19, $17, $18
- addq $9, $18, $9
- mulq $4, $22, $10
- umulh $4, $22, $17
- addq $20, $10, $20
- cmpult $20, $10, $18
- addq $18, $17, $17
- addq $19, $17, $19
- cmpult $19, $17, $10
- addq $9, $10, $9
- mulq $6, $7, $18
- umulh $6, $7, $17
- addq $20, $18, $20
- cmpult $20, $18, $10
- addq $10, $17, $17
- addq $19, $17, $19
- cmpult $19, $17, $18
- addq $9, $18, $9
- mulq $8, $5, $10
- umulh $8, $5, $17
- addq $20, $10, $20
- cmpult $20, $10, $18
- addq $18, $17, $17
- addq $19, $17, $19
- cmpult $19, $17, $10
- addq $9, $10, $9
- mulq $23, $3, $18
- umulh $23, $3, $17
- addq $20, $18, $20
- cmpult $20, $18, $10
- addq $10, $17, $17
- addq $19, $17, $19
- cmpult $19, $17, $18
- addq $9, $18, $9
- mulq $25, $1, $10
- umulh $25, $1, $17
- addq $20, $10, $20
- cmpult $20, $10, $18
- addq $18, $17, $17
- addq $19, $17, $19
- cmpult $19, $17, $10
- addq $9, $10, $9
- stq $20, 48($16)
- bis $31, $31, $20
- mulq $0, $21, $18
- umulh $0, $21, $17
- addq $19, $18, $19
- cmpult $19, $18, $10
- addq $10, $17, $17
- addq $9, $17, $9
- cmpult $9, $17, $18
- addq $20, $18, $20
- mulq $2, $27, $10
- umulh $2, $27, $17
- addq $19, $10, $19
- cmpult $19, $10, $18
- addq $18, $17, $17
- addq $9, $17, $9
- cmpult $9, $17, $0
- addq $20, $0, $20
- mulq $4, $24, $10
- umulh $4, $24, $18
- addq $19, $10, $19
- cmpult $19, $10, $17
- addq $17, $18, $18
- addq $9, $18, $9
- cmpult $9, $18, $0
- addq $20, $0, $20
- mulq $6, $22, $10
- umulh $6, $22, $17
- addq $19, $10, $19
- cmpult $19, $10, $18
- addq $18, $17, $17
- addq $9, $17, $9
- cmpult $9, $17, $0
- addq $20, $0, $20
- mulq $8, $7, $10
- umulh $8, $7, $18
- addq $19, $10, $19
- cmpult $19, $10, $17
- addq $17, $18, $18
- addq $9, $18, $9
- cmpult $9, $18, $0
- addq $20, $0, $20
- mulq $23, $5, $10
- umulh $23, $5, $17
- addq $19, $10, $19
- cmpult $19, $10, $18
- addq $18, $17, $17
- addq $9, $17, $9
- cmpult $9, $17, $0
- addq $20, $0, $20
- mulq $25, $3, $10
- umulh $25, $3, $18
- addq $19, $10, $19
- cmpult $19, $10, $17
- addq $17, $18, $18
- addq $9, $18, $9
- cmpult $9, $18, $0
- addq $20, $0, $20
- mulq $28, $1, $10
- umulh $28, $1, $17
- addq $19, $10, $19
- cmpult $19, $10, $18
- addq $18, $17, $17
- addq $9, $17, $9
- cmpult $9, $17, $0
- addq $20, $0, $20
- stq $19, 56($16)
- bis $31, $31, $19
- mulq $2, $21, $10
- umulh $2, $21, $18
- addq $9, $10, $9
- cmpult $9, $10, $17
- addq $17, $18, $18
- addq $20, $18, $20
- cmpult $20, $18, $0
- addq $19, $0, $19
- mulq $4, $27, $1
- umulh $4, $27, $10
- addq $9, $1, $9
- cmpult $9, $1, $17
- addq $17, $10, $10
- addq $20, $10, $20
- cmpult $20, $10, $18
- addq $19, $18, $19
- mulq $6, $24, $0
- umulh $6, $24, $2
- addq $9, $0, $9
- cmpult $9, $0, $1
- addq $1, $2, $2
- addq $20, $2, $20
- cmpult $20, $2, $17
- addq $19, $17, $19
- mulq $8, $22, $10
- umulh $8, $22, $18
- addq $9, $10, $9
- cmpult $9, $10, $0
- addq $0, $18, $18
- addq $20, $18, $20
- cmpult $20, $18, $1
- addq $19, $1, $19
- mulq $23, $7, $2
- umulh $23, $7, $17
- addq $9, $2, $9
- cmpult $9, $2, $10
- addq $10, $17, $17
- addq $20, $17, $20
- cmpult $20, $17, $0
- addq $19, $0, $19
- mulq $25, $5, $18
- umulh $25, $5, $1
- addq $9, $18, $9
- cmpult $9, $18, $2
- addq $2, $1, $1
- addq $20, $1, $20
- cmpult $20, $1, $10
- addq $19, $10, $19
- mulq $28, $3, $17
- umulh $28, $3, $0
- addq $9, $17, $9
- cmpult $9, $17, $18
- addq $18, $0, $0
- addq $20, $0, $20
- cmpult $20, $0, $2
- addq $19, $2, $19
- stq $9, 64($16)
- bis $31, $31, $9
- mulq $4, $21, $1
- umulh $4, $21, $10
- addq $20, $1, $20
- cmpult $20, $1, $17
- addq $17, $10, $10
- addq $19, $10, $19
- cmpult $19, $10, $18
- addq $9, $18, $9
- mulq $6, $27, $0
- umulh $6, $27, $2
- addq $20, $0, $20
- cmpult $20, $0, $3
- addq $3, $2, $2
- addq $19, $2, $19
- cmpult $19, $2, $1
- addq $9, $1, $9
- mulq $8, $24, $17
- umulh $8, $24, $10
- addq $20, $17, $20
- cmpult $20, $17, $18
- addq $18, $10, $10
- addq $19, $10, $19
- cmpult $19, $10, $4
- addq $9, $4, $9
- mulq $23, $22, $0
- umulh $23, $22, $3
- addq $20, $0, $20
- cmpult $20, $0, $2
- addq $2, $3, $3
- addq $19, $3, $19
- cmpult $19, $3, $1
- addq $9, $1, $9
- mulq $25, $7, $17
- umulh $25, $7, $18
- addq $20, $17, $20
- cmpult $20, $17, $10
- addq $10, $18, $18
- addq $19, $18, $19
- cmpult $19, $18, $4
- addq $9, $4, $9
- mulq $28, $5, $0
- umulh $28, $5, $2
- addq $20, $0, $20
- cmpult $20, $0, $3
- addq $3, $2, $2
- addq $19, $2, $19
- cmpult $19, $2, $1
- addq $9, $1, $9
- stq $20, 72($16)
- bis $31, $31, $20
- mulq $6, $21, $17
- umulh $6, $21, $10
- addq $19, $17, $19
- cmpult $19, $17, $18
- addq $18, $10, $10
- addq $9, $10, $9
- cmpult $9, $10, $4
- addq $20, $4, $20
- mulq $8, $27, $0
- umulh $8, $27, $3
- addq $19, $0, $19
- cmpult $19, $0, $2
- addq $2, $3, $3
- addq $9, $3, $9
- cmpult $9, $3, $1
- addq $20, $1, $20
- mulq $23, $24, $5
- umulh $23, $24, $17
- addq $19, $5, $19
- cmpult $19, $5, $18
- addq $18, $17, $17
- addq $9, $17, $9
- cmpult $9, $17, $10
- addq $20, $10, $20
- mulq $25, $22, $4
- umulh $25, $22, $6
- addq $19, $4, $19
- cmpult $19, $4, $0
- addq $0, $6, $6
- addq $9, $6, $9
- cmpult $9, $6, $2
- addq $20, $2, $20
- mulq $28, $7, $3
- umulh $28, $7, $1
- addq $19, $3, $19
- cmpult $19, $3, $5
- addq $5, $1, $1
- addq $9, $1, $9
- cmpult $9, $1, $18
- addq $20, $18, $20
- stq $19, 80($16)
- bis $31, $31, $19
- mulq $8, $21, $17
- umulh $8, $21, $10
- addq $9, $17, $9
- cmpult $9, $17, $4
- addq $4, $10, $10
- addq $20, $10, $20
- cmpult $20, $10, $0
- addq $19, $0, $19
- mulq $23, $27, $6
- umulh $23, $27, $2
- addq $9, $6, $9
- cmpult $9, $6, $3
- addq $3, $2, $2
+ addq $0, $23, $0
+ bis $0, $0, $7
+ ldq $3, 8($17)
+ addq $22, $7, $22
+ srl $1, 32, $8
+ cmpult $22, $7, $4
+ zapnot $3, 15, $7
+ mulq $8, $7, $28
+ zapnot $1, 15, $5
+ mulq $7, $5, $21
+ srl $25, 32, $1
+ cmpult $0, $23, $2
+ addq $6, $1, $6
+ addq $2, $6, $6
+ addq $4, $6, $24
+ srl $3, 32, $6
+ mulq $5, $6, $2
+ mulq $6, $8, $6
+ addq $28, $2, $28
+ cmpult $28, $2, $1
+ bis $31, 1, $2
+ beq $1, $181
+ sll $2, 32, $1
+ addq $6, $1, $6
+$181:
+ sll $28, 32, $2
+ addq $21, $2, $21
+ bis $21, $21, $7
+ addq $22, $7, $22
+ stq $22, 8($16)
+ ldq $3, 16($17)
+ ldq $1, 0($18)
+ cmpult $22, $7, $4
+ zapnot $3, 15, $7
+ srl $1, 32, $8
+ mulq $8, $7, $22
+ zapnot $1, 15, $5
+ mulq $7, $5, $20
+ srl $28, 32, $1
+ cmpult $21, $2, $2
+ addq $6, $1, $6
+ addq $2, $6, $6
+ addq $4, $6, $6
+ addq $24, $6, $24
+ cmpult $24, $6, $23
+ srl $3, 32, $6
+ mulq $5, $6, $2
+ mulq $6, $8, $6
+ addq $22, $2, $22
+ cmpult $22, $2, $1
+ bis $31, 1, $2
+ beq $1, $185
+ sll $2, 32, $1
+ addq $6, $1, $6
+$185:
+ sll $22, 32, $2
+ ldq $1, 8($18)
addq $20, $2, $20
- cmpult $20, $2, $5
- addq $19, $5, $19
- mulq $25, $24, $1
- umulh $25, $24, $18
- addq $9, $1, $9
- cmpult $9, $1, $7
- addq $7, $18, $18
- addq $20, $18, $20
- cmpult $20, $18, $17
- addq $19, $17, $19
- mulq $28, $22, $4
- umulh $28, $22, $10
- addq $9, $4, $9
- cmpult $9, $4, $0
- addq $0, $10, $10
- addq $20, $10, $20
- cmpult $20, $10, $8
- addq $19, $8, $19
- stq $9, 88($16)
- bis $31, $31, $9
- mulq $23, $21, $6
- umulh $23, $21, $3
- addq $20, $6, $20
- cmpult $20, $6, $2
- addq $2, $3, $3
- addq $19, $3, $19
- cmpult $19, $3, $5
- addq $9, $5, $9
- mulq $25, $27, $1
- umulh $25, $27, $7
- addq $20, $1, $20
- cmpult $20, $1, $18
- addq $18, $7, $7
- addq $19, $7, $19
- cmpult $19, $7, $17
- addq $9, $17, $9
- mulq $28, $24, $4
- umulh $28, $24, $0
- addq $20, $4, $20
- cmpult $20, $4, $10
- addq $10, $0, $0
- addq $19, $0, $19
- cmpult $19, $0, $8
- addq $9, $8, $9
- stq $20, 96($16)
- bis $31, $31, $20
- mulq $25, $21, $22
- umulh $25, $21, $6
- addq $19, $22, $19
- cmpult $19, $22, $2
+ bis $20, $20, $7
+ ldq $4, 8($17)
+ addq $24, $7, $24
+ srl $1, 32, $8
+ cmpult $24, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $25
+ zapnot $1, 15, $5
+ mulq $7, $5, $0
+ srl $22, 32, $1
+ cmpult $20, $2, $2
+ addq $6, $1, $6
+ addq $2, $6, $6
+ addq $3, $6, $6
+ addq $23, $6, $23
+ cmpult $23, $6, $22
+ srl $4, 32, $6
+ mulq $5, $6, $5
+ bis $31, 1, $21
+ addq $25, $5, $25
+ cmpult $25, $5, $1
+ mulq $6, $8, $6
+ beq $1, $189
+ sll $21, 32, $1
+ addq $6, $1, $6
+$189:
+ sll $25, 32, $5
+ ldq $2, 16($18)
+ addq $0, $5, $0
+ bis $0, $0, $7
+ ldq $4, 0($17)
+ addq $24, $7, $24
+ srl $2, 32, $8
+ cmpult $24, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $28
+ srl $25, 32, $1
+ addq $6, $1, $6
+ cmpult $0, $5, $1
+ zapnot $2, 15, $5
+ addq $1, $6, $6
+ addq $3, $6, $6
+ addq $23, $6, $23
+ cmpult $23, $6, $1
+ srl $4, 32, $6
+ mulq $5, $6, $25
+ mulq $7, $5, $2
+ addq $1, $22, $22
+ addq $28, $25, $28
+ cmpult $28, $25, $1
+ mulq $6, $8, $6
+ beq $1, $193
+ sll $21, 32, $1
+ addq $6, $1, $6
+$193:
+ sll $28, 32, $25
+ addq $2, $25, $2
+ bis $2, $2, $7
+ addq $24, $7, $24
+ stq $24, 16($16)
+ ldq $4, 0($17)
+ ldq $5, 24($18)
+ cmpult $24, $7, $3
+ zapnot $4, 15, $7
+ srl $5, 32, $8
+ mulq $8, $7, $0
+ srl $28, 32, $1
+ cmpult $2, $25, $2
+ addq $6, $1, $6
+ addq $2, $6, $6
+ addq $3, $6, $6
+ addq $23, $6, $23
+ cmpult $23, $6, $1
+ srl $4, 32, $6
+ zapnot $5, 15, $5
+ mulq $5, $6, $24
+ mulq $7, $5, $2
+ addq $1, $22, $22
+ addq $0, $24, $0
+ cmpult $0, $24, $1
+ mulq $6, $8, $6
+ beq $1, $197
+ sll $21, 32, $1
+ addq $6, $1, $6
+$197:
+ sll $0, 32, $24
+ ldq $1, 16($18)
+ addq $2, $24, $2
+ bis $2, $2, $7
+ ldq $4, 8($17)
+ addq $23, $7, $23
+ srl $1, 32, $8
+ cmpult $23, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $25
+ zapnot $1, 15, $5
+ mulq $7, $5, $21
+ srl $0, 32, $1
+ cmpult $2, $24, $2
+ addq $6, $1, $6
+ addq $2, $6, $6
+ addq $3, $6, $6
+ addq $22, $6, $22
+ cmpult $22, $6, $24
+ srl $4, 32, $6
+ mulq $5, $6, $5
+ bis $31, 1, $20
+ addq $25, $5, $25
+ cmpult $25, $5, $1
+ mulq $6, $8, $6
+ beq $1, $201
+ sll $20, 32, $1
+ addq $6, $1, $6
+$201:
+ sll $25, 32, $5
+ ldq $2, 8($18)
+ addq $21, $5, $21
+ bis $21, $21, $7
+ ldq $4, 16($17)
+ addq $23, $7, $23
+ srl $2, 32, $8
+ cmpult $23, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $28
+ srl $25, 32, $1
+ addq $6, $1, $6
+ cmpult $21, $5, $1
+ zapnot $2, 15, $5
+ addq $1, $6, $6
+ addq $3, $6, $6
+ addq $22, $6, $22
+ cmpult $22, $6, $1
+ srl $4, 32, $6
+ mulq $5, $6, $25
+ mulq $7, $5, $5
+ addq $1, $24, $24
+ addq $28, $25, $28
+ cmpult $28, $25, $1
+ mulq $6, $8, $6
+ beq $1, $205
+ sll $20, 32, $1
+ addq $6, $1, $6
+$205:
+ sll $28, 32, $25
+ ldq $2, 0($18)
+ addq $5, $25, $5
+ bis $5, $5, $7
+ ldq $4, 24($17)
+ addq $23, $7, $23
+ srl $2, 32, $8
+ cmpult $23, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $0
+ srl $28, 32, $1
+ addq $6, $1, $6
+ cmpult $5, $25, $1
+ zapnot $2, 15, $5
+ addq $1, $6, $6
+ addq $3, $6, $6
+ addq $22, $6, $22
+ cmpult $22, $6, $1
+ srl $4, 32, $6
+ mulq $5, $6, $25
+ mulq $7, $5, $2
+ addq $1, $24, $24
+ addq $0, $25, $0
+ cmpult $0, $25, $1
+ mulq $6, $8, $6
+ beq $1, $209
+ sll $20, 32, $1
+ addq $6, $1, $6
+$209:
+ sll $0, 32, $25
+ addq $2, $25, $2
+ bis $2, $2, $7
+ addq $23, $7, $23
+ stq $23, 24($16)
+ ldq $4, 32($17)
+ ldq $5, 0($18)
+ cmpult $23, $7, $3
+ zapnot $4, 15, $7
+ srl $5, 32, $8
+ mulq $8, $7, $28
+ srl $0, 32, $1
+ cmpult $2, $25, $2
+ addq $6, $1, $6
+ addq $2, $6, $6
+ addq $3, $6, $6
+ addq $22, $6, $22
+ cmpult $22, $6, $1
+ srl $4, 32, $6
+ zapnot $5, 15, $5
+ mulq $5, $6, $23
+ mulq $7, $5, $2
+ addq $1, $24, $24
+ addq $28, $23, $28
+ cmpult $28, $23, $1
+ mulq $6, $8, $6
+ beq $1, $213
+ sll $20, 32, $1
+ addq $6, $1, $6
+$213:
+ sll $28, 32, $23
+ ldq $1, 8($18)
+ addq $2, $23, $2
+ bis $2, $2, $7
+ ldq $4, 24($17)
+ addq $22, $7, $22
+ srl $1, 32, $8
+ cmpult $22, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $25
+ zapnot $1, 15, $5
+ mulq $7, $5, $0
+ srl $28, 32, $1
+ cmpult $2, $23, $2
+ addq $6, $1, $6
addq $2, $6, $6
- addq $9, $6, $9
- cmpult $9, $6, $3
- addq $20, $3, $20
- mulq $28, $27, $5
- umulh $28, $27, $23
- addq $19, $5, $19
- cmpult $19, $5, $1
+ addq $3, $6, $6
+ addq $24, $6, $24
+ cmpult $24, $6, $23
+ srl $4, 32, $6
+ mulq $5, $6, $5
+ bis $31, 1, $21
+ addq $25, $5, $25
+ cmpult $25, $5, $1
+ mulq $6, $8, $6
+ beq $1, $217
+ sll $21, 32, $1
+ addq $6, $1, $6
+$217:
+ sll $25, 32, $5
+ ldq $2, 16($18)
+ addq $0, $5, $0
+ bis $0, $0, $7
+ ldq $4, 16($17)
+ addq $22, $7, $22
+ srl $2, 32, $8
+ cmpult $22, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $28
+ srl $25, 32, $1
+ addq $6, $1, $6
+ cmpult $0, $5, $1
+ zapnot $2, 15, $5
+ addq $1, $6, $6
+ addq $3, $6, $6
+ addq $24, $6, $24
+ cmpult $24, $6, $1
+ srl $4, 32, $6
+ mulq $5, $6, $25
+ mulq $7, $5, $5
addq $1, $23, $23
- addq $9, $23, $9
- cmpult $9, $23, $18
- addq $20, $18, $20
- stq $19, 104($16)
- bis $31, $31, $19
- mulq $28, $21, $7
- umulh $28, $21, $17
- addq $9, $7, $9
- cmpult $9, $7, $4
- addq $4, $17, $17
- addq $20, $17, $20
- cmpult $20, $17, $10
- addq $19, $10, $19
- stq $9, 112($16)
- stq $20, 120($16)
- ldq $9, 0($30)
- ldq $10, 8($30)
- addq $30, 16, $30
- ret $31,($26),1
+ addq $28, $25, $28
+ cmpult $28, $25, $1
+ mulq $6, $8, $6
+ beq $1, $221
+ sll $21, 32, $1
+ addq $6, $1, $6
+$221:
+ sll $28, 32, $25
+ ldq $2, 24($18)
+ addq $5, $25, $5
+ bis $5, $5, $7
+ ldq $4, 8($17)
+ addq $22, $7, $22
+ srl $2, 32, $8
+ cmpult $22, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $0
+ srl $28, 32, $1
+ addq $6, $1, $6
+ cmpult $5, $25, $1
+ zapnot $2, 15, $5
+ addq $1, $6, $6
+ addq $3, $6, $6
+ addq $24, $6, $24
+ cmpult $24, $6, $1
+ srl $4, 32, $6
+ mulq $5, $6, $25
+ mulq $7, $5, $5
+ addq $1, $23, $23
+ addq $0, $25, $0
+ cmpult $0, $25, $1
+ mulq $6, $8, $6
+ beq $1, $225
+ sll $21, 32, $1
+ addq $6, $1, $6
+$225:
+ sll $0, 32, $25
+ ldq $2, 32($18)
+ addq $5, $25, $5
+ bis $5, $5, $7
+ ldq $4, 0($17)
+ addq $22, $7, $22
+ srl $2, 32, $8
+ cmpult $22, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $28
+ srl $0, 32, $1
+ addq $6, $1, $6
+ cmpult $5, $25, $1
+ zapnot $2, 15, $5
+ addq $1, $6, $6
+ addq $3, $6, $6
+ addq $24, $6, $24
+ cmpult $24, $6, $1
+ srl $4, 32, $6
+ mulq $5, $6, $25
+ mulq $7, $5, $2
+ addq $1, $23, $23
+ addq $28, $25, $28
+ cmpult $28, $25, $1
+ mulq $6, $8, $6
+ beq $1, $229
+ sll $21, 32, $1
+ addq $6, $1, $6
+$229:
+ sll $28, 32, $25
+ addq $2, $25, $2
+ bis $2, $2, $7
+ addq $22, $7, $22
+ stq $22, 32($16)
+ ldq $4, 0($17)
+ ldq $5, 40($18)
+ cmpult $22, $7, $3
+ zapnot $4, 15, $7
+ srl $5, 32, $8
+ mulq $8, $7, $0
+ srl $28, 32, $1
+ cmpult $2, $25, $2
+ addq $6, $1, $6
+ addq $2, $6, $6
+ addq $3, $6, $6
+ addq $24, $6, $24
+ cmpult $24, $6, $1
+ srl $4, 32, $6
+ zapnot $5, 15, $5
+ mulq $5, $6, $22
+ mulq $7, $5, $2
+ addq $1, $23, $23
+ addq $0, $22, $0
+ cmpult $0, $22, $1
+ mulq $6, $8, $6
+ beq $1, $233
+ sll $21, 32, $1
+ addq $6, $1, $6
+$233:
+ sll $0, 32, $22
+ ldq $1, 32($18)
+ addq $2, $22, $2
+ bis $2, $2, $7
+ ldq $4, 8($17)
+ addq $24, $7, $24
+ srl $1, 32, $8
+ cmpult $24, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $25
+ zapnot $1, 15, $5
+ mulq $7, $5, $21
+ srl $0, 32, $1
+ cmpult $2, $22, $2
+ addq $6, $1, $6
+ addq $2, $6, $6
+ addq $3, $6, $6
+ addq $23, $6, $23
+ cmpult $23, $6, $22
+ srl $4, 32, $6
+ mulq $5, $6, $5
+ bis $31, 1, $20
+ addq $25, $5, $25
+ cmpult $25, $5, $1
+ mulq $6, $8, $6
+ beq $1, $237
+ sll $20, 32, $1
+ addq $6, $1, $6
+$237:
+ sll $25, 32, $5
+ ldq $2, 24($18)
+ addq $21, $5, $21
+ bis $21, $21, $7
+ ldq $4, 16($17)
+ addq $24, $7, $24
+ srl $2, 32, $8
+ cmpult $24, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $28
+ srl $25, 32, $1
+ addq $6, $1, $6
+ cmpult $21, $5, $1
+ zapnot $2, 15, $5
+ addq $1, $6, $6
+ addq $3, $6, $6
+ addq $23, $6, $23
+ cmpult $23, $6, $1
+ srl $4, 32, $6
+ mulq $5, $6, $25
+ mulq $7, $5, $5
+ addq $1, $22, $22
+ addq $28, $25, $28
+ cmpult $28, $25, $1
+ mulq $6, $8, $6
+ beq $1, $241
+ sll $20, 32, $1
+ addq $6, $1, $6
+$241:
+ sll $28, 32, $25
+ ldq $2, 16($18)
+ addq $5, $25, $5
+ bis $5, $5, $7
+ ldq $4, 24($17)
+ addq $24, $7, $24
+ srl $2, 32, $8
+ cmpult $24, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $0
+ srl $28, 32, $1
+ addq $6, $1, $6
+ cmpult $5, $25, $1
+ zapnot $2, 15, $5
+ addq $1, $6, $6
+ addq $3, $6, $6
+ addq $23, $6, $23
+ cmpult $23, $6, $1
+ srl $4, 32, $6
+ mulq $5, $6, $25
+ mulq $7, $5, $5
+ addq $1, $22, $22
+ addq $0, $25, $0
+ cmpult $0, $25, $1
+ mulq $6, $8, $6
+ beq $1, $245
+ sll $20, 32, $1
+ addq $6, $1, $6
+$245:
+ sll $0, 32, $25
+ ldq $2, 8($18)
+ addq $5, $25, $5
+ bis $5, $5, $7
+ ldq $4, 32($17)
+ addq $24, $7, $24
+ srl $2, 32, $8
+ cmpult $24, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $28
+ srl $0, 32, $1
+ addq $6, $1, $6
+ cmpult $5, $25, $1
+ zapnot $2, 15, $5
+ addq $1, $6, $6
+ addq $3, $6, $6
+ addq $23, $6, $23
+ cmpult $23, $6, $1
+ srl $4, 32, $6
+ mulq $5, $6, $25
+ mulq $7, $5, $5
+ addq $1, $22, $22
+ addq $28, $25, $28
+ cmpult $28, $25, $1
+ mulq $6, $8, $6
+ beq $1, $249
+ sll $20, 32, $1
+ addq $6, $1, $6
+$249:
+ sll $28, 32, $25
+ ldq $2, 0($18)
+ addq $5, $25, $5
+ bis $5, $5, $7
+ ldq $4, 40($17)
+ addq $24, $7, $24
+ srl $2, 32, $8
+ cmpult $24, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $0
+ srl $28, 32, $1
+ addq $6, $1, $6
+ cmpult $5, $25, $1
+ zapnot $2, 15, $5
+ addq $1, $6, $6
+ addq $3, $6, $6
+ addq $23, $6, $23
+ cmpult $23, $6, $1
+ srl $4, 32, $6
+ mulq $5, $6, $25
+ mulq $7, $5, $2
+ addq $1, $22, $22
+ addq $0, $25, $0
+ cmpult $0, $25, $1
+ mulq $6, $8, $6
+ beq $1, $253
+ sll $20, 32, $1
+ addq $6, $1, $6
+$253:
+ sll $0, 32, $25
+ addq $2, $25, $2
+ bis $2, $2, $7
+ addq $24, $7, $24
+ stq $24, 40($16)
+ ldq $4, 48($17)
+ ldq $5, 0($18)
+ cmpult $24, $7, $3
+ zapnot $4, 15, $7
+ srl $5, 32, $8
+ mulq $8, $7, $28
+ srl $0, 32, $1
+ cmpult $2, $25, $2
+ addq $6, $1, $6
+ addq $2, $6, $6
+ addq $3, $6, $6
+ addq $23, $6, $23
+ cmpult $23, $6, $1
+ srl $4, 32, $6
+ zapnot $5, 15, $5
+ mulq $5, $6, $24
+ mulq $7, $5, $2
+ addq $1, $22, $22
+ addq $28, $24, $28
+ cmpult $28, $24, $1
+ mulq $6, $8, $6
+ beq $1, $257
+ sll $20, 32, $1
+ addq $6, $1, $6
+$257:
+ sll $28, 32, $24
+ ldq $1, 8($18)
+ addq $2, $24, $2
+ bis $2, $2, $7
+ ldq $4, 40($17)
+ addq $23, $7, $23
+ srl $1, 32, $8
+ cmpult $23, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $25
+ zapnot $1, 15, $5
+ mulq $7, $5, $0
+ srl $28, 32, $1
+ cmpult $2, $24, $2
+ addq $6, $1, $6
+ addq $2, $6, $6
+ addq $3, $6, $6
+ addq $22, $6, $22
+ cmpult $22, $6, $24
+ srl $4, 32, $6
+ mulq $5, $6, $5
+ bis $31, 1, $21
+ addq $25, $5, $25
+ cmpult $25, $5, $1
+ mulq $6, $8, $6
+ beq $1, $261
+ sll $21, 32, $1
+ addq $6, $1, $6
+$261:
+ sll $25, 32, $5
+ ldq $2, 16($18)
+ addq $0, $5, $0
+ bis $0, $0, $7
+ ldq $4, 32($17)
+ addq $23, $7, $23
+ srl $2, 32, $8
+ cmpult $23, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $28
+ srl $25, 32, $1
+ addq $6, $1, $6
+ cmpult $0, $5, $1
+ zapnot $2, 15, $5
+ addq $1, $6, $6
+ addq $3, $6, $6
+ addq $22, $6, $22
+ cmpult $22, $6, $1
+ srl $4, 32, $6
+ mulq $5, $6, $25
+ mulq $7, $5, $5
+ addq $1, $24, $24
+ addq $28, $25, $28
+ cmpult $28, $25, $1
+ mulq $6, $8, $6
+ beq $1, $265
+ sll $21, 32, $1
+ addq $6, $1, $6
+$265:
+ sll $28, 32, $25
+ ldq $2, 24($18)
+ addq $5, $25, $5
+ bis $5, $5, $7
+ ldq $4, 24($17)
+ addq $23, $7, $23
+ srl $2, 32, $8
+ cmpult $23, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $0
+ srl $28, 32, $1
+ addq $6, $1, $6
+ cmpult $5, $25, $1
+ zapnot $2, 15, $5
+ addq $1, $6, $6
+ addq $3, $6, $6
+ addq $22, $6, $22
+ cmpult $22, $6, $1
+ srl $4, 32, $6
+ mulq $5, $6, $25
+ mulq $7, $5, $5
+ addq $1, $24, $24
+ addq $0, $25, $0
+ cmpult $0, $25, $1
+ mulq $6, $8, $6
+ beq $1, $269
+ sll $21, 32, $1
+ addq $6, $1, $6
+$269:
+ sll $0, 32, $25
+ ldq $2, 32($18)
+ addq $5, $25, $5
+ bis $5, $5, $7
+ ldq $4, 16($17)
+ addq $23, $7, $23
+ srl $2, 32, $8
+ cmpult $23, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $28
+ srl $0, 32, $1
+ addq $6, $1, $6
+ cmpult $5, $25, $1
+ zapnot $2, 15, $5
+ addq $1, $6, $6
+ addq $3, $6, $6
+ addq $22, $6, $22
+ cmpult $22, $6, $1
+ srl $4, 32, $6
+ mulq $5, $6, $25
+ mulq $7, $5, $5
+ addq $1, $24, $24
+ addq $28, $25, $28
+ cmpult $28, $25, $1
+ mulq $6, $8, $6
+ beq $1, $273
+ sll $21, 32, $1
+ addq $6, $1, $6
+$273:
+ sll $28, 32, $25
+ ldq $2, 40($18)
+ addq $5, $25, $5
+ bis $5, $5, $7
+ ldq $4, 8($17)
+ addq $23, $7, $23
+ srl $2, 32, $8
+ cmpult $23, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $0
+ srl $28, 32, $1
+ addq $6, $1, $6
+ cmpult $5, $25, $1
+ zapnot $2, 15, $5
+ addq $1, $6, $6
+ addq $3, $6, $6
+ addq $22, $6, $22
+ cmpult $22, $6, $1
+ srl $4, 32, $6
+ mulq $5, $6, $25
+ mulq $7, $5, $5
+ addq $1, $24, $24
+ addq $0, $25, $0
+ cmpult $0, $25, $1
+ mulq $6, $8, $6
+ beq $1, $277
+ sll $21, 32, $1
+ addq $6, $1, $6
+$277:
+ sll $0, 32, $25
+ ldq $2, 48($18)
+ addq $5, $25, $5
+ bis $5, $5, $7
+ ldq $4, 0($17)
+ addq $23, $7, $23
+ srl $2, 32, $8
+ cmpult $23, $7, $3
+ zapnot $4, 15, $7
+ mulq $8, $7, $28
+ srl $0, 32, $1
+ addq $6, $1, $6
+ cmpult $5, $25, $1
+ zapnot $2, 15, $5
+ addq $1, $6, $6
+ addq $3, $6, $6
+ addq $22, $6, $22
+ cmpult $22, $6, $1
+ srl $4, 32, $6
+ mulq $5, $6, $25
+ mulq $7, $5, $2
+ addq $1, $24, $24
+ addq $28, $25, $28
+ cmpult $28, $25, $1
+ mulq $6, $8, $6
+ beq $1, $281
+ sll $21, 32, $1
+ addq $6, $1, $6
+$281:
+ sll $28, 32, $25
+ addq $2, $25, $2
+ bis $2, $2, $7
+ addq $23, $7, $23
+ stq $23, 48($16)
+ ldq $4, 0($17)
+ ldq $5, 56($18)
+ cmpult $23, $7, $3
+ zapnot $4, 15, $7
+ srl $5, 32, $8
+ mulq $8, $7, $0
+ srl $28, 32, $1
+ cmpult $2, $25, $2
+ addq $6, $1, $6
+ addq $2, $6, $6