fun Rx_src(var inst : InstOp, i0) { val ii = i0?ext(32); if(ii == 0) inst.srcq?push_back(literal_src(0)); else if(ii < 8) inst.srcq?push_back(rmap_src(1 ,ii-1)); else { val win = (CWP?cvt(ulong) - (ii / 16) + 8 ) % 8 ; ii = ii & 0xf?ext(32); inst.srcq?push_back(rmap_src(2 ,16*win+ii)); } }