Account for the # of regs an instruction writes, and fix an off-by-one.
(We are about to replace this with calculating the register target using
the live-ranges, but in debugging that it was useful to assert() if it
chose a higher target.)
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4272>
} else if ((id = &ctx->instrd[instr->ip]) && id->defn) {
unsigned name = scalar_name(ctx, id->defn, 0);
unsigned r = ra_get_node_reg(ctx->g, name);
- max = ctx->set->ra_reg_to_gpr[r] + id->off;
+ max = ctx->set->ra_reg_to_gpr[r] + id->off + dest_regs(id->defn);
} else {
return;
}