mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
nir: Add new nir_builder helpers for iadd with no_unsigned_wrap.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9201>
This commit is contained in:
parent
5bc42ce579
commit
f6f68d5cf1
1 changed files with 16 additions and 0 deletions
|
|
@ -815,6 +815,22 @@ nir_iadd_imm(nir_builder *build, nir_ssa_def *x, uint64_t y)
|
|||
}
|
||||
}
|
||||
|
||||
static inline nir_ssa_def *
|
||||
nir_iadd_imm_nuw(nir_builder *b, nir_ssa_def *x, uint64_t y)
|
||||
{
|
||||
nir_ssa_def *d = nir_iadd_imm(b, x, y);
|
||||
if (d != x && d->parent_instr->type == nir_instr_type_alu)
|
||||
nir_instr_as_alu(d->parent_instr)->no_unsigned_wrap = true;
|
||||
return d;
|
||||
}
|
||||
|
||||
static inline nir_ssa_def *
|
||||
nir_iadd_nuw(nir_builder *b, nir_ssa_def *x, nir_ssa_def *y)
|
||||
{
|
||||
nir_ssa_def *d = nir_iadd(b, x, y);
|
||||
nir_instr_as_alu(d->parent_instr)->no_unsigned_wrap = true;
|
||||
return d;
|
||||
}
|
||||
|
||||
static inline nir_ssa_def *
|
||||
nir_ieq_imm(nir_builder *build, nir_ssa_def *x, uint64_t y)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue