On Sat, Dec 19, 2009 at 08:19:32AM -0800, Richard Henderson wrote:
> On 12/19/2009 05:03 AM, Aurelien Jarno wrote:
> >- For the movcond instruction, is there a real use for vtrue and vfalse
> >   values? Most CPU actually implement a version with one value.
> >   Implementing it with two values moves complexity within the arch
> >   specific tcg code.
> 
> The reason I added both is that rather than force TCG to insert
> extra moves in order to always match VFALSE with DEST, I could have
> the backend invert the condition if VTRUE happened to match DEST
> already.
> 
> I suppose it would be possible to tweek the TCG register allocator
> to understand such commutative operations.  That seemed harder, but
> perhaps it really isn't considering that inversion code has to be
> replicated across all the targets.  It's certainly something to
> think about.
> 

My main concerns here is that we are introducing a complex code here
that has to be multiplied by the number of TCG targets we have. On the
other hand I am not sure there are a lot of use cases for the different
architectures we support.

In addition I am reserved to make such bug changes given I am not sure 
it will result in a speed gain. All the previous setcond implementations
have been stopped because there was no measurable gain.

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
aurel...@aurel32.net                 http://www.aurel32.net


Reply via email to