[Mesa-dev] [PATCH 05/12] intel/compiler: Use the flrp lowering pass for all stages on Gen4 and Gen5

Ian Romanick idr at freedesktop.org
Sat Aug 25 05:52:10 UTC 2018


From: Ian Romanick <ian.d.romanick at intel.com>

Previously lower_flrp32 was only set for vertex shaders.  Fragment
shaders performed a(1-c)+bc lowering during code generation.

The shaders with loops hurt are SIMD8 and SIMD16 shaders for a
text-identical fragment shader.

Iron Lake
total instructions in shared programs: 7772319 -> 7748384 (-0.31%)
instructions in affected programs: 2504225 -> 2480290 (-0.96%)
helped: 9795
HURT: 1288
helped stats (abs) min: 1 max: 155 x̄: 2.77 x̃: 2
helped stats (rel) min: 0.11% max: 35.48% x̄: 1.62% x̃: 1.08%
HURT stats (abs)   min: 1 max: 13 x̄: 2.52 x̃: 1
HURT stats (rel)   min: 0.21% max: 13.64% x̄: 1.58% x̃: 1.01%
95% mean confidence interval for instructions value: -2.24 -2.08
95% mean confidence interval for instructions %-change: -1.29% -1.21%
Instructions are helped.

total cycles in shared programs: 177771352 -> 177662742 (-0.06%)
cycles in affected programs: 68726036 -> 68617426 (-0.16%)
helped: 11138
HURT: 1944
helped stats (abs) min: 2 max: 930 x̄: 11.96 x̃: 6
helped stats (rel) min: <.01% max: 44.61% x̄: 0.65% x̃: 0.24%
HURT stats (abs)   min: 2 max: 128 x̄: 12.64 x̃: 8
HURT stats (rel)   min: <.01% max: 6.54% x̄: 0.46% x̃: 0.18%
95% mean confidence interval for cycles value: -8.70 -7.91
95% mean confidence interval for cycles %-change: -0.50% -0.46%
Cycles are helped.

total loops in shared programs: 850 -> 854 (0.47%)
loops in affected programs: 0 -> 4
helped: 0
HURT: 4
HURT stats (abs)   min: 1 max: 1 x̄: 1.00 x̃: 1
HURT stats (rel)   min: 0.00% max: 0.00% x̄: 0.00% x̃: 0.00%
95% mean confidence interval for loops value: 1.00 1.00
95% mean confidence interval for loops %-change: 0.00% 0.00%
Loops are HURT.

LOST:   1
GAINED: 12

GM45
total instructions in shared programs: 4789512 -> 4777554 (-0.25%)
instructions in affected programs: 1308042 -> 1296084 (-0.91%)
helped: 4945
HURT: 647
helped stats (abs) min: 1 max: 155 x̄: 2.76 x̃: 2
helped stats (rel) min: 0.10% max: 34.38% x̄: 1.58% x̃: 1.04%
HURT stats (abs)   min: 1 max: 89 x̄: 2.65 x̃: 1
HURT stats (rel)   min: 0.20% max: 12.50% x̄: 1.56% x̃: 0.98%
95% mean confidence interval for instructions value: -2.26 -2.02
95% mean confidence interval for instructions %-change: -1.28% -1.16%
Instructions are helped.

total cycles in shared programs: 121863964 -> 121794274 (-0.06%)
cycles in affected programs: 43211788 -> 43142098 (-0.16%)
helped: 5837
HURT: 973
helped stats (abs) min: 2 max: 930 x̄: 14.41 x̃: 8
helped stats (rel) min: <.01% max: 41.03% x̄: 0.67% x̃: 0.25%
HURT stats (abs)   min: 2 max: 128 x̄: 14.82 x̃: 8
HURT stats (rel)   min: <.01% max: 6.54% x̄: 0.48% x̃: 0.18%
95% mean confidence interval for cycles value: -10.88 -9.59
95% mean confidence interval for cycles %-change: -0.54% -0.48%
Cycles are helped.

total loops in shared programs: 629 -> 631 (0.32%)
loops in affected programs: 0 -> 2
helped: 0
HURT: 2

total spills in shared programs: 61 -> 72 (18.03%)
spills in affected programs: 55 -> 66 (20.00%)
helped: 0
HURT: 1

total fills in shared programs: 93 -> 108 (16.13%)
fills in affected programs: 81 -> 96 (18.52%)
helped: 0
HURT: 1

LOST:   13
GAINED: 13

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
---
 src/intel/compiler/brw_compiler.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/intel/compiler/brw_compiler.c b/src/intel/compiler/brw_compiler.c
index 6df9621fe42..730819476e4 100644
--- a/src/intel/compiler/brw_compiler.c
+++ b/src/intel/compiler/brw_compiler.c
@@ -161,7 +161,7 @@ brw_compiler_create(void *mem_ctx, const struct gen_device_info *devinfo)
 
       if (is_scalar) {
          compiler->glsl_compiler_options[i].NirOptions =
-            devinfo->gen < 11 ? &scalar_nir_options : &scalar_nir_options_gen11;
+            devinfo->gen < 11 && devinfo->gen > 5 ? &scalar_nir_options : &scalar_nir_options_gen11;
       } else {
          compiler->glsl_compiler_options[i].NirOptions =
             devinfo->gen < 6 ? &vector_nir_options : &vector_nir_options_gen6;
-- 
2.14.4



More information about the mesa-dev mailing list