Superseded by sparcv8.S and sparcv8plus.s.
This commit is contained in:
parent
a2aa81683f
commit
0894315642
1 changed files with 0 additions and 462 deletions
|
@ -1,462 +0,0 @@
|
|||
.file "bn_mulw.c"
|
||||
gcc2_compiled.:
|
||||
.section ".text"
|
||||
.align 4
|
||||
.global bn_mul_add_words
|
||||
.type bn_mul_add_words,#function
|
||||
.proc 016
|
||||
bn_mul_add_words:
|
||||
!#PROLOGUE# 0
|
||||
save %sp,-112,%sp
|
||||
!#PROLOGUE# 1
|
||||
mov %i0,%o0
|
||||
mov %i1,%o2
|
||||
mov %i2,%g1
|
||||
mov %i3,%o1
|
||||
mov 0,%i4
|
||||
add %o0,12,%g4
|
||||
add %o2,12,%o7
|
||||
.LL2:
|
||||
mov %i4,%i3
|
||||
mov 0,%i2
|
||||
ld [%o0],%g2
|
||||
mov %g2,%i1
|
||||
ld [%o2],%g2
|
||||
mov 0,%i0
|
||||
umul %o1,%g2,%g3
|
||||
rd %y,%g2
|
||||
addcc %g3,%i1,%g3
|
||||
addx %g2,%i0,%g2
|
||||
addcc %g3,%i3,%g3
|
||||
addx %g2,%i2,%g2
|
||||
st %g3,[%o0]
|
||||
mov %g2,%i5
|
||||
mov 0,%i4
|
||||
addcc %g1,-1,%g1
|
||||
be .LL3
|
||||
mov %i5,%i4
|
||||
mov %i4,%i3
|
||||
mov 0,%i2
|
||||
ld [%g4-8],%g2
|
||||
mov %g2,%i1
|
||||
ld [%o7-8],%g2
|
||||
mov 0,%i0
|
||||
umul %o1,%g2,%g3
|
||||
rd %y,%g2
|
||||
addcc %g3,%i1,%g3
|
||||
addx %g2,%i0,%g2
|
||||
addcc %g3,%i3,%g3
|
||||
addx %g2,%i2,%g2
|
||||
st %g3,[%g4-8]
|
||||
mov %g2,%i5
|
||||
mov 0,%i4
|
||||
addcc %g1,-1,%g1
|
||||
be .LL3
|
||||
mov %i5,%i4
|
||||
mov %i4,%i3
|
||||
mov 0,%i2
|
||||
ld [%g4-4],%g2
|
||||
mov %g2,%i1
|
||||
ld [%o7-4],%g2
|
||||
mov 0,%i0
|
||||
umul %o1,%g2,%g3
|
||||
rd %y,%g2
|
||||
addcc %g3,%i1,%g3
|
||||
addx %g2,%i0,%g2
|
||||
addcc %g3,%i3,%g3
|
||||
addx %g2,%i2,%g2
|
||||
st %g3,[%g4-4]
|
||||
mov %g2,%i5
|
||||
mov 0,%i4
|
||||
addcc %g1,-1,%g1
|
||||
be .LL3
|
||||
mov %i5,%i4
|
||||
mov %i4,%i3
|
||||
mov 0,%i2
|
||||
ld [%g4],%g2
|
||||
mov %g2,%i1
|
||||
ld [%o7],%g2
|
||||
mov 0,%i0
|
||||
umul %o1,%g2,%g3
|
||||
rd %y,%g2
|
||||
addcc %g3,%i1,%g3
|
||||
addx %g2,%i0,%g2
|
||||
addcc %g3,%i3,%g3
|
||||
addx %g2,%i2,%g2
|
||||
st %g3,[%g4]
|
||||
mov %g2,%i5
|
||||
mov 0,%i4
|
||||
addcc %g1,-1,%g1
|
||||
be .LL3
|
||||
mov %i5,%i4
|
||||
add %o7,16,%o7
|
||||
add %o2,16,%o2
|
||||
add %g4,16,%g4
|
||||
b .LL2
|
||||
add %o0,16,%o0
|
||||
.LL3:
|
||||
ret
|
||||
restore %g0,%i4,%o0
|
||||
.LLfe1:
|
||||
.size bn_mul_add_words,.LLfe1-bn_mul_add_words
|
||||
.align 4
|
||||
.global bn_mul_words
|
||||
.type bn_mul_words,#function
|
||||
.proc 016
|
||||
bn_mul_words:
|
||||
!#PROLOGUE# 0
|
||||
save %sp,-112,%sp
|
||||
!#PROLOGUE# 1
|
||||
mov %i0,%o7
|
||||
mov %i1,%o0
|
||||
mov %i2,%i4
|
||||
mov %i3,%g4
|
||||
mov 0,%i0
|
||||
add %o7,12,%g1
|
||||
add %o0,12,%i5
|
||||
.LL18:
|
||||
mov %i0,%g3
|
||||
mov 0,%g2
|
||||
ld [%o0],%i2
|
||||
umul %g4,%i2,%i3
|
||||
rd %y,%i2
|
||||
addcc %i3,%g3,%i3
|
||||
addx %i2,%g2,%i2
|
||||
st %i3,[%o7]
|
||||
mov %i2,%i1
|
||||
mov 0,%i0
|
||||
addcc %i4,-1,%i4
|
||||
be .LL19
|
||||
mov %i1,%i0
|
||||
mov %i0,%g3
|
||||
mov 0,%g2
|
||||
ld [%i5-8],%i2
|
||||
umul %g4,%i2,%i3
|
||||
rd %y,%i2
|
||||
addcc %i3,%g3,%i3
|
||||
addx %i2,%g2,%i2
|
||||
st %i3,[%g1-8]
|
||||
mov %i2,%i1
|
||||
mov 0,%i0
|
||||
addcc %i4,-1,%i4
|
||||
be .LL19
|
||||
mov %i1,%i0
|
||||
mov %i0,%g3
|
||||
mov 0,%g2
|
||||
ld [%i5-4],%i2
|
||||
umul %g4,%i2,%i3
|
||||
rd %y,%i2
|
||||
addcc %i3,%g3,%i3
|
||||
addx %i2,%g2,%i2
|
||||
st %i3,[%g1-4]
|
||||
mov %i2,%i1
|
||||
mov 0,%i0
|
||||
addcc %i4,-1,%i4
|
||||
be .LL19
|
||||
mov %i1,%i0
|
||||
mov %i0,%g3
|
||||
mov 0,%g2
|
||||
ld [%i5],%i2
|
||||
umul %g4,%i2,%i3
|
||||
rd %y,%i2
|
||||
addcc %i3,%g3,%i3
|
||||
addx %i2,%g2,%i2
|
||||
st %i3,[%g1]
|
||||
mov %i2,%i1
|
||||
mov 0,%i0
|
||||
addcc %i4,-1,%i4
|
||||
be .LL19
|
||||
mov %i1,%i0
|
||||
add %i5,16,%i5
|
||||
add %o0,16,%o0
|
||||
add %g1,16,%g1
|
||||
b .LL18
|
||||
add %o7,16,%o7
|
||||
.LL19:
|
||||
ret
|
||||
restore
|
||||
.LLfe2:
|
||||
.size bn_mul_words,.LLfe2-bn_mul_words
|
||||
.align 4
|
||||
.global bn_sqr_words
|
||||
.type bn_sqr_words,#function
|
||||
.proc 020
|
||||
bn_sqr_words:
|
||||
!#PROLOGUE# 0
|
||||
!#PROLOGUE# 1
|
||||
mov %o0,%g4
|
||||
add %g4,28,%o3
|
||||
add %o1,12,%g1
|
||||
.LL34:
|
||||
ld [%o1],%o0
|
||||
addcc %o2,-1,%o2
|
||||
umul %o0,%o0,%o5
|
||||
rd %y,%o4
|
||||
st %o5,[%g4]
|
||||
mov %o4,%g3
|
||||
mov 0,%g2
|
||||
be .LL35
|
||||
st %g3,[%o3-24]
|
||||
ld [%g1-8],%o0
|
||||
addcc %o2,-1,%o2
|
||||
umul %o0,%o0,%o5
|
||||
rd %y,%o4
|
||||
st %o5,[%o3-20]
|
||||
mov %o4,%g3
|
||||
mov 0,%g2
|
||||
be .LL35
|
||||
st %g3,[%o3-16]
|
||||
ld [%g1-4],%o0
|
||||
addcc %o2,-1,%o2
|
||||
umul %o0,%o0,%o5
|
||||
rd %y,%o4
|
||||
st %o5,[%o3-12]
|
||||
mov %o4,%g3
|
||||
mov 0,%g2
|
||||
be .LL35
|
||||
st %g3,[%o3-8]
|
||||
ld [%g1],%o0
|
||||
addcc %o2,-1,%o2
|
||||
umul %o0,%o0,%o5
|
||||
rd %y,%o4
|
||||
st %o5,[%o3-4]
|
||||
mov %o4,%g3
|
||||
mov 0,%g2
|
||||
be .LL35
|
||||
st %g3,[%o3]
|
||||
add %g1,16,%g1
|
||||
add %o1,16,%o1
|
||||
add %o3,32,%o3
|
||||
b .LL34
|
||||
add %g4,32,%g4
|
||||
.LL35:
|
||||
retl
|
||||
nop
|
||||
.LLfe3:
|
||||
.size bn_sqr_words,.LLfe3-bn_sqr_words
|
||||
.align 4
|
||||
.global bn_add_words
|
||||
.type bn_add_words,#function
|
||||
.proc 016
|
||||
bn_add_words:
|
||||
!#PROLOGUE# 0
|
||||
save %sp,-112,%sp
|
||||
!#PROLOGUE# 1
|
||||
mov %i0,%o2
|
||||
mov %i1,%o3
|
||||
mov %i2,%o4
|
||||
mov %i3,%i5
|
||||
mov 0,%o0
|
||||
mov 0,%o1
|
||||
add %o2,12,%o7
|
||||
add %o4,12,%g4
|
||||
b .LL42
|
||||
add %o3,12,%g1
|
||||
.LL45:
|
||||
add %i5,-1,%i5
|
||||
mov %i4,%g3
|
||||
ld [%g4-8],%i4
|
||||
mov 0,%g2
|
||||
mov %i4,%i1
|
||||
mov 0,%i0
|
||||
addcc %g3,%i1,%g3
|
||||
addx %g2,%i0,%g2
|
||||
addcc %o1,%g3,%o1
|
||||
addx %o0,%g2,%o0
|
||||
st %o1,[%o7-8]
|
||||
mov %o0,%i3
|
||||
mov 0,%i2
|
||||
mov %i2,%o0
|
||||
mov %i3,%o1
|
||||
cmp %i5,0
|
||||
ble .LL43
|
||||
add %i5,-1,%i5
|
||||
ld [%g1-4],%i4
|
||||
mov %i4,%g3
|
||||
ld [%g4-4],%i4
|
||||
mov 0,%g2
|
||||
mov %i4,%i1
|
||||
mov 0,%i0
|
||||
addcc %g3,%i1,%g3
|
||||
addx %g2,%i0,%g2
|
||||
addcc %o1,%g3,%o1
|
||||
addx %o0,%g2,%o0
|
||||
st %o1,[%o7-4]
|
||||
mov %o0,%i3
|
||||
mov 0,%i2
|
||||
mov %i2,%o0
|
||||
mov %i3,%o1
|
||||
cmp %i5,0
|
||||
ble .LL43
|
||||
add %i5,-1,%i5
|
||||
ld [%g1],%i4
|
||||
mov %i4,%g3
|
||||
ld [%g4],%i4
|
||||
mov 0,%g2
|
||||
mov %i4,%i1
|
||||
mov 0,%i0
|
||||
addcc %g3,%i1,%g3
|
||||
addx %g2,%i0,%g2
|
||||
addcc %o1,%g3,%o1
|
||||
addx %o0,%g2,%o0
|
||||
st %o1,[%o7]
|
||||
mov %o0,%i3
|
||||
mov 0,%i2
|
||||
mov %i2,%o0
|
||||
mov %i3,%o1
|
||||
cmp %i5,0
|
||||
ble .LL43
|
||||
add %g1,16,%g1
|
||||
add %o3,16,%o3
|
||||
add %g4,16,%g4
|
||||
add %o4,16,%o4
|
||||
add %o7,16,%o7
|
||||
add %o2,16,%o2
|
||||
.LL42:
|
||||
ld [%o3],%i4
|
||||
add %i5,-1,%i5
|
||||
mov %i4,%g3
|
||||
ld [%o4],%i4
|
||||
mov 0,%g2
|
||||
mov %i4,%i1
|
||||
mov 0,%i0
|
||||
addcc %g3,%i1,%g3
|
||||
addx %g2,%i0,%g2
|
||||
addcc %o1,%g3,%o1
|
||||
addx %o0,%g2,%o0
|
||||
st %o1,[%o2]
|
||||
mov %o0,%i3
|
||||
mov 0,%i2
|
||||
mov %i2,%o0
|
||||
mov %i3,%o1
|
||||
cmp %i5,0
|
||||
bg,a .LL45
|
||||
ld [%g1-8],%i4
|
||||
.LL43:
|
||||
ret
|
||||
restore %g0,%o1,%o0
|
||||
.LLfe4:
|
||||
.size bn_add_words,.LLfe4-bn_add_words
|
||||
.section ".rodata"
|
||||
.align 8
|
||||
.LLC0:
|
||||
.asciz "Division would overflow (%d)\n"
|
||||
.section ".text"
|
||||
.align 4
|
||||
.global bn_div64
|
||||
.type bn_div64,#function
|
||||
.proc 016
|
||||
bn_div64:
|
||||
!#PROLOGUE# 0
|
||||
save %sp,-112,%sp
|
||||
!#PROLOGUE# 1
|
||||
mov 0,%l1
|
||||
cmp %i2,0
|
||||
bne .LL51
|
||||
mov 2,%l0
|
||||
b .LL68
|
||||
mov -1,%i0
|
||||
.LL51:
|
||||
call BN_num_bits_word,0
|
||||
mov %i2,%o0
|
||||
mov %o0,%o2
|
||||
cmp %o2,32
|
||||
be .LL52
|
||||
mov 1,%o0
|
||||
sll %o0,%o2,%o0
|
||||
cmp %i0,%o0
|
||||
bleu .LL69
|
||||
mov 32,%o0
|
||||
sethi %hi(__iob+32),%o0
|
||||
or %o0,%lo(__iob+32),%o0
|
||||
sethi %hi(.LLC0),%o1
|
||||
call fprintf,0
|
||||
or %o1,%lo(.LLC0),%o1
|
||||
call abort,0
|
||||
nop
|
||||
.LL52:
|
||||
mov 32,%o0
|
||||
.LL69:
|
||||
cmp %i0,%i2
|
||||
blu .LL53
|
||||
sub %o0,%o2,%o2
|
||||
sub %i0,%i2,%i0
|
||||
.LL53:
|
||||
cmp %o2,0
|
||||
be .LL54
|
||||
sll %i0,%o2,%o1
|
||||
sll %i2,%o2,%i2
|
||||
sub %o0,%o2,%o0
|
||||
srl %i1,%o0,%o0
|
||||
or %o1,%o0,%i0
|
||||
sll %i1,%o2,%i1
|
||||
.LL54:
|
||||
srl %i2,16,%g2
|
||||
sethi %hi(65535),%o0
|
||||
or %o0,%lo(65535),%o1
|
||||
and %i2,%o1,%g3
|
||||
mov %o0,%g4
|
||||
sethi %hi(-65536),%o7
|
||||
mov %o1,%g1
|
||||
.LL55:
|
||||
srl %i0,16,%o0
|
||||
cmp %o0,%g2
|
||||
be .LL59
|
||||
or %g4,%lo(65535),%o3
|
||||
wr %g0,%g0,%y
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
udiv %i0,%g2,%o3
|
||||
.LL59:
|
||||
and %i1,%o7,%o0
|
||||
srl %o0,16,%o5
|
||||
smul %o3,%g3,%o4
|
||||
smul %o3,%g2,%o2
|
||||
.LL60:
|
||||
sub %i0,%o2,%o1
|
||||
andcc %o1,%o7,%g0
|
||||
bne .LL61
|
||||
sll %o1,16,%o0
|
||||
add %o0,%o5,%o0
|
||||
cmp %o4,%o0
|
||||
bleu .LL61
|
||||
sub %o4,%g3,%o4
|
||||
sub %o2,%g2,%o2
|
||||
b .LL60
|
||||
add %o3,-1,%o3
|
||||
.LL61:
|
||||
smul %o3,%g2,%o2
|
||||
smul %o3,%g3,%o0
|
||||
srl %o0,16,%o1
|
||||
sll %o0,16,%o0
|
||||
and %o0,%o7,%o0
|
||||
cmp %i1,%o0
|
||||
bgeu .LL65
|
||||
add %o2,%o1,%o2
|
||||
add %o2,1,%o2
|
||||
.LL65:
|
||||
cmp %i0,%o2
|
||||
bgeu .LL66
|
||||
sub %i1,%o0,%i1
|
||||
add %i0,%i2,%i0
|
||||
add %o3,-1,%o3
|
||||
.LL66:
|
||||
addcc %l0,-1,%l0
|
||||
be .LL56
|
||||
sub %i0,%o2,%i0
|
||||
sll %o3,16,%l1
|
||||
sll %i0,16,%o0
|
||||
srl %i1,16,%o1
|
||||
or %o0,%o1,%i0
|
||||
and %i1,%g1,%o0
|
||||
b .LL55
|
||||
sll %o0,16,%i1
|
||||
.LL56:
|
||||
or %l1,%o3,%i0
|
||||
.LL68:
|
||||
ret
|
||||
restore
|
||||
.LLfe5:
|
||||
.size bn_div64,.LLfe5-bn_div64
|
||||
.ident "GCC: (GNU) 2.7.2.3"
|
Loading…
Reference in a new issue