Module: Mesa Branch: staging/22.1 Commit: e2c69cd976b2b4eef250c9e11bc8a994d71ddd25 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2c69cd976b2b4eef250c9e11bc8a994d71ddd25
Author: Georg Lehmann <[email protected]> Date: Sat Apr 16 13:36:17 2022 +0200 nir/opt_algebraic: Fix mask in shift by constant combining. The comment above is correct, but the code to calculate the mask was broken. No Foz-db changes outside of noise. Fixes: 0e6581b87dc ("nir/algebraic: Reassociate shift-by-constant of shift-by-constant") Signed-off-by: Georg Lehmann <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15990> (cherry picked from commit 66e917fff69497143ebf6593a40891ea3d1daf93) --- .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 bdaa9be782b..26f6e1dca0f 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -454,7 +454,7 @@ "description": "nir/opt_algebraic: Fix mask in shift by constant combining.", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "0e6581b87dc4e168fa864cd39e8947a58999189a" }, diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py index 63c2427344f..dcd4c501e4a 100644 --- a/src/compiler/nir/nir_opt_algebraic.py +++ b/src/compiler/nir/nir_opt_algebraic.py @@ -420,7 +420,7 @@ optimizations.extend([ # bits of the second source. These replacements must correctly handle the # case where (b % bitsize) + (c % bitsize) >= bitsize. for s in [8, 16, 32, 64]: - mask = (1 << s) - 1 + mask = s - 1 ishl = "ishl@{}".format(s) ishr = "ishr@{}".format(s)
