diff options
Diffstat (limited to 'src/lib/libcrypto/bn/asm/alpha.s')
-rw-r--r-- | src/lib/libcrypto/bn/asm/alpha.s | 1860 |
1 files changed, 1707 insertions, 153 deletions
diff --git a/src/lib/libcrypto/bn/asm/alpha.s b/src/lib/libcrypto/bn/asm/alpha.s index 1d17b1d619..a351694ca2 100644 --- a/src/lib/libcrypto/bn/asm/alpha.s +++ b/src/lib/libcrypto/bn/asm/alpha.s | |||
@@ -1,8 +1,14 @@ | |||
1 | # DEC Alpha assember | 1 | # DEC Alpha assember |
2 | # The bn_div64 is actually gcc output but the other parts are hand done. | 2 | # The bn_div_words is actually gcc output but the other parts are hand done. |
3 | # Thanks to tzeruch@ceddec.com for sending me the gcc output for | 3 | # Thanks to tzeruch@ceddec.com for sending me the gcc output for |
4 | # bn_div64. | 4 | # bn_div_words. |
5 | .file 1 "bn_mulw.c" | 5 | # I've gone back and re-done most of routines. |
6 | # The key thing to remeber for the 164 CPU is that while a | ||
7 | # multiply operation takes 8 cycles, another one can only be issued | ||
8 | # after 4 cycles have elapsed. I've done modification to help | ||
9 | # improve this. Also, normally, a ld instruction will not be available | ||
10 | # for about 3 cycles. | ||
11 | .file 1 "bn_asm.c" | ||
6 | .set noat | 12 | .set noat |
7 | gcc2_compiled.: | 13 | gcc2_compiled.: |
8 | __gnu_compiled_c: | 14 | __gnu_compiled_c: |
@@ -14,65 +20,91 @@ bn_mul_add_words: | |||
14 | bn_mul_add_words..ng: | 20 | bn_mul_add_words..ng: |
15 | .frame $30,0,$26,0 | 21 | .frame $30,0,$26,0 |
16 | .prologue 0 | 22 | .prologue 0 |
17 | subq $18,2,$25 # num=-2 | ||
18 | bis $31,$31,$0 | ||
19 | blt $25,$42 | ||
20 | .align 5 | 23 | .align 5 |
21 | $142: | 24 | subq $18,4,$18 |
22 | subq $18,2,$18 # num-=2 | 25 | bis $31,$31,$0 |
23 | subq $25,2,$25 # num-=2 | 26 | blt $18,$43 # if we are -1, -2, -3 or -4 goto tail code |
24 | 27 | ldq $20,0($17) # 1 1 | |
25 | ldq $1,0($17) # a[0] | 28 | ldq $1,0($16) # 1 1 |
26 | ldq $2,8($17) # a[1] | 29 | .align 3 |
27 | 30 | $42: | |
28 | mulq $19,$1,$3 # a[0]*w low part r3 | 31 | mulq $20,$19,$5 # 1 2 1 ###### |
29 | umulh $19,$1,$1 # a[0]*w high part r1 | 32 | ldq $21,8($17) # 2 1 |
30 | mulq $19,$2,$4 # a[1]*w low part r4 | 33 | ldq $2,8($16) # 2 1 |
31 | umulh $19,$2,$2 # a[1]*w high part r2 | 34 | umulh $20,$19,$20 # 1 2 ###### |
32 | 35 | ldq $27,16($17) # 3 1 | |
33 | ldq $22,0($16) # r[0] r22 | 36 | ldq $3,16($16) # 3 1 |
34 | ldq $23,8($16) # r[1] r23 | 37 | mulq $21,$19,$6 # 2 2 1 ###### |
35 | 38 | ldq $28,24($17) # 4 1 | |
36 | addq $3,$22,$3 # a0 low part + r[0] | 39 | addq $1,$5,$1 # 1 2 2 |
37 | addq $4,$23,$4 # a1 low part + r[1] | 40 | ldq $4,24($16) # 4 1 |
38 | cmpult $3,$22,$5 # overflow? | 41 | umulh $21,$19,$21 # 2 2 ###### |
39 | cmpult $4,$23,$6 # overflow? | 42 | cmpult $1,$5,$22 # 1 2 3 1 |
40 | addq $5,$1,$1 # high part + overflow | 43 | addq $20,$22,$20 # 1 3 1 |
41 | addq $6,$2,$2 # high part + overflow | 44 | addq $1,$0,$1 # 1 2 3 1 |
42 | 45 | mulq $27,$19,$7 # 3 2 1 ###### | |
43 | addq $3,$0,$3 # add c | 46 | cmpult $1,$0,$0 # 1 2 3 2 |
44 | cmpult $3,$0,$5 # overflow? | 47 | addq $2,$6,$2 # 2 2 2 |
45 | stq $3,0($16) | 48 | addq $20,$0,$0 # 1 3 2 |
46 | addq $5,$1,$0 # c=high part + overflow | 49 | cmpult $2,$6,$23 # 2 2 3 1 |
47 | 50 | addq $21,$23,$21 # 2 3 1 | |
48 | addq $4,$0,$4 # add c | 51 | umulh $27,$19,$27 # 3 2 ###### |
49 | cmpult $4,$0,$5 # overflow? | 52 | addq $2,$0,$2 # 2 2 3 1 |
50 | stq $4,8($16) | 53 | cmpult $2,$0,$0 # 2 2 3 2 |
51 | addq $5,$2,$0 # c=high part + overflow | 54 | subq $18,4,$18 |
55 | mulq $28,$19,$8 # 4 2 1 ###### | ||
56 | addq $21,$0,$0 # 2 3 2 | ||
57 | addq $3,$7,$3 # 3 2 2 | ||
58 | addq $16,32,$16 | ||
59 | cmpult $3,$7,$24 # 3 2 3 1 | ||
60 | stq $1,-32($16) # 1 2 4 | ||
61 | umulh $28,$19,$28 # 4 2 ###### | ||
62 | addq $27,$24,$27 # 3 3 1 | ||
63 | addq $3,$0,$3 # 3 2 3 1 | ||
64 | stq $2,-24($16) # 2 2 4 | ||
65 | cmpult $3,$0,$0 # 3 2 3 2 | ||
66 | stq $3,-16($16) # 3 2 4 | ||
67 | addq $4,$8,$4 # 4 2 2 | ||
68 | addq $27,$0,$0 # 3 3 2 | ||
69 | cmpult $4,$8,$25 # 4 2 3 1 | ||
70 | addq $17,32,$17 | ||
71 | addq $28,$25,$28 # 4 3 1 | ||
72 | addq $4,$0,$4 # 4 2 3 1 | ||
73 | cmpult $4,$0,$0 # 4 2 3 2 | ||
74 | stq $4,-8($16) # 4 2 4 | ||
75 | addq $28,$0,$0 # 4 3 2 | ||
76 | blt $18,$43 | ||
52 | 77 | ||
53 | ble $18,$43 | 78 | ldq $20,0($17) # 1 1 |
79 | ldq $1,0($16) # 1 1 | ||
54 | 80 | ||
55 | addq $16,16,$16 | 81 | br $42 |
56 | addq $17,16,$17 | ||
57 | blt $25,$42 | ||
58 | 82 | ||
59 | br $31,$142 | 83 | .align 4 |
60 | $42: | 84 | $45: |
61 | ldq $1,0($17) # a[0] | 85 | ldq $20,0($17) # 4 1 |
62 | umulh $19,$1,$3 # a[0]*w high part | 86 | ldq $1,0($16) # 4 1 |
63 | mulq $19,$1,$1 # a[0]*w low part | 87 | mulq $20,$19,$5 # 4 2 1 |
64 | ldq $2,0($16) # r[0] | 88 | subq $18,1,$18 |
65 | addq $1,$2,$1 # low part + r[0] | 89 | addq $16,8,$16 |
66 | cmpult $1,$2,$4 # overflow? | 90 | addq $17,8,$17 |
67 | addq $4,$3,$3 # high part + overflow | 91 | umulh $20,$19,$20 # 4 2 |
68 | addq $1,$0,$1 # add c | 92 | addq $1,$5,$1 # 4 2 2 |
69 | cmpult $1,$0,$4 # overflow? | 93 | cmpult $1,$5,$22 # 4 2 3 1 |
70 | addq $4,$3,$0 # c=high part + overflow | 94 | addq $20,$22,$20 # 4 3 1 |
71 | stq $1,0($16) | 95 | addq $1,$0,$1 # 4 2 3 1 |
96 | cmpult $1,$0,$0 # 4 2 3 2 | ||
97 | addq $20,$0,$0 # 4 3 2 | ||
98 | stq $1,-8($16) # 4 2 4 | ||
99 | bgt $18,$45 | ||
100 | ret $31,($26),1 # else exit | ||
72 | 101 | ||
73 | .align 4 | 102 | .align 4 |
74 | $43: | 103 | $43: |
75 | ret $31,($26),1 | 104 | addq $18,4,$18 |
105 | bgt $18,$45 # goto tail code | ||
106 | ret $31,($26),1 # else exit | ||
107 | |||
76 | .end bn_mul_add_words | 108 | .end bn_mul_add_words |
77 | .align 3 | 109 | .align 3 |
78 | .globl bn_mul_words | 110 | .globl bn_mul_words |
@@ -81,49 +113,75 @@ bn_mul_words: | |||
81 | bn_mul_words..ng: | 113 | bn_mul_words..ng: |
82 | .frame $30,0,$26,0 | 114 | .frame $30,0,$26,0 |
83 | .prologue 0 | 115 | .prologue 0 |
84 | subq $18,2,$25 # num=-2 | ||
85 | bis $31,$31,$0 | ||
86 | blt $25,$242 | ||
87 | .align 5 | 116 | .align 5 |
88 | $342: | 117 | subq $18,4,$18 |
89 | subq $18,2,$18 # num-=2 | 118 | bis $31,$31,$0 |
90 | subq $25,2,$25 # num-=2 | 119 | blt $18,$143 # if we are -1, -2, -3 or -4 goto tail code |
91 | 120 | ldq $20,0($17) # 1 1 | |
92 | ldq $1,0($17) # a[0] | 121 | .align 3 |
93 | ldq $2,8($17) # a[1] | 122 | $142: |
94 | 123 | ||
95 | mulq $19,$1,$3 # a[0]*w low part r3 | 124 | mulq $20,$19,$5 # 1 2 1 ##### |
96 | umulh $19,$1,$1 # a[0]*w high part r1 | 125 | ldq $21,8($17) # 2 1 |
97 | mulq $19,$2,$4 # a[1]*w low part r4 | 126 | ldq $27,16($17) # 3 1 |
98 | umulh $19,$2,$2 # a[1]*w high part r2 | 127 | umulh $20,$19,$20 # 1 2 ##### |
99 | 128 | ldq $28,24($17) # 4 1 | |
100 | addq $3,$0,$3 # add c | 129 | mulq $21,$19,$6 # 2 2 1 ##### |
101 | cmpult $3,$0,$5 # overflow? | 130 | addq $5,$0,$5 # 1 2 3 1 |
102 | stq $3,0($16) | 131 | subq $18,4,$18 |
103 | addq $5,$1,$0 # c=high part + overflow | 132 | cmpult $5,$0,$0 # 1 2 3 2 |
104 | 133 | umulh $21,$19,$21 # 2 2 ##### | |
105 | addq $4,$0,$4 # add c | 134 | addq $20,$0,$0 # 1 3 2 |
106 | cmpult $4,$0,$5 # overflow? | 135 | addq $17,32,$17 |
107 | stq $4,8($16) | 136 | addq $6,$0,$6 # 2 2 3 1 |
108 | addq $5,$2,$0 # c=high part + overflow | 137 | mulq $27,$19,$7 # 3 2 1 ##### |
109 | 138 | cmpult $6,$0,$0 # 2 2 3 2 | |
110 | ble $18,$243 | 139 | addq $21,$0,$0 # 2 3 2 |
111 | 140 | addq $16,32,$16 | |
112 | addq $16,16,$16 | 141 | umulh $27,$19,$27 # 3 2 ##### |
113 | addq $17,16,$17 | 142 | stq $5,-32($16) # 1 2 4 |
114 | blt $25,$242 | 143 | mulq $28,$19,$8 # 4 2 1 ##### |
115 | 144 | addq $7,$0,$7 # 3 2 3 1 | |
116 | br $31,$342 | 145 | stq $6,-24($16) # 2 2 4 |
117 | $242: | 146 | cmpult $7,$0,$0 # 3 2 3 2 |
118 | ldq $1,0($17) # a[0] | 147 | umulh $28,$19,$28 # 4 2 ##### |
119 | umulh $19,$1,$3 # a[0]*w high part | 148 | addq $27,$0,$0 # 3 3 2 |
120 | mulq $19,$1,$1 # a[0]*w low part | 149 | stq $7,-16($16) # 3 2 4 |
121 | addq $1,$0,$1 # add c | 150 | addq $8,$0,$8 # 4 2 3 1 |
122 | cmpult $1,$0,$4 # overflow? | 151 | cmpult $8,$0,$0 # 4 2 3 2 |
123 | addq $4,$3,$0 # c=high part + overflow | 152 | |
124 | stq $1,0($16) | 153 | addq $28,$0,$0 # 4 3 2 |
125 | $243: | 154 | |
126 | ret $31,($26),1 | 155 | stq $8,-8($16) # 4 2 4 |
156 | |||
157 | blt $18,$143 | ||
158 | |||
159 | ldq $20,0($17) # 1 1 | ||
160 | |||
161 | br $142 | ||
162 | |||
163 | .align 4 | ||
164 | $145: | ||
165 | ldq $20,0($17) # 4 1 | ||
166 | mulq $20,$19,$5 # 4 2 1 | ||
167 | subq $18,1,$18 | ||
168 | umulh $20,$19,$20 # 4 2 | ||
169 | addq $5,$0,$5 # 4 2 3 1 | ||
170 | addq $16,8,$16 | ||
171 | cmpult $5,$0,$0 # 4 2 3 2 | ||
172 | addq $17,8,$17 | ||
173 | addq $20,$0,$0 # 4 3 2 | ||
174 | stq $5,-8($16) # 4 2 4 | ||
175 | |||
176 | bgt $18,$145 | ||
177 | ret $31,($26),1 # else exit | ||
178 | |||
179 | .align 4 | ||
180 | $143: | ||
181 | addq $18,4,$18 | ||
182 | bgt $18,$145 # goto tail code | ||
183 | ret $31,($26),1 # else exit | ||
184 | |||
127 | .end bn_mul_words | 185 | .end bn_mul_words |
128 | .align 3 | 186 | .align 3 |
129 | .globl bn_sqr_words | 187 | .globl bn_sqr_words |
@@ -132,44 +190,58 @@ bn_sqr_words: | |||
132 | bn_sqr_words..ng: | 190 | bn_sqr_words..ng: |
133 | .frame $30,0,$26,0 | 191 | .frame $30,0,$26,0 |
134 | .prologue 0 | 192 | .prologue 0 |
135 | |||
136 | subq $18,2,$25 # num=-2 | ||
137 | blt $25,$442 | ||
138 | .align 5 | ||
139 | $542: | ||
140 | subq $18,2,$18 # num-=2 | ||
141 | subq $25,2,$25 # num-=2 | ||
142 | |||
143 | ldq $1,0($17) # a[0] | ||
144 | ldq $4,8($17) # a[1] | ||
145 | 193 | ||
146 | mulq $1,$1,$2 # a[0]*w low part r2 | 194 | subq $18,4,$18 |
147 | umulh $1,$1,$3 # a[0]*w high part r3 | 195 | blt $18,$543 # if we are -1, -2, -3 or -4 goto tail code |
148 | mulq $4,$4,$5 # a[1]*w low part r5 | 196 | ldq $20,0($17) # 1 1 |
149 | umulh $4,$4,$6 # a[1]*w high part r6 | 197 | .align 3 |
150 | 198 | $542: | |
151 | stq $2,0($16) # r[0] | 199 | mulq $20,$20,$5 ###### |
152 | stq $3,8($16) # r[1] | 200 | ldq $21,8($17) # 1 1 |
153 | stq $5,16($16) # r[3] | 201 | subq $18,4 |
154 | stq $6,24($16) # r[4] | 202 | umulh $20,$20,$1 ###### |
203 | ldq $27,16($17) # 1 1 | ||
204 | mulq $21,$21,$6 ###### | ||
205 | ldq $28,24($17) # 1 1 | ||
206 | stq $5,0($16) # r[0] | ||
207 | umulh $21,$21,$2 ###### | ||
208 | stq $1,8($16) # r[1] | ||
209 | mulq $27,$27,$7 ###### | ||
210 | stq $6,16($16) # r[0] | ||
211 | umulh $27,$27,$3 ###### | ||
212 | stq $2,24($16) # r[1] | ||
213 | mulq $28,$28,$8 ###### | ||
214 | stq $7,32($16) # r[0] | ||
215 | umulh $28,$28,$4 ###### | ||
216 | stq $3,40($16) # r[1] | ||
155 | 217 | ||
156 | ble $18,$443 | 218 | addq $16,64,$16 |
219 | addq $17,32,$17 | ||
220 | stq $8,-16($16) # r[0] | ||
221 | stq $4,-8($16) # r[1] | ||
157 | 222 | ||
158 | addq $16,32,$16 | 223 | blt $18,$543 |
159 | addq $17,16,$17 | 224 | ldq $20,0($17) # 1 1 |
160 | blt $25,$442 | 225 | br $542 |
161 | br $31,$542 | ||
162 | 226 | ||
163 | $442: | 227 | $442: |
164 | ldq $1,0($17) # a[0] | 228 | ldq $20,0($17) # a[0] |
165 | mulq $1,$1,$2 # a[0]*w low part r2 | 229 | mulq $20,$20,$5 # a[0]*w low part r2 |
166 | umulh $1,$1,$3 # a[0]*w high part r3 | 230 | addq $16,16,$16 |
167 | stq $2,0($16) # r[0] | 231 | addq $17,8,$17 |
168 | stq $3,8($16) # r[1] | 232 | subq $18,1,$18 |
233 | umulh $20,$20,$1 # a[0]*w high part r3 | ||
234 | stq $5,-16($16) # r[0] | ||
235 | stq $1,-8($16) # r[1] | ||
236 | |||
237 | bgt $18,$442 | ||
238 | ret $31,($26),1 # else exit | ||
169 | 239 | ||
170 | .align 4 | 240 | .align 4 |
171 | $443: | 241 | $543: |
172 | ret $31,($26),1 | 242 | addq $18,4,$18 |
243 | bgt $18,$442 # goto tail code | ||
244 | ret $31,($26),1 # else exit | ||
173 | .end bn_sqr_words | 245 | .end bn_sqr_words |
174 | 246 | ||
175 | .align 3 | 247 | .align 3 |
@@ -180,31 +252,74 @@ bn_add_words..ng: | |||
180 | .frame $30,0,$26,0 | 252 | .frame $30,0,$26,0 |
181 | .prologue 0 | 253 | .prologue 0 |
182 | 254 | ||
183 | bis $31,$31,$8 # carry = 0 | 255 | subq $19,4,$19 |
184 | ble $19,$900 | 256 | bis $31,$31,$0 # carry = 0 |
257 | blt $19,$900 | ||
258 | ldq $5,0($17) # a[0] | ||
259 | ldq $1,0($18) # b[1] | ||
260 | .align 3 | ||
185 | $901: | 261 | $901: |
186 | ldq $0,0($17) # a[0] | 262 | addq $1,$5,$1 # r=a+b; |
187 | ldq $1,0($18) # a[1] | 263 | ldq $6,8($17) # a[1] |
264 | cmpult $1,$5,$22 # did we overflow? | ||
265 | ldq $2,8($18) # b[1] | ||
266 | addq $1,$0,$1 # c+= overflow | ||
267 | ldq $7,16($17) # a[2] | ||
268 | cmpult $1,$0,$0 # overflow? | ||
269 | ldq $3,16($18) # b[2] | ||
270 | addq $0,$22,$0 | ||
271 | ldq $8,24($17) # a[3] | ||
272 | addq $2,$6,$2 # r=a+b; | ||
273 | ldq $4,24($18) # b[3] | ||
274 | cmpult $2,$6,$23 # did we overflow? | ||
275 | addq $3,$7,$3 # r=a+b; | ||
276 | addq $2,$0,$2 # c+= overflow | ||
277 | cmpult $3,$7,$24 # did we overflow? | ||
278 | cmpult $2,$0,$0 # overflow? | ||
279 | addq $4,$8,$4 # r=a+b; | ||
280 | addq $0,$23,$0 | ||
281 | cmpult $4,$8,$25 # did we overflow? | ||
282 | addq $3,$0,$3 # c+= overflow | ||
283 | stq $1,0($16) # r[0]=c | ||
284 | cmpult $3,$0,$0 # overflow? | ||
285 | stq $2,8($16) # r[1]=c | ||
286 | addq $0,$24,$0 | ||
287 | stq $3,16($16) # r[2]=c | ||
288 | addq $4,$0,$4 # c+= overflow | ||
289 | subq $19,4,$19 # loop-- | ||
290 | cmpult $4,$0,$0 # overflow? | ||
291 | addq $17,32,$17 # a++ | ||
292 | addq $0,$25,$0 | ||
293 | stq $4,24($16) # r[3]=c | ||
294 | addq $18,32,$18 # b++ | ||
295 | addq $16,32,$16 # r++ | ||
188 | 296 | ||
189 | addq $0,$1,$3 # c=a+b; | 297 | blt $19,$900 |
298 | ldq $5,0($17) # a[0] | ||
299 | ldq $1,0($18) # b[1] | ||
300 | br $901 | ||
301 | .align 4 | ||
302 | $945: | ||
303 | ldq $5,0($17) # a[0] | ||
304 | ldq $1,0($18) # b[1] | ||
305 | addq $1,$5,$1 # r=a+b; | ||
306 | subq $19,1,$19 # loop-- | ||
307 | addq $1,$0,$1 # c+= overflow | ||
190 | addq $17,8,$17 # a++ | 308 | addq $17,8,$17 # a++ |
309 | cmpult $1,$5,$22 # did we overflow? | ||
310 | cmpult $1,$0,$0 # overflow? | ||
311 | addq $18,8,$18 # b++ | ||
312 | stq $1,0($16) # r[0]=c | ||
313 | addq $0,$22,$0 | ||
314 | addq $16,8,$16 # r++ | ||
191 | 315 | ||
192 | cmpult $3,$1,$7 # did we overflow? | 316 | bgt $19,$945 |
193 | addq $18,8,$18 # b++ | 317 | ret $31,($26),1 # else exit |
194 | |||
195 | addq $8,$3,$3 # c+=carry | ||
196 | 318 | ||
197 | cmpult $3,$8,$8 # did we overflow? | ||
198 | stq $3,($16) # r[0]=c | ||
199 | |||
200 | addq $7,$8,$8 # add into overflow | ||
201 | subq $19,1,$19 # loop-- | ||
202 | |||
203 | addq $16,8,$16 # r++ | ||
204 | bgt $19,$901 | ||
205 | $900: | 319 | $900: |
206 | bis $8,$8,$0 # return carry | 320 | addq $19,4,$19 |
207 | ret $31,($26),1 | 321 | bgt $19,$945 # goto tail code |
322 | ret $31,($26),1 # else exit | ||
208 | .end bn_add_words | 323 | .end bn_add_words |
209 | 324 | ||
210 | # | 325 | # |
@@ -213,11 +328,11 @@ $900: | |||
213 | # | 328 | # |
214 | .text | 329 | .text |
215 | .align 3 | 330 | .align 3 |
216 | .globl bn_div64 | 331 | .globl bn_div_words |
217 | .ent bn_div64 | 332 | .ent bn_div_words |
218 | bn_div64: | 333 | bn_div_words: |
219 | ldgp $29,0($27) | 334 | ldgp $29,0($27) |
220 | bn_div64..ng: | 335 | bn_div_words..ng: |
221 | lda $30,-48($30) | 336 | lda $30,-48($30) |
222 | .frame $30,48,$26,0 | 337 | .frame $30,48,$26,0 |
223 | stq $26,0($30) | 338 | stq $26,0($30) |
@@ -338,7 +453,1446 @@ $136: | |||
338 | ldq $13,40($30) | 453 | ldq $13,40($30) |
339 | addq $30,48,$30 | 454 | addq $30,48,$30 |
340 | ret $31,($26),1 | 455 | ret $31,($26),1 |
341 | .end bn_div64 | 456 | .end bn_div_words |
342 | .ident "GCC: (GNU) 2.7.2.1" | 457 | |
458 | .set noat | ||
459 | .text | ||
460 | .align 3 | ||
461 | .globl bn_sub_words | ||
462 | .ent bn_sub_words | ||
463 | bn_sub_words: | ||
464 | bn_sub_words..ng: | ||
465 | .frame $30,0,$26,0 | ||
466 | .prologue 0 | ||
467 | |||
468 | subq $19, 4, $19 | ||
469 | bis $31, $31, $0 | ||
470 | blt $19, $100 | ||
471 | ldq $1, 0($17) | ||
472 | ldq $2, 0($18) | ||
473 | $101: | ||
474 | ldq $3, 8($17) | ||
475 | cmpult $1, $2, $4 | ||
476 | ldq $5, 8($18) | ||
477 | subq $1, $2, $1 | ||
478 | ldq $6, 16($17) | ||
479 | cmpult $1, $0, $2 | ||
480 | ldq $7, 16($18) | ||
481 | subq $1, $0, $23 | ||
482 | ldq $8, 24($17) | ||
483 | addq $2, $4, $0 | ||
484 | cmpult $3, $5, $24 | ||
485 | subq $3, $5, $3 | ||
486 | ldq $22, 24($18) | ||
487 | cmpult $3, $0, $5 | ||
488 | subq $3, $0, $25 | ||
489 | addq $5, $24, $0 | ||
490 | cmpult $6, $7, $27 | ||
491 | subq $6, $7, $6 | ||
492 | stq $23, 0($16) | ||
493 | cmpult $6, $0, $7 | ||
494 | subq $6, $0, $28 | ||
495 | addq $7, $27, $0 | ||
496 | cmpult $8, $22, $21 | ||
497 | subq $8, $22, $8 | ||
498 | stq $25, 8($16) | ||
499 | cmpult $8, $0, $22 | ||
500 | subq $8, $0, $20 | ||
501 | addq $22, $21, $0 | ||
502 | stq $28, 16($16) | ||
503 | subq $19, 4, $19 | ||
504 | stq $20, 24($16) | ||
505 | addq $17, 32, $17 | ||
506 | addq $18, 32, $18 | ||
507 | addq $16, 32, $16 | ||
508 | blt $19, $100 | ||
509 | ldq $1, 0($17) | ||
510 | ldq $2, 0($18) | ||
511 | br $101 | ||
512 | $102: | ||
513 | ldq $1, 0($17) | ||
514 | ldq $2, 0($18) | ||
515 | cmpult $1, $2, $27 | ||
516 | subq $1, $2, $1 | ||
517 | cmpult $1, $0, $2 | ||
518 | subq $1, $0, $1 | ||
519 | stq $1, 0($16) | ||
520 | addq $2, $27, $0 | ||
521 | addq $17, 8, $17 | ||
522 | addq $18, 8, $18 | ||
523 | addq $16, 8, $16 | ||
524 | subq $19, 1, $19 | ||
525 | bgt $19, $102 | ||
526 | ret $31,($26),1 | ||
527 | $100: | ||
528 | addq $19, 4, $19 | ||
529 | bgt $19, $102 | ||
530 | $103: | ||
531 | ret $31,($26),1 | ||
532 | .end bn_sub_words | ||
533 | .text | ||
534 | .align 3 | ||
535 | .globl bn_mul_comba4 | ||
536 | .ent bn_mul_comba4 | ||
537 | bn_mul_comba4: | ||
538 | bn_mul_comba4..ng: | ||
539 | .frame $30,0,$26,0 | ||
540 | .prologue 0 | ||
343 | 541 | ||
542 | ldq $0, 0($17) | ||
543 | ldq $1, 0($18) | ||
544 | ldq $2, 8($17) | ||
545 | ldq $3, 8($18) | ||
546 | ldq $4, 16($17) | ||
547 | ldq $5, 16($18) | ||
548 | ldq $6, 24($17) | ||
549 | ldq $7, 24($18) | ||
550 | bis $31, $31, $23 | ||
551 | mulq $0, $1, $8 | ||
552 | umulh $0, $1, $22 | ||
553 | stq $8, 0($16) | ||
554 | bis $31, $31, $8 | ||
555 | mulq $0, $3, $24 | ||
556 | umulh $0, $3, $25 | ||
557 | addq $22, $24, $22 | ||
558 | cmpult $22, $24, $27 | ||
559 | addq $27, $25, $25 | ||
560 | addq $23, $25, $23 | ||
561 | cmpult $23, $25, $28 | ||
562 | addq $8, $28, $8 | ||
563 | mulq $2, $1, $21 | ||
564 | umulh $2, $1, $20 | ||
565 | addq $22, $21, $22 | ||
566 | cmpult $22, $21, $19 | ||
567 | addq $19, $20, $20 | ||
568 | addq $23, $20, $23 | ||
569 | cmpult $23, $20, $17 | ||
570 | addq $8, $17, $8 | ||
571 | stq $22, 8($16) | ||
572 | bis $31, $31, $22 | ||
573 | mulq $2, $3, $18 | ||
574 | umulh $2, $3, $24 | ||
575 | addq $23, $18, $23 | ||
576 | cmpult $23, $18, $27 | ||
577 | addq $27, $24, $24 | ||
578 | addq $8, $24, $8 | ||
579 | cmpult $8, $24, $25 | ||
580 | addq $22, $25, $22 | ||
581 | mulq $0, $5, $28 | ||
582 | umulh $0, $5, $21 | ||
583 | addq $23, $28, $23 | ||
584 | cmpult $23, $28, $19 | ||
585 | addq $19, $21, $21 | ||
586 | addq $8, $21, $8 | ||
587 | cmpult $8, $21, $20 | ||
588 | addq $22, $20, $22 | ||
589 | mulq $4, $1, $17 | ||
590 | umulh $4, $1, $18 | ||
591 | addq $23, $17, $23 | ||
592 | cmpult $23, $17, $27 | ||
593 | addq $27, $18, $18 | ||
594 | addq $8, $18, $8 | ||
595 | cmpult $8, $18, $24 | ||
596 | addq $22, $24, $22 | ||
597 | stq $23, 16($16) | ||
598 | bis $31, $31, $23 | ||
599 | mulq $0, $7, $25 | ||
600 | umulh $0, $7, $28 | ||
601 | addq $8, $25, $8 | ||
602 | cmpult $8, $25, $19 | ||
603 | addq $19, $28, $28 | ||
604 | addq $22, $28, $22 | ||
605 | cmpult $22, $28, $21 | ||
606 | addq $23, $21, $23 | ||
607 | mulq $2, $5, $20 | ||
608 | umulh $2, $5, $17 | ||
609 | addq $8, $20, $8 | ||
610 | cmpult $8, $20, $27 | ||
611 | addq $27, $17, $17 | ||
612 | addq $22, $17, $22 | ||
613 | cmpult $22, $17, $18 | ||
614 | addq $23, $18, $23 | ||
615 | mulq $4, $3, $24 | ||
616 | umulh $4, $3, $25 | ||
617 | addq $8, $24, $8 | ||
618 | cmpult $8, $24, $19 | ||
619 | addq $19, $25, $25 | ||
620 | addq $22, $25, $22 | ||
621 | cmpult $22, $25, $28 | ||
622 | addq $23, $28, $23 | ||
623 | mulq $6, $1, $21 | ||
624 | umulh $6, $1, $0 | ||
625 | addq $8, $21, $8 | ||
626 | cmpult $8, $21, $20 | ||
627 | addq $20, $0, $0 | ||
628 | addq $22, $0, $22 | ||
629 | cmpult $22, $0, $27 | ||
630 | addq $23, $27, $23 | ||
631 | stq $8, 24($16) | ||
632 | bis $31, $31, $8 | ||
633 | mulq $2, $7, $17 | ||
634 | umulh $2, $7, $18 | ||
635 | addq $22, $17, $22 | ||
636 | cmpult $22, $17, $24 | ||
637 | addq $24, $18, $18 | ||
638 | addq $23, $18, $23 | ||
639 | cmpult $23, $18, $19 | ||
640 | addq $8, $19, $8 | ||
641 | mulq $4, $5, $25 | ||
642 | umulh $4, $5, $28 | ||
643 | addq $22, $25, $22 | ||
644 | cmpult $22, $25, $21 | ||
645 | addq $21, $28, $28 | ||
646 | addq $23, $28, $23 | ||
647 | cmpult $23, $28, $20 | ||
648 | addq $8, $20, $8 | ||
649 | mulq $6, $3, $0 | ||
650 | umulh $6, $3, $27 | ||
651 | addq $22, $0, $22 | ||
652 | cmpult $22, $0, $1 | ||
653 | addq $1, $27, $27 | ||
654 | addq $23, $27, $23 | ||
655 | cmpult $23, $27, $17 | ||
656 | addq $8, $17, $8 | ||
657 | stq $22, 32($16) | ||
658 | bis $31, $31, $22 | ||
659 | mulq $4, $7, $24 | ||
660 | umulh $4, $7, $18 | ||
661 | addq $23, $24, $23 | ||
662 | cmpult $23, $24, $19 | ||
663 | addq $19, $18, $18 | ||
664 | addq $8, $18, $8 | ||
665 | cmpult $8, $18, $2 | ||
666 | addq $22, $2, $22 | ||
667 | mulq $6, $5, $25 | ||
668 | umulh $6, $5, $21 | ||
669 | addq $23, $25, $23 | ||
670 | cmpult $23, $25, $28 | ||
671 | addq $28, $21, $21 | ||
672 | addq $8, $21, $8 | ||
673 | cmpult $8, $21, $20 | ||
674 | addq $22, $20, $22 | ||
675 | stq $23, 40($16) | ||
676 | bis $31, $31, $23 | ||
677 | mulq $6, $7, $0 | ||
678 | umulh $6, $7, $1 | ||
679 | addq $8, $0, $8 | ||
680 | cmpult $8, $0, $27 | ||
681 | addq $27, $1, $1 | ||
682 | addq $22, $1, $22 | ||
683 | cmpult $22, $1, $17 | ||
684 | addq $23, $17, $23 | ||
685 | stq $8, 48($16) | ||
686 | stq $22, 56($16) | ||
687 | ret $31,($26),1 | ||
688 | .end bn_mul_comba4 | ||
689 | .text | ||
690 | .align 3 | ||
691 | .globl bn_mul_comba8 | ||
692 | .ent bn_mul_comba8 | ||
693 | bn_mul_comba8: | ||
694 | bn_mul_comba8..ng: | ||
695 | .frame $30,0,$26,0 | ||
696 | .prologue 0 | ||
697 | |||
698 | subq $30, 16, $30 | ||
699 | ldq $0, 0($17) | ||
700 | ldq $1, 0($18) | ||
701 | stq $9, 0($30) | ||
702 | stq $10, 8($30) | ||
703 | ldq $2, 8($17) | ||
704 | ldq $3, 8($18) | ||
705 | ldq $4, 16($17) | ||
706 | ldq $5, 16($18) | ||
707 | ldq $6, 24($17) | ||
708 | ldq $7, 24($18) | ||
709 | ldq $8, 8($17) | ||
710 | ldq $22, 8($18) | ||
711 | ldq $23, 8($17) | ||
712 | ldq $24, 8($18) | ||
713 | ldq $25, 8($17) | ||
714 | ldq $27, 8($18) | ||
715 | ldq $28, 8($17) | ||
716 | ldq $21, 8($18) | ||
717 | bis $31, $31, $9 | ||
718 | mulq $0, $1, $20 | ||
719 | umulh $0, $1, $19 | ||
720 | stq $20, 0($16) | ||
721 | bis $31, $31, $20 | ||
722 | mulq $0, $3, $10 | ||
723 | umulh $0, $3, $17 | ||
724 | addq $19, $10, $19 | ||
725 | cmpult $19, $10, $18 | ||
726 | addq $18, $17, $17 | ||
727 | addq $9, $17, $9 | ||
728 | cmpult $9, $17, $10 | ||
729 | addq $20, $10, $20 | ||
730 | mulq $2, $1, $18 | ||
731 | umulh $2, $1, $17 | ||
732 | addq $19, $18, $19 | ||
733 | cmpult $19, $18, $10 | ||
734 | addq $10, $17, $17 | ||
735 | addq $9, $17, $9 | ||
736 | cmpult $9, $17, $18 | ||
737 | addq $20, $18, $20 | ||
738 | stq $19, 8($16) | ||
739 | bis $31, $31, $19 | ||
740 | mulq $0, $5, $10 | ||
741 | umulh $0, $5, $17 | ||
742 | addq $9, $10, $9 | ||
743 | cmpult $9, $10, $18 | ||
744 | addq $18, $17, $17 | ||
745 | addq $20, $17, $20 | ||
746 | cmpult $20, $17, $10 | ||
747 | addq $19, $10, $19 | ||
748 | mulq $2, $3, $18 | ||
749 | umulh $2, $3, $17 | ||
750 | addq $9, $18, $9 | ||
751 | cmpult $9, $18, $10 | ||
752 | addq $10, $17, $17 | ||
753 | addq $20, $17, $20 | ||
754 | cmpult $20, $17, $18 | ||
755 | addq $19, $18, $19 | ||
756 | mulq $4, $1, $10 | ||
757 | umulh $4, $1, $17 | ||
758 | addq $9, $10, $9 | ||
759 | cmpult $9, $10, $18 | ||
760 | addq $18, $17, $17 | ||
761 | addq $20, $17, $20 | ||
762 | cmpult $20, $17, $10 | ||
763 | addq $19, $10, $19 | ||
764 | stq $9, 16($16) | ||
765 | bis $31, $31, $9 | ||
766 | mulq $0, $7, $18 | ||
767 | umulh $0, $7, $17 | ||
768 | addq $20, $18, $20 | ||
769 | cmpult $20, $18, $10 | ||
770 | addq $10, $17, $17 | ||
771 | addq $19, $17, $19 | ||
772 | cmpult $19, $17, $18 | ||
773 | addq $9, $18, $9 | ||
774 | mulq $2, $5, $10 | ||
775 | umulh $2, $5, $17 | ||
776 | addq $20, $10, $20 | ||
777 | cmpult $20, $10, $18 | ||
778 | addq $18, $17, $17 | ||
779 | addq $19, $17, $19 | ||
780 | cmpult $19, $17, $10 | ||
781 | addq $9, $10, $9 | ||
782 | mulq $4, $3, $18 | ||
783 | umulh $4, $3, $17 | ||
784 | addq $20, $18, $20 | ||
785 | cmpult $20, $18, $10 | ||
786 | addq $10, $17, $17 | ||
787 | addq $19, $17, $19 | ||
788 | cmpult $19, $17, $18 | ||
789 | addq $9, $18, $9 | ||
790 | mulq $6, $1, $10 | ||
791 | umulh $6, $1, $17 | ||
792 | addq $20, $10, $20 | ||
793 | cmpult $20, $10, $18 | ||
794 | addq $18, $17, $17 | ||
795 | addq $19, $17, $19 | ||
796 | cmpult $19, $17, $10 | ||
797 | addq $9, $10, $9 | ||
798 | stq $20, 24($16) | ||
799 | bis $31, $31, $20 | ||
800 | mulq $0, $22, $18 | ||
801 | umulh $0, $22, $17 | ||
802 | addq $19, $18, $19 | ||
803 | cmpult $19, $18, $10 | ||
804 | addq $10, $17, $17 | ||
805 | addq $9, $17, $9 | ||
806 | cmpult $9, $17, $18 | ||
807 | addq $20, $18, $20 | ||
808 | mulq $2, $7, $10 | ||
809 | umulh $2, $7, $17 | ||
810 | addq $19, $10, $19 | ||
811 | cmpult $19, $10, $18 | ||
812 | addq $18, $17, $17 | ||
813 | addq $9, $17, $9 | ||
814 | cmpult $9, $17, $10 | ||
815 | addq $20, $10, $20 | ||
816 | mulq $4, $5, $18 | ||
817 | umulh $4, $5, $17 | ||
818 | addq $19, $18, $19 | ||
819 | cmpult $19, $18, $10 | ||
820 | addq $10, $17, $17 | ||
821 | addq $9, $17, $9 | ||
822 | cmpult $9, $17, $18 | ||
823 | addq $20, $18, $20 | ||
824 | mulq $6, $3, $10 | ||
825 | umulh $6, $3, $17 | ||
826 | addq $19, $10, $19 | ||
827 | cmpult $19, $10, $18 | ||
828 | addq $18, $17, $17 | ||
829 | addq $9, $17, $9 | ||
830 | cmpult $9, $17, $10 | ||
831 | addq $20, $10, $20 | ||
832 | mulq $8, $1, $18 | ||
833 | umulh $8, $1, $17 | ||
834 | addq $19, $18, $19 | ||
835 | cmpult $19, $18, $10 | ||
836 | addq $10, $17, $17 | ||
837 | addq $9, $17, $9 | ||
838 | cmpult $9, $17, $18 | ||
839 | addq $20, $18, $20 | ||
840 | stq $19, 32($16) | ||
841 | bis $31, $31, $19 | ||
842 | mulq $0, $24, $10 | ||
843 | umulh $0, $24, $17 | ||
844 | addq $9, $10, $9 | ||
845 | cmpult $9, $10, $18 | ||
846 | addq $18, $17, $17 | ||
847 | addq $20, $17, $20 | ||
848 | cmpult $20, $17, $10 | ||
849 | addq $19, $10, $19 | ||
850 | mulq $2, $22, $18 | ||
851 | umulh $2, $22, $17 | ||
852 | addq $9, $18, $9 | ||
853 | cmpult $9, $18, $10 | ||
854 | addq $10, $17, $17 | ||
855 | addq $20, $17, $20 | ||
856 | cmpult $20, $17, $18 | ||
857 | addq $19, $18, $19 | ||
858 | mulq $4, $7, $10 | ||
859 | umulh $4, $7, $17 | ||
860 | addq $9, $10, $9 | ||
861 | cmpult $9, $10, $18 | ||
862 | addq $18, $17, $17 | ||
863 | addq $20, $17, $20 | ||
864 | cmpult $20, $17, $10 | ||
865 | addq $19, $10, $19 | ||
866 | mulq $6, $5, $18 | ||
867 | umulh $6, $5, $17 | ||
868 | addq $9, $18, $9 | ||
869 | cmpult $9, $18, $10 | ||
870 | addq $10, $17, $17 | ||
871 | addq $20, $17, $20 | ||
872 | cmpult $20, $17, $18 | ||
873 | addq $19, $18, $19 | ||
874 | mulq $8, $3, $10 | ||
875 | umulh $8, $3, $17 | ||
876 | addq $9, $10, $9 | ||
877 | cmpult $9, $10, $18 | ||
878 | addq $18, $17, $17 | ||
879 | addq $20, $17, $20 | ||
880 | cmpult $20, $17, $10 | ||
881 | addq $19, $10, $19 | ||
882 | mulq $23, $1, $18 | ||
883 | umulh $23, $1, $17 | ||
884 | addq $9, $18, $9 | ||
885 | cmpult $9, $18, $10 | ||
886 | addq $10, $17, $17 | ||
887 | addq $20, $17, $20 | ||
888 | cmpult $20, $17, $18 | ||
889 | addq $19, $18, $19 | ||
890 | stq $9, 40($16) | ||
891 | bis $31, $31, $9 | ||
892 | mulq $0, $27, $10 | ||
893 | umulh $0, $27, $17 | ||
894 | addq $20, $10, $20 | ||
895 | cmpult $20, $10, $18 | ||
896 | addq $18, $17, $17 | ||
897 | addq $19, $17, $19 | ||
898 | cmpult $19, $17, $10 | ||
899 | addq $9, $10, $9 | ||
900 | mulq $2, $24, $18 | ||
901 | umulh $2, $24, $17 | ||
902 | addq $20, $18, $20 | ||
903 | cmpult $20, $18, $10 | ||
904 | addq $10, $17, $17 | ||
905 | addq $19, $17, $19 | ||
906 | cmpult $19, $17, $18 | ||
907 | addq $9, $18, $9 | ||
908 | mulq $4, $22, $10 | ||
909 | umulh $4, $22, $17 | ||
910 | addq $20, $10, $20 | ||
911 | cmpult $20, $10, $18 | ||
912 | addq $18, $17, $17 | ||
913 | addq $19, $17, $19 | ||
914 | cmpult $19, $17, $10 | ||
915 | addq $9, $10, $9 | ||
916 | mulq $6, $7, $18 | ||
917 | umulh $6, $7, $17 | ||
918 | addq $20, $18, $20 | ||
919 | cmpult $20, $18, $10 | ||
920 | addq $10, $17, $17 | ||
921 | addq $19, $17, $19 | ||
922 | cmpult $19, $17, $18 | ||
923 | addq $9, $18, $9 | ||
924 | mulq $8, $5, $10 | ||
925 | umulh $8, $5, $17 | ||
926 | addq $20, $10, $20 | ||
927 | cmpult $20, $10, $18 | ||
928 | addq $18, $17, $17 | ||
929 | addq $19, $17, $19 | ||
930 | cmpult $19, $17, $10 | ||
931 | addq $9, $10, $9 | ||
932 | mulq $23, $3, $18 | ||
933 | umulh $23, $3, $17 | ||
934 | addq $20, $18, $20 | ||
935 | cmpult $20, $18, $10 | ||
936 | addq $10, $17, $17 | ||
937 | addq $19, $17, $19 | ||
938 | cmpult $19, $17, $18 | ||
939 | addq $9, $18, $9 | ||
940 | mulq $25, $1, $10 | ||
941 | umulh $25, $1, $17 | ||
942 | addq $20, $10, $20 | ||
943 | cmpult $20, $10, $18 | ||
944 | addq $18, $17, $17 | ||
945 | addq $19, $17, $19 | ||
946 | cmpult $19, $17, $10 | ||
947 | addq $9, $10, $9 | ||
948 | stq $20, 48($16) | ||
949 | bis $31, $31, $20 | ||
950 | mulq $0, $21, $18 | ||
951 | umulh $0, $21, $17 | ||
952 | addq $19, $18, $19 | ||
953 | cmpult $19, $18, $10 | ||
954 | addq $10, $17, $17 | ||
955 | addq $9, $17, $9 | ||
956 | cmpult $9, $17, $18 | ||
957 | addq $20, $18, $20 | ||
958 | mulq $2, $27, $10 | ||
959 | umulh $2, $27, $17 | ||
960 | addq $19, $10, $19 | ||
961 | cmpult $19, $10, $18 | ||
962 | addq $18, $17, $17 | ||
963 | addq $9, $17, $9 | ||
964 | cmpult $9, $17, $0 | ||
965 | addq $20, $0, $20 | ||
966 | mulq $4, $24, $10 | ||
967 | umulh $4, $24, $18 | ||
968 | addq $19, $10, $19 | ||
969 | cmpult $19, $10, $17 | ||
970 | addq $17, $18, $18 | ||
971 | addq $9, $18, $9 | ||
972 | cmpult $9, $18, $0 | ||
973 | addq $20, $0, $20 | ||
974 | mulq $6, $22, $10 | ||
975 | umulh $6, $22, $17 | ||
976 | addq $19, $10, $19 | ||
977 | cmpult $19, $10, $18 | ||
978 | addq $18, $17, $17 | ||
979 | addq $9, $17, $9 | ||
980 | cmpult $9, $17, $0 | ||
981 | addq $20, $0, $20 | ||
982 | mulq $8, $7, $10 | ||
983 | umulh $8, $7, $18 | ||
984 | addq $19, $10, $19 | ||
985 | cmpult $19, $10, $17 | ||
986 | addq $17, $18, $18 | ||
987 | addq $9, $18, $9 | ||
988 | cmpult $9, $18, $0 | ||
989 | addq $20, $0, $20 | ||
990 | mulq $23, $5, $10 | ||
991 | umulh $23, $5, $17 | ||
992 | addq $19, $10, $19 | ||
993 | cmpult $19, $10, $18 | ||
994 | addq $18, $17, $17 | ||
995 | addq $9, $17, $9 | ||
996 | cmpult $9, $17, $0 | ||
997 | addq $20, $0, $20 | ||
998 | mulq $25, $3, $10 | ||
999 | umulh $25, $3, $18 | ||
1000 | addq $19, $10, $19 | ||
1001 | cmpult $19, $10, $17 | ||
1002 | addq $17, $18, $18 | ||
1003 | addq $9, $18, $9 | ||
1004 | cmpult $9, $18, $0 | ||
1005 | addq $20, $0, $20 | ||
1006 | mulq $28, $1, $10 | ||
1007 | umulh $28, $1, $17 | ||
1008 | addq $19, $10, $19 | ||
1009 | cmpult $19, $10, $18 | ||
1010 | addq $18, $17, $17 | ||
1011 | addq $9, $17, $9 | ||
1012 | cmpult $9, $17, $0 | ||
1013 | addq $20, $0, $20 | ||
1014 | stq $19, 56($16) | ||
1015 | bis $31, $31, $19 | ||
1016 | mulq $2, $21, $10 | ||
1017 | umulh $2, $21, $18 | ||
1018 | addq $9, $10, $9 | ||
1019 | cmpult $9, $10, $17 | ||
1020 | addq $17, $18, $18 | ||
1021 | addq $20, $18, $20 | ||
1022 | cmpult $20, $18, $0 | ||
1023 | addq $19, $0, $19 | ||
1024 | mulq $4, $27, $1 | ||
1025 | umulh $4, $27, $10 | ||
1026 | addq $9, $1, $9 | ||
1027 | cmpult $9, $1, $17 | ||
1028 | addq $17, $10, $10 | ||
1029 | addq $20, $10, $20 | ||
1030 | cmpult $20, $10, $18 | ||
1031 | addq $19, $18, $19 | ||
1032 | mulq $6, $24, $0 | ||
1033 | umulh $6, $24, $2 | ||
1034 | addq $9, $0, $9 | ||
1035 | cmpult $9, $0, $1 | ||
1036 | addq $1, $2, $2 | ||
1037 | addq $20, $2, $20 | ||
1038 | cmpult $20, $2, $17 | ||
1039 | addq $19, $17, $19 | ||
1040 | mulq $8, $22, $10 | ||
1041 | umulh $8, $22, $18 | ||
1042 | addq $9, $10, $9 | ||
1043 | cmpult $9, $10, $0 | ||
1044 | addq $0, $18, $18 | ||
1045 | addq $20, $18, $20 | ||
1046 | cmpult $20, $18, $1 | ||
1047 | addq $19, $1, $19 | ||
1048 | mulq $23, $7, $2 | ||
1049 | umulh $23, $7, $17 | ||
1050 | addq $9, $2, $9 | ||
1051 | cmpult $9, $2, $10 | ||
1052 | addq $10, $17, $17 | ||
1053 | addq $20, $17, $20 | ||
1054 | cmpult $20, $17, $0 | ||
1055 | addq $19, $0, $19 | ||
1056 | mulq $25, $5, $18 | ||
1057 | umulh $25, $5, $1 | ||
1058 | addq $9, $18, $9 | ||
1059 | cmpult $9, $18, $2 | ||
1060 | addq $2, $1, $1 | ||
1061 | addq $20, $1, $20 | ||
1062 | cmpult $20, $1, $10 | ||
1063 | addq $19, $10, $19 | ||
1064 | mulq $28, $3, $17 | ||
1065 | umulh $28, $3, $0 | ||
1066 | addq $9, $17, $9 | ||
1067 | cmpult $9, $17, $18 | ||
1068 | addq $18, $0, $0 | ||
1069 | addq $20, $0, $20 | ||
1070 | cmpult $20, $0, $2 | ||
1071 | addq $19, $2, $19 | ||
1072 | stq $9, 64($16) | ||
1073 | bis $31, $31, $9 | ||
1074 | mulq $4, $21, $1 | ||
1075 | umulh $4, $21, $10 | ||
1076 | addq $20, $1, $20 | ||
1077 | cmpult $20, $1, $17 | ||
1078 | addq $17, $10, $10 | ||
1079 | addq $19, $10, $19 | ||
1080 | cmpult $19, $10, $18 | ||
1081 | addq $9, $18, $9 | ||
1082 | mulq $6, $27, $0 | ||
1083 | umulh $6, $27, $2 | ||
1084 | addq $20, $0, $20 | ||
1085 | cmpult $20, $0, $3 | ||
1086 | addq $3, $2, $2 | ||
1087 | addq $19, $2, $19 | ||
1088 | cmpult $19, $2, $1 | ||
1089 | addq $9, $1, $9 | ||
1090 | mulq $8, $24, $17 | ||
1091 | umulh $8, $24, $10 | ||
1092 | addq $20, $17, $20 | ||
1093 | cmpult $20, $17, $18 | ||
1094 | addq $18, $10, $10 | ||
1095 | addq $19, $10, $19 | ||
1096 | cmpult $19, $10, $4 | ||
1097 | addq $9, $4, $9 | ||
1098 | mulq $23, $22, $0 | ||
1099 | umulh $23, $22, $3 | ||
1100 | addq $20, $0, $20 | ||
1101 | cmpult $20, $0, $2 | ||
1102 | addq $2, $3, $3 | ||
1103 | addq $19, $3, $19 | ||
1104 | cmpult $19, $3, $1 | ||
1105 | addq $9, $1, $9 | ||
1106 | mulq $25, $7, $17 | ||
1107 | umulh $25, $7, $18 | ||
1108 | addq $20, $17, $20 | ||
1109 | cmpult $20, $17, $10 | ||
1110 | addq $10, $18, $18 | ||
1111 | addq $19, $18, $19 | ||
1112 | cmpult $19, $18, $4 | ||
1113 | addq $9, $4, $9 | ||
1114 | mulq $28, $5, $0 | ||
1115 | umulh $28, $5, $2 | ||
1116 | addq $20, $0, $20 | ||
1117 | cmpult $20, $0, $3 | ||
1118 | addq $3, $2, $2 | ||
1119 | addq $19, $2, $19 | ||
1120 | cmpult $19, $2, $1 | ||
1121 | addq $9, $1, $9 | ||
1122 | stq $20, 72($16) | ||
1123 | bis $31, $31, $20 | ||
1124 | mulq $6, $21, $17 | ||
1125 | umulh $6, $21, $10 | ||
1126 | addq $19, $17, $19 | ||
1127 | cmpult $19, $17, $18 | ||
1128 | addq $18, $10, $10 | ||
1129 | addq $9, $10, $9 | ||
1130 | cmpult $9, $10, $4 | ||
1131 | addq $20, $4, $20 | ||
1132 | mulq $8, $27, $0 | ||
1133 | umulh $8, $27, $3 | ||
1134 | addq $19, $0, $19 | ||
1135 | cmpult $19, $0, $2 | ||
1136 | addq $2, $3, $3 | ||
1137 | addq $9, $3, $9 | ||
1138 | cmpult $9, $3, $1 | ||
1139 | addq $20, $1, $20 | ||
1140 | mulq $23, $24, $5 | ||
1141 | umulh $23, $24, $17 | ||
1142 | addq $19, $5, $19 | ||
1143 | cmpult $19, $5, $18 | ||
1144 | addq $18, $17, $17 | ||
1145 | addq $9, $17, $9 | ||
1146 | cmpult $9, $17, $10 | ||
1147 | addq $20, $10, $20 | ||
1148 | mulq $25, $22, $4 | ||
1149 | umulh $25, $22, $6 | ||
1150 | addq $19, $4, $19 | ||
1151 | cmpult $19, $4, $0 | ||
1152 | addq $0, $6, $6 | ||
1153 | addq $9, $6, $9 | ||
1154 | cmpult $9, $6, $2 | ||
1155 | addq $20, $2, $20 | ||
1156 | mulq $28, $7, $3 | ||
1157 | umulh $28, $7, $1 | ||
1158 | addq $19, $3, $19 | ||
1159 | cmpult $19, $3, $5 | ||
1160 | addq $5, $1, $1 | ||
1161 | addq $9, $1, $9 | ||
1162 | cmpult $9, $1, $18 | ||
1163 | addq $20, $18, $20 | ||
1164 | stq $19, 80($16) | ||
1165 | bis $31, $31, $19 | ||
1166 | mulq $8, $21, $17 | ||
1167 | umulh $8, $21, $10 | ||
1168 | addq $9, $17, $9 | ||
1169 | cmpult $9, $17, $4 | ||
1170 | addq $4, $10, $10 | ||
1171 | addq $20, $10, $20 | ||
1172 | cmpult $20, $10, $0 | ||
1173 | addq $19, $0, $19 | ||
1174 | mulq $23, $27, $6 | ||
1175 | umulh $23, $27, $2 | ||
1176 | addq $9, $6, $9 | ||
1177 | cmpult $9, $6, $3 | ||
1178 | addq $3, $2, $2 | ||
1179 | addq $20, $2, $20 | ||
1180 | cmpult $20, $2, $5 | ||
1181 | addq $19, $5, $19 | ||
1182 | mulq $25, $24, $1 | ||
1183 | umulh $25, $24, $18 | ||
1184 | addq $9, $1, $9 | ||
1185 | cmpult $9, $1, $7 | ||
1186 | addq $7, $18, $18 | ||
1187 | addq $20, $18, $20 | ||
1188 | cmpult $20, $18, $17 | ||
1189 | addq $19, $17, $19 | ||
1190 | mulq $28, $22, $4 | ||
1191 | umulh $28, $22, $10 | ||
1192 | addq $9, $4, $9 | ||
1193 | cmpult $9, $4, $0 | ||
1194 | addq $0, $10, $10 | ||
1195 | addq $20, $10, $20 | ||
1196 | cmpult $20, $10, $8 | ||
1197 | addq $19, $8, $19 | ||
1198 | stq $9, 88($16) | ||
1199 | bis $31, $31, $9 | ||
1200 | mulq $23, $21, $6 | ||
1201 | umulh $23, $21, $3 | ||
1202 | addq $20, $6, $20 | ||
1203 | cmpult $20, $6, $2 | ||
1204 | addq $2, $3, $3 | ||
1205 | addq $19, $3, $19 | ||
1206 | cmpult $19, $3, $5 | ||
1207 | addq $9, $5, $9 | ||
1208 | mulq $25, $27, $1 | ||
1209 | umulh $25, $27, $7 | ||
1210 | addq $20, $1, $20 | ||
1211 | cmpult $20, $1, $18 | ||
1212 | addq $18, $7, $7 | ||
1213 | addq $19, $7, $19 | ||
1214 | cmpult $19, $7, $17 | ||
1215 | addq $9, $17, $9 | ||
1216 | mulq $28, $24, $4 | ||
1217 | umulh $28, $24, $0 | ||
1218 | addq $20, $4, $20 | ||
1219 | cmpult $20, $4, $10 | ||
1220 | addq $10, $0, $0 | ||
1221 | addq $19, $0, $19 | ||
1222 | cmpult $19, $0, $8 | ||
1223 | addq $9, $8, $9 | ||
1224 | stq $20, 96($16) | ||
1225 | bis $31, $31, $20 | ||
1226 | mulq $25, $21, $22 | ||
1227 | umulh $25, $21, $6 | ||
1228 | addq $19, $22, $19 | ||
1229 | cmpult $19, $22, $2 | ||
1230 | addq $2, $6, $6 | ||
1231 | addq $9, $6, $9 | ||
1232 | cmpult $9, $6, $3 | ||
1233 | addq $20, $3, $20 | ||
1234 | mulq $28, $27, $5 | ||
1235 | umulh $28, $27, $23 | ||
1236 | addq $19, $5, $19 | ||
1237 | cmpult $19, $5, $1 | ||
1238 | addq $1, $23, $23 | ||
1239 | addq $9, $23, $9 | ||
1240 | cmpult $9, $23, $18 | ||
1241 | addq $20, $18, $20 | ||
1242 | stq $19, 104($16) | ||
1243 | bis $31, $31, $19 | ||
1244 | mulq $28, $21, $7 | ||
1245 | umulh $28, $21, $17 | ||
1246 | addq $9, $7, $9 | ||
1247 | cmpult $9, $7, $4 | ||
1248 | addq $4, $17, $17 | ||
1249 | addq $20, $17, $20 | ||
1250 | cmpult $20, $17, $10 | ||
1251 | addq $19, $10, $19 | ||
1252 | stq $9, 112($16) | ||
1253 | stq $20, 120($16) | ||
1254 | ldq $9, 0($30) | ||
1255 | ldq $10, 8($30) | ||
1256 | addq $30, 16, $30 | ||
1257 | ret $31,($26),1 | ||
1258 | .end bn_mul_comba8 | ||
1259 | .text | ||
1260 | .align 3 | ||
1261 | .globl bn_sqr_comba4 | ||
1262 | .ent bn_sqr_comba4 | ||
1263 | bn_sqr_comba4: | ||
1264 | bn_sqr_comba4..ng: | ||
1265 | .frame $30,0,$26,0 | ||
1266 | .prologue 0 | ||
1267 | |||
1268 | ldq $0, 0($17) | ||
1269 | ldq $1, 8($17) | ||
1270 | ldq $2, 16($17) | ||
1271 | ldq $3, 24($17) | ||
1272 | bis $31, $31, $6 | ||
1273 | mulq $0, $0, $4 | ||
1274 | umulh $0, $0, $5 | ||
1275 | stq $4, 0($16) | ||
1276 | bis $31, $31, $4 | ||
1277 | mulq $0, $1, $7 | ||
1278 | umulh $0, $1, $8 | ||
1279 | cmplt $7, $31, $22 | ||
1280 | cmplt $8, $31, $23 | ||
1281 | addq $7, $7, $7 | ||
1282 | addq $8, $8, $8 | ||
1283 | addq $8, $22, $8 | ||
1284 | addq $4, $23, $4 | ||
1285 | addq $5, $7, $5 | ||
1286 | addq $6, $8, $6 | ||
1287 | cmpult $5, $7, $24 | ||
1288 | cmpult $6, $8, $25 | ||
1289 | addq $6, $24, $6 | ||
1290 | addq $4, $25, $4 | ||
1291 | stq $5, 8($16) | ||
1292 | bis $31, $31, $5 | ||
1293 | mulq $1, $1, $27 | ||
1294 | umulh $1, $1, $28 | ||
1295 | addq $6, $27, $6 | ||
1296 | addq $4, $28, $4 | ||
1297 | cmpult $6, $27, $21 | ||
1298 | cmpult $4, $28, $20 | ||
1299 | addq $4, $21, $4 | ||
1300 | addq $5, $20, $5 | ||
1301 | mulq $2, $0, $19 | ||
1302 | umulh $2, $0, $18 | ||
1303 | cmplt $19, $31, $17 | ||
1304 | cmplt $18, $31, $22 | ||
1305 | addq $19, $19, $19 | ||
1306 | addq $18, $18, $18 | ||
1307 | addq $18, $17, $18 | ||
1308 | addq $5, $22, $5 | ||
1309 | addq $6, $19, $6 | ||
1310 | addq $4, $18, $4 | ||
1311 | cmpult $6, $19, $23 | ||
1312 | cmpult $4, $18, $7 | ||
1313 | addq $4, $23, $4 | ||
1314 | addq $5, $7, $5 | ||
1315 | stq $6, 16($16) | ||
1316 | bis $31, $31, $6 | ||
1317 | mulq $3, $0, $8 | ||
1318 | umulh $3, $0, $24 | ||
1319 | cmplt $8, $31, $25 | ||
1320 | cmplt $24, $31, $27 | ||
1321 | addq $8, $8, $8 | ||
1322 | addq $24, $24, $24 | ||
1323 | addq $24, $25, $24 | ||
1324 | addq $6, $27, $6 | ||
1325 | addq $4, $8, $4 | ||
1326 | addq $5, $24, $5 | ||
1327 | cmpult $4, $8, $28 | ||
1328 | cmpult $5, $24, $21 | ||
1329 | addq $5, $28, $5 | ||
1330 | addq $6, $21, $6 | ||
1331 | mulq $2, $1, $20 | ||
1332 | umulh $2, $1, $17 | ||
1333 | cmplt $20, $31, $22 | ||
1334 | cmplt $17, $31, $19 | ||
1335 | addq $20, $20, $20 | ||
1336 | addq $17, $17, $17 | ||
1337 | addq $17, $22, $17 | ||
1338 | addq $6, $19, $6 | ||
1339 | addq $4, $20, $4 | ||
1340 | addq $5, $17, $5 | ||
1341 | cmpult $4, $20, $18 | ||
1342 | cmpult $5, $17, $23 | ||
1343 | addq $5, $18, $5 | ||
1344 | addq $6, $23, $6 | ||
1345 | stq $4, 24($16) | ||
1346 | bis $31, $31, $4 | ||
1347 | mulq $2, $2, $7 | ||
1348 | umulh $2, $2, $25 | ||
1349 | addq $5, $7, $5 | ||
1350 | addq $6, $25, $6 | ||
1351 | cmpult $5, $7, $27 | ||
1352 | cmpult $6, $25, $8 | ||
1353 | addq $6, $27, $6 | ||
1354 | addq $4, $8, $4 | ||
1355 | mulq $3, $1, $24 | ||
1356 | umulh $3, $1, $28 | ||
1357 | cmplt $24, $31, $21 | ||
1358 | cmplt $28, $31, $22 | ||
1359 | addq $24, $24, $24 | ||
1360 | addq $28, $28, $28 | ||
1361 | addq $28, $21, $28 | ||
1362 | addq $4, $22, $4 | ||
1363 | addq $5, $24, $5 | ||
1364 | addq $6, $28, $6 | ||
1365 | cmpult $5, $24, $19 | ||
1366 | cmpult $6, $28, $20 | ||
1367 | addq $6, $19, $6 | ||
1368 | addq $4, $20, $4 | ||
1369 | stq $5, 32($16) | ||
1370 | bis $31, $31, $5 | ||
1371 | mulq $3, $2, $17 | ||
1372 | umulh $3, $2, $18 | ||
1373 | cmplt $17, $31, $23 | ||
1374 | cmplt $18, $31, $7 | ||
1375 | addq $17, $17, $17 | ||
1376 | addq $18, $18, $18 | ||
1377 | addq $18, $23, $18 | ||
1378 | addq $5, $7, $5 | ||
1379 | addq $6, $17, $6 | ||
1380 | addq $4, $18, $4 | ||
1381 | cmpult $6, $17, $25 | ||
1382 | cmpult $4, $18, $27 | ||
1383 | addq $4, $25, $4 | ||
1384 | addq $5, $27, $5 | ||
1385 | stq $6, 40($16) | ||
1386 | bis $31, $31, $6 | ||
1387 | mulq $3, $3, $8 | ||
1388 | umulh $3, $3, $21 | ||
1389 | addq $4, $8, $4 | ||
1390 | addq $5, $21, $5 | ||
1391 | cmpult $4, $8, $22 | ||
1392 | cmpult $5, $21, $24 | ||
1393 | addq $5, $22, $5 | ||
1394 | addq $6, $24, $6 | ||
1395 | stq $4, 48($16) | ||
1396 | stq $5, 56($16) | ||
1397 | ret $31,($26),1 | ||
1398 | .end bn_sqr_comba4 | ||
1399 | .text | ||
1400 | .align 3 | ||
1401 | .globl bn_sqr_comba8 | ||
1402 | .ent bn_sqr_comba8 | ||
1403 | bn_sqr_comba8: | ||
1404 | bn_sqr_comba8..ng: | ||
1405 | .frame $30,0,$26,0 | ||
1406 | .prologue 0 | ||
344 | 1407 | ||
1408 | ldq $0, 0($17) | ||
1409 | ldq $1, 8($17) | ||
1410 | ldq $2, 16($17) | ||
1411 | ldq $3, 24($17) | ||
1412 | ldq $4, 32($17) | ||
1413 | ldq $5, 40($17) | ||
1414 | ldq $6, 48($17) | ||
1415 | ldq $7, 56($17) | ||
1416 | bis $31, $31, $23 | ||
1417 | mulq $0, $0, $8 | ||
1418 | umulh $0, $0, $22 | ||
1419 | stq $8, 0($16) | ||
1420 | bis $31, $31, $8 | ||
1421 | mulq $1, $0, $24 | ||
1422 | umulh $1, $0, $25 | ||
1423 | cmplt $24, $31, $27 | ||
1424 | cmplt $25, $31, $28 | ||
1425 | addq $24, $24, $24 | ||
1426 | addq $25, $25, $25 | ||
1427 | addq $25, $27, $25 | ||
1428 | addq $8, $28, $8 | ||
1429 | addq $22, $24, $22 | ||
1430 | addq $23, $25, $23 | ||
1431 | cmpult $22, $24, $21 | ||
1432 | cmpult $23, $25, $20 | ||
1433 | addq $23, $21, $23 | ||
1434 | addq $8, $20, $8 | ||
1435 | stq $22, 8($16) | ||
1436 | bis $31, $31, $22 | ||
1437 | mulq $1, $1, $19 | ||
1438 | umulh $1, $1, $18 | ||
1439 | addq $23, $19, $23 | ||
1440 | addq $8, $18, $8 | ||
1441 | cmpult $23, $19, $17 | ||
1442 | cmpult $8, $18, $27 | ||
1443 | addq $8, $17, $8 | ||
1444 | addq $22, $27, $22 | ||
1445 | mulq $2, $0, $28 | ||
1446 | umulh $2, $0, $24 | ||
1447 | cmplt $28, $31, $25 | ||
1448 | cmplt $24, $31, $21 | ||
1449 | addq $28, $28, $28 | ||
1450 | addq $24, $24, $24 | ||
1451 | addq $24, $25, $24 | ||
1452 | addq $22, $21, $22 | ||
1453 | addq $23, $28, $23 | ||
1454 | addq $8, $24, $8 | ||
1455 | cmpult $23, $28, $20 | ||
1456 | cmpult $8, $24, $19 | ||
1457 | addq $8, $20, $8 | ||
1458 | addq $22, $19, $22 | ||
1459 | stq $23, 16($16) | ||
1460 | bis $31, $31, $23 | ||
1461 | mulq $2, $1, $18 | ||
1462 | umulh $2, $1, $17 | ||
1463 | cmplt $18, $31, $27 | ||
1464 | cmplt $17, $31, $25 | ||
1465 | addq $18, $18, $18 | ||
1466 | addq $17, $17, $17 | ||
1467 | addq $17, $27, $17 | ||
1468 | addq $23, $25, $23 | ||
1469 | addq $8, $18, $8 | ||
1470 | addq $22, $17, $22 | ||
1471 | cmpult $8, $18, $21 | ||
1472 | cmpult $22, $17, $28 | ||
1473 | addq $22, $21, $22 | ||
1474 | addq $23, $28, $23 | ||
1475 | mulq $3, $0, $24 | ||
1476 | umulh $3, $0, $20 | ||
1477 | cmplt $24, $31, $19 | ||
1478 | cmplt $20, $31, $27 | ||
1479 | addq $24, $24, $24 | ||
1480 | addq $20, $20, $20 | ||
1481 | addq $20, $19, $20 | ||
1482 | addq $23, $27, $23 | ||
1483 | addq $8, $24, $8 | ||
1484 | addq $22, $20, $22 | ||
1485 | cmpult $8, $24, $25 | ||
1486 | cmpult $22, $20, $18 | ||
1487 | addq $22, $25, $22 | ||
1488 | addq $23, $18, $23 | ||
1489 | stq $8, 24($16) | ||
1490 | bis $31, $31, $8 | ||
1491 | mulq $2, $2, $17 | ||
1492 | umulh $2, $2, $21 | ||
1493 | addq $22, $17, $22 | ||
1494 | addq $23, $21, $23 | ||
1495 | cmpult $22, $17, $28 | ||
1496 | cmpult $23, $21, $19 | ||
1497 | addq $23, $28, $23 | ||
1498 | addq $8, $19, $8 | ||
1499 | mulq $3, $1, $27 | ||
1500 | umulh $3, $1, $24 | ||
1501 | cmplt $27, $31, $20 | ||
1502 | cmplt $24, $31, $25 | ||
1503 | addq $27, $27, $27 | ||
1504 | addq $24, $24, $24 | ||
1505 | addq $24, $20, $24 | ||
1506 | addq $8, $25, $8 | ||
1507 | addq $22, $27, $22 | ||
1508 | addq $23, $24, $23 | ||
1509 | cmpult $22, $27, $18 | ||
1510 | cmpult $23, $24, $17 | ||
1511 | addq $23, $18, $23 | ||
1512 | addq $8, $17, $8 | ||
1513 | mulq $4, $0, $21 | ||
1514 | umulh $4, $0, $28 | ||
1515 | cmplt $21, $31, $19 | ||
1516 | cmplt $28, $31, $20 | ||
1517 | addq $21, $21, $21 | ||
1518 | addq $28, $28, $28 | ||
1519 | addq $28, $19, $28 | ||
1520 | addq $8, $20, $8 | ||
1521 | addq $22, $21, $22 | ||
1522 | addq $23, $28, $23 | ||
1523 | cmpult $22, $21, $25 | ||
1524 | cmpult $23, $28, $27 | ||
1525 | addq $23, $25, $23 | ||
1526 | addq $8, $27, $8 | ||
1527 | stq $22, 32($16) | ||
1528 | bis $31, $31, $22 | ||
1529 | mulq $3, $2, $24 | ||
1530 | umulh $3, $2, $18 | ||
1531 | cmplt $24, $31, $17 | ||
1532 | cmplt $18, $31, $19 | ||
1533 | addq $24, $24, $24 | ||
1534 | addq $18, $18, $18 | ||
1535 | addq $18, $17, $18 | ||
1536 | addq $22, $19, $22 | ||
1537 | addq $23, $24, $23 | ||
1538 | addq $8, $18, $8 | ||
1539 | cmpult $23, $24, $20 | ||
1540 | cmpult $8, $18, $21 | ||
1541 | addq $8, $20, $8 | ||
1542 | addq $22, $21, $22 | ||
1543 | mulq $4, $1, $28 | ||
1544 | umulh $4, $1, $25 | ||
1545 | cmplt $28, $31, $27 | ||
1546 | cmplt $25, $31, $17 | ||
1547 | addq $28, $28, $28 | ||
1548 | addq $25, $25, $25 | ||
1549 | addq $25, $27, $25 | ||
1550 | addq $22, $17, $22 | ||
1551 | addq $23, $28, $23 | ||
1552 | addq $8, $25, $8 | ||
1553 | cmpult $23, $28, $19 | ||
1554 | cmpult $8, $25, $24 | ||
1555 | addq $8, $19, $8 | ||
1556 | addq $22, $24, $22 | ||
1557 | mulq $5, $0, $18 | ||
1558 | umulh $5, $0, $20 | ||
1559 | cmplt $18, $31, $21 | ||
1560 | cmplt $20, $31, $27 | ||
1561 | addq $18, $18, $18 | ||
1562 | addq $20, $20, $20 | ||
1563 | addq $20, $21, $20 | ||
1564 | addq $22, $27, $22 | ||
1565 | addq $23, $18, $23 | ||
1566 | addq $8, $20, $8 | ||
1567 | cmpult $23, $18, $17 | ||
1568 | cmpult $8, $20, $28 | ||
1569 | addq $8, $17, $8 | ||
1570 | addq $22, $28, $22 | ||
1571 | stq $23, 40($16) | ||
1572 | bis $31, $31, $23 | ||
1573 | mulq $3, $3, $25 | ||
1574 | umulh $3, $3, $19 | ||
1575 | addq $8, $25, $8 | ||
1576 | addq $22, $19, $22 | ||
1577 | cmpult $8, $25, $24 | ||
1578 | cmpult $22, $19, $21 | ||
1579 | addq $22, $24, $22 | ||
1580 | addq $23, $21, $23 | ||
1581 | mulq $4, $2, $27 | ||
1582 | umulh $4, $2, $18 | ||
1583 | cmplt $27, $31, $20 | ||
1584 | cmplt $18, $31, $17 | ||
1585 | addq $27, $27, $27 | ||
1586 | addq $18, $18, $18 | ||
1587 | addq $18, $20, $18 | ||
1588 | addq $23, $17, $23 | ||
1589 | addq $8, $27, $8 | ||
1590 | addq $22, $18, $22 | ||
1591 | cmpult $8, $27, $28 | ||
1592 | cmpult $22, $18, $25 | ||
1593 | addq $22, $28, $22 | ||
1594 | addq $23, $25, $23 | ||
1595 | mulq $5, $1, $19 | ||
1596 | umulh $5, $1, $24 | ||
1597 | cmplt $19, $31, $21 | ||
1598 | cmplt $24, $31, $20 | ||
1599 | addq $19, $19, $19 | ||
1600 | addq $24, $24, $24 | ||
1601 | addq $24, $21, $24 | ||
1602 | addq $23, $20, $23 | ||
1603 | addq $8, $19, $8 | ||
1604 | addq $22, $24, $22 | ||
1605 | cmpult $8, $19, $17 | ||
1606 | cmpult $22, $24, $27 | ||
1607 | addq $22, $17, $22 | ||
1608 | addq $23, $27, $23 | ||
1609 | mulq $6, $0, $18 | ||
1610 | umulh $6, $0, $28 | ||
1611 | cmplt $18, $31, $25 | ||
1612 | cmplt $28, $31, $21 | ||
1613 | addq $18, $18, $18 | ||
1614 | addq $28, $28, $28 | ||
1615 | addq $28, $25, $28 | ||
1616 | addq $23, $21, $23 | ||
1617 | addq $8, $18, $8 | ||
1618 | addq $22, $28, $22 | ||
1619 | cmpult $8, $18, $20 | ||
1620 | cmpult $22, $28, $19 | ||
1621 | addq $22, $20, $22 | ||
1622 | addq $23, $19, $23 | ||
1623 | stq $8, 48($16) | ||
1624 | bis $31, $31, $8 | ||
1625 | mulq $4, $3, $24 | ||
1626 | umulh $4, $3, $17 | ||
1627 | cmplt $24, $31, $27 | ||
1628 | cmplt $17, $31, $25 | ||
1629 | addq $24, $24, $24 | ||
1630 | addq $17, $17, $17 | ||
1631 | addq $17, $27, $17 | ||
1632 | addq $8, $25, $8 | ||
1633 | addq $22, $24, $22 | ||
1634 | addq $23, $17, $23 | ||
1635 | cmpult $22, $24, $21 | ||
1636 | cmpult $23, $17, $18 | ||
1637 | addq $23, $21, $23 | ||
1638 | addq $8, $18, $8 | ||
1639 | mulq $5, $2, $28 | ||
1640 | umulh $5, $2, $20 | ||
1641 | cmplt $28, $31, $19 | ||
1642 | cmplt $20, $31, $27 | ||
1643 | addq $28, $28, $28 | ||
1644 | addq $20, $20, $20 | ||
1645 | addq $20, $19, $20 | ||
1646 | addq $8, $27, $8 | ||
1647 | addq $22, $28, $22 | ||
1648 | addq $23, $20, $23 | ||
1649 | cmpult $22, $28, $25 | ||
1650 | cmpult $23, $20, $24 | ||
1651 | addq $23, $25, $23 | ||
1652 | addq $8, $24, $8 | ||
1653 | mulq $6, $1, $17 | ||
1654 | umulh $6, $1, $21 | ||
1655 | cmplt $17, $31, $18 | ||
1656 | cmplt $21, $31, $19 | ||
1657 | addq $17, $17, $17 | ||
1658 | addq $21, $21, $21 | ||
1659 | addq $21, $18, $21 | ||
1660 | addq $8, $19, $8 | ||
1661 | addq $22, $17, $22 | ||
1662 | addq $23, $21, $23 | ||
1663 | cmpult $22, $17, $27 | ||
1664 | cmpult $23, $21, $28 | ||
1665 | addq $23, $27, $23 | ||
1666 | addq $8, $28, $8 | ||
1667 | mulq $7, $0, $20 | ||
1668 | umulh $7, $0, $25 | ||
1669 | cmplt $20, $31, $24 | ||
1670 | cmplt $25, $31, $18 | ||
1671 | addq $20, $20, $20 | ||
1672 | addq $25, $25, $25 | ||
1673 | addq $25, $24, $25 | ||
1674 | addq $8, $18, $8 | ||
1675 | addq $22, $20, $22 | ||
1676 | addq $23, $25, $23 | ||
1677 | cmpult $22, $20, $19 | ||
1678 | cmpult $23, $25, $17 | ||
1679 | addq $23, $19, $23 | ||
1680 | addq $8, $17, $8 | ||
1681 | stq $22, 56($16) | ||
1682 | bis $31, $31, $22 | ||
1683 | mulq $4, $4, $21 | ||
1684 | umulh $4, $4, $27 | ||
1685 | addq $23, $21, $23 | ||
1686 | addq $8, $27, $8 | ||
1687 | cmpult $23, $21, $28 | ||
1688 | cmpult $8, $27, $24 | ||
1689 | addq $8, $28, $8 | ||
1690 | addq $22, $24, $22 | ||
1691 | mulq $5, $3, $18 | ||
1692 | umulh $5, $3, $20 | ||
1693 | cmplt $18, $31, $25 | ||
1694 | cmplt $20, $31, $19 | ||
1695 | addq $18, $18, $18 | ||
1696 | addq $20, $20, $20 | ||
1697 | addq $20, $25, $20 | ||
1698 | addq $22, $19, $22 | ||
1699 | addq $23, $18, $23 | ||
1700 | addq $8, $20, $8 | ||
1701 | cmpult $23, $18, $17 | ||
1702 | cmpult $8, $20, $21 | ||
1703 | addq $8, $17, $8 | ||
1704 | addq $22, $21, $22 | ||
1705 | mulq $6, $2, $27 | ||
1706 | umulh $6, $2, $28 | ||
1707 | cmplt $27, $31, $24 | ||
1708 | cmplt $28, $31, $25 | ||
1709 | addq $27, $27, $27 | ||
1710 | addq $28, $28, $28 | ||
1711 | addq $28, $24, $28 | ||
1712 | addq $22, $25, $22 | ||
1713 | addq $23, $27, $23 | ||
1714 | addq $8, $28, $8 | ||
1715 | cmpult $23, $27, $19 | ||
1716 | cmpult $8, $28, $18 | ||
1717 | addq $8, $19, $8 | ||
1718 | addq $22, $18, $22 | ||
1719 | mulq $7, $1, $20 | ||
1720 | umulh $7, $1, $17 | ||
1721 | cmplt $20, $31, $21 | ||
1722 | cmplt $17, $31, $24 | ||
1723 | addq $20, $20, $20 | ||
1724 | addq $17, $17, $17 | ||
1725 | addq $17, $21, $17 | ||
1726 | addq $22, $24, $22 | ||
1727 | addq $23, $20, $23 | ||
1728 | addq $8, $17, $8 | ||
1729 | cmpult $23, $20, $25 | ||
1730 | cmpult $8, $17, $27 | ||
1731 | addq $8, $25, $8 | ||
1732 | addq $22, $27, $22 | ||
1733 | stq $23, 64($16) | ||
1734 | bis $31, $31, $23 | ||
1735 | mulq $5, $4, $28 | ||
1736 | umulh $5, $4, $19 | ||
1737 | cmplt $28, $31, $18 | ||
1738 | cmplt $19, $31, $21 | ||
1739 | addq $28, $28, $28 | ||
1740 | addq $19, $19, $19 | ||
1741 | addq $19, $18, $19 | ||
1742 | addq $23, $21, $23 | ||
1743 | addq $8, $28, $8 | ||
1744 | addq $22, $19, $22 | ||
1745 | cmpult $8, $28, $24 | ||
1746 | cmpult $22, $19, $20 | ||
1747 | addq $22, $24, $22 | ||
1748 | addq $23, $20, $23 | ||
1749 | mulq $6, $3, $17 | ||
1750 | umulh $6, $3, $25 | ||
1751 | cmplt $17, $31, $27 | ||
1752 | cmplt $25, $31, $18 | ||
1753 | addq $17, $17, $17 | ||
1754 | addq $25, $25, $25 | ||
1755 | addq $25, $27, $25 | ||
1756 | addq $23, $18, $23 | ||
1757 | addq $8, $17, $8 | ||
1758 | addq $22, $25, $22 | ||
1759 | cmpult $8, $17, $21 | ||
1760 | cmpult $22, $25, $28 | ||
1761 | addq $22, $21, $22 | ||
1762 | addq $23, $28, $23 | ||
1763 | mulq $7, $2, $19 | ||
1764 | umulh $7, $2, $24 | ||
1765 | cmplt $19, $31, $20 | ||
1766 | cmplt $24, $31, $27 | ||
1767 | addq $19, $19, $19 | ||
1768 | addq $24, $24, $24 | ||
1769 | addq $24, $20, $24 | ||
1770 | addq $23, $27, $23 | ||
1771 | addq $8, $19, $8 | ||
1772 | addq $22, $24, $22 | ||
1773 | cmpult $8, $19, $18 | ||
1774 | cmpult $22, $24, $17 | ||
1775 | addq $22, $18, $22 | ||
1776 | addq $23, $17, $23 | ||
1777 | stq $8, 72($16) | ||
1778 | bis $31, $31, $8 | ||
1779 | mulq $5, $5, $25 | ||
1780 | umulh $5, $5, $21 | ||
1781 | addq $22, $25, $22 | ||
1782 | addq $23, $21, $23 | ||
1783 | cmpult $22, $25, $28 | ||
1784 | cmpult $23, $21, $20 | ||
1785 | addq $23, $28, $23 | ||
1786 | addq $8, $20, $8 | ||
1787 | mulq $6, $4, $27 | ||
1788 | umulh $6, $4, $19 | ||
1789 | cmplt $27, $31, $24 | ||
1790 | cmplt $19, $31, $18 | ||
1791 | addq $27, $27, $27 | ||
1792 | addq $19, $19, $19 | ||
1793 | addq $19, $24, $19 | ||
1794 | addq $8, $18, $8 | ||
1795 | addq $22, $27, $22 | ||
1796 | addq $23, $19, $23 | ||
1797 | cmpult $22, $27, $17 | ||
1798 | cmpult $23, $19, $25 | ||
1799 | addq $23, $17, $23 | ||
1800 | addq $8, $25, $8 | ||
1801 | mulq $7, $3, $21 | ||
1802 | umulh $7, $3, $28 | ||
1803 | cmplt $21, $31, $20 | ||
1804 | cmplt $28, $31, $24 | ||
1805 | addq $21, $21, $21 | ||
1806 | addq $28, $28, $28 | ||
1807 | addq $28, $20, $28 | ||
1808 | addq $8, $24, $8 | ||
1809 | addq $22, $21, $22 | ||
1810 | addq $23, $28, $23 | ||
1811 | cmpult $22, $21, $18 | ||
1812 | cmpult $23, $28, $27 | ||
1813 | addq $23, $18, $23 | ||
1814 | addq $8, $27, $8 | ||
1815 | stq $22, 80($16) | ||
1816 | bis $31, $31, $22 | ||
1817 | mulq $6, $5, $19 | ||
1818 | umulh $6, $5, $17 | ||
1819 | cmplt $19, $31, $25 | ||
1820 | cmplt $17, $31, $20 | ||
1821 | addq $19, $19, $19 | ||
1822 | addq $17, $17, $17 | ||
1823 | addq $17, $25, $17 | ||
1824 | addq $22, $20, $22 | ||
1825 | addq $23, $19, $23 | ||
1826 | addq $8, $17, $8 | ||
1827 | cmpult $23, $19, $24 | ||
1828 | cmpult $8, $17, $21 | ||
1829 | addq $8, $24, $8 | ||
1830 | addq $22, $21, $22 | ||
1831 | mulq $7, $4, $28 | ||
1832 | umulh $7, $4, $18 | ||
1833 | cmplt $28, $31, $27 | ||
1834 | cmplt $18, $31, $25 | ||
1835 | addq $28, $28, $28 | ||
1836 | addq $18, $18, $18 | ||
1837 | addq $18, $27, $18 | ||
1838 | addq $22, $25, $22 | ||
1839 | addq $23, $28, $23 | ||
1840 | addq $8, $18, $8 | ||
1841 | cmpult $23, $28, $20 | ||
1842 | cmpult $8, $18, $19 | ||
1843 | addq $8, $20, $8 | ||
1844 | addq $22, $19, $22 | ||
1845 | stq $23, 88($16) | ||
1846 | bis $31, $31, $23 | ||
1847 | mulq $6, $6, $17 | ||
1848 | umulh $6, $6, $24 | ||
1849 | addq $8, $17, $8 | ||
1850 | addq $22, $24, $22 | ||
1851 | cmpult $8, $17, $21 | ||
1852 | cmpult $22, $24, $27 | ||
1853 | addq $22, $21, $22 | ||
1854 | addq $23, $27, $23 | ||
1855 | mulq $7, $5, $25 | ||
1856 | umulh $7, $5, $28 | ||
1857 | cmplt $25, $31, $18 | ||
1858 | cmplt $28, $31, $20 | ||
1859 | addq $25, $25, $25 | ||
1860 | addq $28, $28, $28 | ||
1861 | addq $28, $18, $28 | ||
1862 | addq $23, $20, $23 | ||
1863 | addq $8, $25, $8 | ||
1864 | addq $22, $28, $22 | ||
1865 | cmpult $8, $25, $19 | ||
1866 | cmpult $22, $28, $17 | ||
1867 | addq $22, $19, $22 | ||
1868 | addq $23, $17, $23 | ||
1869 | stq $8, 96($16) | ||
1870 | bis $31, $31, $8 | ||
1871 | mulq $7, $6, $24 | ||
1872 | umulh $7, $6, $21 | ||
1873 | cmplt $24, $31, $27 | ||
1874 | cmplt $21, $31, $18 | ||
1875 | addq $24, $24, $24 | ||
1876 | addq $21, $21, $21 | ||
1877 | addq $21, $27, $21 | ||
1878 | addq $8, $18, $8 | ||
1879 | addq $22, $24, $22 | ||
1880 | addq $23, $21, $23 | ||
1881 | cmpult $22, $24, $20 | ||
1882 | cmpult $23, $21, $25 | ||
1883 | addq $23, $20, $23 | ||
1884 | addq $8, $25, $8 | ||
1885 | stq $22, 104($16) | ||
1886 | bis $31, $31, $22 | ||
1887 | mulq $7, $7, $28 | ||
1888 | umulh $7, $7, $19 | ||
1889 | addq $23, $28, $23 | ||
1890 | addq $8, $19, $8 | ||
1891 | cmpult $23, $28, $17 | ||
1892 | cmpult $8, $19, $27 | ||
1893 | addq $8, $17, $8 | ||
1894 | addq $22, $27, $22 | ||
1895 | stq $23, 112($16) | ||
1896 | stq $8, 120($16) | ||
1897 | ret $31,($26),1 | ||
1898 | .end bn_sqr_comba8 | ||