[Mesa-dev] [PATCH 2/2] nir: Lower !f2b(x) to x == 0.0

Iago Toral itoral at igalia.com
Fri Jun 1 06:10:51 UTC 2018


Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>

On Thu, 2018-05-31 at 17:21 -0700, Ian Romanick wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
> 
> Some trivial help now, but it also prevents ~40 regressions caused by
> Samuel's "nir: implement the GLSL equivalent of if simplication in
> nir_opt_if" patch.
> 
> All Gen4+ platforms had similar results. (Skylake shown)
> total instructions in shared programs: 14369557 -> 14369555 (<.01%)
> instructions in affected programs: 442 -> 440 (-0.45%)
> helped: 2
> HURT: 0
> 
> total cycles in shared programs: 532425772 -> 532425743 (<.01%)
> cycles in affected programs: 6086 -> 6057 (-0.48%)
> helped: 2
> HURT: 0
> 
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> Cc: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> Cc: Timothy Arceri <tarceri at itsqueeze.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 f153570105b..fdfb0250b0b 100644
> --- a/src/compiler/nir/nir_opt_algebraic.py
> +++ b/src/compiler/nir/nir_opt_algebraic.py
> @@ -441,6 +441,7 @@ optimizations = [
>     (('i2b', ('iabs', a)), ('i2b', a)),
>     (('fabs', ('b2f', a)), ('b2f', a)),
>     (('iabs', ('b2i', a)), ('b2i', a)),
> +   (('inot', ('f2b', a)), ('feq', a, 0.0)),
>  
>     # Packing and then unpacking does nothing
>     (('unpack_64_2x32_split_x', ('pack_64_2x32_split', a, b)), a),


More information about the mesa-dev mailing list