Reviewed-by: Samuel Iglesias Gonsálvez <sigles...@igalia.com>
On 24/02/18 00:56, Ian Romanick wrote: > From: Ian Romanick <ian.d.roman...@intel.com> > > A bunch of shaders have sequences like: > > i2b(u2i(floatBitsToUint(intBitsToFloat(x == y ? -1 : 0)))) > > Other optimizations (and NIR's typeless nature) reduce this to > > i2b(x == y) > > which is silly. > > Skylake > total instructions in shared programs: 14498698 -> 14497948 (<.01%) > instructions in affected programs: 74480 -> 73730 (-1.01%) > helped: 277 > HURT: 0 > helped stats (abs) min: 1 max: 32 x̄: 2.71 x̃: 2 > helped stats (rel) min: 0.04% max: 13.79% x̄: 1.45% x̃: 0.68% > 95% mean confidence interval for instructions value: -3.35 -2.06 > 95% mean confidence interval for instructions %-change: -1.74% -1.16% > Instructions are helped. > > total cycles in shared programs: 532015500 -> 531999238 (<.01%) > cycles in affected programs: 5943878 -> 5927616 (-0.27%) > helped: 251 > HURT: 74 > helped stats (abs) min: 1 max: 13149 x̄: 127.89 x̃: 14 > helped stats (rel) min: 0.01% max: 17.31% x̄: 1.55% x̃: 0.53% > HURT stats (abs) min: 1 max: 4550 x̄: 214.04 x̃: 15 > HURT stats (rel) min: <.01% max: 44.43% x̄: 2.81% x̃: 0.33% > 95% mean confidence interval for cycles value: -158.51 58.43 > 95% mean confidence interval for cycles %-change: -1.07% -0.04% > Inconclusive result (value mean confidence interval includes 0). > > total loops in shared programs: 4753 -> 4735 (-0.38%) > loops in affected programs: 18 -> 0 > helped: 18 > HURT: 0 > helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 > helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00% > 95% mean confidence interval for loops value: -1.00 -1.00 > 95% mean confidence interval for loops %-change: -100.00% -100.00% > Loops are helped. > > Haswell and Broadwell had simliar results. (Broadwell shown) > total instructions in shared programs: 14791877 -> 14791127 (<.01%) > instructions in affected programs: 77326 -> 76576 (-0.97%) > helped: 278 > HURT: 1 > helped stats (abs) min: 1 max: 32 x̄: 2.70 x̃: 2 > helped stats (rel) min: 0.04% max: 13.79% x̄: 1.42% x̃: 0.68% > HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 > HURT stats (rel) min: 0.49% max: 0.49% x̄: 0.49% x̃: 0.49% > 95% mean confidence interval for instructions value: -3.33 -2.05 > 95% mean confidence interval for instructions %-change: -1.70% -1.13% > Instructions are helped. > > total cycles in shared programs: 558250067 -> 558252872 (<.01%) > cycles in affected programs: 5806328 -> 5809133 (0.05%) > helped: 235 > HURT: 83 > helped stats (abs) min: 1 max: 10630 x̄: 81.73 x̃: 16 > helped stats (rel) min: 0.03% max: 18.58% x̄: 1.60% x̃: 0.51% > HURT stats (abs) min: 1 max: 10590 x̄: 265.19 x̃: 20 > HURT stats (rel) min: <.01% max: 15.28% x̄: 1.89% x̃: 0.54% > 95% mean confidence interval for cycles value: -89.87 107.51 > 95% mean confidence interval for cycles %-change: -1.06% -0.32% > Inconclusive result (value mean confidence interval includes 0). > > total loops in shared programs: 4735 -> 4717 (-0.38%) > loops in affected programs: 18 -> 0 > helped: 18 > HURT: 0 > helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 > helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00% > 95% mean confidence interval for loops value: -1.00 -1.00 > 95% mean confidence interval for loops %-change: -100.00% -100.00% > Loops are helped. > > total fills in shared programs: 83111 -> 83110 (<.01%) > fills in affected programs: 28 -> 27 (-3.57%) > helped: 1 > HURT: 0 > > Ivy Bridge > total instructions in shared programs: 11774173 -> 11773436 (<.01%) > instructions in affected programs: 70819 -> 70082 (-1.04%) > helped: 267 > HURT: 0 > helped stats (abs) min: 1 max: 48 x̄: 2.76 x̃: 2 > helped stats (rel) min: 0.21% max: 19.51% x̄: 1.57% x̃: 0.63% > 95% mean confidence interval for instructions value: -3.51 -2.01 > 95% mean confidence interval for instructions %-change: -1.94% -1.21% > Instructions are helped. > > total cycles in shared programs: 257153833 -> 257148932 (<.01%) > cycles in affected programs: 585341 -> 580440 (-0.84%) > helped: 167 > HURT: 100 > helped stats (abs) min: 1 max: 1327 x̄: 44.89 x̃: 16 > helped stats (rel) min: 0.04% max: 26.54% x̄: 2.41% x̃: 0.88% > HURT stats (abs) min: 1 max: 200 x̄: 25.95 x̃: 16 > HURT stats (rel) min: 0.04% max: 9.81% x̄: 1.34% x̃: 0.65% > 95% mean confidence interval for cycles value: -33.25 -3.46 > 95% mean confidence interval for cycles %-change: -1.47% -0.54% > Cycles are helped. > > total loops in shared programs: 3416 -> 3398 (-0.53%) > loops in affected programs: 18 -> 0 > helped: 18 > HURT: 0 > helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 > helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00% > 95% mean confidence interval for loops value: -1.00 -1.00 > 95% mean confidence interval for loops %-change: -100.00% -100.00% > Loops are helped. > > LOST: 2 > GAINED: 0 > > Sandy Bridge > total instructions in shared programs: 10499306 -> 10499094 (<.01%) > instructions in affected programs: 6051 -> 5839 (-3.50%) > helped: 43 > HURT: 0 > helped stats (abs) min: 1 max: 32 x̄: 4.93 x̃: 2 > helped stats (rel) min: 0.39% max: 12.90% x̄: 4.29% x̃: 2.45% > 95% mean confidence interval for instructions value: -7.66 -2.20 > 95% mean confidence interval for instructions %-change: -5.47% -3.12% > Instructions are helped. > > total cycles in shared programs: 145862568 -> 145861370 (<.01%) > cycles in affected programs: 61733 -> 60535 (-1.94%) > helped: 36 > HURT: 2 > helped stats (abs) min: 16 max: 66 x̄: 36.61 x̃: 35 > helped stats (rel) min: 0.45% max: 17.31% x̄: 4.92% x̃: 2.81% > HURT stats (abs) min: 18 max: 102 x̄: 60.00 x̃: 60 > HURT stats (rel) min: 1.10% max: 1.85% x̄: 1.48% x̃: 1.48% > 95% mean confidence interval for cycles value: -41.28 -21.77 > 95% mean confidence interval for cycles %-change: -6.16% -3.00% > Cycles are helped. > > total loops in shared programs: 1803 -> 1785 (-1.00%) > loops in affected programs: 18 -> 0 > helped: 18 > HURT: 0 > helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 > helped stats (rel) min: 100.00% max: 100.00% x̄: 100.00% x̃: 100.00% > 95% mean confidence interval for loops value: -1.00 -1.00 > 95% mean confidence interval for loops %-change: -100.00% -100.00% > Loops are helped. > > LOST: 4 > GAINED: 0 > > No changes on Iron Lake of GM45. > > Signed-off-by: Ian Romanick <ian.d.roman...@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 3366a43..2e27512 100644 > --- a/src/compiler/nir/nir_opt_algebraic.py > +++ b/src/compiler/nir/nir_opt_algebraic.py > @@ -409,6 +409,7 @@ optimizations = [ > > # Conversions > (('i2b', ('b2i', a)), a), > + (('i2b', 'a@bool'), a), > (('f2i32', ('ftrunc', a)), ('f2i32', a)), > (('f2u32', ('ftrunc', a)), ('f2u32', a)), > (('i2b', ('ineg', a)), ('i2b', a)),
signature.asc
Description: OpenPGP digital signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev