Mesa (master): nir: When faced with a csel on !condition, just flip the arguments.

Eric Anholt anholt at kemper.freedesktop.org
Sat Feb 21 23:03:14 UTC 2015


Module: Mesa
Branch: master
Commit: a38038ca5e329c074f67399a993a653c8e439cae
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a38038ca5e329c074f67399a993a653c8e439cae

Author: Eric Anholt <eric at anholt.net>
Date:   Fri Feb 20 01:18:46 2015 -0800

nir: When faced with a csel on !condition, just flip the arguments.

total NIR instructions in shared programs: 39426 -> 39411 (-0.04%)
NIR instructions in affected programs:     3748 -> 3733 (-0.40%)

Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>

---

 src/glsl/nir/nir_opt_algebraic.py |    1 +
 1 file changed, 1 insertion(+)

diff --git a/src/glsl/nir/nir_opt_algebraic.py b/src/glsl/nir/nir_opt_algebraic.py
index ef3a029..c3a884b 100644
--- a/src/glsl/nir/nir_opt_algebraic.py
+++ b/src/glsl/nir/nir_opt_algebraic.py
@@ -85,6 +85,7 @@ optimizations = [
    (('fge', ('fneg', ('fabs', a)), 0.0), ('feq', a, 0.0)),
    (('bcsel', ('flt', a, b), a, b), ('fmin', a, b)),
    (('bcsel', ('flt', a, b), b, a), ('fmax', a, b)),
+   (('bcsel', ('inot', 'a at bool'), b, c), ('bcsel', a, c, b)),
    (('fmin', ('fmax', a, 0.0), 1.0), ('fsat', a), '!options->lower_fsat'),
    (('fsat', a), ('fmin', ('fmax', a, 0.0), 1.0), 'options->lower_fsat'),
    (('fsat', ('fsat', a)), ('fsat', a)),




More information about the mesa-commit mailing list