aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr80286.c
blob: 82f35b5009985e171d8559379a4ea4e84ea8dfca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* PR target/80286 */
/* { dg-do run } */
/* { dg-options "-O2 -Wno-psabi" } */

typedef int V __attribute__((vector_size (4 * sizeof (int))));

__attribute__((noinline, noclone)) V
foo (V x, V y)
{
  return x << y[0];
}

int
main ()
{
  V x = { 1, 2, 3, 4 };
  V y = { 5, 6, 7, 8 };
  V z = foo (x, y);
  V e = { 1 << 5, 2 << 5, 3 << 5, 4 << 5 };
  if (__builtin_memcmp (&z, &e, sizeof (V)))
    __builtin_abort ();
  return 0;
}