From 7dccd38b400d3a65da20ddefe282a7bb0b7ccb58 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Thu, 23 Mar 2017 12:12:18 -0700 Subject: [PATCH] i965/fs: Don't emit SEL instructions for type-converting MOVs. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit SEL can only convert between a few integer types, which we basically never do. Fixes fs/vs-double-uniform-array-direct-indirect-non-uniform-control-flow Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Samuel Iglesias Gonsálvez Acked-by: Francisco Jerez --- src/intel/compiler/brw_fs_sel_peephole.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/intel/compiler/brw_fs_sel_peephole.cpp b/src/intel/compiler/brw_fs_sel_peephole.cpp index 8cd897f72e0..4c1c1607978 100644 --- a/src/intel/compiler/brw_fs_sel_peephole.cpp +++ b/src/intel/compiler/brw_fs_sel_peephole.cpp @@ -165,6 +165,8 @@ fs_visitor::opt_peephole_sel() then_mov[i]->exec_size != else_mov[i]->exec_size || then_mov[i]->group != else_mov[i]->group || then_mov[i]->force_writemask_all != else_mov[i]->force_writemask_all || + then_mov[i]->dst.type != then_mov[i]->src[0].type || + else_mov[i]->dst.type != else_mov[i]->src[0].type || then_mov[i]->is_partial_write() || else_mov[i]->is_partial_write() || then_mov[i]->conditional_mod != BRW_CONDITIONAL_NONE || -- 2.30.2