This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Subregs in the i386 addresses.
- To: Jan Hubicka <jh at suse dot cz>
- Subject: Re: Subregs in the i386 addresses.
- From: Richard Henderson <rth at cygnus dot com>
- Date: Tue, 25 Jul 2000 14:39:39 -0700
- Cc: gcc-patches at gcc dot gnu dot org
- References: <20000721013030.H27092@atrey.karlin.mff.cuni.cz>
On Fri, Jul 21, 2000 at 01:30:30AM +0200, Jan Hubicka wrote:
> This patch allows SUBREG in the address expressions on i386. Some code to
> support it is already present, while other not and they are currently
> prohibited by legitimate_address_p.
>
> The SUBREGs are usefull for addressing using truncated DImode registers,
> as well as matching more cases using LEA pattern.
Like Bernd I wonder what sorts of source code can give rise to
such things. I see in legitimate_address_p a description of _why_
we disallow them there. Failing a rebuttal of that comment, I
cannot approve this.
At present I think we should just remove the acceptance of SUBREG
in ix86_decompose_address. If you're going to be using that function
from LEA type patterns not through legitimate_address_p, then we
need to do additional stuff in ix86_decompose_address to prevent
inappropriate references to REGNO and pointer comparisons against
frame_pointer_rtx and friends.
r~