This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RTL, ColdFire 24/63] Add support for a MODE_INDEX_REG_CLASS macro
- From: Roman Zippel <zippel at linux-m68k dot org>
- To: Jeffrey Law <law at redhat dot com>
- Cc: Richard Sandiford <richard at codesourcery dot com>, gcc-patches at gcc dot gnu dot org, mark at codesourcery dot com
- Date: Tue, 13 Feb 2007 18:42:48 +0100 (CET)
- Subject: Re: [RTL, ColdFire 24/63] Add support for a MODE_INDEX_REG_CLASS macro
- References: <874pqzw4w1.fsf@firetop.home> <87wt3vtalc.fsf_-_@firetop.home> <87slejtaia.fsf_-_@firetop.home> <87odp7tag7.fsf_-_@firetop.home> <87k5zvtad6.fsf_-_@firetop.home> <87fyajtaas.fsf_-_@firetop.home> <87bql7ta58.fsf_-_@firetop.home> <877ivvt9ws.fsf_-_@firetop.home> <873b6jt9r5.fsf_-_@firetop.home> <87y7obrv3h.fsf_-_@firetop.home> <87tzyzrv1p.fsf_-_@firetop.home> <87ps9nruzl.fsf_-_@firetop.home> <87lkkbrux2.fsf_-_@firetop.home> <87hcuzruvd.fsf_-_@firetop.home> <87d55nruu3.fsf_-_@firetop.home> <878xgbruqs.fsf_-_@firetop.home> <1168457319.28081.615.camel@sweet.slc.redhat.com> <87k5zuinc0.fsf@firetop.home> <1168983686.28081.842.camel@sweet.slc.redhat.com> <87ps9efc4t.fsf@talisman.home> <87fya82kk3.fsf@talisman.home> <87r6szfjoh.fsf@firetop.home> <1171322465.4134.170.camel@sweet.slc.redhat.com>
Hi,
On Mon, 12 Feb 2007, Jeffrey Law wrote:
> And I believe this is the source of your problem. The backend has
> lied to reload.
>
> double_reg_address_ok is computed by generating some RTL for
> addresses, then passing them along to G_I_L_A. If G_I_L_A
> returns true, then reload deems it is free to generate reg+reg
> addressing modes.
I disagree, I believe it's reload that lies to the back end. To be
specfific reload asks whether (mem:qi (plus (reg %fp) (reg))) is valid,
which the back end answers truthfully and reload then assumes this is
valid for any mode. If the latter were true, the mode argument of G_I_L_A
would be entirely useless.
bye, Roman