i965/fs: Relax type check in cmod propagation.
The thing we want to avoid is int/float comparisons, but int/unsigned comparisons with 0 are equivalent. total instructions in shared programs: 6194829 -> 6193996 (-0.01%) instructions in affected programs: 117192 -> 116359 (-0.71%) helped: 471 Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
@@ -111,7 +111,9 @@ opt_cmod_propagation_local(bblock_t *block)
|
||||
break;
|
||||
|
||||
/* Comparisons operate differently for ints and floats */
|
||||
if (scan_inst->dst.type != inst->dst.type)
|
||||
if (scan_inst->dst.type != inst->dst.type &&
|
||||
(scan_inst->dst.type == BRW_REGISTER_TYPE_F ||
|
||||
inst->dst.type == BRW_REGISTER_TYPE_F))
|
||||
break;
|
||||
|
||||
/* If the instruction generating inst's source also wrote the
|
||||
|
||||
Reference in New Issue
Block a user