Problem In Using REG_ALLOC_ORDER : Allocating Even Regster Number First.

Ian Lance Taylor iant@google.com
Wed Feb 3 16:37:00 GMT 2010


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



More information about the Gcc-help mailing list