I am almost convinced I had tried that already but apparently not. This seems to have fixed my problem, thank you :-)
Jc On Thu, Jan 7, 2010 at 4:14 PM, Richard Henderson <r...@redhat.com> wrote: > On 01/07/2010 12:58 PM, Jean Christophe Beyler wrote: >> >> Dear all, >> >> I've gone to using unspec and I think I know why I have a problem. It >> seems that actually, the problem lies with the fact that these >> instructions are touching an internal register and how I am handling >> that register. >> >> Since I don't want the register allocator to use that register, I put >> a 1 in FIXED_REGISTERS. However, it's state is persistent across >> function calls, meaning that if nothing changes its state, it will be >> still set in the same way after a return call. >> >> However, CALL_USED_REGISTERS is defined as "1 for registers not >> available across function calls. These must include the >> FIXED_REGISTERS and also any registers that can be used without being >> saved.". >> >> These two sentences seem in contradiction with what I want : >> >> - I want to define a register that is not available to the register >> allocator but is available across function calls. >> > > See CALL_REALLY_USED_REGISTERS. > > > r~ >