nir/algebraic: Simplify fsat of fsign
authorIan Romanick <ian.d.romanick@intel.com>
Sun, 9 Sep 2018 20:40:02 +0000 (13:40 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Tue, 9 Oct 2018 20:56:42 +0000 (13:56 -0700)
These allows us to not support fsign.sat in the Intel compiler backend,
and that will simplify some later changes.

No shader-db changes on any Intel platform.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Thomas Helland <thomashelland90@gmail.com>
src/compiler/nir/nir_opt_algebraic.py

index 3267e93a583d9683ab1ecbbb021eb8bb8e66ff35..422a8794d381f71eb74f1f4da7a44a2784c73f2c 100644 (file)
@@ -329,6 +329,7 @@ optimizations = [
    (('imax', a, ('ineg', a)), ('iabs', a)),
    (('~fmin', ('fmax', a, 0.0), 1.0), ('fsat', a), '!options->lower_fsat'),
    (('~fmax', ('fmin', a, 1.0), 0.0), ('fsat', a), '!options->lower_fsat'),
+   (('fsat', ('fsign', a)), ('b2f', ('flt', 0.0, a))),
    (('fsat', a), ('fmin', ('fmax', a, 0.0), 1.0), 'options->lower_fsat'),
    (('fsat', ('fsat', a)), ('fsat', a)),
    (('fmin', ('fmax', ('fmin', ('fmax', a, b), c), b), c), ('fmin', ('fmax', a, b), c)),