This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/11271] [3.3.1/3.4 regression] [arm-elf] regex.c ICEs for thumb multilib
- From: "ebotcazou at libertysurf dot fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 30 Jul 2003 17:14:22 -0000
- Subject: [Bug target/11271] [3.3.1/3.4 regression] [arm-elf] regex.c ICEs for thumb multilib
- References: <20030620195357.11271.dhazeghi@yahoo.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11271
------- Additional Comments From ebotcazou at libertysurf dot fr 2003-07-30 17:14 -------
Subject: Re: [3.4 regression] [arm-elf] regex.c ICEs for thumb multilib
> + 2003-03-26 Eric Botcazou <ebotcazou@libertysurf.fr>
> +
> + PR target/7784
> + * reload.c (find_reloads_address): Handle
> + (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
> + all base registers.
> +
>
> As far as I can determine, this is because of the extra constraint added
> to the test that ensures that the register being reloaded is valid as a
> base register. Unfortunately, this fails on thumb, since SP is not a
> valid base register for QImode (so a further reload will be needed).
> Prior to this patch we seemed to get things right even without the
> additional test.
Then this is a thinko in the patch: it was really meant to extend the former
code, not to add new restrictions to it. This was needed because we get this
form of address (base regs that are not fp/sp) on SPARC sometimes.
> Eric, was there a particular reason for adding the test of
> REG_MODE_OK_FOR_BASE_P?
No, I only mimiced the chunk of code immediately above (or so, I don't have
the sources at hand for the time being) that had extended another condition
the same way (from fp/sp to all base registers) according to the comment.
- Eric