nir: Optimize a + neg(a)
authorThomas Helland <thomashelland90@gmail.com>
Sat, 28 Feb 2015 19:32:32 +0000 (20:32 +0100)
committerMatt Turner <mattst88@gmail.com>
Wed, 11 Mar 2015 21:21:05 +0000 (14:21 -0700)
Shader-db i965 instructions:
total instructions in shared programs: 1711180 -> 1711159 (-0.00%)
instructions in affected programs:     825 -> 804 (-2.55%)
helped:                                9
HURT:                                  0
GAINED:                                3
LOST:                                  3

Shader-db NIR instructions:
total instructions in shared programs: 606187 -> 606179 (-0.00%)
instructions in affected programs:     298 -> 290 (-2.68%)
helped:                                4
HURT:                                  0
GAINED:                                0
LOST:                                  0

Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Signed-off-by: Thomas Helland <thomashelland90@gmail.com>
src/glsl/nir/nir_opt_algebraic.py

index 688ceff8c92e0e0ee20a0e6441695115a56eec8e..ef855aa774e002df17037022b2fa6e47b2b72c38 100644 (file)
@@ -58,6 +58,8 @@ optimizations = [
    (('iadd', a, 0), a),
    (('fadd', ('fmul', a, b), ('fmul', a, c)), ('fmul', a, ('fadd', b, c))),
    (('iadd', ('imul', a, b), ('imul', a, c)), ('imul', a, ('iadd', b, c))),
+   (('fadd', ('fneg', a), a), 0.0),
+   (('iadd', ('ineg', a), a), 0),
    (('fmul', a, 0.0), 0.0),
    (('imul', a, 0), 0),
    (('fmul', a, 1.0), a),