diff --git a/src/intel/compiler/brw_fs_saturate_propagation.cpp b/src/intel/compiler/brw_fs_saturate_propagation.cpp index 50c3fc19f3b..50b05dd92b8 100644 --- a/src/intel/compiler/brw_fs_saturate_propagation.cpp +++ b/src/intel/compiler/brw_fs_saturate_propagation.cpp @@ -126,8 +126,9 @@ opt_saturate_propagation_local(const fs_live_variables &live, bblock_t *block) for (int i = 0; i < scan_inst->sources; i++) { if (scan_inst->src[i].file == VGRF && scan_inst->src[i].nr == inst->src[0].nr && - scan_inst->src[i].offset / REG_SIZE == - inst->src[0].offset / REG_SIZE) { + regions_overlap( + scan_inst->src[i], scan_inst->size_read(i), + inst->src[0], inst->size_read(0))) { if (scan_inst->opcode != BRW_OPCODE_MOV || !scan_inst->saturate || scan_inst->src[0].abs ||