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: movstrictqi/movstricthi fix for h8300



  In message <Pine.LNX.4.21.0009120936310.3929-100000@mahatma.cygnus.co.uk>you 
write:
  > > For extra credit -- submit a testcase for the bug which led you to this
  > > patch.
  > 
  > For yet more extra credit, also fix convex.md, i370.md, i386.md, ns32k.md,
  > sh.md and vax.md :-)  (See below)
I was going to fix them myself :-)  grep is my friend.

  > I've been irritated by STRICT_LOW_PART for a while.  What do you folks
  > think about eliminating it?
  > 
  > It's yet another one of the irregularities in rtl which I hate so much.
  > Every piece of code that analyzes RTL has to special-case it (along
  > with a few other rtxs, but one thing at a time).  It's not easy to
  > optimize, e.g. for a cse-like pass you can't easily record an equivalence.
  > And, people forget that they are in-out operands and write "=" in their
  > machine descriptions rather than "+".
  > 
  > I think it would be cleaner to represent a movstrict pattern as something
  > like
  > 
  >   (set (reg X) (ior (and X 0xFF....00) (zero_extend Y)))
  > 
  > This might even help the combiner, who knows.
Seems reasonable.  Probably the biggest hurdle will be converting the
m68k port which I believe uses strict_low_part fairly regularly.

jeff


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