diff options
author | Connor Abbott <[email protected]> | 2017-07-31 18:26:49 -0700 |
---|---|---|
committer | Connor Abbott <[email protected]> | 2017-08-01 12:20:49 -0700 |
commit | de914615753678c5514733a37ac7d0360a43e525 (patch) | |
tree | 409ad490711813da3040230e583ea2a6464cab71 /src/compiler/nir/nir_opt_algebraic.py | |
parent | d62063ce316a86e3e091a392b42261138524a1a0 (diff) |
nir: fix algebraic optimizations
The optimizations are only valid for 32-bit integers. They were
mistakenly firing for 64-bit integers as well.
Cc: [email protected]
Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir_opt_algebraic.py')
-rw-r--r-- | src/compiler/nir/nir_opt_algebraic.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py index df5854270c4..ad75228a50f 100644 --- a/src/compiler/nir/nir_opt_algebraic.py +++ b/src/compiler/nir/nir_opt_algebraic.py @@ -250,8 +250,8 @@ optimizations = [ (('ishr', a, 0), a), (('ushr', 0, a), 0), (('ushr', a, 0), a), - (('iand', 0xff, ('ushr', a, 24)), ('ushr', a, 24)), - (('iand', 0xffff, ('ushr', a, 16)), ('ushr', a, 16)), + (('iand', 0xff, ('ushr@32', a, 24)), ('ushr', a, 24)), + (('iand', 0xffff, ('ushr@32', a, 16)), ('ushr', a, 16)), # Exponential/logarithmic identities (('~fexp2', ('flog2', a)), a), # 2^lg2(a) = a (('~flog2', ('fexp2', a)), a), # lg2(2^a) = a |