diff options
author | Eric Anholt <eric@anholt.net> | 2015-02-06 17:12:59 -0800 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2015-02-11 11:52:38 -0800 |
commit | 56e21647e20db8e3708001a8600c3d8e7d12d841 (patch) | |
tree | 07350472cffd88e79d96252f72b179c097337357 /src/glsl | |
parent | 2919bdf466295bc3fbf6f6e796ef8d301404d3d9 (diff) |
nir: Add algebraic opt for int comparisons with identical operands.
No change on shader-db on i965.
v2: Reword the comment due to feedback from Erik Faye-Lund
Reviewed-by: Connor Abbott <cwabbott0@gmail.com> (v1)
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com> (v1)
Diffstat (limited to 'src/glsl')
-rw-r--r-- | src/glsl/nir/nir_opt_algebraic.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/glsl/nir/nir_opt_algebraic.py b/src/glsl/nir/nir_opt_algebraic.py index a5fe19ab988..2b4259e4654 100644 --- a/src/glsl/nir/nir_opt_algebraic.py +++ b/src/glsl/nir/nir_opt_algebraic.py @@ -83,6 +83,15 @@ optimizations = [ (('fne', ('fadd', a, b), 0.0), ('fne', a, ('fneg', b))), (('fge', ('fneg', ('fabs', a)), 0.0), ('feq', a, 0.0)), (('fmin', ('fmax', a, 0.0), 1.0), ('fsat', a)), + # Comparison with the same args. Note that these are not done for + # the float versions because NaN always returns false on float + # inequalities. + (('ilt', a, a), False), + (('ige', a, a), True), + (('ieq', a, a), True), + (('ine', a, a), False), + (('ult', a, a), False), + (('uge', a, a), True), # Logical and bit operations (('fand', a, 0.0), 0.0), (('iand', a, a), a), |