2008/7/15 Ramana Radhakrishnan <[EMAIL PROTECTED]>: > <snipped parts of the last mail> > >> >> I agree with you, but what about when there are still caller save >> register are available and there are no register restrictions for any >> instructions? In my case i find that GCC has used only the argument >> registers, stack pointer and callee saved registers. So out of the 16 >> available registers ony 5+1+4 registers were used, even though there >> was 6 caller save registers were available > > > Check your REG_ALLOC_ORDER macro ?
The order is argument registers, caller save registers and finally the callee save registers. > > > cheers > Ramana >> >>> >>> HTH. >>> >>> >>> cheers >>> Ramana >>> >>> On Tue, Jul 15, 2008 at 7:50 AM, Mohamed Shafi <[EMAIL PROTECTED]> wrote: >>>> >>>> Hello all, >>>> >>>> I am not sure if this the right mailing list. >>>> >>>> I am involved in the porting of gcc 4.1.2 for a 16 bit target. >>>> In some cases i noticed that callee save registers were getting >>>> allocated in the body even though there isn't any function call. I >>>> believe that callee save registers will be allocated only if some >>>> variable values are required across a function call. So if there is no >>>> function call there shouldn't be any callee save registers used in a >>>> function body. So my question is will GCC allocate callee save >>>> registers for function even if the function doesn't call any other >>>> function? >>>> Or is this a gcc bug? >>>> >>>> Hope my question is clear. >>>> >>>> Regards, >>>> Shafi >>> >>> >>> >>> -- >>> Ramana Radhakrishnan >>> >> > > > > -- > Ramana Radhakrishnan >