intel/compiler: Rearrange code to avoid future problems

A follow on commit will move nr to the same union as the immediate
data, so we should assert these invariants before we overwrite the nr
field.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Matt Turner
2018-12-11 22:04:42 -08:00
parent 3b967e1724
commit 2b801b6668

View File

@@ -294,13 +294,14 @@ fs_visitor::opt_combine_constants()
for (int i = 0; i < table.len; i++) {
foreach_list_typed(reg_link, link, link, table.imm[i].uses) {
fs_reg *reg = link->reg;
assert((isnan(reg->f) && isnan(table.imm[i].val)) ||
fabsf(reg->f) == fabs(table.imm[i].val));
reg->file = VGRF;
reg->nr = table.imm[i].nr;
reg->offset = table.imm[i].subreg_offset;
reg->stride = 0;
reg->negate = signbit(reg->f) != signbit(table.imm[i].val);
assert((isnan(reg->f) && isnan(table.imm[i].val)) ||
fabsf(reg->f) == fabs(table.imm[i].val));
reg->nr = table.imm[i].nr;
}
}