
;  GNU C 2.7.2 [AL 1.1, MM 40] RISC NEWS-OS compiled by CC

;  Cc1 defaults:
;  -mmemcpy

;  Cc1 arguments (-G value = 0, Cpu = 3000, ISA = 1):
;  -quiet -dumpbase -O2 -Wall -o

gcc2_compiled.:
__gnu_compiled_c:
	.code
	.align	1
	.global	spc2cpu_DIV
spc2cpu_DIV:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ext	spc2cpu+0x5@ah	; 	xld.ub	%r1,[spc2cpu+5]
	ext	spc2cpu+0x5@al
	ld.ub	%r1,[%r8]
	cmp	%r1,0x0
	jreq	__LX71		; 	xjreq	__L71
	ext	spc2cpu+0x6@ah	; 	xld.uh	%r0,[spc2cpu+6]
	ext	spc2cpu+0x6@al
	ld.uh	%r0,[%r8]
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ext	spc2cpu+0x6@ah	; 	xld.b	[spc2cpu+6],%r10
	ext	spc2cpu+0x6@al
	ld.b	[%r8],%r10
	ext	spc2cpu+0x2@ah	; 	xld.b	[spc2cpu+2],%r10
	ext	spc2cpu+0x2@al
	ld.b	[%r8],%r10
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	ext	__modsi3@rm	; 	xcall	__modsi3
	call	__modsi3@rl
	ext	spc2cpu+0x7@ah	; 	xld.b	[spc2cpu+7],%r10
	ext	spc2cpu+0x7@al
	ld.b	[%r8],%r10
	ld.w	%r11,0x0
	ext	spc2cpu+0x4@ah	; 	xld.b	[spc2cpu+4],%r11
	ext	spc2cpu+0x4@al
	ld.b	[%r8],%r11
	jp	__LX72		; 	xjp	__L72
__LX71:				; __L71:
	ext	0x3ff		; 	xld.w	%r10,0x0000ffff		; 65535
	ld.w	%r10,0x3f
	ext	spc2cpu+0x6@ah	; 	xld.h	[spc2cpu+6],%r10
	ext	spc2cpu+0x6@al
	ld.h	[%r8],%r10
	ext	0x3		; 	xld.w	%r10,0x000000ff		; 255
	ld.w	%r10,0x3f
	ext	spc2cpu+0x2@ah	; 	xld.b	[spc2cpu+2],%r10
	ext	spc2cpu+0x2@al
	ld.b	[%r8],%r10
	ext	spc2cpu+0x4@ah	; 	xld.b	[spc2cpu+4],%r10
	ext	spc2cpu+0x4@al
	ld.b	[%r8],%r10
__LX72:				; __L72:
	popn	%r1
	ret
	.align	1
	.global	spc2cpu_PACK_PSW
spc2cpu_PACK_PSW:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	spc2cpu+0x0@h	; 	xld.w	%r13,spc2cpu
	ext	spc2cpu+0x0@m
	ld.w	%r13,spc2cpu+0x0@l
	ld.uh	%r10,[%r13]	; 	xld.uh	%r10,[%r13]
	ld.w	%r11,%r10
	srl	%r11,0x3	; 	xsrl	%r11,3
	ext	spc2cpu+0x2@ah	; 	xld.ub	%r12,[spc2cpu+2]
	ext	spc2cpu+0x2@al
	ld.ub	%r12,[%r8]
	ld.ub	%r10,%r12
	cmp	%r10,0x0
	jreq	__LX74		; 	xjreq	__L74
	ld.w	%r10,%r12
	ext	0x2		; 	xand	%r10,%r10,0x00000080
	and	%r10,0x0
	or	%r11,%r10
	jp	__LX75		; 	xjp	__L75
__LX74:				; __L74:
	or	%r11,0x2	; 	xoor	%r11,%r11,0x00000002
__LX75:				; __L75:
	ext	0x3		; 	xld.ub	%r10,[%r13+3]
	ld.ub	%r10,[%r13]
	and	%r10,0x1	; 	xand	%r10,%r10,0x00000001
	or	%r11,%r10
	ext	0x4		; 	xld.ub	%r10,[%r13+4]
	ld.ub	%r10,[%r13]
	srl	%r10,0x1	; 	xsrl	%r10,1
	ext	0x1		; 	xand	%r10,%r10,0x00000040
	and	%r10,0x0
	or	%r11,%r10
	ld.w	%r10,%r11
	ret
	.align	1
	.global	spc2cpu_UNPACK_PSW
spc2cpu_UNPACK_PSW:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	spc2cpu+0x0@h	; 	xld.w	%r11,spc2cpu
	ext	spc2cpu+0x0@m
	ld.w	%r11,spc2cpu+0x0@l
	ld.w	%r10,%r12
	ext	0x0		; 	xand	%r10,%r10,0x00000020
	and	%r10,0x20
	sll	%r10,0x3	; 	xsll	%r10,3
	ld.h	[%r11],%r10	; 	xld.h	[%r11],%r10
	ld.w	%r10,%r12
	and	%r10,0x2	; 	xand	%r10,%r10,0x00000002
	jreq	__LX77		; 	xjreq	__L77
	ld.w	%r13,0x0
	ext	spc2cpu+0x2@ah	; 	xld.b	[spc2cpu+2],%r13
	ext	spc2cpu+0x2@al
	ld.b	[%r8],%r13
	jp	__LX78		; 	xjp	__L78
__LX77:				; __L77:
	ld.w	%r10,%r12
	ext	0x1ffe		; 	xand	%r10,%r10,0xffffff80
	and	%r10,0x0
	or	%r10,0x1	; 	xoor	%r10,%r10,0x00000001
	ext	spc2cpu+0x2@ah	; 	xld.b	[spc2cpu+2],%r10
	ext	spc2cpu+0x2@al
	ld.b	[%r8],%r10
