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@xxxxxxxxx> 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.