From 3c754900b5f689b821cbb1162b821ce12bcaf23e Mon Sep 17 00:00:00 2001 From: Vasily Khoruzhick Date: Wed, 22 Jan 2020 20:29:50 -0800 Subject: [PATCH] nir: don't emit ishl in _nir_mul_imm() if backend doesn't support bitops Otherwise we'll have to lower it later. Reviewed-by: Jason Ekstrand Reviewed-by: Erico Nunes Signed-off-by: Vasily Khoruzhick Part-of: --- src/compiler/nir/nir_builder.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_builder.h b/src/compiler/nir/nir_builder.h index 8b5923211db..fb90fc2cdca 100644 --- a/src/compiler/nir/nir_builder.h +++ b/src/compiler/nir/nir_builder.h @@ -656,7 +656,8 @@ _nir_mul_imm(nir_builder *build, nir_ssa_def *x, uint64_t y, bool amul) return nir_imm_intN_t(build, 0, x->bit_size); } else if (y == 1) { return x; - } else if (util_is_power_of_two_or_zero64(y)) { + } else if (!build->shader->options->lower_bitops && + util_is_power_of_two_or_zero64(y)) { return nir_ishl(build, x, nir_imm_int(build, ffsll(y) - 1)); } else if (amul) { return nir_amul(build, x, nir_imm_intN_t(build, y, x->bit_size)); -- 2.30.2