Mesa (master): nir: use bitfield_insert instead of bfi in nir_lower_double_ops

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jun 8 23:01:53 UTC 2020


Module: Mesa
Branch: master
Commit: a6c747e8e0b982c707b1ff73edd1087a1c5e1db2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6c747e8e0b982c707b1ff73edd1087a1c5e1db2

Author: Ben Skeggs <bskeggs at redhat.com>
Date:   Sat Jun  6 16:58:00 2020 +1000

nir: use bitfield_insert instead of bfi in nir_lower_double_ops

NVIDIA hardware doesn't have an equivilant to bfi, but we do already have
a lowering for bitfield_insert->bfi.

Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5373>

---

 src/compiler/nir/nir_lower_double_ops.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/compiler/nir/nir_lower_double_ops.c b/src/compiler/nir/nir_lower_double_ops.c
index f9c93a910a5..73226fd62ef 100644
--- a/src/compiler/nir/nir_lower_double_ops.c
+++ b/src/compiler/nir/nir_lower_double_ops.c
@@ -49,7 +49,9 @@ set_exponent(nir_builder *b, nir_ssa_def *src, nir_ssa_def *exp)
    /* The exponent is bits 52-62, or 20-30 of the high word, so set the exponent
     * to 1023
     */
-   nir_ssa_def *new_hi = nir_bfi(b, nir_imm_int(b, 0x7ff00000), exp, hi);
+   nir_ssa_def *new_hi = nir_bitfield_insert(b, hi, exp,
+                                             nir_imm_int(b, 20),
+                                             nir_imm_int(b, 11));
    /* recombine */
    return nir_pack_64_2x32_split(b, lo, new_hi);
 }



More information about the mesa-commit mailing list