<div>That make me think that I have some algebraic patches too. </div><div><br></div>Reviewed-by: Elie Tournier <<a href="mailto:tournier.elie@gmail.com">tournier.elie@gmail.com</a>><br><br>On Saturday, 23 February 2019, Ian Romanick <<a href="mailto:idr@freedesktop.org">idr@freedesktop.org</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">From: Ian Romanick <<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a>><br>
<br>
I noticed this while looking at a shader that was affected by Tim's<br>
"more loop unrolling" series.<br>
<br>
All Gen6+ platforms had similar results. (Skylake shown)<br>
total instructions in shared programs: 15437001 -> 15435259 (-0.01%)<br>
instructions in affected programs: 213651 -> 211909 (-0.82%)<br>
helped: 988<br>
HURT: 0<br>
helped stats (abs) min: 1 max: 27 x̄: 1.76 x̃: 1<br>
helped stats (rel) min: 0.15% max: 11.54% x̄: 1.14% x̃: 0.59%<br>
95% mean confidence interval for instructions value: -1.89 -1.63<br>
95% mean confidence interval for instructions %-change: -1.23% -1.05%<br>
Instructions are helped.<br>
<br>
total cycles in shared programs: 383007378 -> 382997063 (<.01%)<br>
cycles in affected programs: 1650825 -> 1640510 (-0.62%)<br>
helped: 679<br>
HURT: 302<br>
helped stats (abs) min: 1 max: 348 x̄: 23.39 x̃: 14<br>
helped stats (rel) min: 0.04% max: 28.77% x̄: 1.61% x̃: 0.98%<br>
HURT stats (abs)   min: 1 max: 250 x̄: 18.43 x̃: 7<br>
HURT stats (rel)   min: 0.04% max: 25.86% x̄: 1.41% x̃: 0.53%<br>
95% mean confidence interval for cycles value: -13.05 -7.98<br>
95% mean confidence interval for cycles %-change: -0.86% -0.50%<br>
Cycles are helped.<br>
<br>
Iron Lake and GM45 had similar results. (GM45 shown)<br>
total instructions in shared programs: 5043616 -> 5043010 (-0.01%)<br>
instructions in affected programs: 119691 -> 119085 (-0.51%)<br>
helped: 432<br>
HURT: 0<br>
helped stats (abs) min: 1 max: 27 x̄: 1.40 x̃: 1<br>
helped stats (rel) min: 0.10% max: 8.11% x̄: 0.66% x̃: 0.39%<br>
95% mean confidence interval for instructions value: -1.58 -1.23<br>
95% mean confidence interval for instructions %-change: -0.72% -0.59%<br>
Instructions are helped.<br>
<br>
total cycles in shared programs: 128139812 -> 128135762 (<.01%)<br>
cycles in affected programs: 3829724 -> 3825674 (-0.11%)<br>
helped: 602<br>
HURT: 0<br>
helped stats (abs) min: 2 max: 486 x̄: 6.73 x̃: 6<br>
helped stats (rel) min: 0.02% max: 4.85% x̄: 0.19% x̃: 0.10%<br>
95% mean confidence interval for cycles value: -8.40 -5.05<br>
95% mean confidence interval for cycles %-change: -0.22% -0.16%<br>
Cycles are helped.<br>
---<br>
 src/compiler/nir/nir_opt_<wbr>algebraic.py | 1 +<br>
 1 file changed, 1 insertion(+)<br>
<br>
diff --git a/src/compiler/nir/nir_opt_<wbr>algebraic.py b/src/compiler/nir/nir_opt_<wbr>algebraic.py<br>
index ba27d702b5d..c8fc938cc8f 100644<br>
--- a/src/compiler/nir/nir_opt_<wbr>algebraic.py<br>
+++ b/src/compiler/nir/nir_opt_<wbr>algebraic.py<br>
@@ -127,6 +127,7 @@ optimizations = [<br>
    (('flrp@32', a, b, c), ('fadd', ('fmul', c, ('fsub', b, a)), a), 'options->lower_flrp32'),<br>
    (('flrp@64', a, b, c), ('fadd', ('fmul', c, ('fsub', b, a)), a), 'options->lower_flrp64'),<br>
    (('ffloor', a), ('fsub', a, ('ffract', a)), 'options->lower_ffloor'),<br>
+   (('fadd', a, ('fneg', ('ffract', a))), ('ffloor', a), '!options->lower_ffloor'),<br>
    (('ffract', a), ('fsub', a, ('ffloor', a)), 'options->lower_ffract'),<br>
    (('fceil', a), ('fneg', ('ffloor', ('fneg', a))), 'options->lower_fceil'),<br>
    (('~fadd', ('fmul', a, ('fadd', 1.0, ('fneg', ('b2f', 'c@1')))), ('fmul', b, ('b2f', c))), ('bcsel', c, b, a), 'options->lower_flrp32'),<br>
-- <br>
2.14.4<br>
<br>
______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a></blockquote>