summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2016-07-29 01:29:10 -0700
committerKenneth Graunke <[email protected]>2016-08-04 00:40:59 -0700
commit6aa730000fea84a14b49828a4bb30761d43903bf (patch)
tree7846d40a8f82074fbb3ae707d5bb07e28d26c39d
parent12a912586f11ccbc4612532d5ceaf1bdd0cdb45a (diff)
nir: Turn imov/fmov of undef into undef.
On Broadwell: total instructions in shared programs: 11640214 -> 11639872 (-0.00%) instructions in affected programs: 17744 -> 17402 (-1.93%) helped: 78 HURT: 0 total spills in shared programs: 2924 -> 2922 (-0.07%) spills in affected programs: 104 -> 102 (-1.92%) helped: 1 HURT: 0 total fills in shared programs: 4394 -> 4389 (-0.11%) fills in affected programs: 237 -> 232 (-2.11%) helped: 1 HURT: 0 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]>
-rw-r--r--src/compiler/nir/nir_opt_undef.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/compiler/nir/nir_opt_undef.c b/src/compiler/nir/nir_opt_undef.c
index c4777a86c8f..0f8ba31a68e 100644
--- a/src/compiler/nir/nir_opt_undef.c
+++ b/src/compiler/nir/nir_opt_undef.c
@@ -79,7 +79,9 @@ opt_undef_vecN(nir_builder *b, nir_alu_instr *alu)
{
if (alu->op != nir_op_vec2 &&
alu->op != nir_op_vec3 &&
- alu->op != nir_op_vec4)
+ alu->op != nir_op_vec4 &&
+ alu->op != nir_op_fmov &&
+ alu->op != nir_op_imov)
return false;
assert(alu->dest.dest.is_ssa);