[cft] subreg validation patch
Richard Henderson
rth@redhat.com
Mon Nov 15 20:12:00 GMT 2004
On Sun, Nov 14, 2004 at 04:03:39PM +0100, Ulrich Weigand wrote:
> Richard Henderson wrote:
>
> >Could everyone please try the following on their favorite platform
> >and report back with new failures?
>
> I've tried your patch on s390-ibm-linux and s390x-ibm-linux. On both
> platforms, bootstrap fails when building stage2, because of a bug in
> regmove_optimize. The code there tries to convert a paradoxical
> subreg move into a move with the opposite subreg on the other side,
> but completely messes up the subreg offset. The following patch
> appears to fix that problem:
Indeed. This should be ok to check in by itself.
> ... calls gen_rtx_SUBREG to form a DFmode subreg of one of the subwords of
> a TImode register.
>
> I'm not sure how to fix that, not least because I still don't understand
> why this subreg is now supposed to be invalid in the first place ...
According to the docs, it always was invalid. I guess I'll put an
exception in there for this, as with the SI->DF exception that I
have already added.
> This check is not quite the same as the check done in simplify_subreg.
> In particular, you neither check for REG_CANNOT_CHANGE_MODE_P, nor is
> there the special checks for frame-related registers. While I'm not
> quite sure I fully understand those checks, shouldn't the rules be
> the same here as in simplify_subreg?
Yes.
r~
More information about the Gcc
mailing list