On 04/19/2017 08:00 AM, Jakub Jelinek wrote:
Hi!

The testcase attempts to use long double __attribute__((vector_size (16)))
vector and in addition to that uses __typeof((v<v)[0]).
The preconditions of that are not just that long double has size which is
power of 2 (e.g. satisfied on x86_64 for sizeof, but not really because
it is still actually just 80-bit), but also that the size must not be larger
than 16 (otherwise not even a single element would fit) and because v<v has
type of an integral vector, there also needs to be an integral type of that
size, which is not available e.g. on ILP32 targets when long double is
128-bit but there is no __int128_t.

Tested on x86_64-linux and i686-linux, ok for trunk?

2017-04-19  Jakub Jelinek  <ja...@redhat.com>

        PR c++/80459
        * c-c++-common/opaque-vector.c (SIZEOF_MAXINT): Define.
        (f): Don't test long double vectors if __SIZEOF_LONG_DOUBLE__
        is not power of 2, or is more than 16 or more than SIZEOF_MAXINT.
OK.
jeff

Reply via email to