Mesa (staging/22.0): nir: Lower all bit sizes of usub_borrow

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Apr 26 16:46:42 UTC 2022


Module: Mesa
Branch: staging/22.0
Commit: 98fb3bf94380d63af28b77e4cdeb54d3bbe47bad
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=98fb3bf94380d63af28b77e4cdeb54d3bbe47bad

Author: Jason Ekstrand <jason.ekstrand at collabora.com>
Date:   Mon Apr 25 12:12:10 2022 -0500

nir: Lower all bit sizes of usub_borrow

It's not clear why this is restricted to 32-bit besides that being the
only bit size where GLSL has an intrinsic for this.  All drivers that
set this probably want it lowered for all bit sizes as far as I can
tell.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6353
Fixes: 8a3e3441802c ("nir/opt_algebraic: Fix some expressions with ambiguous bit sizes")
Reviewed-by: Emma Anholt <emma at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16146>
(cherry picked from commit 17557303625d95fc30b24d15b45e41d9b747aee6)

---

 .pick_status.json                     | 2 +-
 src/compiler/nir/nir_opt_algebraic.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index d39ebf86a12..c06d1df55a0 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -332,7 +332,7 @@
         "description": "nir: Lower all bit sizes of usub_borrow",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "because_sha": "8a3e3441802c417ec944f02a9f38491b3b236d7c"
     },
     {
diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py
index 9b3117af2fe..54ef284b538 100644
--- a/src/compiler/nir/nir_opt_algebraic.py
+++ b/src/compiler/nir/nir_opt_algebraic.py
@@ -1643,7 +1643,7 @@ optimizations.extend([
    (('fmod', a, b), ('fsub', a, ('fmul', b, ('ffloor', ('fdiv', a, b)))), 'options->lower_fmod'),
    (('frem', a, b), ('fsub', a, ('fmul', b, ('ftrunc', ('fdiv', a, b)))), 'options->lower_fmod'),
    (('uadd_carry', a, b), ('b2i', ('ult', ('iadd', a, b), a)), 'options->lower_uadd_carry'),
-   (('usub_borrow at 32', a, b), ('b2i', ('ult', a, b)), 'options->lower_usub_borrow'),
+   (('usub_borrow', a, b), ('b2i', ('ult', a, b)), 'options->lower_usub_borrow'),
 
    (('bitfield_insert', 'base', 'insert', 'offset', 'bits'),
     ('bcsel', ('ult', 31, 'bits'), 'insert',



More information about the mesa-commit mailing list