From: Matt Turner Date: Thu, 23 Mar 2017 19:12:18 +0000 (-0700) Subject: i965/fs: Don't emit SEL instructions for type-converting MOVs. X-Git-Tag: upstream/17.1.0~1009 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7dccd38b400d3a65da20ddefe282a7bb0b7ccb58;p=platform%2Fupstream%2Fmesa.git i965/fs: Don't emit SEL instructions for type-converting MOVs. 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 --- diff --git a/src/intel/compiler/brw_fs_sel_peephole.cpp b/src/intel/compiler/brw_fs_sel_peephole.cpp index 8cd897f..4c1c160 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 ||