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: choose_reload_regs V2.0



  > to the "equiv" problem. But I still don't agree with the first part, concer
  > ning
  > clobbering inherited reloads. The "md" solution is OK for addi_internal ins
  > n
  > on MIPS. The similar problem for add insn doesn't exist on SPARC, because M
  > IPS
  > must use additional reg for CARRY. But, I tested egcs-20000904 snapshot on
  > SPARC with asm-statements (The CVS checkout take too long).
  > Here, I wasn't force "equiv" part of the problem, because it is now correct
  > ed.
  > The problem is still in the "inheritance" part. Here, for asm statement, it
  > s
  > clobber register list doesn't appear in earlyclobber list (as there are no
  > earlyclobbers in the insn). In the case of MIPS and addi_internal insn, thi
  > s
  > won't happen as there is a test for earlyclobbers. But what about
  > asm-statements? C-code is:
If the assembly code generated by a pattern modifies an output (which
includes clobbers) before all of its inputs have been read, then the output
which is modified must be marked with an earlyclobber.  The MIPS patterns
clearly violate that rule as they modify the clobber before they read all
their inputs.

Someone would have to look at the Sparc to see if it has similar issues.

jeff


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