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
11gcc2_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
40p_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
225p_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
406p_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
487p_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
496p_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
576p_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
588p_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
736