__LX78:				; __L78:
	ld.w	%r10,%r12
	and	%r10,0x1	; 	xand	%r10,%r10,0x00000001
	ext	0x3		; 	xld.b	[%r11+3],%r10
	ld.b	[%r11],%r10
	ld.w	%r10,%r12
	ext	0x1		; 	xand	%r10,%r10,0x00000040
	and	%r10,0x0
	sll	%r10,0x1	; 	xsll	%r10,1
	ext	0x4		; 	xld.b	[%r11+4],%r10
	ld.b	[%r11],%r10
	ret
	.code
	.align	2
__LC0:
	.ascii	"spc2cpu_DIE(%02x)\000"
	.code
	.align	1
	.global	spc2cpu_DIE
spc2cpu_DIE:
;	.frame	%sp,12,$31		# vars= 0, regs= 1/0, args= 8, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ext	__LC0+0x0@h	; 	xld.w	%r10,__LC0
	ext	__LC0+0x0@m
	ld.w	%r10,__LC0+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	[%sp+0x1],%r12	; 	xld.w	[%sp+4],%r12
	ext	die@rm		; 	xcall	die
	call	die@rl
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	ret
	.code
	.align	2
__LC1:
	.ascii	"clipsp2c.$(%d)\000"
	.code
	.align	1
	.global	spc2cpu_init
spc2cpu_init:
;	.frame	%sp,12,$31		# vars= 0, regs= 1/0, args= 8, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	sub	%sp,0x2		; 	xsub	%sp,%sp,8
	ld.w	%r5,[%sp+0x4]	; 	xld.w	%r5,[%sp+16]
	ext	0x3ff		; 	xcmp	%r12,65535
	cmp	%r12,0x3f
	jrule	__LX81		; 	xjrule	__L81
	ext	__LC1+0x0@h	; 	xld.w	%r10,__LC1
	ext	__LC1+0x0@m
	ld.w	%r10,__LC1+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1a		; 	xld.w	%r10,0x000006bd		; 1725
	ld.w	%r10,0x3d
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX81:				; __L81:
	ext	spc2ram+0x0@h	; 	xld.w	%r4,spc2ram
	ext	spc2ram+0x0@m
	ld.w	%r4,spc2ram+0x0@l
	ld.w	%r10,%r12
	add	%r10,%r4
	ext	spc2cpu+0xc@ah	; 	xld.w	[spc2cpu+12],%r10
	ext	spc2cpu+0xc@al
	ld.w	[%r8],%r10
	ext	0x3		; 	xld.w	%r11,0x000000ff		; 255
	ld.w	%r11,0x3f
	cmp	%r5,%r11
	jrule	__LX82		; 	xjrule	__L82
	ext	__LC1+0x0@h	; 	xld.w	%r10,__LC1
	ext	__LC1+0x0@m
	ld.w	%r10,__LC1+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1a		; 	xld.w	%r10,0x000006be		; 1726
	ld.w	%r10,0x3e
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX82:				; __L82:
	ld.w	%r10,%r5
	ext	0x4		; 	xoor	%r10,%r10,0x00000100
	or	%r10,0x0
	add	%r10,%r4
	ext	spc2cpu+0x8@ah	; 	xld.w	[spc2cpu+8],%r10
	ext	spc2cpu+0x8@al
	ld.w	[%r8],%r10
	cmp	%r13,%r11
	jrule	__LX83		; 	xjrule	__L83
	ext	__LC1+0x0@h	; 	xld.w	%r10,__LC1
	ext	__LC1+0x0@m
	ld.w	%r10,__LC1+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1a		; 	xld.w	%r10,0x000006bf		; 1727
	ld.w	%r10,0x3f
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX83:				; __L83:
	ext	spc2cpu+0x6@ah	; 	xld.b	[spc2cpu+6],%r13
	ext	spc2cpu+0x6@al
	ld.b	[%r8],%r13
	cmp	%r14,%r11
	jrule	__LX84		; 	xjrule	__L84
	ext	__LC1+0x0@h	; 	xld.w	%r10,__LC1
	ext	__LC1+0x0@m
	ld.w	%r10,__LC1+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1b		; 	xld.w	%r10,0x000006c0		; 1728
	ld.w	%r10,0x0
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX84:				; __L84:
	ext	spc2cpu+0x5@ah	; 	xld.b	[spc2cpu+5],%r14
	ext	spc2cpu+0x5@al
	ld.b	[%r8],%r14
	cmp	%r15,%r11
	jrule	__LX85		; 	xjrule	__L85
	ext	__LC1+0x0@h	; 	xld.w	%r10,__LC1
	ext	__LC1+0x0@m
	ld.w	%r10,__LC1+0x0@l
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ext	0x1b		; 	xld.w	%r10,0x000006c1		; 1729
	ld.w	%r10,0x1
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ext	die@rm		; 	xcall	die
	call	die@rl
__LX85:				; __L85:
	ext	spc2cpu+0x7@ah	; 	xld.b	[spc2cpu+7],%r15
	ext	spc2cpu+0x7@al
	ld.b	[%r8],%r15
	ld.w	%r12,[%sp+0x3]	; 	xld.w	%r12,[%sp+12]
	ext	spc2cpu_UNPACK_PSW@rm	; 	xcall	spc2cpu_UNPACK_PSW
	call	spc2cpu_UNPACK_PSW@rl
	add	%sp,0x2		; 	xadd	%sp,%sp,8
	ret

