mirror of
https://github.com/openssl/openssl.git
synced 2025-01-06 13:26:43 +08:00
1774 lines
32 KiB
ArmAsm
1774 lines
32 KiB
ArmAsm
# Don't even think of reading this code
|
|
# It was automatically generated by bn-586.pl
|
|
# Which is a perl program used to generate the alpha assember.
|
|
# eric <eay@cryptsoft.com>
|
|
|
|
# DEC Alpha assember
|
|
# Generated from perl scripts contains in SSLeay
|
|
.file 1 "bn-586.s"
|
|
.set noat
|
|
.text
|
|
.align 3
|
|
.globl bn_mul_words
|
|
.ent bn_mul_words
|
|
bn_mul_words:
|
|
bn_mul_words..ng:
|
|
.frame $30,0,$26,0
|
|
.prologue 0
|
|
|
|
subq $18, 4, $18
|
|
bis $31, $31, $0
|
|
br $100
|
|
blt $18, $100
|
|
ldq $1, 0($17)
|
|
ldq $2, 0($16)
|
|
$101:
|
|
ldq $3, 0($17)
|
|
mulq $3, $19, $4
|
|
addq $17, 8, $17
|
|
umulh $3, $19, $5
|
|
addq $4, $0, $4
|
|
addq $16, 8, $16
|
|
subq $18, 1, $18
|
|
cmpult $4, $0, $0
|
|
stq $4, -8($16)
|
|
addq $5, $0, $0
|
|
bgt $18, $101
|
|
ret $31,($26),1
|
|
$100:
|
|
addq $18, 4, $18
|
|
bgt $18, $101
|
|
$102:
|
|
ret $31,($26),1
|
|
.end bn_mul_words
|
|
.text
|
|
.align 3
|
|
.globl bn_sqr_words
|
|
.ent bn_sqr_words
|
|
bn_sqr_words:
|
|
bn_sqr_words..ng:
|
|
.frame $30,0,$26,0
|
|
.prologue 0
|
|
|
|
subq $18, 4, $18
|
|
bis $31, $31, $0
|
|
br $103
|
|
blt $18, $103
|
|
ldq $1, 0($17)
|
|
ldq $2, 0($16)
|
|
$104:
|
|
ldq $3, 0($17)
|
|
mulq $3, $3, $4
|
|
addq $17, 8, $17
|
|
addq $16, 16, $16
|
|
subq $18, 1, $18
|
|
umulh $3, $3, $5
|
|
stq $4, -16($16)
|
|
stq $5, -8($16)
|
|
bgt $18, $104
|
|
ret $31,($26),1
|
|
$103:
|
|
addq $18, 4, $18
|
|
bgt $18, $104
|
|
$105:
|
|
ret $31,($26),1
|
|
.end bn_sqr_words
|
|
.text
|
|
.align 3
|
|
.globl bn_mul_add_words
|
|
.ent bn_mul_add_words
|
|
bn_mul_add_words:
|
|
bn_mul_add_words..ng:
|
|
.frame $30,0,$26,0
|
|
.prologue 0
|
|
|
|
subq $18, 4, $18
|
|
bis $31, $31, $0
|
|
br $106
|
|
blt $18, $106
|
|
ldq $1, 0($17)
|
|
ldq $2, 0($16)
|
|
$107:
|
|
ldq $3, 0($17)
|
|
ldq $4, 0($16)
|
|
mulq $3, $19, $5
|
|
subq $18, 1, $18
|
|
addq $17, 8, $17
|
|
umulh $3, $19, $6
|
|
addq $4, $5, $4
|
|
addq $16, 8, $16
|
|
cmpult $4, $5, $7
|
|
addq $4, $0, $4
|
|
addq $6, $7, $6
|
|
cmpult $4, $0, $0
|
|
stq $4, -8($16)
|
|
addq $6, $0, $0
|
|
bgt $18, $107
|
|
ret $31,($26),1
|
|
$106:
|
|
addq $18, 4, $18
|
|
bgt $18, $107
|
|
$108:
|
|
ret $31,($26),1
|
|
.end bn_mul_add_words
|
|
.text
|
|
.align 3
|
|
.globl bn_add_words
|
|
.ent bn_add_words
|
|
bn_add_words:
|
|
bn_add_words..ng:
|
|
.frame $30,0,$26,0
|
|
.prologue 0
|
|
|
|
subq $19, 4, $19
|
|
bis $31, $31, $0
|
|
br $109
|
|
blt $19, $109
|
|
ldq $1, 0($17)
|
|
ldq $2, 0($18)
|
|
$110:
|
|
ldq $3, 8($17)
|
|
ldq $4, 8($18)
|
|
ldq $5, 16($17)
|
|
ldq $6, 16($18)
|
|
ldq $7, 24($17)
|
|
ldq $8, 24($18)
|
|
addq $1, $2, $22
|
|
cmpult $22, $2, $23
|
|
addq $22, $0, $22
|
|
cmpult $22, $0, $0
|
|
addq $0, $23, $0
|
|
addq $3, $4, $25
|
|
cmpult $25, $4, $24
|
|
addq $25, $0, $25
|
|
cmpult $25, $0, $0
|
|
addq $0, $24, $0
|
|
addq $5, $6, $28
|
|
cmpult $28, $6, $27
|
|
addq $28, $0, $28
|
|
cmpult $28, $0, $0
|
|
addq $0, $27, $0
|
|
addq $7, $8, $20
|
|
cmpult $20, $8, $21
|
|
addq $20, $0, $20
|
|
cmpult $20, $0, $0
|
|
addq $0, $21, $0
|
|
stq $22, 0($16)
|
|
stq $25, 0($16)
|
|
stq $28, 0($16)
|
|
stq $20, 0($16)
|
|
subq $19, 4, $19
|
|
addq $17, 32, $17
|
|
addq $18, 32, $18
|
|
addq $16, 32, $16
|
|
blt $19, $109
|
|
ldq $1, 0($17)
|
|
ldq $2, 0($18)
|
|
br $110
|
|
$111:
|
|
ldq $1, 0($17)
|
|
ldq $2, 0($18)
|
|
addq $1, $2, $3
|
|
cmpult $3, $2, $23
|
|
addq $3, $0, $3
|
|
cmpult $3, $0, $0
|
|
addq $0, $23, $0
|
|
stq $3, 0($16)
|
|
addq $17, 8, $17
|
|
addq $18, 8, $18
|
|
addq $16, 8, $16
|
|
subq $19, 1, $19
|
|
bgt $19, $111
|
|
ret $31,($26),1
|
|
$109:
|
|
addq $19, 4, $19
|
|
bgt $19, $111
|
|
$112:
|
|
ret $31,($26),1
|
|
.end bn_add_words
|
|
.text
|
|
.align 3
|
|
.globl bn_sub_words
|
|
.ent bn_sub_words
|
|
bn_sub_words:
|
|
bn_sub_words..ng:
|
|
.frame $30,0,$26,0
|
|
.prologue 0
|
|
|
|
subq $19, 4, $19
|
|
bis $31, $31, $0
|
|
blt $19, $113
|
|
ldq $1, 0($17)
|
|
ldq $2, 0($18)
|
|
$114:
|
|
ldq $3, 8($17)
|
|
cmpult $1, $2, $4
|
|
ldq $5, 8($18)
|
|
subq $1, $2, $1
|
|
ldq $6, 16($17)
|
|
cmpult $1, $0, $2
|
|
ldq $7, 16($18)
|
|
subq $1, $0, $23
|
|
ldq $8, 24($17)
|
|
addq $2, $4, $0
|
|
cmpult $3, $5, $24
|
|
subq $3, $5, $3
|
|
ldq $22, 24($18)
|
|
cmpult $3, $0, $5
|
|
subq $3, $0, $25
|
|
addq $5, $24, $0
|
|
cmpult $6, $7, $27
|
|
subq $6, $7, $6
|
|
stq $23, 0($16)
|
|
cmpult $6, $0, $7
|
|
subq $6, $0, $28
|
|
addq $7, $27, $0
|
|
cmpult $8, $22, $21
|
|
subq $8, $22, $8
|
|
stq $25, 8($16)
|
|
cmpult $8, $0, $22
|
|
subq $8, $0, $20
|
|
addq $22, $21, $0
|
|
stq $28, 16($16)
|
|
subq $19, 4, $19
|
|
stq $20, 24($16)
|
|
addq $17, 32, $17
|
|
addq $18, 32, $18
|
|
addq $16, 32, $16
|
|
blt $19, $113
|
|
ldq $1, 0($17)
|
|
ldq $2, 0($18)
|
|
br $114
|
|
$115:
|
|
ldq $1, 0($17)
|
|
ldq $2, 0($18)
|
|
cmpult $1, $2, $27
|
|
subq $1, $2, $1
|
|
cmpult $1, $0, $2
|
|
subq $1, $0, $1
|
|
stq $1, 0($16)
|
|
addq $2, $27, $0
|
|
addq $17, 8, $17
|
|
addq $18, 8, $18
|
|
addq $16, 8, $16
|
|
subq $19, 1, $19
|
|
bgt $19, $115
|
|
ret $31,($26),1
|
|
$113:
|
|
addq $19, 4, $19
|
|
bgt $19, $115
|
|
$116:
|
|
ret $31,($26),1
|
|
.end bn_sub_words
|
|
#
|
|
# What follows was taken directly from the C compiler with a few
|
|
# hacks to redo the lables.
|
|
#
|
|
.text
|
|
.align 3
|
|
.globl bn_div64
|
|
.ent bn_div64
|
|
bn_div64:
|
|
ldgp $29,0($27)
|
|
bn_div64..ng:
|
|
lda $30,-48($30)
|
|
.frame $30,48,$26,0
|
|
stq $26,0($30)
|
|
stq $9,8($30)
|
|
stq $10,16($30)
|
|
stq $11,24($30)
|
|
stq $12,32($30)
|
|
stq $13,40($30)
|
|
.mask 0x4003e00,-48
|
|
.prologue 1
|
|
bis $16,$16,$9
|
|
bis $17,$17,$10
|
|
bis $18,$18,$11
|
|
bis $31,$31,$13
|
|
bis $31,2,$12
|
|
bne $11,$9119
|
|
lda $0,-1
|
|
br $31,$9136
|
|
.align 4
|
|
$9119:
|
|
bis $11,$11,$16
|
|
jsr $26,BN_num_bits_word
|
|
ldgp $29,0($26)
|
|
subq $0,64,$1
|
|
beq $1,$9120
|
|
bis $31,1,$1
|
|
sll $1,$0,$1
|
|
cmpule $9,$1,$1
|
|
bne $1,$9120
|
|
# lda $16,_IO_stderr_
|
|
# lda $17,$C32
|
|
# bis $0,$0,$18
|
|
# jsr $26,fprintf
|
|
# ldgp $29,0($26)
|
|
jsr $26,abort
|
|
ldgp $29,0($26)
|
|
.align 4
|
|
$9120:
|
|
bis $31,64,$3
|
|
cmpult $9,$11,$2
|
|
subq $3,$0,$1
|
|
addl $1,$31,$0
|
|
subq $9,$11,$1
|
|
cmoveq $2,$1,$9
|
|
beq $0,$9122
|
|
zapnot $0,15,$2
|
|
subq $3,$0,$1
|
|
sll $11,$2,$11
|
|
sll $9,$2,$3
|
|
srl $10,$1,$1
|
|
sll $10,$2,$10
|
|
bis $3,$1,$9
|
|
$9122:
|
|
srl $11,32,$5
|
|
zapnot $11,15,$6
|
|
lda $7,-1
|
|
.align 5
|
|
$9123:
|
|
srl $9,32,$1
|
|
subq $1,$5,$1
|
|
bne $1,$9126
|
|
zapnot $7,15,$27
|
|
br $31,$9127
|
|
.align 4
|
|
$9126:
|
|
bis $9,$9,$24
|
|
bis $5,$5,$25
|
|
divqu $24,$25,$27
|
|
$9127:
|
|
srl $10,32,$4
|
|
.align 5
|
|
$9128:
|
|
mulq $27,$5,$1
|
|
subq $9,$1,$3
|
|
zapnot $3,240,$1
|
|
bne $1,$9129
|
|
mulq $6,$27,$2
|
|
sll $3,32,$1
|
|
addq $1,$4,$1
|
|
cmpule $2,$1,$2
|
|
bne $2,$9129
|
|
subq $27,1,$27
|
|
br $31,$9128
|
|
.align 4
|
|
$9129:
|
|
mulq $27,$6,$1
|
|
mulq $27,$5,$4
|
|
srl $1,32,$3
|
|
sll $1,32,$1
|
|
addq $4,$3,$4
|
|
cmpult $10,$1,$2
|
|
subq $10,$1,$10
|
|
addq $2,$4,$2
|
|
cmpult $9,$2,$1
|
|
bis $2,$2,$4
|
|
beq $1,$9134
|
|
addq $9,$11,$9
|
|
subq $27,1,$27
|
|
$9134:
|
|
subl $12,1,$12
|
|
subq $9,$4,$9
|
|
beq $12,$9124
|
|
sll $27,32,$13
|
|
sll $9,32,$2
|
|
srl $10,32,$1
|
|
sll $10,32,$10
|
|
bis $2,$1,$9
|
|
br $31,$9123
|
|
.align 4
|
|
$9124:
|
|
bis $13,$27,$0
|
|
$9136:
|
|
ldq $26,0($30)
|
|
ldq $9,8($30)
|
|
ldq $10,16($30)
|
|
ldq $11,24($30)
|
|
ldq $12,32($30)
|
|
ldq $13,40($30)
|
|
addq $30,48,$30
|
|
ret $31,($26),1
|
|
.end bn_div64
|
|
.text
|
|
.align 3
|
|
.globl bn_mul_comba8
|
|
.ent bn_mul_comba8
|
|
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($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, $10
|
|
mulq $0, $3, $17
|
|
umulh $0, $3, $18
|
|
addq $19, $17, $19
|
|
cmpult $19, $17, $20
|
|
addq $20, $18, $18
|
|
addq $9, $18, $9
|
|
cmpult $9, $18, $17
|
|
addq $10, $17, $10
|
|
mulq $2, $1, $20
|
|
umulh $2, $1, $18
|
|
addq $19, $20, $19
|
|
cmpult $19, $20, $17
|
|
addq $17, $18, $18
|
|
addq $9, $18, $9
|
|
cmpult $9, $18, $20
|
|
addq $10, $20, $10
|
|
stq $19, 8($16)
|
|
bis $31, $31, $17
|
|
mulq $0, $5, $18
|
|
umulh $0, $5, $20
|
|
addq $9, $18, $9
|
|
cmpult $9, $18, $19
|
|
addq $19, $20, $20
|
|
addq $10, $20, $10
|
|
cmpult $10, $20, $18
|
|
addq $17, $18, $17
|
|
mulq $2, $3, $19
|
|
umulh $2, $3, $20
|
|
addq $9, $19, $9
|
|
cmpult $9, $19, $18
|
|
addq $18, $20, $20
|
|
addq $10, $20, $10
|
|
cmpult $10, $20, $19
|
|
addq $17, $19, $17
|
|
mulq $4, $1, $18
|
|
umulh $4, $1, $20
|
|
addq $9, $18, $9
|
|
cmpult $9, $18, $19
|
|
addq $19, $20, $20
|
|
addq $10, $20, $10
|
|
cmpult $10, $20, $18
|
|
addq $17, $18, $17
|
|
stq $9, 16($16)
|
|
bis $31, $31, $19
|
|
mulq $0, $7, $20
|
|
umulh $0, $7, $18
|
|
addq $10, $20, $10
|
|
cmpult $10, $20, $9
|
|
addq $9, $18, $18
|
|
addq $17, $18, $17
|
|
cmpult $17, $18, $20
|
|
addq $19, $20, $19
|
|
mulq $2, $5, $9
|
|
umulh $2, $5, $18
|
|
addq $10, $9, $10
|
|
cmpult $10, $9, $20
|
|
addq $20, $18, $18
|
|
addq $17, $18, $17
|
|
cmpult $17, $18, $9
|
|
addq $19, $9, $19
|
|
mulq $4, $3, $20
|
|
umulh $4, $3, $18
|
|
addq $10, $20, $10
|
|
cmpult $10, $20, $9
|
|
addq $9, $18, $18
|
|
addq $17, $18, $17
|
|
cmpult $17, $18, $20
|
|
addq $19, $20, $19
|
|
mulq $6, $1, $9
|
|
umulh $6, $1, $18
|
|
addq $10, $9, $10
|
|
cmpult $10, $9, $20
|
|
addq $20, $18, $18
|
|
addq $17, $18, $17
|
|
cmpult $17, $18, $9
|
|
addq $19, $9, $19
|
|
stq $10, 24($16)
|
|
bis $31, $31, $20
|
|
mulq $0, $22, $18
|
|
umulh $0, $22, $9
|
|
addq $17, $18, $17
|
|
cmpult $17, $18, $10
|
|
addq $10, $9, $9
|
|
addq $19, $9, $19
|
|
cmpult $19, $9, $18
|
|
addq $20, $18, $20
|
|
mulq $2, $7, $10
|
|
umulh $2, $7, $9
|
|
addq $17, $10, $17
|
|
cmpult $17, $10, $18
|
|
addq $18, $9, $9
|
|
addq $19, $9, $19
|
|
cmpult $19, $9, $10
|
|
addq $20, $10, $20
|
|
mulq $4, $5, $18
|
|
umulh $4, $5, $9
|
|
addq $17, $18, $17
|
|
cmpult $17, $18, $10
|
|
addq $10, $9, $9
|
|
addq $19, $9, $19
|
|
cmpult $19, $9, $18
|
|
addq $20, $18, $20
|
|
mulq $6, $3, $10
|
|
umulh $6, $3, $9
|
|
addq $17, $10, $17
|
|
cmpult $17, $10, $18
|
|
addq $18, $9, $9
|
|
addq $19, $9, $19
|
|
cmpult $19, $9, $10
|
|
addq $20, $10, $20
|
|
mulq $8, $1, $18
|
|
umulh $8, $1, $9
|
|
addq $17, $18, $17
|
|
cmpult $17, $18, $10
|
|
addq $10, $9, $9
|
|
addq $19, $9, $19
|
|
cmpult $19, $9, $18
|
|
addq $20, $18, $20
|
|
stq $17, 32($16)
|
|
bis $31, $31, $10
|
|
mulq $0, $24, $9
|
|
umulh $0, $24, $18
|
|
addq $19, $9, $19
|
|
cmpult $19, $9, $17
|
|
addq $17, $18, $18
|
|
addq $20, $18, $20
|
|
cmpult $20, $18, $9
|
|
addq $10, $9, $10
|
|
mulq $2, $22, $17
|
|
umulh $2, $22, $18
|
|
addq $19, $17, $19
|
|
cmpult $19, $17, $9
|
|
addq $9, $18, $18
|
|
addq $20, $18, $20
|
|
cmpult $20, $18, $17
|
|
addq $10, $17, $10
|
|
mulq $4, $7, $9
|
|
umulh $4, $7, $18
|
|
addq $19, $9, $19
|
|
cmpult $19, $9, $17
|
|
addq $17, $18, $18
|
|
addq $20, $18, $20
|
|
cmpult $20, $18, $9
|
|
addq $10, $9, $10
|
|
mulq $6, $5, $17
|
|
umulh $6, $5, $18
|
|
addq $19, $17, $19
|
|
cmpult $19, $17, $9
|
|
addq $9, $18, $18
|
|
addq $20, $18, $20
|
|
cmpult $20, $18, $17
|
|
addq $10, $17, $10
|
|
mulq $8, $3, $9
|
|
umulh $8, $3, $18
|
|
addq $19, $9, $19
|
|
cmpult $19, $9, $17
|
|
addq $17, $18, $18
|
|
addq $20, $18, $20
|
|
cmpult $20, $18, $9
|
|
addq $10, $9, $10
|
|
mulq $23, $1, $17
|
|
umulh $23, $1, $18
|
|
addq $19, $17, $19
|
|
cmpult $19, $17, $9
|
|
addq $9, $18, $18
|
|
addq $20, $18, $20
|
|
cmpult $20, $18, $17
|
|
addq $10, $17, $10
|
|
stq $19, 40($16)
|
|
bis $31, $31, $9
|
|
mulq $0, $27, $18
|
|
umulh $0, $27, $17
|
|
addq $20, $18, $20
|
|
cmpult $20, $18, $19
|
|
addq $19, $17, $17
|
|
addq $10, $17, $10
|
|
cmpult $10, $17, $18
|
|
addq $9, $18, $9
|
|
mulq $2, $24, $19
|
|
umulh $2, $24, $17
|
|
addq $20, $19, $20
|
|
cmpult $20, $19, $18
|
|
addq $18, $17, $17
|
|
addq $10, $17, $10
|
|
cmpult $10, $17, $19
|
|
addq $9, $19, $9
|
|
mulq $4, $22, $18
|
|
umulh $4, $22, $17
|
|
addq $20, $18, $20
|
|
cmpult $20, $18, $19
|
|
addq $19, $17, $17
|
|
addq $10, $17, $10
|
|
cmpult $10, $17, $18
|
|
addq $9, $18, $9
|
|
mulq $6, $7, $19
|
|
umulh $6, $7, $17
|
|
addq $20, $19, $20
|
|
cmpult $20, $19, $18
|
|
addq $18, $17, $17
|
|
addq $10, $17, $10
|
|
cmpult $10, $17, $19
|
|
addq $9, $19, $9
|
|
mulq $8, $5, $18
|
|
umulh $8, $5, $17
|
|
addq $20, $18, $20
|
|
cmpult $20, $18, $19
|
|
addq $19, $17, $17
|
|
addq $10, $17, $10
|
|
cmpult $10, $17, $18
|
|
addq $9, $18, $9
|
|
mulq $23, $3, $19
|
|
umulh $23, $3, $17
|
|
addq $20, $19, $20
|
|
cmpult $20, $19, $18
|
|
addq $18, $17, $17
|
|
addq $10, $17, $10
|
|
cmpult $10, $17, $19
|
|
addq $9, $19, $9
|
|
mulq $25, $1, $18
|
|
umulh $25, $1, $17
|
|
addq $20, $18, $20
|
|
cmpult $20, $18, $19
|
|
addq $19, $17, $17
|
|
addq $10, $17, $10
|
|
cmpult $10, $17, $18
|
|
addq $9, $18, $9
|
|
stq $20, 48($16)
|
|
bis $31, $31, $19
|
|
mulq $0, $21, $17
|
|
umulh $0, $21, $18
|
|
addq $10, $17, $10
|
|
cmpult $10, $17, $20
|
|
addq $20, $18, $18
|
|
addq $9, $18, $9
|
|
cmpult $9, $18, $17
|
|
addq $19, $17, $19
|
|
mulq $2, $27, $20
|
|
umulh $2, $27, $18
|
|
addq $10, $20, $10
|
|
cmpult $10, $20, $17
|
|
addq $17, $18, $18
|
|
addq $9, $18, $9
|
|
cmpult $9, $18, $0
|
|
addq $19, $0, $19
|
|
mulq $4, $24, $20
|
|
umulh $4, $24, $17
|
|
addq $10, $20, $10
|
|
cmpult $10, $20, $18
|
|
addq $18, $17, $17
|
|
addq $9, $17, $9
|
|
cmpult $9, $17, $0
|
|
addq $19, $0, $19
|
|
mulq $6, $22, $20
|
|
umulh $6, $22, $18
|
|
addq $10, $20, $10
|
|
cmpult $10, $20, $17
|
|
addq $17, $18, $18
|
|
addq $9, $18, $9
|
|
cmpult $9, $18, $0
|
|
addq $19, $0, $19
|
|
mulq $8, $7, $20
|
|
umulh $8, $7, $17
|
|
addq $10, $20, $10
|
|
cmpult $10, $20, $18
|
|
addq $18, $17, $17
|
|
addq $9, $17, $9
|
|
cmpult $9, $17, $0
|
|
addq $19, $0, $19
|
|
mulq $23, $5, $20
|
|
umulh $23, $5, $18
|
|
addq $10, $20, $10
|
|
cmpult $10, $20, $17
|
|
addq $17, $18, $18
|
|
addq $9, $18, $9
|
|
cmpult $9, $18, $0
|
|
addq $19, $0, $19
|
|
mulq $25, $3, $20
|
|
umulh $25, $3, $17
|
|
addq $10, $20, $10
|
|
cmpult $10, $20, $18
|
|
addq $18, $17, $17
|
|
addq $9, $17, $9
|
|
cmpult $9, $17, $0
|
|
addq $19, $0, $19
|
|
mulq $28, $1, $20
|
|
umulh $28, $1, $18
|
|
addq $10, $20, $10
|
|
cmpult $10, $20, $17
|
|
addq $17, $18, $18
|
|
addq $9, $18, $9
|
|
cmpult $9, $18, $0
|
|
addq $19, $0, $19
|
|
stq $10, 56($16)
|
|
bis $31, $31, $20
|
|
mulq $2, $21, $17
|
|
umulh $2, $21, $18
|
|
addq $9, $17, $9
|
|
cmpult $9, $17, $0
|
|
addq $0, $18, $18
|
|
addq $19, $18, $19
|
|
cmpult $19, $18, $1
|
|
addq $20, $1, $20
|
|
mulq $4, $27, $10
|
|
umulh $4, $27, $17
|
|
addq $9, $10, $9
|
|
cmpult $9, $10, $0
|
|
addq $0, $17, $17
|
|
addq $19, $17, $19
|
|
cmpult $19, $17, $18
|
|
addq $20, $18, $20
|
|
mulq $6, $24, $1
|
|
umulh $6, $24, $2
|
|
addq $9, $1, $9
|
|
cmpult $9, $1, $10
|
|
addq $10, $2, $2
|
|
addq $19, $2, $19
|
|
cmpult $19, $2, $0
|
|
addq $20, $0, $20
|
|
mulq $8, $22, $17
|
|
umulh $8, $22, $18
|
|
addq $9, $17, $9
|
|
cmpult $9, $17, $1
|
|
addq $1, $18, $18
|
|
addq $19, $18, $19
|
|
cmpult $19, $18, $10
|
|
addq $20, $10, $20
|
|
mulq $23, $7, $2
|
|
umulh $23, $7, $0
|
|
addq $9, $2, $9
|
|
cmpult $9, $2, $17
|
|
addq $17, $0, $0
|
|
addq $19, $0, $19
|
|
cmpult $19, $0, $1
|
|
addq $20, $1, $20
|
|
mulq $25, $5, $18
|
|
umulh $25, $5, $10
|
|
addq $9, $18, $9
|
|
cmpult $9, $18, $2
|
|
addq $2, $10, $10
|
|
addq $19, $10, $19
|
|
cmpult $19, $10, $17
|
|
addq $20, $17, $20
|
|
mulq $28, $3, $0
|
|
umulh $28, $3, $1
|
|
addq $9, $0, $9
|
|
cmpult $9, $0, $18
|
|
addq $18, $1, $1
|
|
addq $19, $1, $19
|
|
cmpult $19, $1, $2
|
|
addq $20, $2, $20
|
|
stq $9, 64($16)
|
|
bis $31, $31, $10
|
|
mulq $4, $21, $17
|
|
umulh $4, $21, $0
|
|
addq $19, $17, $19
|
|
cmpult $19, $17, $18
|
|
addq $18, $0, $0
|
|
addq $20, $0, $20
|
|
cmpult $20, $0, $1
|
|
addq $10, $1, $10
|
|
mulq $6, $27, $2
|
|
umulh $6, $27, $3
|
|
addq $19, $2, $19
|
|
cmpult $19, $2, $9
|
|
addq $9, $3, $3
|
|
addq $20, $3, $20
|
|
cmpult $20, $3, $17
|
|
addq $10, $17, $10
|
|
mulq $8, $24, $18
|
|
umulh $8, $24, $0
|
|
addq $19, $18, $19
|
|
cmpult $19, $18, $1
|
|
addq $1, $0, $0
|
|
addq $20, $0, $20
|
|
cmpult $20, $0, $4
|
|
addq $10, $4, $10
|
|
mulq $23, $22, $2
|
|
umulh $23, $22, $9
|
|
addq $19, $2, $19
|
|
cmpult $19, $2, $3
|
|
addq $3, $9, $9
|
|
addq $20, $9, $20
|
|
cmpult $20, $9, $17
|
|
addq $10, $17, $10
|
|
mulq $25, $7, $18
|
|
umulh $25, $7, $1
|
|
addq $19, $18, $19
|
|
cmpult $19, $18, $0
|
|
addq $0, $1, $1
|
|
addq $20, $1, $20
|
|
cmpult $20, $1, $4
|
|
addq $10, $4, $10
|
|
mulq $28, $5, $2
|
|
umulh $28, $5, $3
|
|
addq $19, $2, $19
|
|
cmpult $19, $2, $9
|
|
addq $9, $3, $3
|
|
addq $20, $3, $20
|
|
cmpult $20, $3, $17
|
|
addq $10, $17, $10
|
|
stq $19, 72($16)
|
|
bis $31, $31, $18
|
|
mulq $6, $21, $0
|
|
umulh $6, $21, $1
|
|
addq $20, $0, $20
|
|
cmpult $20, $0, $4
|
|
addq $4, $1, $1
|
|
addq $10, $1, $10
|
|
cmpult $10, $1, $2
|
|
addq $18, $2, $18
|
|
mulq $8, $27, $9
|
|
umulh $8, $27, $3
|
|
addq $20, $9, $20
|
|
cmpult $20, $9, $17
|
|
addq $17, $3, $3
|
|
addq $10, $3, $10
|
|
cmpult $10, $3, $5
|
|
addq $18, $5, $18
|
|
mulq $23, $24, $19
|
|
umulh $23, $24, $0
|
|
addq $20, $19, $20
|
|
cmpult $20, $19, $4
|
|
addq $4, $0, $0
|
|
addq $10, $0, $10
|
|
cmpult $10, $0, $1
|
|
addq $18, $1, $18
|
|
mulq $25, $22, $2
|
|
umulh $25, $22, $6
|
|
addq $20, $2, $20
|
|
cmpult $20, $2, $9
|
|
addq $9, $6, $6
|
|
addq $10, $6, $10
|
|
cmpult $10, $6, $17
|
|
addq $18, $17, $18
|
|
mulq $28, $7, $3
|
|
umulh $28, $7, $5
|
|
addq $20, $3, $20
|
|
cmpult $20, $3, $19
|
|
addq $19, $5, $5
|
|
addq $10, $5, $10
|
|
cmpult $10, $5, $4
|
|
addq $18, $4, $18
|
|
stq $20, 80($16)
|
|
bis $31, $31, $0
|
|
mulq $8, $21, $1
|
|
umulh $8, $21, $2
|
|
addq $10, $1, $10
|
|
cmpult $10, $1, $9
|
|
addq $9, $2, $2
|
|
addq $18, $2, $18
|
|
cmpult $18, $2, $6
|
|
addq $0, $6, $0
|
|
mulq $23, $27, $17
|
|
umulh $23, $27, $3
|
|
addq $10, $17, $10
|
|
cmpult $10, $17, $19
|
|
addq $19, $3, $3
|
|
addq $18, $3, $18
|
|
cmpult $18, $3, $5
|
|
addq $0, $5, $0
|
|
mulq $25, $24, $4
|
|
umulh $25, $24, $7
|
|
addq $10, $4, $10
|
|
cmpult $10, $4, $20
|
|
addq $20, $7, $7
|
|
addq $18, $7, $18
|
|
cmpult $18, $7, $1
|
|
addq $0, $1, $0
|
|
mulq $28, $22, $9
|
|
umulh $28, $22, $2
|
|
addq $10, $9, $10
|
|
cmpult $10, $9, $6
|
|
addq $6, $2, $2
|
|
addq $18, $2, $18
|
|
cmpult $18, $2, $8
|
|
addq $0, $8, $0
|
|
stq $10, 88($16)
|
|
bis $31, $31, $17
|
|
mulq $23, $21, $19
|
|
umulh $23, $21, $3
|
|
addq $18, $19, $18
|
|
cmpult $18, $19, $5
|
|
addq $5, $3, $3
|
|
addq $0, $3, $0
|
|
cmpult $0, $3, $4
|
|
addq $17, $4, $17
|
|
mulq $25, $27, $20
|
|
umulh $25, $27, $7
|
|
addq $18, $20, $18
|
|
cmpult $18, $20, $1
|
|
addq $1, $7, $7
|
|
addq $0, $7, $0
|
|
cmpult $0, $7, $9
|
|
addq $17, $9, $17
|
|
mulq $28, $24, $6
|
|
umulh $28, $24, $2
|
|
addq $18, $6, $18
|
|
cmpult $18, $6, $8
|
|
addq $8, $2, $2
|
|
addq $0, $2, $0
|
|
cmpult $0, $2, $22
|
|
addq $17, $22, $17
|
|
stq $18, 96($16)
|
|
bis $31, $31, $10
|
|
mulq $25, $21, $19
|
|
umulh $25, $21, $5
|
|
addq $0, $19, $0
|
|
cmpult $0, $19, $3
|
|
addq $3, $5, $5
|
|
addq $17, $5, $17
|
|
cmpult $17, $5, $4
|
|
addq $10, $4, $10
|
|
mulq $28, $27, $23
|
|
umulh $28, $27, $20
|
|
addq $0, $23, $0
|
|
cmpult $0, $23, $1
|
|
addq $1, $20, $20
|
|
addq $17, $20, $17
|
|
cmpult $17, $20, $7
|
|
addq $10, $7, $10
|
|
stq $0, 104($16)
|
|
bis $31, $31, $9
|
|
mulq $28, $21, $6
|
|
umulh $28, $21, $8
|
|
addq $17, $6, $17
|
|
cmpult $17, $6, $2
|
|
addq $2, $8, $8
|
|
addq $10, $8, $10
|
|
cmpult $10, $8, $22
|
|
addq $9, $22, $9
|
|
stq $17, 112($16)
|
|
stq $10, 120($16)
|
|
ldq $9, 0($30)
|
|
ldq $10, 8($30)
|
|
addq $30, 16, $30
|
|
ret $31,($26),1
|
|
.end bn_mul_comba8
|
|
.text
|
|
.align 3
|
|
.globl bn_mul_comba4
|
|
.ent bn_mul_comba4
|
|
bn_mul_comba4:
|
|
bn_mul_comba4..ng:
|
|
.frame $30,0,$26,0
|
|
.prologue 0
|
|
|
|
ldq $0, 0($17)
|
|
ldq $1, 0($18)
|
|
ldq $2, 8($17)
|
|
ldq $3, 8($18)
|
|
mulq $0, $1, $4
|
|
ldq $5, 16($17)
|
|
ldq $6, 16($18)
|
|
umulh $0, $1, $7
|
|
ldq $8, 24($17)
|
|
ldq $22, 24($18)
|
|
mulq $0, $3, $23
|
|
stq $4, 0($16)
|
|
bis $31, $31, $24
|
|
mulq $2, $1, $28
|
|
bis $31, $31, $25
|
|
bis $31, $31,
|
|
addq $24, $7, $24
|
|
umulh $0, $3, $21
|
|
cmpult $24, $7, $20
|
|
addq $24, $23, $24
|
|
addq $25, $20, $25
|
|
umulh $2, $1, $19
|
|
cmpult $24, $23, $17
|
|
addq $24, $28, $24
|
|
addq $27, $17, $27
|
|
mulq $0, $6, $18
|
|
cmpult $24, $28, $4
|
|
addq $25, $4, $25
|
|
stq $24, 8($16)
|
|
addq $25, $27, $24
|
|
bis $31, $31, $25
|
|
addq $24, $21, $24
|
|
bis $31, $31, $27
|
|
mulq $2, $3, $7
|
|
cmpult $24, $21, $20
|
|
addq $24, $19, $24
|
|
addq $25, $20, $25
|
|
mulq $5, $1, $23
|
|
cmpult $24, $19, $17
|
|
addq $24, $7, $24
|
|
addq $27, $17, $27
|
|
umulh $0, $6, $28
|
|
cmpult $24, $18, $4
|
|
addq $24, $7, $24
|
|
addq $25, $4, $25
|
|
umulh $2, $3, $21
|
|
cmpult $24, $7, $20
|
|
addq $24, $23, $24
|
|
addq $27, $20, $27
|
|
umulh $5, $1, $19
|
|
cmpult $24, $23, $17
|
|
addq $25, $17, $25
|
|
stq $24, 16($16)
|
|
addq $25, $27, $24
|
|
bis $31, $31, $25
|
|
addq $24, $28, $24
|
|
bis $31, $31, $27
|
|
mulq $0, $22, $18
|
|
cmpult $24, $28, $4
|
|
addq $24, $21, $24
|
|
addq $25, $4, $25
|
|
mulq $2, $6, $7
|
|
cmpult $24, $21, $20
|
|
addq $24, $19, $24
|
|
addq $25, $20, $25
|
|
mulq $5, $3, $23
|
|
cmpult $24, $19, $17
|
|
addq $24, $18, $24
|
|
addq $25, $17, $25
|
|
mulq $8, $1, $28
|
|
cmpult $24, $18, $4
|
|
addq $24, $7, $24
|
|
addq $25, $4, $25
|
|
umulh $0, $22, $21
|
|
cmpult $24, $7, $20
|
|
addq $24, $23, $24
|
|
addq $25, $20, $25
|
|
umulh $2, $6, $19
|
|
cmpult $24, $23, $17
|
|
addq $24, $28, $24
|
|
addq $25, $17, $25
|
|
umulh $5, $3, $18
|
|
cmpult $24, $28, $4
|
|
addq $25, $4, $25
|
|
stq $24, 24($16)
|
|
addq $25, $27, $24
|
|
bis $31, $31, $25
|
|
addq $24, $21, $24
|
|
bis $31, $31, $27
|
|
umulh $8, $1, $7
|
|
cmpult $24, $21, $20
|
|
addq $24, $19, $24
|
|
addq $25, $20, $25
|
|
mulq $2, $22, $23
|
|
cmpult $24, $19, $17
|
|
addq $24, $18, $24
|
|
addq $25, $17, $25
|
|
mulq $5, $6, $28
|
|
cmpult $24, $18, $4
|
|
addq $24, $7, $24
|
|
addq $25, $4, $25
|
|
mulq $8, $3, $21
|
|
cmpult $24, $7, $20
|
|
addq $24, $23, $24
|
|
addq $25, $20, $25
|
|
umulh $2, $22, $19
|
|
cmpult $24, $23, $17
|
|
addq $24, $28, $24
|
|
addq $25, $17, $25
|
|
umulh $5, $6, $18
|
|
cmpult $24, $28, $4
|
|
addq $24, $21, $24
|
|
addq $25, $4, $25
|
|
umulh $8, $3, $7
|
|
cmpult $24, $21, $20
|
|
addq $25, $20, $25
|
|
stq $24, 32($16)
|
|
addq $25, $27, $24
|
|
bis $31, $31, $25
|
|
addq $24, $19, $24
|
|
bis $31, $31, $27
|
|
mulq $5, $22, $23
|
|
cmpult $24, $19, $17
|
|
addq $24, $18, $24
|
|
addq $25, $17, $25
|
|
mulq $8, $6, $28
|
|
cmpult $24, $18, $4
|
|
addq $24, $7, $24
|
|
addq $25, $4, $25
|
|
umulh $5, $22, $21
|
|
cmpult $24, $7, $20
|
|
addq $24, $23, $24
|
|
addq $25, $20, $25
|
|
umulh $8, $6, $19
|
|
cmpult $24, $23, $17
|
|
addq $24, $28, $24
|
|
addq $25, $17, $25
|
|
mulq $8, $22, $18
|
|
cmpult $24, $28, $4
|
|
addq $25, $4, $25
|
|
stq $24, 40($16)
|
|
addq $25, $27, $24
|
|
bis $31, $31, $25
|
|
addq $24, $21, $24
|
|
bis $31, $31, $27
|
|
umulh $8, $22, $7
|
|
cmpult $24, $21, $20
|
|
addq $24, $19, $24
|
|
addq $25, $20, $25
|
|
cmpult $24, $19, $23
|
|
addq $24, $18, $24
|
|
addq $25, $23, $25
|
|
cmpult $24, $18, $17
|
|
addq $25, $17, $25
|
|
stq $24, 48($16)
|
|
addq $25, $27, $24
|
|
addq $24, $7, $24
|
|
stq $24, 56($16)
|
|
ret $31,($26),1
|
|
.end bn_mul_comba4
|
|
.text
|
|
.align 3
|
|
.globl bn_sqr_comba4
|
|
.ent bn_sqr_comba4
|
|
bn_sqr_comba4:
|
|
bn_sqr_comba4..ng:
|
|
.frame $30,0,$26,0
|
|
.prologue 0
|
|
|
|
ldq $0, 0($17)
|
|
ldq $1, 8($17)
|
|
ldq $2, 16($17)
|
|
ldq $3, 24($17)
|
|
bis $31, $31, $6
|
|
mulq $0, $0, $4
|
|
umulh $0, $0, $5
|
|
stq $4, 0($16)
|
|
bis $31, $31, $4
|
|
mulq $0, $1, $7
|
|
umulh $0, $1, $8
|
|
cmplt $7, $31, $22
|
|
cmplt $8, $31, $23
|
|
addq $7, $7, $7
|
|
addq $8, $8, $8
|
|
addq $8, $22, $8
|
|
addq $4, $23, $4
|
|
addq $5, $7, $5
|
|
addq $6, $8, $6
|
|
cmpult $5, $7, $24
|
|
cmpult $6, $8, $25
|
|
addq $6, $24, $6
|
|
addq $4, $25, $4
|
|
stq $5, 8($16)
|
|
bis $31, $31, $5
|
|
mulq $1, $1, $27
|
|
umulh $1, $1, $28
|
|
addq $6, $27, $6
|
|
addq $4, $28, $4
|
|
cmpult $6, $27, $21
|
|
cmpult $4, $28, $20
|
|
addq $4, $21, $4
|
|
addq $5, $20, $5
|
|
mulq $2, $0, $19
|
|
umulh $2, $0, $18
|
|
cmplt $19, $31, $17
|
|
cmplt $18, $31, $22
|
|
addq $19, $19, $19
|
|
addq $18, $18, $18
|
|
addq $18, $17, $18
|
|
addq $5, $22, $5
|
|
addq $6, $19, $6
|
|
addq $4, $18, $4
|
|
cmpult $6, $19, $23
|
|
cmpult $4, $18, $7
|
|
addq $4, $23, $4
|
|
addq $5, $7, $5
|
|
stq $6, 16($16)
|
|
bis $31, $31, $6
|
|
mulq $3, $0, $8
|
|
umulh $3, $0, $24
|
|
cmplt $8, $31, $25
|
|
cmplt $24, $31, $27
|
|
addq $8, $8, $8
|
|
addq $24, $24, $24
|
|
addq $24, $25, $24
|
|
addq $6, $27, $6
|
|
addq $4, $8, $4
|
|
addq $5, $24, $5
|
|
cmpult $4, $8, $28
|
|
cmpult $5, $24, $21
|
|
addq $5, $28, $5
|
|
addq $6, $21, $6
|
|
mulq $2, $1, $20
|
|
umulh $2, $1, $17
|
|
cmplt $20, $31, $22
|
|
cmplt $17, $31, $19
|
|
addq $20, $20, $20
|
|
addq $17, $17, $17
|
|
addq $17, $22, $17
|
|
addq $6, $19, $6
|
|
addq $4, $20, $4
|
|
addq $5, $17, $5
|
|
cmpult $4, $20, $18
|
|
cmpult $5, $17, $23
|
|
addq $5, $18, $5
|
|
addq $6, $23, $6
|
|
stq $4, 24($16)
|
|
bis $31, $31, $4
|
|
mulq $2, $2, $7
|
|
umulh $2, $2, $25
|
|
addq $5, $7, $5
|
|
addq $6, $25, $6
|
|
cmpult $5, $7, $27
|
|
cmpult $6, $25, $8
|
|
addq $6, $27, $6
|
|
addq $4, $8, $4
|
|
mulq $3, $1, $24
|
|
umulh $3, $1, $28
|
|
cmplt $24, $31, $21
|
|
cmplt $28, $31, $22
|
|
addq $24, $24, $24
|
|
addq $28, $28, $28
|
|
addq $28, $21, $28
|
|
addq $4, $22, $4
|
|
addq $5, $24, $5
|
|
addq $6, $28, $6
|
|
cmpult $5, $24, $19
|
|
cmpult $6, $28, $20
|
|
addq $6, $19, $6
|
|
addq $4, $20, $4
|
|
stq $5, 32($16)
|
|
bis $31, $31, $5
|
|
mulq $3, $2, $17
|
|
umulh $3, $2, $18
|
|
cmplt $17, $31, $23
|
|
cmplt $18, $31, $7
|
|
addq $17, $17, $17
|
|
addq $18, $18, $18
|
|
addq $18, $23, $18
|
|
addq $5, $7, $5
|
|
addq $6, $17, $6
|
|
addq $4, $18, $4
|
|
cmpult $6, $17, $25
|
|
cmpult $4, $18, $27
|
|
addq $4, $25, $4
|
|
addq $5, $27, $5
|
|
stq $6, 40($16)
|
|
bis $31, $31, $6
|
|
mulq $3, $3, $8
|
|
umulh $3, $3, $21
|
|
addq $4, $8, $4
|
|
addq $5, $21, $5
|
|
cmpult $4, $8, $22
|
|
cmpult $5, $21, $24
|
|
addq $5, $22, $5
|
|
addq $6, $24, $6
|
|
stq $4, 48($16)
|
|
stq $5, 56($16)
|
|
ret $31,($26),1
|
|
.end bn_sqr_comba4
|
|
.text
|
|
.align 3
|
|
.globl bn_sqr_comba8
|
|
.ent bn_sqr_comba8
|
|
bn_sqr_comba8:
|
|
bn_sqr_comba8..ng:
|
|
.frame $30,0,$26,0
|
|
.prologue 0
|
|
|
|
ldq $0, 0($17)
|
|
ldq $1, 8($17)
|
|
ldq $2, 16($17)
|
|
ldq $3, 24($17)
|
|
ldq $4, 32($17)
|
|
ldq $5, 40($17)
|
|
ldq $6, 48($17)
|
|
ldq $7, 56($17)
|
|
bis $31, $31, $23
|
|
mulq $0, $0, $8
|
|
umulh $0, $0, $22
|
|
stq $8, 0($16)
|
|
bis $31, $31, $8
|
|
mulq $1, $0, $24
|
|
umulh $1, $0, $25
|
|
cmplt $24, $31, $27
|
|
cmplt $25, $31, $28
|
|
addq $24, $24, $24
|
|
addq $25, $25, $25
|
|
addq $25, $27, $25
|
|
addq $8, $28, $8
|
|
addq $22, $24, $22
|
|
addq $23, $25, $23
|
|
cmpult $22, $24, $21
|
|
cmpult $23, $25, $20
|
|
addq $23, $21, $23
|
|
addq $8, $20, $8
|
|
stq $22, 8($16)
|
|
bis $31, $31, $22
|
|
mulq $1, $1, $19
|
|
umulh $1, $1, $18
|
|
addq $23, $19, $23
|
|
addq $8, $18, $8
|
|
cmpult $23, $19, $17
|
|
cmpult $8, $18, $27
|
|
addq $8, $17, $8
|
|
addq $22, $27, $22
|
|
mulq $2, $0, $28
|
|
umulh $2, $0, $24
|
|
cmplt $28, $31, $25
|
|
cmplt $24, $31, $21
|
|
addq $28, $28, $28
|
|
addq $24, $24, $24
|
|
addq $24, $25, $24
|
|
addq $22, $21, $22
|
|
addq $23, $28, $23
|
|
addq $8, $24, $8
|
|
cmpult $23, $28, $20
|
|
cmpult $8, $24, $19
|
|
addq $8, $20, $8
|
|
addq $22, $19, $22
|
|
stq $23, 16($16)
|
|
bis $31, $31, $23
|
|
mulq $2, $1, $18
|
|
umulh $2, $1, $17
|
|
cmplt $18, $31, $27
|
|
cmplt $17, $31, $25
|
|
addq $18, $18, $18
|
|
addq $17, $17, $17
|
|
addq $17, $27, $17
|
|
addq $23, $25, $23
|
|
addq $8, $18, $8
|
|
addq $22, $17, $22
|
|
cmpult $8, $18, $21
|
|
cmpult $22, $17, $28
|
|
addq $22, $21, $22
|
|
addq $23, $28, $23
|
|
mulq $3, $0, $24
|
|
umulh $3, $0, $20
|
|
cmplt $24, $31, $19
|
|
cmplt $20, $31, $27
|
|
addq $24, $24, $24
|
|
addq $20, $20, $20
|
|
addq $20, $19, $20
|
|
addq $23, $27, $23
|
|
addq $8, $24, $8
|
|
addq $22, $20, $22
|
|
cmpult $8, $24, $25
|
|
cmpult $22, $20, $18
|
|
addq $22, $25, $22
|
|
addq $23, $18, $23
|
|
stq $8, 24($16)
|
|
bis $31, $31, $8
|
|
mulq $2, $2, $17
|
|
umulh $2, $2, $21
|
|
addq $22, $17, $22
|
|
addq $23, $21, $23
|
|
cmpult $22, $17, $28
|
|
cmpult $23, $21, $19
|
|
addq $23, $28, $23
|
|
addq $8, $19, $8
|
|
mulq $3, $1, $27
|
|
umulh $3, $1, $24
|
|
cmplt $27, $31, $20
|
|
cmplt $24, $31, $25
|
|
addq $27, $27, $27
|
|
addq $24, $24, $24
|
|
addq $24, $20, $24
|
|
addq $8, $25, $8
|
|
addq $22, $27, $22
|
|
addq $23, $24, $23
|
|
cmpult $22, $27, $18
|
|
cmpult $23, $24, $17
|
|
addq $23, $18, $23
|
|
addq $8, $17, $8
|
|
mulq $4, $0, $21
|
|
umulh $4, $0, $28
|
|
cmplt $21, $31, $19
|
|
cmplt $28, $31, $20
|
|
addq $21, $21, $21
|
|
addq $28, $28, $28
|
|
addq $28, $19, $28
|
|
addq $8, $20, $8
|
|
addq $22, $21, $22
|
|
addq $23, $28, $23
|
|
cmpult $22, $21, $25
|
|
cmpult $23, $28, $27
|
|
addq $23, $25, $23
|
|
addq $8, $27, $8
|
|
stq $22, 32($16)
|
|
bis $31, $31, $22
|
|
mulq $3, $2, $24
|
|
umulh $3, $2, $18
|
|
cmplt $24, $31, $17
|
|
cmplt $18, $31, $19
|
|
addq $24, $24, $24
|
|
addq $18, $18, $18
|
|
addq $18, $17, $18
|
|
addq $22, $19, $22
|
|
addq $23, $24, $23
|
|
addq $8, $18, $8
|
|
cmpult $23, $24, $20
|
|
cmpult $8, $18, $21
|
|
addq $8, $20, $8
|
|
addq $22, $21, $22
|
|
mulq $4, $1, $28
|
|
umulh $4, $1, $25
|
|
cmplt $28, $31, $27
|
|
cmplt $25, $31, $17
|
|
addq $28, $28, $28
|
|
addq $25, $25, $25
|
|
addq $25, $27, $25
|
|
addq $22, $17, $22
|
|
addq $23, $28, $23
|
|
addq $8, $25, $8
|
|
cmpult $23, $28, $19
|
|
cmpult $8, $25, $24
|
|
addq $8, $19, $8
|
|
addq $22, $24, $22
|
|
mulq $5, $0, $18
|
|
umulh $5, $0, $20
|
|
cmplt $18, $31, $21
|
|
cmplt $20, $31, $27
|
|
addq $18, $18, $18
|
|
addq $20, $20, $20
|
|
addq $20, $21, $20
|
|
addq $22, $27, $22
|
|
addq $23, $18, $23
|
|
addq $8, $20, $8
|
|
cmpult $23, $18, $17
|
|
cmpult $8, $20, $28
|
|
addq $8, $17, $8
|
|
addq $22, $28, $22
|
|
stq $23, 40($16)
|
|
bis $31, $31, $23
|
|
mulq $3, $3, $25
|
|
umulh $3, $3, $19
|
|
addq $8, $25, $8
|
|
addq $22, $19, $22
|
|
cmpult $8, $25, $24
|
|
cmpult $22, $19, $21
|
|
addq $22, $24, $22
|
|
addq $23, $21, $23
|
|
mulq $4, $2, $27
|
|
umulh $4, $2, $18
|
|
cmplt $27, $31, $20
|
|
cmplt $18, $31, $17
|
|
addq $27, $27, $27
|
|
addq $18, $18, $18
|
|
addq $18, $20, $18
|
|
addq $23, $17, $23
|
|
addq $8, $27, $8
|
|
addq $22, $18, $22
|
|
cmpult $8, $27, $28
|
|
cmpult $22, $18, $25
|
|
addq $22, $28, $22
|
|
addq $23, $25, $23
|
|
mulq $5, $1, $19
|
|
umulh $5, $1, $24
|
|
cmplt $19, $31, $21
|
|
cmplt $24, $31, $20
|
|
addq $19, $19, $19
|
|
addq $24, $24, $24
|
|
addq $24, $21, $24
|
|
addq $23, $20, $23
|
|
addq $8, $19, $8
|
|
addq $22, $24, $22
|
|
cmpult $8, $19, $17
|
|
cmpult $22, $24, $27
|
|
addq $22, $17, $22
|
|
addq $23, $27, $23
|
|
mulq $6, $0, $18
|
|
umulh $6, $0, $28
|
|
cmplt $18, $31, $25
|
|
cmplt $28, $31, $21
|
|
addq $18, $18, $18
|
|
addq $28, $28, $28
|
|
addq $28, $25, $28
|
|
addq $23, $21, $23
|
|
addq $8, $18, $8
|
|
addq $22, $28, $22
|
|
cmpult $8, $18, $20
|
|
cmpult $22, $28, $19
|
|
addq $22, $20, $22
|
|
addq $23, $19, $23
|
|
stq $8, 48($16)
|
|
bis $31, $31, $8
|
|
mulq $4, $3, $24
|
|
umulh $4, $3, $17
|
|
cmplt $24, $31, $27
|
|
cmplt $17, $31, $25
|
|
addq $24, $24, $24
|
|
addq $17, $17, $17
|
|
addq $17, $27, $17
|
|
addq $8, $25, $8
|
|
addq $22, $24, $22
|
|
addq $23, $17, $23
|
|
cmpult $22, $24, $21
|
|
cmpult $23, $17, $18
|
|
addq $23, $21, $23
|
|
addq $8, $18, $8
|
|
mulq $5, $2, $28
|
|
umulh $5, $2, $20
|
|
cmplt $28, $31, $19
|
|
cmplt $20, $31, $27
|
|
addq $28, $28, $28
|
|
addq $20, $20, $20
|
|
addq $20, $19, $20
|
|
addq $8, $27, $8
|
|
addq $22, $28, $22
|
|
addq $23, $20, $23
|
|
cmpult $22, $28, $25
|
|
cmpult $23, $20, $24
|
|
addq $23, $25, $23
|
|
addq $8, $24, $8
|
|
mulq $6, $1, $17
|
|
umulh $6, $1, $21
|
|
cmplt $17, $31, $18
|
|
cmplt $21, $31, $19
|
|
addq $17, $17, $17
|
|
addq $21, $21, $21
|
|
addq $21, $18, $21
|
|
addq $8, $19, $8
|
|
addq $22, $17, $22
|
|
addq $23, $21, $23
|
|
cmpult $22, $17, $27
|
|
cmpult $23, $21, $28
|
|
addq $23, $27, $23
|
|
addq $8, $28, $8
|
|
mulq $7, $0, $20
|
|
umulh $7, $0, $25
|
|
cmplt $20, $31, $24
|
|
cmplt $25, $31, $18
|
|
addq $20, $20, $20
|
|
addq $25, $25, $25
|
|
addq $25, $24, $25
|
|
addq $8, $18, $8
|
|
addq $22, $20, $22
|
|
addq $23, $25, $23
|
|
cmpult $22, $20, $19
|
|
cmpult $23, $25, $17
|
|
addq $23, $19, $23
|
|
addq $8, $17, $8
|
|
stq $22, 56($16)
|
|
bis $31, $31, $22
|
|
mulq $4, $4, $21
|
|
umulh $4, $4, $27
|
|
addq $23, $21, $23
|
|
addq $8, $27, $8
|
|
cmpult $23, $21, $28
|
|
cmpult $8, $27, $24
|
|
addq $8, $28, $8
|
|
addq $22, $24, $22
|
|
mulq $5, $3, $18
|
|
umulh $5, $3, $20
|
|
cmplt $18, $31, $25
|
|
cmplt $20, $31, $19
|
|
addq $18, $18, $18
|
|
addq $20, $20, $20
|
|
addq $20, $25, $20
|
|
addq $22, $19, $22
|
|
addq $23, $18, $23
|
|
addq $8, $20, $8
|
|
cmpult $23, $18, $17
|
|
cmpult $8, $20, $21
|
|
addq $8, $17, $8
|
|
addq $22, $21, $22
|
|
mulq $6, $2, $27
|
|
umulh $6, $2, $28
|
|
cmplt $27, $31, $24
|
|
cmplt $28, $31, $25
|
|
addq $27, $27, $27
|
|
addq $28, $28, $28
|
|
addq $28, $24, $28
|
|
addq $22, $25, $22
|
|
addq $23, $27, $23
|
|
addq $8, $28, $8
|
|
cmpult $23, $27, $19
|
|
cmpult $8, $28, $18
|
|
addq $8, $19, $8
|
|
addq $22, $18, $22
|
|
mulq $7, $1, $20
|
|
umulh $7, $1, $17
|
|
cmplt $20, $31, $21
|
|
cmplt $17, $31, $24
|
|
addq $20, $20, $20
|
|
addq $17, $17, $17
|
|
addq $17, $21, $17
|
|
addq $22, $24, $22
|
|
addq $23, $20, $23
|
|
addq $8, $17, $8
|
|
cmpult $23, $20, $25
|
|
cmpult $8, $17, $27
|
|
addq $8, $25, $8
|
|
addq $22, $27, $22
|
|
stq $23, 64($16)
|
|
bis $31, $31, $23
|
|
mulq $5, $4, $28
|
|
umulh $5, $4, $19
|
|
cmplt $28, $31, $18
|
|
cmplt $19, $31, $21
|
|
addq $28, $28, $28
|
|
addq $19, $19, $19
|
|
addq $19, $18, $19
|
|
addq $23, $21, $23
|
|
addq $8, $28, $8
|
|
addq $22, $19, $22
|
|
cmpult $8, $28, $24
|
|
cmpult $22, $19, $20
|
|
addq $22, $24, $22
|
|
addq $23, $20, $23
|
|
mulq $6, $3, $17
|
|
umulh $6, $3, $25
|
|
cmplt $17, $31, $27
|
|
cmplt $25, $31, $18
|
|
addq $17, $17, $17
|
|
addq $25, $25, $25
|
|
addq $25, $27, $25
|
|
addq $23, $18, $23
|
|
addq $8, $17, $8
|
|
addq $22, $25, $22
|
|
cmpult $8, $17, $21
|
|
cmpult $22, $25, $28
|
|
addq $22, $21, $22
|
|
addq $23, $28, $23
|
|
mulq $7, $2, $19
|
|
umulh $7, $2, $24
|
|
cmplt $19, $31, $20
|
|
cmplt $24, $31, $27
|
|
addq $19, $19, $19
|
|
addq $24, $24, $24
|
|
addq $24, $20, $24
|
|
addq $23, $27, $23
|
|
addq $8, $19, $8
|
|
addq $22, $24, $22
|
|
cmpult $8, $19, $18
|
|
cmpult $22, $24, $17
|
|
addq $22, $18, $22
|
|
addq $23, $17, $23
|
|
stq $8, 72($16)
|
|
bis $31, $31, $8
|
|
mulq $5, $5, $25
|
|
umulh $5, $5, $21
|
|
addq $22, $25, $22
|
|
addq $23, $21, $23
|
|
cmpult $22, $25, $28
|
|
cmpult $23, $21, $20
|
|
addq $23, $28, $23
|
|
addq $8, $20, $8
|
|
mulq $6, $4, $27
|
|
umulh $6, $4, $19
|
|
cmplt $27, $31, $24
|
|
cmplt $19, $31, $18
|
|
addq $27, $27, $27
|
|
addq $19, $19, $19
|
|
addq $19, $24, $19
|
|
addq $8, $18, $8
|
|
addq $22, $27, $22
|
|
addq $23, $19, $23
|
|
cmpult $22, $27, $17
|
|
cmpult $23, $19, $25
|
|
addq $23, $17, $23
|
|
addq $8, $25, $8
|
|
mulq $7, $3, $21
|
|
umulh $7, $3, $28
|
|
cmplt $21, $31, $20
|
|
cmplt $28, $31, $24
|
|
addq $21, $21, $21
|
|
addq $28, $28, $28
|
|
addq $28, $20, $28
|
|
addq $8, $24, $8
|
|
addq $22, $21, $22
|
|
addq $23, $28, $23
|
|
cmpult $22, $21, $18
|
|
cmpult $23, $28, $27
|
|
addq $23, $18, $23
|
|
addq $8, $27, $8
|
|
stq $22, 80($16)
|
|
bis $31, $31, $22
|
|
mulq $6, $5, $19
|
|
umulh $6, $5, $17
|
|
cmplt $19, $31, $25
|
|
cmplt $17, $31, $20
|
|
addq $19, $19, $19
|
|
addq $17, $17, $17
|
|
addq $17, $25, $17
|
|
addq $22, $20, $22
|
|
addq $23, $19, $23
|
|
addq $8, $17, $8
|
|
cmpult $23, $19, $24
|
|
cmpult $8, $17, $21
|
|
addq $8, $24, $8
|
|
addq $22, $21, $22
|
|
mulq $7, $4, $28
|
|
umulh $7, $4, $18
|
|
cmplt $28, $31, $27
|
|
cmplt $18, $31, $25
|
|
addq $28, $28, $28
|
|
addq $18, $18, $18
|
|
addq $18, $27, $18
|
|
addq $22, $25, $22
|
|
addq $23, $28, $23
|
|
addq $8, $18, $8
|
|
cmpult $23, $28, $20
|
|
cmpult $8, $18, $19
|
|
addq $8, $20, $8
|
|
addq $22, $19, $22
|
|
stq $23, 88($16)
|
|
bis $31, $31, $23
|
|
mulq $6, $6, $17
|
|
umulh $6, $6, $24
|
|
addq $8, $17, $8
|
|
addq $22, $24, $22
|
|
cmpult $8, $17, $21
|
|
cmpult $22, $24, $27
|
|
addq $22, $21, $22
|
|
addq $23, $27, $23
|
|
mulq $7, $5, $25
|
|
umulh $7, $5, $28
|
|
cmplt $25, $31, $18
|
|
cmplt $28, $31, $20
|
|
addq $25, $25, $25
|
|
addq $28, $28, $28
|
|
addq $28, $18, $28
|
|
addq $23, $20, $23
|
|
addq $8, $25, $8
|
|
addq $22, $28, $22
|
|
cmpult $8, $25, $19
|
|
cmpult $22, $28, $17
|
|
addq $22, $19, $22
|
|
addq $23, $17, $23
|
|
stq $8, 96($16)
|
|
bis $31, $31, $8
|
|
mulq $7, $6, $24
|
|
umulh $7, $6, $21
|
|
cmplt $24, $31, $27
|
|
cmplt $21, $31, $18
|
|
addq $24, $24, $24
|
|
addq $21, $21, $21
|
|
addq $21, $27, $21
|
|
addq $8, $18, $8
|
|
addq $22, $24, $22
|
|
addq $23, $21, $23
|
|
cmpult $22, $24, $20
|
|
cmpult $23, $21, $25
|
|
addq $23, $20, $23
|
|
addq $8, $25, $8
|
|
stq $22, 104($16)
|
|
bis $31, $31, $22
|
|
mulq $7, $7, $28
|
|
umulh $7, $7, $19
|
|
addq $23, $28, $23
|
|
addq $8, $19, $8
|
|
cmpult $23, $28, $17
|
|
cmpult $8, $19, $27
|
|
addq $8, $17, $8
|
|
addq $22, $27, $22
|
|
stq $23, 112($16)
|
|
stq $8, 120($16)
|
|
ret $31,($26),1
|
|
.end bn_sqr_comba8
|