From: Kenneth Graunke Date: Fri, 29 Jul 2016 08:29:10 +0000 (-0700) Subject: nir: Turn imov/fmov of undef into undef. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6aa730000fea84a14b49828a4bb30761d43903bf;p=mesa.git 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 Reviewed-by: Iago Toral Quiroga --- 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);