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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user