summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2013-03-15 14:31:46 -0700
committerEric Anholt <eric@anholt.net>2013-04-01 16:17:25 -0700
commitbc0e1591f64b8b3f2693fceaaa8bba9198e26171 (patch)
tree3b3adab93b50a5682c23b13f3e073ec8445c914f
parent740350c982bd2735b9eb9063c2b91856b6f1ad31 (diff)
i965/fs: Avoid inappropriate optimization with regs_written > 1.
Right now we don't have anything with regs_written() > 1 and !inst->mlen, but that's about to change. NOTE: This is a candidate for the 9.1 branch. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index da3ac1554cd..c60d0418678 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -2082,6 +2082,12 @@ fs_visitor::compute_to_mrf()
break;
}
+ /* Things returning more than one register would need us to
+ * understand coalescing out more than one MOV at a time.
+ */
+ if (scan_inst->regs_written() > 1)
+ break;
+
/* SEND instructions can't have MRF as a destination. */
if (scan_inst->mlen)
break;