From 6aa730000fea84a14b49828a4bb30761d43903bf Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Fri, 29 Jul 2016 01:29:10 -0700 Subject: [PATCH] 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 --- src/compiler/nir/nir_opt_undef.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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); -- 2.30.2