This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Incorrect code using gcc 2.8.x for Motorola 5200 Coldfire
- To: John Vickers <jvickers at acorn dot com>
- Subject: Re: Incorrect code using gcc 2.8.x for Motorola 5200 Coldfire
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Wed, 02 Sep 1998 21:55:43 -0600
- cc: Russ Fellows <rfellows at intellistor dot com>, egcs-patches at cygnus dot com
- Reply-To: law at cygnus dot com
In message <35EBE43E.2CFA37A1@acorn.com>you write:
> My understanding - which might be quite erroneous - was that QImode
> operations were allowed to trash the non-QI
> part of the register, so move.l ad,ad and lea i,a could be used
> for qimode moves to/from an address reg.
> We can't have movstrictqi though.
That is correct. I've asked Russ for a clarification on exactly what
is causing the problems.
> Seems we can allow ri -> a and ri -> d. Movl a0,d0 isn't going
> to set the cc right though.
But we should already handle this case since we allow this kind of
stuff on the rest of the m68k family.
> On the same basis, perhaps add/subqi3 should be allowed to use address
> regs.
Possible, but unlikley to really help code. You'll note the move
patterns for !codefire discourage the use of address regs for
byte sized values.
jeff