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: 0e6581b87d ("nir/algebraic: Reassociate shift-by-constant of shift-by-constant")
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15990>
(cherry picked from commit 66e917fff6)
This commit is contained in:
Georg Lehmann 2022-04-16 13:36:17 +02:00 committed by Dylan Baker
parent 14530ee71c
commit dce56ea2d0
2 changed files with 2 additions and 2 deletions

View file

@ -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"
},
{

View file

@ -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)