	.text
	.type	soinfo#,@object
	.proc %1$s#
	.type	%1$s#,@function
	.global	%1$s#
	.type	%3$s#,@function
	.global	%3$s#
	.align  32
%1$s:
{ .mii
	.prologue
	.save ar.pfs,r32
	alloc   loc0=ar.pfs,0,3,3,0     
	.fframe 4
	adds    r12=-64,r12
	.save rp,loc1
	mov	loc1=b0
}
{ .mii
	.body
	adds	loc2=0,r1
	nop.i	0
	nop.i	0
}
{ .mii
	adds	out0=%5$d,r0
	addl	out1=@ltoff(soinfo),r1
	adds    out2=0,r0;;
}
{ .mib
	ld8	out1=[out1]
	nop.i	0
	br.call.sptk   b0=%3$s#
}
{ .mii
	adds		r1=0,loc2
	adds 		r8=0,r0
	nop.i		0
}
{ .mii
	adds    	r12=64,r12
	mov	    	ar.pfs=loc0
	mov.ret.sptk	b0=loc1,0
}
{ .mib
	nop.m		0
	nop.i		0
	br.ret.sptk	b0;;
}
	.endp %1$s#
	.proc	%2$s#
	.type	%2$s#,@function
	.global	%2$s#
	.type	%4$s#,@function
	.global	%4$s#
	.align  32
%2$s:
{ .mii
	.prologue
	.save ar.pfs,r32
	alloc   loc0=ar.pfs,0,3,3,0     
	.fframe 4
	adds    r12=-64,r12
	.save rp,loc1
	mov	loc1=b0
}
{ .mii
	.body
	adds	loc2=0,r1
	nop.i	0
	nop.i	0
}
{ .mii
	adds	out0=%5$d,r0
	addl	out1=@ltoff(soinfo),r1
	adds    out2=0,r0;;
}
{ .mib
	ld8	out1=[out1]
	nop.i	0
	br.call.sptk   b0=%4$s#
}
{ .mii
	adds		r1=0,loc2
	adds 		r8=0,r0
	nop.i		0
} 
{ .mii
	adds    	r12=64,r12
	mov	    	ar.pfs=loc0
	mov.ret.sptk	b0=loc1,0
}
{ .mib
	nop.m		0
	nop.i		0
	br.ret.sptk	b0;;
}
	.endp %2$s#
