On Fri, Sep 11, 2020 at 4:18 PM Segher Boessenkool
<seg...@kernel.crashing.org> wrote:
>
> On Fri, Sep 11, 2020 at 08:07:39AM +0200, Richard Biener wrote:
> > On Thu, Sep 10, 2020 at 5:12 PM Segher Boessenkool
> > <seg...@kernel.crashing.org> wrote:
> > > On Thu, Sep 10, 2020 at 04:33:30PM +0200, Richard Biener wrote:
> > > > On Thu, Sep 10, 2020 at 4:22 PM Aaron Sawdey <acsaw...@linux.ibm.com> 
> > > > wrote:
> > > > > If it feels like a hack, that would because it is a hack.
> > > > >
> > > > > What I’d really like to discuss is how to accomplish the real goal: 
> > > > > keep anything from trying to do other operations (zero/sign extend 
> > > > > for one) to POImode.
> > > > >
> > > > > Is there an existing mechanism for this?
> > > >
> > > > Not that I know, but somehow x86 gets away with OImode and XImode 
> > > > without
> > > > providing too many patterns for those.
> > >
> > > What we were seeing is DSE (of all things!) tries to extract a DImode
> > > from a POImode (and expects that insn to exist!)  That is no good.
> >
> > Maybe.  I don't know what kind of operations have to exist if a mode
> > is present and what not.
> > But are you sure this will be the only case you'll run into?
>
> No, I am not sure if there are bugs related to this elsewhere in the
> compiler :-)
>
> 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 ;)

>  I have looked at a lot of it in
> our code the past weeks, and we still treat it like that in most places.
>
> 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.

> 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?

Richard.

>
>
> Segher

Reply via email to