On Wed, 2020-09-02 at 05:13 -0500, Segher Boessenkool wrote:
> Hi Will,
> 
> 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.  
thanks,


> 
> > --- /dev/null
> > +++ b/gcc/testsuite/gcc.target/powerpc/pr96139-a.c
> > @@ -0,0 +1,32 @@
> > +/* { dg-do compile } */
> > +/* { dg-options "-O2 -Wall -m32 " } */
> 
> (trailing space, here and elsewhere -- not that it matters of course)

yup, will fix.  thanks for the review. 

-Will

> 
> 
> Segher

Reply via email to