diff --git a/src/intel/compiler/brw_fs_copy_propagation.cpp b/src/intel/compiler/brw_fs_copy_propagation.cpp index 92c00760986..d9dcc72adba 100644 --- a/src/intel/compiler/brw_fs_copy_propagation.cpp +++ b/src/intel/compiler/brw_fs_copy_propagation.cpp @@ -825,9 +825,8 @@ try_copy_propagate(const brw_compiler *compiler, fs_inst *inst, * destination of the copy, and simply replacing the sources would give a * program with different semantics. */ - if ((brw_type_size_bits(entry->dst.type) < brw_type_size_bits(inst->src[arg].type) || - entry->is_partial_write) && - inst->opcode != BRW_OPCODE_MOV) { + if (brw_type_size_bits(entry->dst.type) < brw_type_size_bits(inst->src[arg].type) || + (entry->is_partial_write && inst->opcode != BRW_OPCODE_MOV)) { return false; } @@ -1506,8 +1505,7 @@ try_copy_propagate_def(const brw_compiler *compiler, * destination of the copy, and simply replacing the sources would give a * program with different semantics. */ - if (inst->opcode != BRW_OPCODE_MOV && - brw_type_size_bits(def->dst.type) < + if (brw_type_size_bits(def->dst.type) < brw_type_size_bits(inst->src[arg].type)) return false;