|
|
1.1 root 1: .file 1 "r3000.c"
2: .set nobopt
3:
4: # GNU C 2.3.1 [AL 1.1, MM 28] DECstation running ultrix compiled by GNU C
5:
6: # Cc1 defaults:
7:
8: # Cc1 arguments (-G value = 8, Cpu = default, ISA = 1):
9: # -mgpopt -quiet -dumpbase -O -o
10:
11: gcc2_compiled.:
12: .text
13: .align 2
14: .globl p_addc
15: .align 2
16: .globl p_subb
17: .align 2
18: .globl p_rotl
19: .align 2
20: .globl p_setp
21: .align 2
22: .globl p_smula
23: .align 2
24: .globl p_setrecip
25: .align 2
26: .globl p_quo_digit
27:
28: .lcomm mshift,8
29:
30: .lcomm reciph,8
31:
32: .lcomm recipl,8
33:
34: .extern global_precision, 2
35:
36: .text
37:
38: .loc 1 99
39: .ent p_addc
40: p_addc:
41: .frame $sp,0,$31 # vars= 0, regs= 0/0, args = 0, extra= 0
42: .mask 0x00000000,0
43: .fmask 0x00000000,0
44: lhu $9,global_precision
45: li $2,-1 # 0xffffffff
46: andi $8,$9,0x0003
47: subu $8,$8,1
48: .set noreorder
49: .set nomacro
50: beq $8,$2,$L3
51: andi $6,$6,0x00ff
52: .set macro
53: .set reorder
54:
55: li $10,-1 # 0xffffffff
56: $L6:
57: beq $6,$0,$L4
58: lw $3,0($4)
59: lw $2,0($5)
60: #nop
61: addu $7,$3,$2
62: addu $7,$7,1
63: nor $3,$0,$3
64: sltu $2,$2,$3
65: .set noreorder
66: .set nomacro
67: j $L5
68: xori $6,$2,0x0001
69: .set macro
70: .set reorder
71:
72: $L4:
73: lw $3,0($4)
74: lw $2,0($5)
75: #nop
76: addu $7,$3,$2
77: sltu $6,$7,$3
78: $L5:
79: addu $5,$5,4
80: sw $7,0($4)
81: subu $8,$8,1
82: .set noreorder
83: .set nomacro
84: bne $8,$10,$L6
85: addu $4,$4,4
86: .set macro
87: .set reorder
88:
89: $L3:
90: sll $2,$9,16
91: sra $8,$2,18
92: subu $8,$8,1
93: li $2,-1 # 0xffffffff
94: beq $8,$2,$L8
95: li $9,-1 # 0xffffffff
96: $L17:
97: beq $6,$0,$L9
98: lw $3,0($4)
99: lw $2,0($5)
100: #nop
101: addu $7,$3,$2
102: addu $7,$7,1
103: nor $3,$0,$3
104: sltu $2,$2,$3
105: .set noreorder
106: .set nomacro
107: j $L10
108: xori $6,$2,0x0001
109: .set macro
110: .set reorder
111:
112: $L9:
113: lw $3,0($4)
114: lw $2,0($5)
115: #nop
116: addu $7,$3,$2
117: sltu $6,$7,$3
118: $L10:
119: .set noreorder
120: .set nomacro
121: beq $6,$0,$L11
122: sw $7,0($4)
123: .set macro
124: .set reorder
125:
126: lw $3,4($4)
127: lw $2,4($5)
128: #nop
129: addu $7,$3,$2
130: addu $7,$7,1
131: nor $3,$0,$3
132: sltu $2,$2,$3
133: .set noreorder
134: .set nomacro
135: j $L12
136: xori $6,$2,0x0001
137: .set macro
138: .set reorder
139:
140: $L11:
141: lw $3,4($4)
142: lw $2,4($5)
143: #nop
144: addu $7,$3,$2
145: sltu $6,$7,$3
146: $L12:
147: .set noreorder
148: .set nomacro
149: beq $6,$0,$L13
150: sw $7,4($4)
151: .set macro
152: .set reorder
153:
154: lw $3,8($4)
155: lw $2,8($5)
156: #nop
157: addu $7,$3,$2
158: addu $7,$7,1
159: nor $3,$0,$3
160: sltu $2,$2,$3
161: .set noreorder
162: .set nomacro
163: j $L14
164: xori $6,$2,0x0001
165: .set macro
166: .set reorder
167:
168: $L13:
169: lw $3,8($4)
170: lw $2,8($5)
171: #nop
172: addu $7,$3,$2
173: sltu $6,$7,$3
174: $L14:
175: .set noreorder
176: .set nomacro
177: beq $6,$0,$L15
178: sw $7,8($4)
179: .set macro
180: .set reorder
181:
182: lw $3,12($4)
183: lw $2,12($5)
184: #nop
185: addu $7,$3,$2
186: addu $7,$7,1
187: nor $3,$0,$3
188: sltu $2,$2,$3
189: .set noreorder
190: .set nomacro
191: j $L16
192: xori $6,$2,0x0001
193: .set macro
194: .set reorder
195:
196: $L15:
197: lw $3,12($4)
198: lw $2,12($5)
199: #nop
200: addu $7,$3,$2
201: sltu $6,$7,$3
202: $L16:
203: sw $7,12($4)
204: addu $4,$4,16
205: subu $8,$8,1
206: .set noreorder
207: .set nomacro
208: bne $8,$9,$L17
209: addu $5,$5,16
210: .set macro
211: .set reorder
212:
213: $L8:
214: .set noreorder
215: .set nomacro
216: j $31
217: andi $2,$6,0x00ff
218: .set macro
219: .set reorder
220:
221: .end p_addc
222:
223: .loc 1 153
224: .ent p_subb
225: p_subb:
226: .frame $sp,0,$31 # vars= 0, regs= 0/0, args = 0, extra= 0
227: .mask 0x00000000,0
228: .fmask 0x00000000,0
229: move $8,$4
230: lhu $10,global_precision
231: li $2,-1 # 0xffffffff
232: andi $9,$10,0x0003
233: subu $9,$9,1
234: .set noreorder
235: .set nomacro
236: beq $9,$2,$L20
237: andi $6,$6,0x00ff
238: .set macro
239: .set reorder
240:
241: li $11,-1 # 0xffffffff
242: $L23:
243: beq $6,$0,$L21
244: lw $4,0($8)
245: lw $3,0($5)
246: #nop
247: subu $2,$4,$3
248: subu $7,$2,$6
249: sltu $3,$3,$4
250: .set noreorder
251: .set nomacro
252: j $L22
253: xori $6,$3,0x0001
254: .set macro
255: .set reorder
256:
257: $L21:
258: lw $3,0($8)
259: lw $2,0($5)
260: #nop
261: subu $7,$3,$2
262: sltu $6,$3,$2
263: $L22:
264: addu $5,$5,4
265: sw $7,0($8)
266: subu $9,$9,1
267: .set noreorder
268: .set nomacro
269: bne $9,$11,$L23
270: addu $8,$8,4
271: .set macro
272: .set reorder
273:
274: $L20:
275: sll $2,$10,16
276: sra $9,$2,18
277: subu $9,$9,1
278: li $2,-1 # 0xffffffff
279: beq $9,$2,$L25
280: li $10,-1 # 0xffffffff
281: $L34:
282: beq $6,$0,$L26
283: lw $4,0($8)
284: lw $3,0($5)
285: #nop
286: subu $2,$4,$3
287: subu $7,$2,$6
288: sltu $3,$3,$4
289: .set noreorder
290: .set nomacro
291: j $L27
292: xori $6,$3,0x0001
293: .set macro
294: .set reorder
295:
296: $L26:
297: lw $3,0($8)
298: lw $2,0($5)
299: #nop
300: subu $7,$3,$2
301: sltu $6,$3,$2
302: $L27:
303: .set noreorder
304: .set nomacro
305: beq $6,$0,$L28
306: sw $7,0($8)
307: .set macro
308: .set reorder
309:
310: lw $4,4($8)
311: lw $3,4($5)
312: #nop
313: subu $2,$4,$3
314: subu $7,$2,$6
315: sltu $3,$3,$4
316: .set noreorder
317: .set nomacro
318: j $L29
319: xori $6,$3,0x0001
320: .set macro
321: .set reorder
322:
323: $L28:
324: lw $3,4($8)
325: lw $2,4($5)
326: #nop
327: subu $7,$3,$2
328: sltu $6,$3,$2
329: $L29:
330: .set noreorder
331: .set nomacro
332: beq $6,$0,$L30
333: sw $7,4($8)
334: .set macro
335: .set reorder
336:
337: lw $4,8($8)
338: lw $3,8($5)
339: #nop
340: subu $2,$4,$3
341: subu $7,$2,$6
342: sltu $3,$3,$4
343: .set noreorder
344: .set nomacro
345: j $L31
346: xori $6,$3,0x0001
347: .set macro
348: .set reorder
349:
350: $L30:
351: lw $3,8($8)
352: lw $2,8($5)
353: #nop
354: subu $7,$3,$2
355: sltu $6,$3,$2
356: $L31:
357: .set noreorder
358: .set nomacro
359: beq $6,$0,$L32
360: sw $7,8($8)
361: .set macro
362: .set reorder
363:
364: lw $4,12($8)
365: lw $3,12($5)
366: #nop
367: subu $2,$4,$3
368: subu $7,$2,$6
369: sltu $3,$3,$4
370: .set noreorder
371: .set nomacro
372: j $L33
373: xori $6,$3,0x0001
374: .set macro
375: .set reorder
376:
377: $L32:
378: lw $3,12($8)
379: lw $2,12($5)
380: #nop
381: subu $7,$3,$2
382: sltu $6,$3,$2
383: $L33:
384: sw $7,12($8)
385: addu $8,$8,16
386: subu $9,$9,1
387: .set noreorder
388: .set nomacro
389: bne $9,$10,$L34
390: addu $5,$5,16
391: .set macro
392: .set reorder
393:
394: $L25:
395: .set noreorder
396: .set nomacro
397: j $31
398: andi $2,$6,0x00ff
399: .set macro
400: .set reorder
401:
402: .end p_subb
403:
404: .loc 1 211
405: .ent p_rotl
406: p_rotl:
407: .frame $sp,0,$31 # vars= 0, regs= 0/0, args = 0, extra= 0
408: .mask 0x00000000,0
409: .fmask 0x00000000,0
410: move $6,$4
411: lh $4,global_precision
412: li $2,-1 # 0xffffffff
413: andi $7,$4,0x0003
414: subu $7,$7,1
415: .set noreorder
416: .set nomacro
417: beq $7,$2,$L37
418: andi $5,$5,0x00ff
419: .set macro
420: .set reorder
421:
422: li $8,-1 # 0xffffffff
423: $L38:
424: lw $3,0($6)
425: subu $7,$7,1
426: sll $2,$3,1
427: or $2,$2,$5
428: sw $2,0($6)
429: srl $5,$3,31
430: .set noreorder
431: .set nomacro
432: bne $7,$8,$L38
433: addu $6,$6,4
434: .set macro
435: .set reorder
436:
437: $L37:
438: sra $7,$4,2
439: subu $7,$7,1
440: li $2,-1 # 0xffffffff
441: beq $7,$2,$L40
442: li $8,-1 # 0xffffffff
443: $L41:
444: lw $2,0($6)
445: #nop
446: srl $3,$2,31
447: sll $2,$2,1
448: or $2,$2,$5
449: sw $2,0($6)
450: lw $2,4($6)
451: #nop
452: srl $4,$2,31
453: sll $2,$2,1
454: or $2,$2,$3
455: sw $2,4($6)
456: lw $2,8($6)
457: #nop
458: srl $3,$2,31
459: sll $2,$2,1
460: or $2,$2,$4
461: sw $2,8($6)
462: lw $2,12($6)
463: subu $7,$7,1
464: srl $5,$2,31
465: sll $2,$2,1
466: or $2,$2,$3
467: sw $2,12($6)
468: .set noreorder
469: .set nomacro
470: bne $7,$8,$L41
471: addu $6,$6,16
472: .set macro
473: .set reorder
474:
475: $L40:
476: .set noreorder
477: .set nomacro
478: j $31
479: andi $2,$5,0x00ff
480: .set macro
481: .set reorder
482:
483: .end p_rotl
484:
485: .loc 1 244
486: .ent p_setp
487: p_setp:
488: .frame $sp,0,$31 # vars= 0, regs= 0/0, args = 0, extra= 0
489: .mask 0x00000000,0
490: .fmask 0x00000000,0
491: j $31
492: .end p_setp
493:
494: .loc 1 268
495: .ent p_smula
496: p_smula:
497: .frame $sp,8,$31 # vars= 8, regs= 0/0, args = 0, extra= 0
498: .mask 0x00000000,0
499: .fmask 0x00000000,0
500: subu $sp,$sp,8
501: lh $2,global_precision
502: move $11,$4
503: move $10,$5
504: .set noreorder
505: .set nomacro
506: blez $2,$L43
507: move $13,$2
508: .set macro
509: .set reorder
510:
511: lw $14,0($10)
512: #APP
513: multu $6, $14
514: mflo $9
515: mfhi $12
516: #NO_APP
517: addu $10,$10,4
518: move $7,$0
519: .set noreorder
520: .set nomacro
521: j $L48
522: move $8,$0
523: .set macro
524: .set reorder
525:
526: $L47:
527: lw $14,0($10)
528: #APP
529: multu $6, $14
530: mflo $4
531: mfhi $5
532: #NO_APP
533: lw $2,0($11)
534: addu $10,$10,4
535: addu $8,$8,$12
536: addu $7,$7,$2
537: sltu $3,$7,$2
538: addu $7,$7,$9
539: sltu $2,$7,$9
540: addu $3,$3,$2
541: sltu $2,$8,$12
542: addu $8,$8,$3
543: sltu $3,$8,$3
544: sw $7,0($11)
545: addu $11,$11,4
546: move $7,$8
547: addu $8,$2,$3
548: move $9,$4
549: move $12,$5
550: $L48:
551: subu $2,$13,1
552: move $13,$2
553: sll $2,$2,16
554: bne $2,$0,$L47
555: lw $2,0($11)
556: #nop
557: addu $7,$7,$2
558: sltu $3,$7,$2
559: addu $7,$7,$9
560: sltu $2,$7,$9
561: addu $3,$3,$2
562: sw $7,0($11)
563: addu $11,$11,4
564: lw $2,0($11)
565: addu $8,$8,$12
566: addu $8,$8,$3
567: addu $2,$8,$2
568: sw $2,0($11)
569: $L43:
570: addu $sp,$sp,8
571: j $31
572: .end p_smula
573:
574: .loc 1 334
575: .ent p_setrecip
576: p_setrecip:
577: .frame $sp,0,$31 # vars= 0, regs= 0/0, args = 0, extra= 0
578: .mask 0x00000000,0
579: .fmask 0x00000000,0
580: sw $4,reciph
581: sw $5,recipl
582: sw $6,mshift
583: j $31
584: .end p_setrecip
585:
586: .loc 1 342
587: .ent p_quo_digit
588: p_quo_digit:
589: .frame $sp,0,$31 # vars= 0, regs= 0/0, args = 0, extra= 0
590: .mask 0x00000000,0
591: .fmask 0x00000000,0
592: move $9,$4
593: lw $2,-8($9)
594: lw $10,reciph
595: lw $5,-4($9)
596: nor $2,$0,$2
597: #APP
598: multu $2, $10
599: mflo $6
600: mfhi $7
601: #NO_APP
602: nor $5,$0,$5
603: lw $10,recipl
604: #APP
605: multu $5, $10
606: mflo $4
607: mfhi $3
608: #NO_APP
609: addu $3,$3,1
610: lw $2,reciph
611: srl $4,$4,1
612: lw $10,reciph
613: addu $6,$6,$2
614: sltu $2,$6,$2
615: addu $7,$7,$2
616: srl $6,$6,1
617: sll $2,$7,31
618: addu $6,$6,$2
619: srl $7,$7,1
620: sll $2,$3,31
621: addu $4,$4,$2
622: srl $3,$3,1
623: addu $2,$6,$4
624: addu $3,$7,$3
625: sltu $4,$2,$6
626: addu $4,$4,$3
627: addu $2,$2,1
628: sltu $2,$2,1
629: addu $4,$4,$2
630: #APP
631: multu $5, $10
632: mflo $3
633: mfhi $7
634: #NO_APP
635: srl $3,$3,1
636: addu $4,$4,1
637: lw $2,0($9)
638: sltu $5,$4,1
639: lw $10,recipl
640: nor $2,$0,$2
641: #APP
642: multu $2, $10
643: mflo $6
644: mfhi $8
645: #NO_APP
646: sll $2,$7,31
647: addu $3,$3,$2
648: srl $7,$7,1
649: srl $6,$6,1
650: sll $2,$8,31
651: addu $6,$6,$2
652: addu $4,$4,$3
653: sltu $2,$4,$3
654: .set noreorder
655: .set nomacro
656: beq $2,$0,$L51
657: srl $8,$8,1
658: .set macro
659: .set reorder
660:
661: addu $5,$5,1
662: $L51:
663: addu $4,$4,$6
664: sltu $2,$4,$6
665: .set noreorder
666: .set nomacro
667: beq $2,$0,$L53
668: addu $5,$5,$7
669: .set macro
670: .set reorder
671:
672: addu $5,$5,1
673: $L53:
674: addu $5,$5,$8
675: lw $2,0($9)
676: srl $4,$4,30
677: lw $10,reciph
678: nor $2,$0,$2
679: #APP
680: multu $2, $10
681: mflo $6
682: mfhi $7
683: #NO_APP
684: sll $7,$7,1
685: srl $2,$6,31
686: addu $7,$7,$2
687: sll $6,$6,1
688: sll $2,$5,2
689: addu $4,$4,$2
690: addu $4,$4,$6
691: sltu $2,$4,$6
692: .set noreorder
693: .set nomacro
694: beq $2,$0,$L55
695: srl $5,$5,30
696: .set macro
697: .set reorder
698:
699: addu $5,$5,1
700: $L55:
701: lw $3,mshift
702: li $2,0x00000020 # 32
703: .set noreorder
704: .set nomacro
705: beq $3,$2,$L57
706: addu $5,$5,$7
707: .set macro
708: .set reorder
709:
710: srl $4,$4,$3
711: subu $2,$2,$3
712: sll $2,$5,$2
713: addu $4,$4,$2
714: .set noreorder
715: .set nomacro
716: j $L58
717: srl $5,$5,$3
718: .set macro
719: .set reorder
720:
721: $L57:
722: move $4,$5
723: move $5,$0
724: $L58:
725: .set noreorder
726: .set nomacro
727: bne $5,$0,$L59
728: li $2,-1 # 0xffffffff
729: .set macro
730: .set reorder
731:
732: move $2,$4
733: $L59:
734: j $31
735: .end p_quo_digit
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.