From: Jason Ekstrand Date: Mon, 23 Jul 2018 07:35:02 +0000 (-0700) Subject: nir: Add a couple of iand/ior optimizations X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b3b170ade9cc3abe6b861a549292c9ec230844bc;p=mesa.git nir: Add a couple of iand/ior optimizations Spotted in a shader in Batman: Arkham City. Reviewed-by: Timothy Arceri --- diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py index ba277fdfd0e..7fc4ff1d407 100644 --- a/src/compiler/nir/nir_opt_algebraic.py +++ b/src/compiler/nir/nir_opt_algebraic.py @@ -377,6 +377,10 @@ optimizations = [ (('ixor', a, a), 0), (('ixor', a, 0), a), (('inot', ('inot', a)), a), + (('ior', ('iand', a, b), b), b), + (('ior', ('ior', a, b), b), ('ior', a, b)), + (('iand', ('ior', a, b), b), b), + (('iand', ('iand', a, b), b), ('iand', a, b)), # DeMorgan's Laws (('iand', ('inot', a), ('inot', b)), ('inot', ('ior', a, b))), (('ior', ('inot', a), ('inot', b)), ('inot', ('iand', a, b))),