From b3b170ade9cc3abe6b861a549292c9ec230844bc Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Mon, 23 Jul 2018 00:35:02 -0700 Subject: [PATCH] nir: Add a couple of iand/ior optimizations Spotted in a shader in Batman: Arkham City. Reviewed-by: Timothy Arceri --- src/compiler/nir/nir_opt_algebraic.py | 4 ++++ 1 file changed, 4 insertions(+) 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))), -- 2.30.2