[Mesa-dev] [PATCH 2/2] i965: Avoid generating MOVs for most ir_assignment handling.

Kenneth Graunke kenneth at whitecape.org
Mon Aug 29 11:45:09 PDT 2011

On 08/28/2011 05:31 PM, Eric Anholt wrote:
> On Sat, 27 Aug 2011 03:23:28 -0700, Kenneth Graunke <kenneth at whitecape.org> wrote:
>> This is a port of vec4_visitor::try_rewrite_rhs_to_dst to fs_visitor.
>> Not only is this technique less invasive and more robust, it also
>> generates better code.  Over and above the previous technique, this
>> reduced instruction count in shader-db:
>> With all FS optimizations (register coalescing and such) disabled, this
>> reduced instruction count by 6.23% on average and 36% in the best case.
>> With optimizations left enabled, it still reduced instruction count by
>> 0.28% on average and 1.4% in the best case.
>> In no case did this technique result in more code than the prior method.
> I was actually trying to do this, too, before I GPU hung and ran out of
> battery.  However, I don't think just a comparison of before this commit
> to after this commit is fair -- you need to compare before the revert to
> after this commit.

Eric and I just talked about this in person.  For the record...

The 0.28%/1.4% improvement really is comparing instruction count /prior
to the revert/ with /after the new technique/.  So it really is better.

Eric also had a few small changes to future-proof the code.

With those in place, I've pushed this patch.

More information about the mesa-dev mailing list