From: Daniel Schürmann Date: Wed, 15 Jul 2020 17:23:54 +0000 (+0200) Subject: nir/algebraic: add distributive rules for ior/iand X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=baee5a981229e6e5c270d112f3f4d24a1eb4d7f9;p=mesa.git nir/algebraic: add distributive rules for ior/iand Totals from 581 (0.43% of 134368) affected shaders (Polaris): CodeSize: 1389560 -> 1386488 (-0.22%) Instrs: 264488 -> 263984 (-0.19%) Cycles: 1057952 -> 1055936 (-0.19%) VMEM: 296016 -> 291613 (-1.49%) Reviewed-by: Rhys Perry Reviewed-by: Marek Olšák Part-of: --- diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py index bd0da989c9e..213bc843a68 100644 --- a/src/compiler/nir/nir_opt_algebraic.py +++ b/src/compiler/nir/nir_opt_algebraic.py @@ -121,6 +121,8 @@ optimizations = [ (('usadd_4x8', a, ~0), ~0), (('~fadd', ('fmul', a, b), ('fmul', a, c)), ('fmul', a, ('fadd', b, c))), (('iadd', ('imul', a, b), ('imul', a, c)), ('imul', a, ('iadd', b, c))), + (('iand', ('ior', a, b), ('ior', a, c)), ('ior', a, ('iand', b, c))), + (('ior', ('iand', a, b), ('iand', a, c)), ('iand', a, ('ior', b, c))), (('~fadd', ('fneg', a), a), 0.0), (('iadd', ('ineg', a), a), 0), (('iadd', ('ineg', a), ('iadd', a, b)), b),