On Fri, 2020-09-04 at 03:47 -0500, Segher Boessenkool wrote: > Hi! > > On Fri, Sep 04, 2020 at 08:55:43AM +0200, Richard Biener wrote: > > On Thu, Sep 3, 2020 at 8:10 PM Segher Boessenkool > > <seg...@kernel.crashing.org> wrote: > > > 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: > > > > > > - 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. > > > > Beware of alias issues! 'long' and 'long long' are distinct types > > even if > > they have the same size and long * aliases with vector<long> * but > > not > > with vector<long long> *. > > That is what this patch is all about, so I do beware (right now ;-) > ), > don't worry :-) > > > So if the user writes 'vector long' you should use the appropriate > > component > > type. If the user writes 'vector intDI_type' you should use > > intDI_type. > > Yes. But intDI is not something the user can write, it is an > internal > name, and for 32 bit it is just long long int. We use intDI if > something is long on 64 bit and long long on 32 bit, but here we > always > want long long, so we can just as well just write that :-) > > intDI_type_node = make_or_reuse_type (GET_MODE_BITSIZE (DImode), > 0);
Thanks for the additional scrutiny and discussion.. :-) My regtests with that change passed cleanly, so it was committed yesterday. Thanks, -Will > > > Segher