Blame SOURCES/0001-nir-use-bitfield_insert-instead-of-bfi-in-nir_lower_.patch

7073d7
From d3ec950f0d8492b980a91844ffd744d7e7824277 Mon Sep 17 00:00:00 2001
7073d7
From: Ben Skeggs <bskeggs@redhat.com>
7073d7
Date: Sat, 6 Jun 2020 16:58:00 +1000
7073d7
Subject: [PATCH] nir: use bitfield_insert instead of bfi in
7073d7
 nir_lower_double_ops
7073d7
7073d7
NVIDIA hardware doesn't have an equivilant to bfi, but we do already have
7073d7
a lowering for bitfield_insert->bfi.
7073d7
7073d7
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
7073d7
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
7073d7
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5373>
7073d7
---
7073d7
 src/compiler/nir/nir_lower_double_ops.c | 4 +++-
7073d7
 1 file changed, 3 insertions(+), 1 deletion(-)
7073d7
7073d7
diff --git a/src/compiler/nir/nir_lower_double_ops.c b/src/compiler/nir/nir_lower_double_ops.c
7073d7
index f9c93a910a5..73226fd62ef 100644
7073d7
--- a/src/compiler/nir/nir_lower_double_ops.c
7073d7
+++ b/src/compiler/nir/nir_lower_double_ops.c
7073d7
@@ -49,7 +49,9 @@ set_exponent(nir_builder *b, nir_ssa_def *src, nir_ssa_def *exp)
7073d7
    /* The exponent is bits 52-62, or 20-30 of the high word, so set the exponent
7073d7
     * to 1023
7073d7
     */
7073d7
-   nir_ssa_def *new_hi = nir_bfi(b, nir_imm_int(b, 0x7ff00000), exp, hi);
7073d7
+   nir_ssa_def *new_hi = nir_bitfield_insert(b, hi, exp,
7073d7
+                                             nir_imm_int(b, 20),
7073d7
+                                             nir_imm_int(b, 11));
7073d7
    /* recombine */
7073d7
    return nir_pack_64_2x32_split(b, lo, new_hi);
7073d7
 }
7073d7
-- 
7073d7
2.26.2
7073d7