nir/algebraic: Generalize an optimization
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 19 Oct 2018 17:43:43 +0000 (12:43 -0500)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 22 Oct 2018 21:00:18 +0000 (16:00 -0500)
There's nothing boolean about (a | ~a) ~> -1

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
src/compiler/nir/nir_opt_algebraic.py

index cc747250ba5f42314a2b1a3ba9c09258ec43cbf6..8b24daddfdcd1f7d181efc211d370734c3b6f641 100644 (file)
@@ -373,7 +373,7 @@ optimizations = [
    (('iand', ('uge(is_used_once)', a, c), ('uge', b, c)), ('uge', ('umin', a, b), c)),
 
    (('ior', 'a@bool', ('ieq', a, False)), True),
-   (('ior', 'a@bool', ('inot', a)), True),
+   (('ior', a, ('inot', a)), -1),
 
    (('iand', ('ieq', 'a@32', 0), ('ieq', 'b@32', 0)), ('ieq', ('ior', 'a@32', 'b@32'), 0)),