projects
/
oweals
/
openssl.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
crypto/bn/asm/mips3.s is moved to crypto/bn/asm/obsolete/
[oweals/openssl.git]
/
crypto
/
bn
/
asm
/
alpha.works
/
div.pl
1
#!/usr/local/bin/perl
2
3
sub bn_div64
4
{
5
local($data)=<<'EOF';
6
#
7
# What follows was taken directly from the C compiler with a few
8
# hacks to redo the lables.
9
#
10
.text
11
.set noreorder
12
.set volatile
13
.align 3
14
.globl bn_div64
15
.ent bn_div64
16
bn_div64:
17
ldgp $29,0($27)
18
bn_div64..ng:
19
lda $30,-48($30)
20
.frame $30,48,$26,0
21
stq $26,0($30)
22
stq $9,8($30)
23
stq $10,16($30)
24
stq $11,24($30)
25
stq $12,32($30)
26
stq $13,40($30)
27
.mask 0x4003e00,-48
28
.prologue 1
29
bis $16,$16,$9
30
bis $17,$17,$10
31
bis $18,$18,$11
32
bis $31,$31,$13
33
bis $31,2,$12
34
bne $11,$9119
35
lda $0,-1
36
br $31,$9136
37
.align 4
38
$9119:
39
bis $11,$11,$16
40
jsr $26,BN_num_bits_word
41
ldgp $29,0($26)
42
subq $0,64,$1
43
beq $1,$9120
44
bis $31,1,$1
45
sll $1,$0,$1
46
cmpule $9,$1,$1
47
bne $1,$9120
48
# lda $16,_IO_stderr_
49
# lda $17,$C32
50
# bis $0,$0,$18
51
# jsr $26,fprintf
52
# ldgp $29,0($26)
53
jsr $26,abort
54
ldgp $29,0($26)
55
.align 4
56
$9120:
57
bis $31,64,$3
58
cmpult $9,$11,$2
59
subq $3,$0,$1
60
addl $1,$31,$0
61
subq $9,$11,$1
62
cmoveq $2,$1,$9
63
beq $0,$9122
64
zapnot $0,15,$2
65
subq $3,$0,$1
66
sll $11,$2,$11
67
sll $9,$2,$3
68
srl $10,$1,$1
69
sll $10,$2,$10
70
bis $3,$1,$9
71
$9122:
72
srl $11,32,$5
73
zapnot $11,15,$6
74
lda $7,-1
75
.align 5
76
$9123:
77
srl $9,32,$1
78
subq $1,$5,$1
79
bne $1,$9126
80
zapnot $7,15,$27
81
br $31,$9127
82
.align 4
83
$9126:
84
bis $9,$9,$24
85
bis $5,$5,$25
86
divqu $24,$25,$27
87
$9127:
88
srl $10,32,$4
89
.align 5
90
$9128:
91
mulq $27,$5,$1
92
subq $9,$1,$3
93
zapnot $3,240,$1
94
bne $1,$9129
95
mulq $6,$27,$2
96
sll $3,32,$1
97
addq $1,$4,$1
98
cmpule $2,$1,$2
99
bne $2,$9129
100
subq $27,1,$27
101
br $31,$9128
102
.align 4
103
$9129:
104
mulq $27,$6,$1
105
mulq $27,$5,$4
106
srl $1,32,$3
107
sll $1,32,$1
108
addq $4,$3,$4
109
cmpult $10,$1,$2
110
subq $10,$1,$10
111
addq $2,$4,$2
112
cmpult $9,$2,$1
113
bis $2,$2,$4
114
beq $1,$9134
115
addq $9,$11,$9
116
subq $27,1,$27
117
$9134:
118
subl $12,1,$12
119
subq $9,$4,$9
120
beq $12,$9124
121
sll $27,32,$13
122
sll $9,32,$2
123
srl $10,32,$1
124
sll $10,32,$10
125
bis $2,$1,$9
126
br $31,$9123
127
.align 4
128
$9124:
129
bis $13,$27,$0
130
$9136:
131
ldq $26,0($30)
132
ldq $9,8($30)
133
ldq $10,16($30)
134
ldq $11,24($30)
135
ldq $12,32($30)
136
ldq $13,40($30)
137
addq $30,48,$30
138
ret $31,($26),1
139
.end bn_div64
140
EOF
141
&asm_add($data);
142
}
143
144
1;