Problem In Using REG_ALLOC_ORDER : Allocating Even Regster Number First.

Prashant Purohit prashantpurohit025@gmail.com
Thu Feb 4 08:16:00 GMT 2010


Hi Ian,

    Thanks, It worked for me, actually there is a small mistake in
HARD_REGNO_MODE_OK function in which it was mistakenly taking register group
i.e. 2 register which was defined for double integer. I corrected that and
it worked as expected.

Thanks,
Prashant.



Ian Lance Taylor-3 wrote:
> 
> Prashant Purohit <prashantpurohit025@gmail.com> writes:
> 
>>         I have defined REG_ALLOC_ORDER for my dummy target on GCC-4.3.0
>> as
>>
>> #define REG_ALLOC_ORDER		\
>> {						        \
>>      3,  2,  1,  0, 12, 14,  4,  5,		\
>>      6,  7,  8, 10,  9, 11, 13, 15,		\
>>     16, 17, 18 					\
>> }
>>
>>          But instead of allocating register r3 first it is allocating
>> register r2 then I tried some different combination and found that it is
>> actually allocating even no. Register first.
>>
>>          I want my compiler to use r3 first while allocating register, is
>> there anything extra I need to do or I missed out?
> 
> If you find that the compiler is allocating even registers first, then
> almost certainly there is some machine mode or some insn which
> requires an even registers.  Do you have a register class which
> contains only the even registers?  Are there any modes which are only
> permitted in the even registers (see HARD_REGNO_MODE_OK)?
> 
> Ian
> 
> 

-- 
View this message in context: http://old.nabble.com/Problem-In-Using-REG_ALLOC_ORDER-%3A-Allocating-Even-Regster-Number-First.-tp27433268p27448609.html
Sent from the gcc - Help mailing list archive at Nabble.com.



More information about the Gcc-help mailing list