This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: New RTL instruction for my port


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 <rth@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~
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]