This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
flow.c:initialize_uninitialized_subregs
On Thu, Dec 06, 2001 at 10:08:27PM +1030, Alan Modra wrote:
> This bombs with "unrecognizable insn". Seems to me that i_u_s is
> failing at its purpose according to the ChangeLog, and that
> find_regno_partial needs to dig a little deeper or something.
>
> Possibly like this (untested as yet) patch:
Yes, that did the trick. rtl now looks like it's doing what was
intended, and powerpc-linux bootstrap restored.
OK to apply?
> * flow.c (find_regno_partial): Return the reg rtx within the
> partial reg rtx.
>
> --- gcc/flow.c~ Wed Dec 5 14:35:03 2001
> +++ gcc/flow.c Thu Dec 6 21:57:37 2001
> @@ -1327,7 +1327,7 @@ find_regno_partial (ptr, data)
> case STRICT_LOW_PART:
> if (GET_CODE (XEXP (*ptr, 0)) == REG && REGNO (XEXP (*ptr, 0)) == reg)
> {
> - param->retval = *ptr;
> + param->retval = XEXP (*ptr, 0);
> return 1;
> }
> break;
> @@ -1336,7 +1336,7 @@ find_regno_partial (ptr, data)
> if (GET_CODE (SUBREG_REG (*ptr)) == REG
> && REGNO (SUBREG_REG (*ptr)) == reg)
> {
> - param->retval = *ptr;
> + param->retval = SUBREG_REG (*ptr);
> return 1;
> }
> break;
>