This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [MIPS] Test case dspr2-MULT is failed


Mingjie Xing wrote:
> 2011/2/18 Fu, Chao-Ying <fu@mips.com>:
> > I think your analysis is correct. ?We should just delete 
> mips_order_regs_for_local_alloc()
> > in mips.c and delete ADJUST_REG_ALLOC_ORDER in mips.h.
> > Then, 3 accumulators can be used in dspr2-MULT.c and 
> dspr2-MULTU.c now. ?Thanks!
> 
> /* ADJUST_REG_ALLOC_ORDER is a macro which permits reg_alloc_order
>    to be rearranged based on a particular function.  On the mips16, we
>    want to allocate $24 (T_REG) before other registers for
>    instructions for which it is possible.  */
> 
> #define ADJUST_REG_ALLOC_ORDER mips_order_regs_for_local_alloc ()
> 
> I'm just wondering if it Is appropriate to simply remove
> ADJUST_REG_ALLOC_ORDER considering its comment.

  Ok.  Need to test if allocating $24 first is still better in MIPS16 under IRA.
If yes, we should update mips_order_regs_for_local_alloc() for MIPS16 only
(eg: exchange $24 and $1), as the default register order is as follows.
Ex:
/* We generally want to put call-clobbered registers ahead of
   call-saved ones.  (IRA expects this.)  */

#define REG_ALLOC_ORDER                                                 \
{ /* Accumulator registers.  When GPRs and accumulators have equal      \
     cost, we generally prefer to use accumulators.  For example,       \
     a division of multiplication result is better allocated to LO,     \
     so that we put the MFLO at the point of use instead of at the      \
     point of definition.  It's also needed if we're to take advantage  \
     of the extra accumulators available with -mdspr2.  In some cases,  \
     it can also help to reduce register pressure.  */                  \
  64, 65,176,177,178,179,180,181,                                       \
  /* Call-clobbered GPRs.  */                                           \
  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,            \
  24, 25, 31,                                                           \
...

Regards,
Chao-ying


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]