This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix s390 fallout from PR11271 patch
- From: Ulrich Weigand <weigand at i1 dot informatik dot uni-erlangen dot de>
- To: ebotcazou at libertysurf dot fr (Eric Botcazou)
- Cc: weigand at i1 dot informatik dot uni-erlangen dot de (Ulrich Weigand), gcc-patches at gcc dot gnu dot org, rearnsha at arm dot com
- Date: Mon, 1 Dec 2003 18:12:13 +0100 (CET)
- Subject: Re: [PATCH] Fix s390 fallout from PR11271 patch
Eric Botcazou wrote:
> Yes, this was the original intent. In my own defense :-) I can say that I
> was heavily influenced by the following comment, which is located a few
> lines above the hot spot in reload.c:
>
> /* If we have address of a stack slot but it's not valid because the
> displacement is too large, compute the sum in a register.
> Handle all base registers here, not just fp/ap/sp, because on some
> targets (namely SH) we can also get too large displacements from
> big-endian corrections. */
> else if (GET_CODE (ad) == PLUS
> && GET_CODE (XEXP (ad, 0)) == REG
> && REGNO (XEXP (ad, 0)) < FIRST_PSEUDO_REGISTER
> && REG_MODE_OK_FOR_BASE_P (XEXP (ad, 0), mode)
> && GET_CODE (XEXP (ad, 1)) == CONST_INT)
>
> So it appears that the "extension" process might be questionable there too.
I agree that this should probably be changed to accept sp/fp/ap too,
but as this will make any difference only on arm, I'd leave it to
Richard to decide whether it's necessary ...
Bye,
Ulrich
--
Dr. Ulrich Weigand
weigand@informatik.uni-erlangen.de