diff --git a/.pick_status.json b/.pick_status.json index faa72f0fcdc..1525ed5c3df 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -404,7 +404,7 @@ "description": "nir/opt_algebraic: Fix mask in shift by constant combining.", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "because_sha": "0e6581b87dc4e168fa864cd39e8947a58999189a" }, { diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py index 54ef284b538..2b8979df15e 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)