From: Matt Turner Date: Tue, 11 Feb 2014 21:04:55 +0000 (-0800) Subject: i965/fs: Swap if/else conditions in SEL peephole. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=96128d134be82cd5a8cda2c473c1242c18409029;p=mesa.git i965/fs: Swap if/else conditions in SEL peephole. Will clarify make the next commit easier to read. Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/drivers/dri/i965/brw_fs_sel_peephole.cpp b/src/mesa/drivers/dri/i965/brw_fs_sel_peephole.cpp index cf47cb5fd81..c0bba8e7ced 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_sel_peephole.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_sel_peephole.cpp @@ -175,7 +175,9 @@ fs_visitor::opt_peephole_sel() break; } - if (!then_mov[i]->src[0].equals(else_mov[i]->src[0])) { + if (then_mov[i]->src[0].equals(else_mov[i]->src[0])) { + sel_inst[i] = MOV(then_mov[i]->dst, then_mov[i]->src[0]); + } else { /* Only the last source register can be a constant, so if the MOV * in the "then" clause uses a constant, we need to put it in a * temporary. @@ -197,8 +199,6 @@ fs_visitor::opt_peephole_sel() sel_inst[i]->predicate = if_inst->predicate; sel_inst[i]->predicate_inverse = if_inst->predicate_inverse; } - } else { - sel_inst[i] = MOV(then_mov[i]->dst, then_mov[i]->src[0]); } }