This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [cft] subreg validation patch


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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]