From bc0e1591f64b8b3f2693fceaaa8bba9198e26171 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 15 Mar 2013 14:31:46 -0700 Subject: [PATCH] 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 --- src/mesa/drivers/dri/i965/brw_fs.cpp | 6 ++++++ 1 file changed, 6 insertions(+) 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; -- 2.30.2