nir: add nir_isub_imm
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 5 May 2021 18:14:13 +0000 (14:14 -0400)
committerMarge Bot <eric+marge@anholt.net>
Thu, 6 May 2021 13:01:03 +0000 (13:01 +0000)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10654>

src/compiler/nir/nir_builder.h

index 602ab50..873c912 100644 (file)
@@ -838,6 +838,13 @@ 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));
 }
 
+/* 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)
+{
+   return nir_isub(build, nir_imm_intN_t(build, y, x->bit_size), x);
+}
+
 static inline nir_ssa_def *
 _nir_mul_imm(nir_builder *build, nir_ssa_def *x, uint64_t y, bool amul)
 {