nir/builder: Emit better code for iadd/imul_imm

Because we already know the immediate right-hand parameter, we can
potentially save the optimizer a bit of work.

Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
This commit is contained in:
Jason Ekstrand
2019-03-06 12:27:26 -06:00
committed by Jason Ekstrand
parent ebbb6b8eaa
commit cd4c1458ba
2 changed files with 24 additions and 5 deletions

View File

@@ -79,9 +79,7 @@ vtn_access_link_as_ssa(struct vtn_builder *b, struct vtn_access_link link,
nir_ssa_def *ssa = vtn_ssa_value(b, link.id)->def;
if (ssa->bit_size != bit_size)
ssa = nir_i2i(&b->nb, ssa, bit_size);
if (stride != 1)
ssa = nir_imul_imm(&b->nb, ssa, stride);
return ssa;
return nir_imul_imm(&b->nb, ssa, stride);
}
}