From 46d14abeae1e7f38bbd580d54c64abe822f4440a Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Tue, 29 Mar 2022 20:16:54 +0100 Subject: [PATCH] nir/builder: add nir_{ine,ibfe,ubfe}_imm() helper Signed-off-by: Rhys Perry Reviewed-by: Samuel Pitoiset Part-of: --- src/compiler/nir/nir_builder.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/compiler/nir/nir_builder.h b/src/compiler/nir/nir_builder.h index 02abd9cd59d..195dd5daa7f 100644 --- a/src/compiler/nir/nir_builder.h +++ b/src/compiler/nir/nir_builder.h @@ -668,6 +668,12 @@ nir_ieq_imm(nir_builder *build, nir_ssa_def *x, uint64_t y) return nir_ieq(build, x, nir_imm_intN_t(build, y, x->bit_size)); } +static inline nir_ssa_def * +nir_ine_imm(nir_builder *build, nir_ssa_def *x, uint64_t y) +{ + return nir_ine(build, x, nir_imm_intN_t(build, y, x->bit_size)); +} + /* Use nir_iadd(x, -y) for reversing parameter ordering */ static inline nir_ssa_def * nir_isub_imm(nir_builder *build, uint64_t y, nir_ssa_def *x) @@ -795,6 +801,18 @@ nir_udiv_imm(nir_builder *build, nir_ssa_def *x, uint64_t y) } } +static inline nir_ssa_def * +nir_ibfe_imm(nir_builder *build, nir_ssa_def *x, uint32_t offset, uint32_t size) +{ + return nir_ibfe(build, x, nir_imm_int(build, offset), nir_imm_int(build, size)); +} + +static inline nir_ssa_def * +nir_ubfe_imm(nir_builder *build, nir_ssa_def *x, uint32_t offset, uint32_t size) +{ + return nir_ubfe(build, x, nir_imm_int(build, offset), nir_imm_int(build, size)); +} + static inline nir_ssa_def * nir_fclamp(nir_builder *b, nir_ssa_def *x, nir_ssa_def *min_val, nir_ssa_def *max_val)