[Mesa-dev] [PATCH 02/10] nir: Turn bcsel of +/- 1.0 and 0.0 into b2f sequences.

Jason Ekstrand jason at jlekstrand.net
Sat Jan 7 15:30:28 UTC 2017


Rb

On Jan 7, 2017 3:59 AM, "Timothy Arceri" <timothy.arceri at collabora.com>
wrote:

> From: Kenneth Graunke <kenneth at whitecape.org>
>
> On BDW:
>
> total instructions in shared programs: 13074882 -> 13068703 (-0.05%)
> instructions in affected programs: 1823116 -> 1816937 (-0.34%)
> helped: 4187
> HURT: 537
>
> total cycles in shared programs: 256622718 -> 256425382 (-0.08%)
> cycles in affected programs: 123790120 -> 123592784 (-0.16%)
> helped: 3823
> HURT: 2037
>
> total spills in shared programs: 15276 -> 14929 (-2.27%)
> spills in affected programs: 9446 -> 9099 (-3.67%)
> helped: 352
> HURT: 1
>
> total fills in shared programs: 20496 -> 20144 (-1.72%)
> fills in affected programs: 13040 -> 12688 (-2.70%)
> helped: 352
> HURT: 1
>
> LOST:   2
> GAINED: 21
>
> v2: Rely on 'a' being a well-formed boolean (Connor, Eric).
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
> ---
>  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 3b8836e..434881f 100644
> --- a/src/compiler/nir/nir_opt_algebraic.py
> +++ b/src/compiler/nir/nir_opt_algebraic.py
> @@ -269,6 +269,10 @@ optimizations = [
>     (('ieq', 'a at bool', False), ('inot', 'a')),
>     (('bcsel', a, True, False), a),
>     (('bcsel', a, False, True), ('inot', a)),
> +   (('bcsel at 32', a, 1.0, 0.0), ('b2f', a)),
> +   (('bcsel at 32', a, 0.0, 1.0), ('b2f', ('inot', a))),
> +   (('bcsel at 32', a, -1.0, -0.0), ('fneg', ('b2f', a))),
> +   (('bcsel at 32', a, -0.0, -1.0), ('fneg', ('b2f', ('inot', a)))),
>     (('bcsel', True, b, c), b),
>     (('bcsel', False, b, c), c),
>     # The result of this should be hit by constant propagation and, in the
> --
> 2.9.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170107/86dccb4f/attachment.html>


More information about the mesa-dev mailing list