This is the mail archive of the gcc-patches@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]

Re: MIPS patch submittion



  In message <m2901tsk7a.fsf@kinslayer.cpopetz.com>you write:
  > Dmitri Makarov <dim@windriver.com> writes:
  > 
  > > The reason is that a MIPS special register, namely HI, is being allocated
  > > by reloader to mtime variable. Reloader generates an insn that doesn't 
  > > satisfy its constraines:
  > > 
  > > cc1: test.c: In function `ExecuteJava':
  > > test.c:2109: internal error--insn does not satisfy its constraints:
  > > 
  > > (insn 28897 28895 8899 (set (reg:SI 64 hi)
  > >         (reg:SI 2 v0)) 243 {movsi_internal2+1} (nil)
  > >     (nil))
  > > 
  > > This situation is caused by erroneous macro REGISTER_MOVE_COST, which
  > > includes code to prevent allocation of HI/LO/HILO to pseudos, but does 
  > > not.  The fix is the rewritten macro which does what it's intented to
  > > do.
  > 
  > I submitted a patch for this last month.  However, I just tried to find
  > the message in the archives and can't, so it seems it never made it; I
  > was having mail server difficulties at that time.  This was my patch,
  > for reference.  (I didn't change the macro to a function, although I
  > consider that a worthwile change.)
If it's any consolation, I certainly remember discussing it with you as you
were working through the problem which led to this patch.


  >         * config/mips/mips.h (REGISTER_MOVE_COST): Remove redundant
  >         case for moving from HI/LO/HI_LO_REG.  This makes the behavior
  >         match the comment for MIPS16.
This is fine.  Please install this patch.

Thanks,
jeff


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