nir/builder: Add a nir_iand_imm helper
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6210>
This commit is contained in:

committed by
Marge Bot

parent
ac95bb45e8
commit
a0a0bcfa26
@@ -763,6 +763,20 @@ nir_fmul_imm(nir_builder *build, nir_ssa_def *x, double y)
|
||||
return nir_fmul(build, x, nir_imm_floatN_t(build, y, x->bit_size));
|
||||
}
|
||||
|
||||
static inline nir_ssa_def *
|
||||
nir_iand_imm(nir_builder *build, nir_ssa_def *x, uint64_t y)
|
||||
{
|
||||
y &= BITFIELD64_MASK(x->bit_size);
|
||||
|
||||
if (y == 0) {
|
||||
return nir_imm_intN_t(build, 0, x->bit_size);
|
||||
} else if (y == BITFIELD64_MASK(x->bit_size)) {
|
||||
return x;
|
||||
} else {
|
||||
return nir_iand(build, x, nir_imm_intN_t(build, y, x->bit_size));
|
||||
}
|
||||
}
|
||||
|
||||
static inline nir_ssa_def *
|
||||
nir_pack_bits(nir_builder *b, nir_ssa_def *src, unsigned dest_bit_size)
|
||||
{
|
||||
|
Reference in New Issue
Block a user