]>
Commit | Line | Data |
---|---|---|
d02b48c6 RE |
1 | .file 1 "../bn_mulw.c" |
2 | .set nobopt | |
3 | .option pic2 | |
4 | ||
5 | # GNU C 2.6.3 [AL 1.1, MM 40] SGI running IRIX 5.0 compiled by GNU C | |
6 | ||
7 | # Cc1 defaults: | |
8 | # -mabicalls | |
9 | ||
10 | # Cc1 arguments (-G value = 0, Cpu = 3000, ISA = 1): | |
11 | # -quiet -dumpbase -O2 -o | |
12 | ||
13 | gcc2_compiled.: | |
14 | __gnu_compiled_c: | |
15 | .rdata | |
16 | ||
17 | .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f | |
18 | .byte 0x6e,0x3a,0x20,0x31,0x2e,0x34,0x39,0x20 | |
19 | .byte 0x24,0x0 | |
20 | ||
21 | .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f | |
22 | .byte 0x6e,0x3a,0x20,0x31,0x2e,0x33,0x34,0x20 | |
23 | .byte 0x24,0x0 | |
24 | ||
25 | .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f | |
26 | .byte 0x6e,0x3a,0x20,0x31,0x2e,0x35,0x20,0x24 | |
27 | .byte 0x0 | |
28 | ||
29 | .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f | |
30 | .byte 0x6e,0x3a,0x20,0x31,0x2e,0x38,0x20,0x24 | |
31 | .byte 0x0 | |
32 | ||
33 | .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f | |
34 | .byte 0x6e,0x3a,0x20,0x31,0x2e,0x32,0x33,0x20 | |
35 | .byte 0x24,0x0 | |
36 | ||
37 | .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f | |
38 | .byte 0x6e,0x3a,0x20,0x31,0x2e,0x37,0x38,0x20 | |
39 | .byte 0x24,0x0 | |
40 | ||
41 | .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f | |
42 | .byte 0x6e,0x3a,0x20,0x33,0x2e,0x37,0x30,0x20 | |
43 | .byte 0x24,0x0 | |
44 | ||
45 | .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f | |
46 | .byte 0x6e,0x3a,0x20,0x31,0x2e,0x32,0x20,0x24 | |
47 | .byte 0x0 | |
48 | ||
49 | .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f | |
50 | .byte 0x6e,0x3a,0x20,0x31,0x2e,0x34,0x20,0x24 | |
51 | .byte 0x0 | |
52 | ||
53 | .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f | |
54 | .byte 0x6e,0x3a,0x20,0x31,0x2e,0x38,0x20,0x24 | |
55 | .byte 0x0 | |
56 | .text | |
57 | .align 2 | |
58964a49 RE |
58 | .globl bn_mul_add_words |
59 | .ent bn_mul_add_words | |
60 | bn_mul_add_words: | |
d02b48c6 RE |
61 | .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, extra= 0 |
62 | .mask 0x00000000,0 | |
63 | .fmask 0x00000000,0 | |
64 | .set noreorder | |
65 | .cpload $25 | |
66 | .set reorder | |
67 | move $12,$4 | |
68 | move $14,$5 | |
69 | move $9,$6 | |
70 | move $13,$7 | |
71 | move $8,$0 | |
72 | addu $10,$12,12 | |
73 | addu $11,$14,12 | |
74 | $L2: | |
75 | lw $6,0($14) | |
76 | #nop | |
77 | multu $13,$6 | |
78 | mfhi $6 | |
79 | mflo $7 | |
80 | #nop | |
81 | move $5,$8 | |
82 | move $4,$0 | |
83 | lw $3,0($12) | |
84 | addu $9,$9,-1 | |
85 | move $2,$0 | |
86 | addu $7,$7,$3 | |
87 | sltu $8,$7,$3 | |
88 | addu $6,$6,$2 | |
89 | addu $6,$6,$8 | |
90 | addu $7,$7,$5 | |
91 | sltu $2,$7,$5 | |
92 | addu $6,$6,$4 | |
93 | addu $6,$6,$2 | |
94 | srl $3,$6,0 | |
95 | move $2,$0 | |
96 | move $8,$3 | |
97 | .set noreorder | |
98 | .set nomacro | |
99 | beq $9,$0,$L3 | |
100 | sw $7,0($12) | |
101 | .set macro | |
102 | .set reorder | |
103 | ||
104 | lw $6,-8($11) | |
105 | #nop | |
106 | multu $13,$6 | |
107 | mfhi $6 | |
108 | mflo $7 | |
109 | #nop | |
110 | move $5,$8 | |
111 | move $4,$0 | |
112 | lw $3,-8($10) | |
113 | addu $9,$9,-1 | |
114 | move $2,$0 | |
115 | addu $7,$7,$3 | |
116 | sltu $8,$7,$3 | |
117 | addu $6,$6,$2 | |
118 | addu $6,$6,$8 | |
119 | addu $7,$7,$5 | |
120 | sltu $2,$7,$5 | |
121 | addu $6,$6,$4 | |
122 | addu $6,$6,$2 | |
123 | srl $3,$6,0 | |
124 | move $2,$0 | |
125 | move $8,$3 | |
126 | .set noreorder | |
127 | .set nomacro | |
128 | beq $9,$0,$L3 | |
129 | sw $7,-8($10) | |
130 | .set macro | |
131 | .set reorder | |
132 | ||
133 | lw $6,-4($11) | |
134 | #nop | |
135 | multu $13,$6 | |
136 | mfhi $6 | |
137 | mflo $7 | |
138 | #nop | |
139 | move $5,$8 | |
140 | move $4,$0 | |
141 | lw $3,-4($10) | |
142 | addu $9,$9,-1 | |
143 | move $2,$0 | |
144 | addu $7,$7,$3 | |
145 | sltu $8,$7,$3 | |
146 | addu $6,$6,$2 | |
147 | addu $6,$6,$8 | |
148 | addu $7,$7,$5 | |
149 | sltu $2,$7,$5 | |
150 | addu $6,$6,$4 | |
151 | addu $6,$6,$2 | |
152 | srl $3,$6,0 | |
153 | move $2,$0 | |
154 | move $8,$3 | |
155 | .set noreorder | |
156 | .set nomacro | |
157 | beq $9,$0,$L3 | |
158 | sw $7,-4($10) | |
159 | .set macro | |
160 | .set reorder | |
161 | ||
162 | lw $6,0($11) | |
163 | #nop | |
164 | multu $13,$6 | |
165 | mfhi $6 | |
166 | mflo $7 | |
167 | #nop | |
168 | move $5,$8 | |
169 | move $4,$0 | |
170 | lw $3,0($10) | |
171 | addu $9,$9,-1 | |
172 | move $2,$0 | |
173 | addu $7,$7,$3 | |
174 | sltu $8,$7,$3 | |
175 | addu $6,$6,$2 | |
176 | addu $6,$6,$8 | |
177 | addu $7,$7,$5 | |
178 | sltu $2,$7,$5 | |
179 | addu $6,$6,$4 | |
180 | addu $6,$6,$2 | |
181 | srl $3,$6,0 | |
182 | move $2,$0 | |
183 | move $8,$3 | |
184 | .set noreorder | |
185 | .set nomacro | |
186 | beq $9,$0,$L3 | |
187 | sw $7,0($10) | |
188 | .set macro | |
189 | .set reorder | |
190 | ||
191 | addu $11,$11,16 | |
192 | addu $14,$14,16 | |
193 | addu $10,$10,16 | |
194 | .set noreorder | |
195 | .set nomacro | |
196 | j $L2 | |
197 | addu $12,$12,16 | |
198 | .set macro | |
199 | .set reorder | |
200 | ||
201 | $L3: | |
202 | .set noreorder | |
203 | .set nomacro | |
204 | j $31 | |
205 | move $2,$8 | |
206 | .set macro | |
207 | .set reorder | |
208 | ||
58964a49 | 209 | .end bn_mul_add_words |
d02b48c6 | 210 | .align 2 |
58964a49 RE |
211 | .globl bn_mul_words |
212 | .ent bn_mul_words | |
213 | bn_mul_words: | |
d02b48c6 RE |
214 | .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, extra= 0 |
215 | .mask 0x00000000,0 | |
216 | .fmask 0x00000000,0 | |
217 | .set noreorder | |
218 | .cpload $25 | |
219 | .set reorder | |
220 | move $11,$4 | |
221 | move $12,$5 | |
222 | move $8,$6 | |
223 | move $6,$0 | |
224 | addu $10,$11,12 | |
225 | addu $9,$12,12 | |
226 | $L10: | |
227 | lw $4,0($12) | |
228 | #nop | |
229 | multu $7,$4 | |
230 | mfhi $4 | |
231 | mflo $5 | |
232 | #nop | |
233 | move $3,$6 | |
234 | move $2,$0 | |
235 | addu $8,$8,-1 | |
236 | addu $5,$5,$3 | |
237 | sltu $6,$5,$3 | |
238 | addu $4,$4,$2 | |
239 | addu $4,$4,$6 | |
240 | srl $3,$4,0 | |
241 | move $2,$0 | |
242 | move $6,$3 | |
243 | .set noreorder | |
244 | .set nomacro | |
245 | beq $8,$0,$L11 | |
246 | sw $5,0($11) | |
247 | .set macro | |
248 | .set reorder | |
249 | ||
250 | lw $4,-8($9) | |
251 | #nop | |
252 | multu $7,$4 | |
253 | mfhi $4 | |
254 | mflo $5 | |
255 | #nop | |
256 | move $3,$6 | |
257 | move $2,$0 | |
258 | addu $8,$8,-1 | |
259 | addu $5,$5,$3 | |
260 | sltu $6,$5,$3 | |
261 | addu $4,$4,$2 | |
262 | addu $4,$4,$6 | |
263 | srl $3,$4,0 | |
264 | move $2,$0 | |
265 | move $6,$3 | |
266 | .set noreorder | |
267 | .set nomacro | |
268 | beq $8,$0,$L11 | |
269 | sw $5,-8($10) | |
270 | .set macro | |
271 | .set reorder | |
272 | ||
273 | lw $4,-4($9) | |
274 | #nop | |
275 | multu $7,$4 | |
276 | mfhi $4 | |
277 | mflo $5 | |
278 | #nop | |
279 | move $3,$6 | |
280 | move $2,$0 | |
281 | addu $8,$8,-1 | |
282 | addu $5,$5,$3 | |
283 | sltu $6,$5,$3 | |
284 | addu $4,$4,$2 | |
285 | addu $4,$4,$6 | |
286 | srl $3,$4,0 | |
287 | move $2,$0 | |
288 | move $6,$3 | |
289 | .set noreorder | |
290 | .set nomacro | |
291 | beq $8,$0,$L11 | |
292 | sw $5,-4($10) | |
293 | .set macro | |
294 | .set reorder | |
295 | ||
296 | lw $4,0($9) | |
297 | #nop | |
298 | multu $7,$4 | |
299 | mfhi $4 | |
300 | mflo $5 | |
301 | #nop | |
302 | move $3,$6 | |
303 | move $2,$0 | |
304 | addu $8,$8,-1 | |
305 | addu $5,$5,$3 | |
306 | sltu $6,$5,$3 | |
307 | addu $4,$4,$2 | |
308 | addu $4,$4,$6 | |
309 | srl $3,$4,0 | |
310 | move $2,$0 | |
311 | move $6,$3 | |
312 | .set noreorder | |
313 | .set nomacro | |
314 | beq $8,$0,$L11 | |
315 | sw $5,0($10) | |
316 | .set macro | |
317 | .set reorder | |
318 | ||
319 | addu $9,$9,16 | |
320 | addu $12,$12,16 | |
321 | addu $10,$10,16 | |
322 | .set noreorder | |
323 | .set nomacro | |
324 | j $L10 | |
325 | addu $11,$11,16 | |
326 | .set macro | |
327 | .set reorder | |
328 | ||
329 | $L11: | |
330 | .set noreorder | |
331 | .set nomacro | |
332 | j $31 | |
333 | move $2,$6 | |
334 | .set macro | |
335 | .set reorder | |
336 | ||
58964a49 | 337 | .end bn_mul_words |
d02b48c6 RE |
338 | .align 2 |
339 | .globl bn_sqr_words | |
340 | .ent bn_sqr_words | |
341 | bn_sqr_words: | |
342 | .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, extra= 0 | |
343 | .mask 0x00000000,0 | |
344 | .fmask 0x00000000,0 | |
345 | .set noreorder | |
346 | .cpload $25 | |
347 | .set reorder | |
348 | move $9,$4 | |
349 | addu $7,$9,28 | |
350 | addu $8,$5,12 | |
351 | $L18: | |
352 | lw $2,0($5) | |
353 | #nop | |
354 | multu $2,$2 | |
355 | mfhi $2 | |
356 | mflo $3 | |
357 | #nop | |
358 | addu $6,$6,-1 | |
359 | sw $3,0($9) | |
360 | srl $3,$2,0 | |
361 | move $2,$0 | |
362 | .set noreorder | |
363 | .set nomacro | |
364 | beq $6,$0,$L19 | |
365 | sw $3,-24($7) | |
366 | .set macro | |
367 | .set reorder | |
368 | ||
369 | lw $2,-8($8) | |
370 | #nop | |
371 | multu $2,$2 | |
372 | mfhi $2 | |
373 | mflo $3 | |
374 | #nop | |
375 | addu $6,$6,-1 | |
376 | sw $3,-20($7) | |
377 | srl $3,$2,0 | |
378 | move $2,$0 | |
379 | .set noreorder | |
380 | .set nomacro | |
381 | beq $6,$0,$L19 | |
382 | sw $3,-16($7) | |
383 | .set macro | |
384 | .set reorder | |
385 | ||
386 | lw $2,-4($8) | |
387 | #nop | |
388 | multu $2,$2 | |
389 | mfhi $2 | |
390 | mflo $3 | |
391 | #nop | |
392 | addu $6,$6,-1 | |
393 | sw $3,-12($7) | |
394 | srl $3,$2,0 | |
395 | move $2,$0 | |
396 | .set noreorder | |
397 | .set nomacro | |
398 | beq $6,$0,$L19 | |
399 | sw $3,-8($7) | |
400 | .set macro | |
401 | .set reorder | |
402 | ||
403 | lw $2,0($8) | |
404 | #nop | |
405 | multu $2,$2 | |
406 | mfhi $2 | |
407 | mflo $3 | |
408 | #nop | |
409 | addu $6,$6,-1 | |
410 | sw $3,-4($7) | |
411 | srl $3,$2,0 | |
412 | move $2,$0 | |
413 | .set noreorder | |
414 | .set nomacro | |
415 | beq $6,$0,$L19 | |
416 | sw $3,0($7) | |
417 | .set macro | |
418 | .set reorder | |
419 | ||
420 | addu $8,$8,16 | |
421 | addu $5,$5,16 | |
422 | addu $7,$7,32 | |
423 | .set noreorder | |
424 | .set nomacro | |
425 | j $L18 | |
426 | addu $9,$9,32 | |
427 | .set macro | |
428 | .set reorder | |
429 | ||
430 | $L19: | |
431 | j $31 | |
432 | .end bn_sqr_words | |
433 | .rdata | |
434 | .align 2 | |
435 | $LC0: | |
436 | ||
437 | .byte 0x44,0x69,0x76,0x69,0x73,0x69,0x6f,0x6e | |
438 | .byte 0x20,0x77,0x6f,0x75,0x6c,0x64,0x20,0x6f | |
439 | .byte 0x76,0x65,0x72,0x66,0x6c,0x6f,0x77,0xa | |
440 | .byte 0x0 | |
441 | .text | |
442 | .align 2 | |
443 | .globl bn_div64 | |
444 | .ent bn_div64 | |
445 | bn_div64: | |
446 | .frame $sp,56,$31 # vars= 0, regs= 7/0, args= 16, extra= 8 | |
447 | .mask 0x901f0000,-8 | |
448 | .fmask 0x00000000,0 | |
449 | .set noreorder | |
450 | .cpload $25 | |
451 | .set reorder | |
452 | subu $sp,$sp,56 | |
453 | .cprestore 16 | |
454 | sw $16,24($sp) | |
455 | move $16,$4 | |
456 | sw $17,28($sp) | |
457 | move $17,$5 | |
458 | sw $18,32($sp) | |
459 | move $18,$6 | |
460 | sw $20,40($sp) | |
461 | move $20,$0 | |
462 | sw $19,36($sp) | |
463 | li $19,0x00000002 # 2 | |
464 | sw $31,48($sp) | |
465 | .set noreorder | |
466 | .set nomacro | |
467 | bne $18,$0,$L26 | |
468 | sw $28,44($sp) | |
469 | .set macro | |
470 | .set reorder | |
471 | ||
472 | .set noreorder | |
473 | .set nomacro | |
474 | j $L43 | |
475 | li $2,-1 # 0xffffffff | |
476 | .set macro | |
477 | .set reorder | |
478 | ||
479 | $L26: | |
480 | move $4,$18 | |
481 | jal BN_num_bits_word | |
482 | move $4,$2 | |
483 | li $2,0x00000020 # 32 | |
484 | .set noreorder | |
485 | .set nomacro | |
486 | beq $4,$2,$L27 | |
487 | li $2,0x00000001 # 1 | |
488 | .set macro | |
489 | .set reorder | |
490 | ||
491 | sll $2,$2,$4 | |
492 | sltu $2,$2,$16 | |
493 | .set noreorder | |
494 | .set nomacro | |
495 | beq $2,$0,$L44 | |
496 | li $5,0x00000020 # 32 | |
497 | .set macro | |
498 | .set reorder | |
499 | ||
500 | la $4,__iob+32 | |
501 | la $5,$LC0 | |
502 | jal fprintf | |
503 | jal abort | |
504 | $L27: | |
505 | li $5,0x00000020 # 32 | |
506 | $L44: | |
507 | sltu $2,$16,$18 | |
508 | .set noreorder | |
509 | .set nomacro | |
510 | bne $2,$0,$L28 | |
511 | subu $4,$5,$4 | |
512 | .set macro | |
513 | .set reorder | |
514 | ||
515 | subu $16,$16,$18 | |
516 | $L28: | |
517 | .set noreorder | |
518 | .set nomacro | |
519 | beq $4,$0,$L29 | |
520 | li $10,-65536 # 0xffff0000 | |
521 | .set macro | |
522 | .set reorder | |
523 | ||
524 | sll $18,$18,$4 | |
525 | sll $3,$16,$4 | |
526 | subu $2,$5,$4 | |
527 | srl $2,$17,$2 | |
528 | or $16,$3,$2 | |
529 | sll $17,$17,$4 | |
530 | $L29: | |
531 | srl $7,$18,16 | |
532 | andi $9,$18,0xffff | |
533 | $L30: | |
534 | srl $2,$16,16 | |
535 | .set noreorder | |
536 | .set nomacro | |
537 | beq $2,$7,$L34 | |
538 | li $6,0x0000ffff # 65535 | |
539 | .set macro | |
540 | .set reorder | |
541 | ||
542 | divu $6,$16,$7 | |
543 | $L34: | |
544 | mult $6,$9 | |
545 | mflo $5 | |
546 | #nop | |
547 | #nop | |
548 | mult $6,$7 | |
549 | and $2,$17,$10 | |
550 | srl $8,$2,16 | |
551 | mflo $4 | |
552 | $L35: | |
553 | subu $3,$16,$4 | |
554 | and $2,$3,$10 | |
555 | .set noreorder | |
556 | .set nomacro | |
557 | bne $2,$0,$L36 | |
558 | sll $2,$3,16 | |
559 | .set macro | |
560 | .set reorder | |
561 | ||
562 | addu $2,$2,$8 | |
563 | sltu $2,$2,$5 | |
564 | .set noreorder | |
565 | .set nomacro | |
566 | beq $2,$0,$L36 | |
567 | subu $5,$5,$9 | |
568 | .set macro | |
569 | .set reorder | |
570 | ||
571 | subu $4,$4,$7 | |
572 | .set noreorder | |
573 | .set nomacro | |
574 | j $L35 | |
575 | addu $6,$6,-1 | |
576 | .set macro | |
577 | .set reorder | |
578 | ||
579 | $L36: | |
580 | mult $6,$7 | |
581 | mflo $5 | |
582 | #nop | |
583 | #nop | |
584 | mult $6,$9 | |
585 | mflo $4 | |
586 | #nop | |
587 | #nop | |
588 | srl $3,$4,16 | |
589 | sll $2,$4,16 | |
590 | and $4,$2,$10 | |
591 | sltu $2,$17,$4 | |
592 | .set noreorder | |
593 | .set nomacro | |
594 | beq $2,$0,$L40 | |
595 | addu $5,$5,$3 | |
596 | .set macro | |
597 | .set reorder | |
598 | ||
599 | addu $5,$5,1 | |
600 | $L40: | |
601 | sltu $2,$16,$5 | |
602 | .set noreorder | |
603 | .set nomacro | |
604 | beq $2,$0,$L41 | |
605 | subu $17,$17,$4 | |
606 | .set macro | |
607 | .set reorder | |
608 | ||
609 | addu $16,$16,$18 | |
610 | addu $6,$6,-1 | |
611 | $L41: | |
612 | addu $19,$19,-1 | |
613 | .set noreorder | |
614 | .set nomacro | |
615 | beq $19,$0,$L31 | |
616 | subu $16,$16,$5 | |
617 | .set macro | |
618 | .set reorder | |
619 | ||
620 | sll $20,$6,16 | |
621 | sll $3,$16,16 | |
622 | srl $2,$17,16 | |
623 | or $16,$3,$2 | |
624 | .set noreorder | |
625 | .set nomacro | |
626 | j $L30 | |
627 | sll $17,$17,16 | |
628 | .set macro | |
629 | .set reorder | |
630 | ||
631 | $L31: | |
632 | or $2,$20,$6 | |
633 | $L43: | |
634 | lw $31,48($sp) | |
635 | lw $20,40($sp) | |
636 | lw $19,36($sp) | |
637 | lw $18,32($sp) | |
638 | lw $17,28($sp) | |
639 | lw $16,24($sp) | |
640 | addu $sp,$sp,56 | |
641 | j $31 | |
642 | .end bn_div64 | |
643 | ||
644 | .globl abort .text | |
645 | .globl fprintf .text | |
646 | .globl BN_num_bits_word .text |