Hi!

On Thu, Sep 03, 2020 at 10:37:33AM -0500, will schmidt wrote:
> On Wed, 2020-09-02 at 05:13 -0500, Segher Boessenkool wrote:
> > On Tue, Sep 01, 2020 at 09:00:20PM -0500, will schmidt wrote:
> > >   This corrects an issue with the powerpc vector long long
> > > subtypes.
> > > As reported by SjMunroe in PR96139.  When building some code with
> > > -Wall
> > > and attempting to print an element of a "long long vector" with a
> > > long long
> > > printf format string, we will report a error because the vector
> > > sub-type
> > > was improperly defined as int.
> > > 
> > > When defining a V2DI_type_node we use a TARGET_POWERPC64 ternary to
> > > define the V2DI_type_node with "vector long" or "vector long long".
> > > We also need to specify the proper sub-type when we define the
> > > type.    
> > > -  V2DI_type_node = rs6000_vector_type (TARGET_POWERPC64 ?
> > > "__vector long"
> > > -                                : "__vector long long",
> > > -                                intDI_type_node, 2);
> > > +  V2DI_type_node
> > > +    = rs6000_vector_type (TARGET_POWERPC64
> > > +                   ? "__vector long" : "__vector long long",
> > > +                   TARGET_POWERPC64
> > > +                   ? long_long_integer_type_node :
> > > intDI_type_node,
> > > +                   2);
> > 
> > Can't you just use long_long_integer_type_node in all cases?  Or,
> > what
> > else is intDI_type_node for 32 bit?
> 
> I'm not sure offhand.  I'm tending to assume the use of intDI_type_node
> is critical for some underlying reason.    I'll give this a spin with
> just long_long_integer_type_node and see what happens.  

If that works, that is okay for trunk (and all backports you want).  If
not, just use what you sent.

Thanks!


Segher

Reply via email to