------- Comment #3 from steven at gcc dot gnu dot org  2010-01-29 08:42 -------
See arm.c:#define REG_ALLOC_ORDER. Comment before it says: " It is good to use
ip since no saving is required (though calls clobber it) and it never contains
function parameters. It is quite good to use lr since other calls may clobber
it anyway."

So in REG_ALLOC_ORDER, ip (reg 12) and lr (reg 14) come before before r4-r7:

#define REG_ALLOC_ORDER                         \
{                                               \
     3,  2,  1,  0, 12, 14,  4,  5,             \
     6,  7,  8, 10,  9, 11, 13, 15,             \
    16, 17, 18, 19, 20, 21, 22, 23,             \
    27, 28, 29, 30, 31, 32, 33, 34,             \
    35, 36, 37, 38, 39, 40, 41, 42,             \
    43, 44, 45, 46, 47, 48, 49, 50,             \
    51, 52, 53, 54, 55, 56, 57, 58,             \
    59, 60, 61, 62,                             \
    24, 25, 26,                                 \

So the register allocator faithfully does what the IBTK has asked it to :-)


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  GCC build triplet|i686-linux                  |
   GCC host triplet|i686-linux                  |
           Keywords|ra                          |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42895

Reply via email to