i965: Don't make instructions with a null dest a barrier to scheduling.
authorMatt Turner <mattst88@gmail.com>
Wed, 9 Apr 2014 20:38:14 +0000 (13:38 -0700)
committerMatt Turner <mattst88@gmail.com>
Thu, 17 Apr 2014 05:46:45 +0000 (22:46 -0700)
commit42a26cb5e441a01d5288b299980f23affaad53fe
tree3cdea6b835c66a9f9bfb1f89ace939571327c616
parenta6860100b87415ab510d0d210cabfeeccebc9a0a
i965: Don't make instructions with a null dest a barrier to scheduling.

Now that we properly track accumulator dependencies, the scheduler is
able to schedule instructions between the mach and mov in the common
the integer multiplication pattern:

   mul  acc0, x, y
   mach null, x, y
   mov  dest, acc0

Since a null destination implies no dependency on the destination, we
can also safely schedule instructions (that don't write the accumulator)
between the mul and mach.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp