[Mesa-dev] [PATCH 4/4] nir: add a couple of ior opts to nir_opt_algebraic
Timothy Arceri
tarceri at itsqueeze.com
Mon Jul 16 04:55:08 UTC 2018
On 16/07/18 14:25, Jason Ekstrand wrote:
> How about just adding
>
> (('ior', 'a at bool', ('ieq', a, 0)), True)
>
> and maybe also
>
> (('ior', 'a at bool', ('inot', a)), True)
>
> while you're at it.
Ah yes that's much better. Will do.
>
> --Jason
>
> On Sun, Jul 15, 2018 at 4:27 PM Timothy Arceri <tarceri at itsqueeze.com
> <mailto:tarceri at itsqueeze.com>> wrote:
>
> One of these was seen in a Deus Ex shader.
> ---
> src/compiler/nir/nir_opt_algebraic.py | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/src/compiler/nir/nir_opt_algebraic.py
> b/src/compiler/nir/nir_opt_algebraic.py
> index 0986dde6851..682d498b79b 100644
> --- a/src/compiler/nir/nir_opt_algebraic.py
> +++ b/src/compiler/nir/nir_opt_algebraic.py
> @@ -286,6 +286,9 @@ optimizations = [
> (('iand', ('uge(is_used_once)', a, b), ('uge', a, c)), ('uge',
> a, ('umax', b, c))),
> (('iand', ('uge(is_used_once)', a, c), ('uge', b, c)), ('uge',
> ('umin', a, b), c)),
>
> + (('ior', ('flt', a, b), ('ieq', ('flt', a, b), 0)), True),
> + (('ior', ('fge', a, b), ('ieq', ('fge', a, b), 0)), True),
> +
> (('iand', ('ieq', 'a at 32', 0), ('ieq', 'b at 32', 0)), ('ieq',
> ('ior', 'a at 32', 'b at 32'), 0)),
>
> # These patterns can result when (a < b || a < c) => (a <
> min(b, c))
> --
> 2.17.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org <mailto:mesa-dev at lists.freedesktop.org>
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list