Mesa (main): nir/builder: add nir_{ine,ibfe,ubfe}_imm() helper

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Apr 16 00:25:10 UTC 2022


Module: Mesa
Branch: main
Commit: 46d14abeae1e7f38bbd580d54c64abe822f4440a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=46d14abeae1e7f38bbd580d54c64abe822f4440a

Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Tue Mar 29 20:16:54 2022 +0100

nir/builder: add nir_{ine,ibfe,ubfe}_imm() helper

Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15854>

---

 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)



More information about the mesa-commit mailing list