qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH RFC 00/11] AREG0 elimination


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH RFC 00/11] AREG0 elimination
Date: Sun, 15 May 2011 15:37:00 +0300

On Sun, May 15, 2011 at 3:14 PM, Laurent Desnogues
<address@hidden> wrote:
> On Sun, May 15, 2011 at 1:33 PM, Blue Swirl <address@hidden> wrote:
> [...]
>>> x86_64 uses r14 as TCG_AREG0. Despite the instructions being quite
>>> simple (only 2 movi_i32), the resulting code makes 2 access to env to
>>> save the two registers. Having to reload the env pointer each time to a
>>> register would clearly increase the size of this TB.
>>
>> I don't think TCG would be that simple, instead the pointer would be
>> loaded only once in this case.
>
> Assuming TCG was able to allocate a register for that,
> it would be live at most for one TB, so you'd have to
> load it at least once per TB, and with block chaining
> that wouldn't be efficient as you'd keep on reloading it.

Yes, but if there are better uses, the register can be flushed. Now
this is not possible since the register is always unavailable.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]