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: Incorrect code using gcc 2.8.x for Motorola 5200 Coldfire



  In message <35EE76E1.9E6BB7CC@acorn.com>you write:
  > If you do any kind of operation with an address reg destination,
  > all the bits (QI,HI,SI)
  > are changed - that's how it's built.
And for GCC's purposes that is fine.  Bits outside of the specified
mode are undefined unless the rtl is wrapped in a strict_low_part.

  > The machine instructions you probably want on CF
  > for i->a  are lea %a0:w,%1  and  subl %0,%0.
  > If move_qimode punts to move_simode_const, the decisions about which
  > instruction is best for what value & what target stay in one place.
It does not punt to simode_const.  One could argue that it should, but
that's separate from the issue at hand, similarly for tweaking the
patterns to generate more efficient code.

jeff




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