[Bug target/11271] [3.3.1/3.4 regression] [arm-elf] regex.c ICEs for thumb multilib

ebotcazou at libertysurf dot fr gcc-bugzilla@gcc.gnu.org
Wed Jul 30 17:14:00 GMT 2003


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



More information about the Gcc-bugs mailing list