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