On Mon, Sep 14, 2020 at 09:46:11AM +0200, Richard Biener wrote:
> On Fri, Sep 11, 2020 at 4:18 PM Segher Boessenkool
> <seg...@kernel.crashing.org> wrote:
> > Until 2014 (and documented just days ago ;-) ) all bits of a partial
> > integer mode were considered unknown.
> 
> All bits or all bits outside of its precision?  I hope the latter ;)

All bits.  Many things in GCC still follow that older definition, btw.

> > I have looked at a lot of it in
> > our code the past weeks, and we still treat it like that in most places.

Oh I said that already, heh.

> > We now see bootstrap problems if we use POImode in some contexts (that's
> > this PR96791).  POImode can only live in pairs of VSX registers; taking
> > a subreg of POImode that would not be valid on one VSX register is not
> > okay.
> 
> I guess the same applies to i?86 DImode living in two gpr regs.  Or any
> multi-reg pseudo.  It certainly shouldn't be dependent on whether we're
> dealing with a partial integer mode or not.

If some mode can be in GPRs, then taking subregs of it works fine.

> > Maybe we are missing some hooks or macros?
> 
> So this problem must be "solved" in some way already.  How do we asses
> subreg validity?  Through recog in the end?

No, we ICE.  See the PR?  (PR96791).


Segher

Reply via email to