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: PATCH for m68k.md




  In message <3A96E35E.AF51B00C@redhat.com>you write:
  > When building the compiler for the m68k (actually, the m5200 target). I
  > found that the the template for the movqi was missing the memory operand
  > in the constraints. This causes the compiler to fail in some when
  > compiling cp-demangle.c in libiberty with the "-m5200" option.  The
  > following insn pattern cannot be converted:
  > 
  > (insn 1203 995 996 (set (reg:QI 8 %a0)
  >         (mem/f:QI (plus:SI (reg:SI 14 %a6)
  >                 (const_int -5 [0xfffffffb])) 0)) 37 {*m68k.md:1060}
  > (nil)
  >     (nil))
  > 
  > The attached patch fixes this problem The change log is below:
  > 
  > 2001-02-23  Will Cohen  <wcohen@redhat.com>
  > 
  > 	* config/m68k/m68k.md: Update movqi pattern for TARGET_5200.
  > 
  > Is it okay to apply this patch?
I'm pretty sure this is wrong -- if I recall properly the 5200 can't actually
do byte sized moves into address registers.

You can probably look in the gcc list archives and find the discussion behind
this patch:

Sat Sep  5 03:23:05 1998  Jeffrey A Law  (law@cygnus.com)

        * m68k.md (5200 movqi): Do not allow byte sized memory references
        using address regs.
        * m68k.c (output_move_qimode): Do not use byte sized operations on
        address registers.



jeff


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