aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/c-c++-common/builtin-convertvector-1.c
blob: 4bd0e4c5df5db0697232528fed17afbbc40eae83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
typedef int v8si __attribute__((vector_size (8 * sizeof (int))));
typedef long long v4di __attribute__((vector_size (4 * sizeof (long long))));

void
foo (v8si *x, v4di *y, int z)
{
  __builtin_convertvector (*y, v8si);	/* { dg-error "number of elements of the first argument vector and the second argument vector type should be the same" } */
  __builtin_convertvector (*x, v4di);	/* { dg-error "number of elements of the first argument vector and the second argument vector type should be the same" } */
  __builtin_convertvector (*x, int);	/* { dg-error "second argument must be an integer or floating vector type" } */
  __builtin_convertvector (z, v4di);	/* { dg-error "first argument must be an integer or floating vector" } */
  __builtin_convertvector ();		/* { dg-error "expected" } */
  __builtin_convertvector (*x);		/* { dg-error "expected" } */
  __builtin_convertvector (*x, *y);	/* { dg-error "expected" } */
  __builtin_convertvector (*x, v8si, 1);/* { dg-error "expected" } */
}