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