diff --git a/src/compiler/nir/nir_builtin_builder.h b/src/compiler/nir/nir_builtin_builder.h index ca28dd11621..acbf0c68819 100644 --- a/src/compiler/nir/nir_builtin_builder.h +++ b/src/compiler/nir/nir_builtin_builder.h @@ -237,7 +237,8 @@ static inline nir_ssa_def * nir_clz_u(nir_builder *b, nir_ssa_def *a) { nir_ssa_def *val; - val = nir_isub(b, nir_imm_intN_t(b, a->bit_size - 1, 32), nir_ufind_msb(b, a)); + val = nir_isub(b, nir_imm_intN_t(b, a->bit_size - 1, 32), + nir_ufind_msb(b, nir_u2uN(b, a, MAX2(a->bit_size, 32)))); return nir_u2uN(b, val, a->bit_size); }