]>
Commit | Line | Data |
---|---|---|
d02b48c6 RE |
1 | # DEC Alpha assember |
2 | # The bn_div64 is actually gcc output but the other parts are hand done. | |
3 | # Thanks to tzeruch@ceddec.com for sending me the gcc output for | |
4 | # bn_div64. | |
dfeab068 RE |
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" | |
d02b48c6 RE |
12 | .set noat |
13 | gcc2_compiled.: | |
14 | __gnu_compiled_c: | |
15 | .text | |
16 | .align 3 | |
58964a49 RE |
17 | .globl bn_mul_add_words |
18 | .ent bn_mul_add_words | |
19 | bn_mul_add_words: | |
20 | bn_mul_add_words..ng: | |
d02b48c6 RE |
21 | .frame $30,0,$26,0 |
22 | .prologue 0 | |
d02b48c6 | 23 | .align 5 |
dfeab068 RE |
24 | subq $18,4,$18 |
25 | bis $31,$31,$0 | |
26 | blt $18,$43 # if we are -1, -2, -3 or -4 goto tail code | |
27 | ldq $20,0($17) # 1 1 | |
28 | ldq $1,0($16) # 1 1 | |
29 | .align 3 | |
30 | $42: | |
31 | mulq $20,$19,$5 # 1 2 1 ###### | |
32 | ldq $21,8($17) # 2 1 | |
33 | ldq $2,8($16) # 2 1 | |
34 | umulh $20,$19,$20 # 1 2 ###### | |
35 | ldq $27,16($17) # 3 1 | |
36 | ldq $3,16($16) # 3 1 | |
37 | mulq $21,$19,$6 # 2 2 1 ###### | |
38 | ldq $28,24($17) # 4 1 | |
39 | addq $1,$5,$1 # 1 2 2 | |
40 | ldq $4,24($16) # 4 1 | |
41 | umulh $21,$19,$21 # 2 2 ###### | |
42 | cmpult $1,$5,$22 # 1 2 3 1 | |
43 | addq $20,$22,$20 # 1 3 1 | |
44 | addq $1,$0,$1 # 1 2 3 1 | |
45 | mulq $27,$19,$7 # 3 2 1 ###### | |
46 | cmpult $1,$0,$0 # 1 2 3 2 | |
47 | addq $2,$6,$2 # 2 2 2 | |
48 | addq $20,$0,$0 # 1 3 2 | |
49 | cmpult $2,$6,$23 # 2 2 3 1 | |
50 | addq $21,$23,$21 # 2 3 1 | |
51 | umulh $27,$19,$27 # 3 2 ###### | |
52 | addq $2,$0,$2 # 2 2 3 1 | |
53 | cmpult $2,$0,$0 # 2 2 3 2 | |
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 | |
d02b48c6 | 77 | |
dfeab068 RE |
78 | ldq $20,0($17) # 1 1 |
79 | ldq $1,0($16) # 1 1 | |
d02b48c6 | 80 | |
dfeab068 | 81 | br $42 |
d02b48c6 | 82 | |
dfeab068 RE |
83 | .align 4 |
84 | $45: | |
85 | ldq $20,0($17) # 4 1 | |
86 | ldq $1,0($16) # 4 1 | |
87 | mulq $20,$19,$5 # 4 2 1 | |
88 | subq $18,1,$18 | |
89 | addq $16,8,$16 | |
90 | addq $17,8,$17 | |
91 | umulh $20,$19,$20 # 4 2 | |
92 | addq $1,$5,$1 # 4 2 2 | |
93 | cmpult $1,$5,$22 # 4 2 3 1 | |
94 | addq $20,$22,$20 # 4 3 1 | |
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 | |
d02b48c6 RE |
101 | |
102 | .align 4 | |
103 | $43: | |
dfeab068 RE |
104 | addq $18,4,$18 |
105 | bgt $18,$45 # goto tail code | |
106 | ret $31,($26),1 # else exit | |
107 | ||
58964a49 | 108 | .end bn_mul_add_words |
d02b48c6 | 109 | .align 3 |
58964a49 RE |
110 | .globl bn_mul_words |
111 | .ent bn_mul_words | |
112 | bn_mul_words: | |
113 | bn_mul_words..ng: | |
d02b48c6 RE |
114 | .frame $30,0,$26,0 |
115 | .prologue 0 | |
d02b48c6 | 116 | .align 5 |
dfeab068 RE |
117 | subq $18,4,$18 |
118 | bis $31,$31,$0 | |
119 | blt $18,$143 # if we are -1, -2, -3 or -4 goto tail code | |
120 | ldq $20,0($17) # 1 1 | |
121 | .align 3 | |
122 | $142: | |
123 | ||
124 | mulq $20,$19,$5 # 1 2 1 ##### | |
125 | ldq $21,8($17) # 2 1 | |
126 | ldq $27,16($17) # 3 1 | |
127 | umulh $20,$19,$20 # 1 2 ##### | |
128 | ldq $28,24($17) # 4 1 | |
129 | mulq $21,$19,$6 # 2 2 1 ##### | |
130 | addq $5,$0,$5 # 1 2 3 1 | |
131 | subq $18,4,$18 | |
132 | cmpult $5,$0,$0 # 1 2 3 2 | |
133 | umulh $21,$19,$21 # 2 2 ##### | |
134 | addq $20,$0,$0 # 1 3 2 | |
135 | addq $17,32,$17 | |
136 | addq $6,$0,$6 # 2 2 3 1 | |
137 | mulq $27,$19,$7 # 3 2 1 ##### | |
138 | cmpult $6,$0,$0 # 2 2 3 2 | |
139 | addq $21,$0,$0 # 2 3 2 | |
140 | addq $16,32,$16 | |
141 | umulh $27,$19,$27 # 3 2 ##### | |
142 | stq $5,-32($16) # 1 2 4 | |
143 | mulq $28,$19,$8 # 4 2 1 ##### | |
144 | addq $7,$0,$7 # 3 2 3 1 | |
145 | stq $6,-24($16) # 2 2 4 | |
146 | cmpult $7,$0,$0 # 3 2 3 2 | |
147 | umulh $28,$19,$28 # 4 2 ##### | |
148 | addq $27,$0,$0 # 3 3 2 | |
149 | stq $7,-16($16) # 3 2 4 | |
150 | addq $8,$0,$8 # 4 2 3 1 | |
151 | cmpult $8,$0,$0 # 4 2 3 2 | |
152 | ||
153 | addq $28,$0,$0 # 4 3 2 | |
154 | ||
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 | ||
58964a49 | 185 | .end bn_mul_words |
d02b48c6 RE |
186 | .align 3 |
187 | .globl bn_sqr_words | |
188 | .ent bn_sqr_words | |
189 | bn_sqr_words: | |
190 | bn_sqr_words..ng: | |
191 | .frame $30,0,$26,0 | |
192 | .prologue 0 | |
d02b48c6 | 193 | |
dfeab068 RE |
194 | subq $18,4,$18 |
195 | blt $18,$543 # if we are -1, -2, -3 or -4 goto tail code | |
196 | ldq $20,0($17) # 1 1 | |
197 | .align 3 | |
198 | $542: | |
199 | mulq $20,$20,$5 ###### | |
200 | ldq $21,8($17) # 1 1 | |
201 | subq $18,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] | |
d02b48c6 | 217 | |
dfeab068 RE |
218 | addq $16,64,$16 |
219 | addq $17,32,$17 | |
220 | stq $8,-16($16) # r[0] | |
221 | stq $4,-8($16) # r[1] | |
d02b48c6 | 222 | |
dfeab068 RE |
223 | blt $18,$543 |
224 | ldq $20,0($17) # 1 1 | |
225 | br $542 | |
d02b48c6 RE |
226 | |
227 | $442: | |
dfeab068 RE |
228 | ldq $20,0($17) # a[0] |
229 | mulq $20,$20,$5 # a[0]*w low part r2 | |
230 | addq $16,16,$16 | |
231 | addq $17,8,$17 | |
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 | |
d02b48c6 RE |
239 | |
240 | .align 4 | |
dfeab068 RE |
241 | $543: |
242 | addq $18,4,$18 | |
243 | bgt $18,$442 # goto tail code | |
244 | ret $31,($26),1 # else exit | |
d02b48c6 RE |
245 | .end bn_sqr_words |
246 | ||
58964a49 RE |
247 | .align 3 |
248 | .globl bn_add_words | |
249 | .ent bn_add_words | |
250 | bn_add_words: | |
251 | bn_add_words..ng: | |
252 | .frame $30,0,$26,0 | |
253 | .prologue 0 | |
254 | ||
dfeab068 RE |
255 | subq $19,4,$19 |
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 | |
58964a49 | 261 | $901: |
dfeab068 RE |
262 | addq $1,$5,$1 # r=a+b; |
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++ | |
58964a49 | 296 | |
dfeab068 RE |
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 | |
58964a49 | 308 | addq $17,8,$17 # a++ |
dfeab068 RE |
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++ | |
58964a49 | 315 | |
dfeab068 RE |
316 | bgt $19,$945 |
317 | ret $31,($26),1 # else exit | |
58964a49 | 318 | |
58964a49 | 319 | $900: |
dfeab068 RE |
320 | addq $19,4,$19 |
321 | bgt $19,$945 # goto tail code | |
322 | ret $31,($26),1 # else exit | |
58964a49 RE |
323 | .end bn_add_words |
324 | ||
d02b48c6 RE |
325 | # |
326 | # What follows was taken directly from the C compiler with a few | |
327 | # hacks to redo the lables. | |
328 | # | |
329 | .text | |
330 | .align 3 | |
331 | .globl bn_div64 | |
332 | .ent bn_div64 | |
333 | bn_div64: | |
334 | ldgp $29,0($27) | |
335 | bn_div64..ng: | |
336 | lda $30,-48($30) | |
337 | .frame $30,48,$26,0 | |
338 | stq $26,0($30) | |
339 | stq $9,8($30) | |
340 | stq $10,16($30) | |
341 | stq $11,24($30) | |
342 | stq $12,32($30) | |
343 | stq $13,40($30) | |
344 | .mask 0x4003e00,-48 | |
345 | .prologue 1 | |
346 | bis $16,$16,$9 | |
347 | bis $17,$17,$10 | |
348 | bis $18,$18,$11 | |
349 | bis $31,$31,$13 | |
350 | bis $31,2,$12 | |
351 | bne $11,$119 | |
352 | lda $0,-1 | |
353 | br $31,$136 | |
354 | .align 4 | |
355 | $119: | |
356 | bis $11,$11,$16 | |
357 | jsr $26,BN_num_bits_word | |
358 | ldgp $29,0($26) | |
359 | subq $0,64,$1 | |
360 | beq $1,$120 | |
361 | bis $31,1,$1 | |
362 | sll $1,$0,$1 | |
363 | cmpule $9,$1,$1 | |
364 | bne $1,$120 | |
365 | # lda $16,_IO_stderr_ | |
366 | # lda $17,$C32 | |
367 | # bis $0,$0,$18 | |
368 | # jsr $26,fprintf | |
369 | # ldgp $29,0($26) | |
370 | jsr $26,abort | |
371 | ldgp $29,0($26) | |
372 | .align 4 | |
373 | $120: | |
374 | bis $31,64,$3 | |
375 | cmpult $9,$11,$2 | |
376 | subq $3,$0,$1 | |
377 | addl $1,$31,$0 | |
378 | subq $9,$11,$1 | |
379 | cmoveq $2,$1,$9 | |
380 | beq $0,$122 | |
381 | zapnot $0,15,$2 | |
382 | subq $3,$0,$1 | |
383 | sll $11,$2,$11 | |
384 | sll $9,$2,$3 | |
385 | srl $10,$1,$1 | |
386 | sll $10,$2,$10 | |
387 | bis $3,$1,$9 | |
388 | $122: | |
389 | srl $11,32,$5 | |
390 | zapnot $11,15,$6 | |
391 | lda $7,-1 | |
392 | .align 5 | |
393 | $123: | |
394 | srl $9,32,$1 | |
395 | subq $1,$5,$1 | |
396 | bne $1,$126 | |
397 | zapnot $7,15,$27 | |
398 | br $31,$127 | |
399 | .align 4 | |
400 | $126: | |
401 | bis $9,$9,$24 | |
402 | bis $5,$5,$25 | |
403 | divqu $24,$25,$27 | |
404 | $127: | |
405 | srl $10,32,$4 | |
406 | .align 5 | |
407 | $128: | |
408 | mulq $27,$5,$1 | |
409 | subq $9,$1,$3 | |
410 | zapnot $3,240,$1 | |
411 | bne $1,$129 | |
412 | mulq $6,$27,$2 | |
413 | sll $3,32,$1 | |
414 | addq $1,$4,$1 | |
415 | cmpule $2,$1,$2 | |
416 | bne $2,$129 | |
417 | subq $27,1,$27 | |
418 | br $31,$128 | |
419 | .align 4 | |
420 | $129: | |
421 | mulq $27,$6,$1 | |
422 | mulq $27,$5,$4 | |
423 | srl $1,32,$3 | |
424 | sll $1,32,$1 | |
425 | addq $4,$3,$4 | |
426 | cmpult $10,$1,$2 | |
427 | subq $10,$1,$10 | |
428 | addq $2,$4,$2 | |
429 | cmpult $9,$2,$1 | |
430 | bis $2,$2,$4 | |
431 | beq $1,$134 | |
432 | addq $9,$11,$9 | |
433 | subq $27,1,$27 | |
434 | $134: | |
435 | subl $12,1,$12 | |
436 | subq $9,$4,$9 | |
437 | beq $12,$124 | |
438 | sll $27,32,$13 | |
439 | sll $9,32,$2 | |
440 | srl $10,32,$1 | |
441 | sll $10,32,$10 | |
442 | bis $2,$1,$9 | |
443 | br $31,$123 | |
444 | .align 4 | |
445 | $124: | |
446 | bis $13,$27,$0 | |
447 | $136: | |
448 | ldq $26,0($30) | |
449 | ldq $9,8($30) | |
450 | ldq $10,16($30) | |
451 | ldq $11,24($30) | |
452 | ldq $12,32($30) | |
453 | ldq $13,40($30) | |
454 | addq $30,48,$30 | |
455 | ret $31,($26),1 | |
456 | .end bn_div64 | |
d02b48c6 | 457 | |
dfeab068 RE |
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 | |
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 | |
d02b48c6 | 1407 | |
dfeab068 RE |
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 |