From baee5a981229e6e5c270d112f3f4d24a1eb4d7f9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Sch=C3=BCrmann?= Date: Wed, 15 Jul 2020 19:23:54 +0200 Subject: [PATCH] nir/algebraic: add distributive rules for ior/iand MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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: --- src/compiler/nir/nir_opt_algebraic.py | 2 ++ 1 file changed, 2 insertions(+) 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), -- 2.30.2