Kristian Høgsberg <k...@bitplanet.net> writes:

> On Thu, Oct 22, 2015 at 12:24 PM, Matt Turner <matts...@gmail.com> wrote:
>> On Thu, Oct 22, 2015 at 11:37 AM, Kristian Høgsberg Kristensen
>> <k...@bitplanet.net> wrote:
>>> The scalar destination registers break copy propagation. Instead compute
>>> the results to a regular register and then reference a component when we
>>> later use the result as a source.
>>
>> It might be hairy to get it working, but making copy propagation
>> handle scalar destinations is the "right" way forward.
>>

I'm pretty sure use-def chains will help with that :).

>> If we commit this patch, and later implement support for copy
>> propagating with scalar destinations, how will we remember to change
>> this back?
>
> What's the harm in leaving it in?
>
Scalar instructions take less cycles to execute and consume less
registers than vector ones -- The latter isn't a huge deal right now
because the register allocator will expand it to a 32B register anyway,
so the most you save currently is one register in SIMD16 mode.  Let's
put an XXX comment so we remember to change this back to a scalar when
the remaining compiler infrastructure is fixed to handle them properly.
With that change this patch is:

Reviewed-by: Francisco Jerez <curroje...@riseup.net>

> Kristian

Attachment: signature.asc
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to