summaryrefslogtreecommitdiffstats
path: root/src/intel
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2017-01-13 17:25:11 +1100
committerTimothy Arceri <[email protected]>2017-04-24 12:08:14 +1000
commit7a7ee40c2de01a927d78852b18fc0b93e780df9c (patch)
tree4795bff9c50f36918b16b7298a1423cf4d90a9d1 /src/intel
parentfb2269fed16cf804f5b7538537ec6d53ed1e20c9 (diff)
nir/i965: add before ffma algebraic opts
This shuffles constants down in the reverse of what the previous patch does and applies some simpilifications that may be made possible from doing so. Shader-db results BDW: total instructions in shared programs: 12980814 -> 12977822 (-0.02%) instructions in affected programs: 281889 -> 278897 (-1.06%) helped: 1231 HURT: 128 total cycles in shared programs: 246562852 -> 246567288 (0.00%) cycles in affected programs: 11271524 -> 11275960 (0.04%) helped: 1630 HURT: 1378 V2: mark float opts as inexact Reviewed-by: Elie Tournier <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/intel')
-rw-r--r--src/intel/compiler/brw_nir.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/intel/compiler/brw_nir.c b/src/intel/compiler/brw_nir.c
index 36ccdf3cb1e..3c0a7ced572 100644
--- a/src/intel/compiler/brw_nir.c
+++ b/src/intel/compiler/brw_nir.c
@@ -605,6 +605,12 @@ brw_postprocess_nir(nir_shader *nir, const struct brw_compiler *compiler,
UNUSED bool progress; /* Written by OPT */
+
+ do {
+ progress = false;
+ OPT(nir_opt_algebraic_before_ffma);
+ } while (progress);
+
nir = nir_optimize(nir, compiler, is_scalar);
if (devinfo->gen >= 6) {