On Wed, May 11, 2011 at 9:39 PM, Lluís <xscr...@gmx.net> wrote: > Blue Swirl writes: > >> On Wed, May 11, 2011 at 12:28 AM, Paul Brook <p...@codesourcery.com> wrote: >>> In practice generated code probably accesses CPUState often enough that a >>> dedicated register isn't a bad idea. My guess is that eliminating it from C >>> code gets us almost all of the useful benefit. Removing it from the code >>> generator (i.e. TCG_AREG0) may be more pain that it's worth. > >> I don't think moving the helpers from op_helper.c to helper.c will be >> a performance win if AREG0 is not eliminated. The code gets to use one >> register more, but AREG0 needs to be moved to a function argument >> register in most cases and AREG0 has to be restored. I think the >> benefit should come from generated code getting one more available >> register. > > So, it all boils down to the amount of register spilling that can be > avoided in TCG-generated code when eliminating the reserved register for > AREG0. Am I right?
For the generated code, yes.