nir: Add a couple trivial abs optimizations
authorJason Ekstrand <jason.ekstrand@intel.com>
Mon, 23 Jul 2018 06:57:07 +0000 (23:57 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 23 Jul 2018 17:48:21 +0000 (10:48 -0700)
Spotted in a shader in Batman: Arkham City.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/compiler/nir/nir_opt_algebraic.py

index f49b43f3213ea89faac38dcfae6515bd3fef9f73..ba277fdfd0e2013dd4fcf5c221ec988c34d0327e 100644 (file)
@@ -229,6 +229,8 @@ optimizations = [
    (('imax', a, a), a),
    (('umin', a, a), a),
    (('umax', a, a), a),
+   (('fmax', a, ('fneg', a)), ('fabs', a)),
+   (('imax', a, ('ineg', a)), ('iabs', a)),
    (('fmin', a, ('fneg', a)), ('fneg', ('fabs', a))),
    (('imin', a, ('ineg', a)), ('ineg', ('iabs', a))),
    (('fmin', a, ('fneg', ('fabs', a))), ('fneg', ('fabs', a))),