fun rmap_src(rtype, regnum,
inum)
{
val src : SrcRef;
src.rtype = rtype?cvt(uchar);
src.regnum = regnum?cvt(uchar);
src.literal = 0;
val ii = +(inum - 1);
while(ii >= +0) {
val jj = 0;
while(jj < instq[ii].destq?length()) {
val dest = instq[ii].destq[+jj];
if(dest.rtype == rtype?cvt(uchar) &&
dest.regnum == regnum?cvt(uchar)) {
src.bypass = (+inum - ii)?cvt(uchar);
src.outnum = jj?cvt(uchar);
return src;
}
jj = jj + 1;
}
ii = ii - +1;
}
src.bypass = 0?cvt(uchar);
src.outnum = 0?cvt(uchar);
return src;
}