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; }