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