i965/fs: Initialize a builder explicitly in opt_peephole_predicated_break().

This wasn't taking into account the execution controls of the original
instruction, but it was most likely not a bug because control flow
instructions are typically full width.

Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
Francisco Jerez
2015-07-27 19:20:50 +03:00
parent e1f4724097
commit 09039f4bc1
@@ -24,6 +24,8 @@
#include "brw_fs.h"
#include "brw_cfg.h"
using namespace brw;
/** @file brw_fs_peephole_predicated_break.cpp
*
* Loops are often structured as
@@ -85,9 +87,9 @@ fs_visitor::opt_peephole_predicated_break()
* instruction to set the flag register.
*/
if (devinfo->gen == 6 && if_inst->conditional_mod) {
bld.at(if_block, if_inst)
.CMP(bld.null_reg_d(), if_inst->src[0], if_inst->src[1],
if_inst->conditional_mod);
const fs_builder ibld(this, if_block, if_inst);
ibld.CMP(ibld.null_reg_d(), if_inst->src[0], if_inst->src[1],
if_inst->conditional_mod);
jump_inst->predicate = BRW_PREDICATE_NORMAL;
} else {
jump_inst->predicate = if_inst->predicate;