On 9/6/07, David Edelsohn <[EMAIL PROTECTED]> wrote: > >>>>> Matt Lee writes: > > Matt> The problem is, that though the loads can be optimized by pipelining > Matt> them. The register allocator has created a dependency by using only r3 > Matt> and r4, instead of using the other volatiles. > > GCC's register allocator currently is designed to minimize the > number of hard registers. As Ian mentioned, -frename-registers tries to > perform register renaming with available registers after register > allocation. As they say, "Your Mileage May Vary". >
There is no point trying to minimize usage of volatile hard registers, is there? They are precisely there to be used up as much as needed. The function is a leaf procedure as well, so there are no other considerations. Lastly, architectures like PPC do make use of more registers (without -frename-registers), so there has to be something in the PPC back-end that allows for the liberal use or in mine that prevents such. -- thanks, Matt