aboutsummaryrefslogtreecommitdiffstats
path: root/src/intel/compiler/brw_fs_copy_propagation.cpp
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2019-10-29 17:02:46 -0700
committerIan Romanick <[email protected]>2020-04-17 08:21:43 -0700
commit5afaa407c1a2a27a23f1827d72d5ebde8b7882fe (patch)
treea24b01b26fb424d107aec27e5de9d06a5f047772 /src/intel/compiler/brw_fs_copy_propagation.cpp
parenta80e44902f66244d257c523afe77558cf334d624 (diff)
intel/compiler: Only GE and L modifiers are commutative for SEL
Reviewed-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4582>
Diffstat (limited to 'src/intel/compiler/brw_fs_copy_propagation.cpp')
-rw-r--r--src/intel/compiler/brw_fs_copy_propagation.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/intel/compiler/brw_fs_copy_propagation.cpp b/src/intel/compiler/brw_fs_copy_propagation.cpp
index bc5af9732b3..a33043573a5 100644
--- a/src/intel/compiler/brw_fs_copy_propagation.cpp
+++ b/src/intel/compiler/brw_fs_copy_propagation.cpp
@@ -823,7 +823,11 @@ fs_visitor::try_constant_propagate(fs_inst *inst, acp_entry *entry)
if (i == 1) {
inst->src[i] = val;
progress = true;
- } else if (i == 0 && inst->src[1].file != IMM) {
+ } else if (i == 0 && inst->src[1].file != IMM &&
+ (inst->conditional_mod == BRW_CONDITIONAL_NONE ||
+ /* Only GE and L are commutative. */
+ inst->conditional_mod == BRW_CONDITIONAL_GE ||
+ inst->conditional_mod == BRW_CONDITIONAL_L)) {
inst->src[0] = inst->src[1];
inst->src[1] = val;