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


Richard Henderson wrote:
> 
> On Sun, Aug 30, 1998 at 06:45:41PM -0600, Jeffrey A Law wrote:
> >
> >   In message <35E577BF.D73E3356@intellistor.com>you write:
> >   > This is not allowed, but does not produce a
> >   > trap or illegal instruction on the 5200 series.  It does do this
> >   > on the 5307 specifically however.
> > If such code is allowed on the 5200, but not the 5307, then you should
> > probably create a new target flag for the 5307 so that you can test
> > for it explicitly instead of pessimizing the 5200.
> 
> What I understood him to be saying is that it isn't allowed,
> but silently does the wrong thing on the 5200.  Correct?
> 
> r~


Correct.  I didn't state that clearly enough.  Upon reading the
68020, 68030, 68040, 5202, 5206 and 5307 programmers references;
it appears that a "movea.w" is not allowed on any of these
processors (i.e. a byte move into or out of an address register).
It does not produce a trap on the 52XX series.  The 5307 manual
states that the 52XX series did not generate traps for all 
illegal code due to processor constraints.  The 5307, however,
does not have this restraint.

So, this is an illegal instruction for all Motorola 68K and 5XXX
processors.

Thank you,
-- 

--Russ (rfellows@intellistor.com)


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