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