i965/fs: Ignore mov.sat instructions in interference check in sat prop.
When an instruction's result was consumed by multiple mov.sat instructions, we would decide that we couldn't move the saturate modifier because something else was using the result, even though it was just another mov.sat! total instructions in shared programs: 4275598 -> 4274842 (-0.02%) instructions in affected programs: 75634 -> 74878 (-1.00%) Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
@@ -67,7 +67,8 @@ opt_saturate_propagation_local(fs_visitor *v, bblock_t *block)
|
||||
break;
|
||||
}
|
||||
for (int i = 0; i < scan_inst->sources; i++) {
|
||||
if (scan_inst->src[i].file == GRF &&
|
||||
if ((scan_inst->opcode != BRW_OPCODE_MOV || !scan_inst->saturate) &&
|
||||
scan_inst->src[i].file == GRF &&
|
||||
scan_inst->src[i].reg == inst->src[0].reg &&
|
||||
scan_inst->src[i].reg_offset == inst->src[0].reg_offset) {
|
||||
interfered = true;
|
||||
|
||||
Reference in New Issue
Block a user