[Mesa-dev] [PATCH 04/13] nir: Collapse more repeated bcsels on the same argument

Timothy Arceri tarceri at itsqueeze.com
Fri Aug 3 00:52:06 UTC 2018


I thought you were trying to move these type of opts to your new pass?

Or should I be splitting out and resending some of the bcsel opts in my 
dirt showdown patch [1]? And trying again to get the other patches from 
the series reviewed.

[1] https://lists.freedesktop.org/archives/mesa-dev/2018-July/200510.html

On 03/08/18 04:19, Ian Romanick wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
> 
> All Gen platforms had pretty similar results. (Skylake shown)
> total instructions in shared programs: 14277230 -> 14277220 (<.01%)
> instructions in affected programs: 751 -> 741 (-1.33%)
> helped: 4
> HURT: 0
> helped stats (abs) min: 2 max: 3 x̄: 2.50 x̃: 2
> helped stats (rel) min: 1.23% max: 1.40% x̄: 1.32% x̃: 1.32%
> 95% mean confidence interval for instructions value: -3.42 -1.58
> 95% mean confidence interval for instructions %-change: -1.47% -1.17%
> Instructions are helped.
> 
> total cycles in shared programs: 532577947 -> 532577908 (<.01%)
> cycles in affected programs: 10641 -> 10602 (-0.37%)
> helped: 4
> HURT: 3
> helped stats (abs) min: 1 max: 40 x̄: 13.75 x̃: 7
> helped stats (rel) min: 0.11% max: 3.08% x̄: 1.10% x̃: 0.60%
> HURT stats (abs)   min: 2 max: 8 x̄: 5.33 x̃: 6
> HURT stats (rel)   min: 0.13% max: 0.55% x̄: 0.30% x̃: 0.23%
> 95% mean confidence interval for cycles value: -20.69 9.55
> 95% mean confidence interval for cycles %-change: -1.63% 0.63%
> Inconclusive result (value mean confidence interval includes 0).
> 
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> ---
>   src/compiler/nir/nir_opt_algebraic.py | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py
> index fdd1af9d177..388c6354ff0 100644
> --- a/src/compiler/nir/nir_opt_algebraic.py
> +++ b/src/compiler/nir/nir_opt_algebraic.py
> @@ -235,6 +235,7 @@ optimizations = [
>      (('~bcsel', ('fge', b, a), b, a), ('fmax', a, b)),
>      (('bcsel', ('inot', a), b, c), ('bcsel', a, c, b)),
>      (('bcsel', a, ('bcsel', a, b, c), d), ('bcsel', a, b, d)),
> +   (('bcsel', a, b, ('bcsel', a, c, d)), ('bcsel', a, b, d)),
>      (('bcsel', a, True, 'b at bool'), ('ior', a, b)),
>      (('fmin', a, a), a),
>      (('fmax', a, a), a),
> 


More information about the mesa-dev mailing list