On Wed, 21 Mar 2018, Jakub Jelinek wrote: > Hi! > > On ia32, we don't support __int128, nor mode (TI) integers, but we do > support 128-bit __float128 and (generic) vectors containing it. The result > of a comparison of such vectors is supposed to be integral vector with the > same element size, but we really don't want to allow one in this case, > it would be a loophole for full support of __int128/mode(TI), just do: > typedef __float128 V __attribute__ ((__vector_size__ (2 * sizeof > (__float128)))); > extern V v; > typedef typeof ((v != 0)[0]) my_int128; > and suddenly you have __int128. > > The C++ errors out in this case, you can use such floating point vectors, > but can't use them in comparisons, the C FE instead just segfaulted. > > Fixed thusly, making the C FE consistent with what C++ FE does, > bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
OK. -- Joseph S. Myers jos...@codesourcery.com