summaryrefslogtreecommitdiff
path: root/gcc/testsuite/c-c++-common/builtin-shuffle-1.c
blob: df9b3a17469faf28c078a0062a6fc172870e5df2 (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 c++/78089 */
/* { dg-do run } */
/* { dg-additional-options "-fno-common" { target hppa*-*-hpux* } } */

typedef int V __attribute__((vector_size (4 * __SIZEOF_INT__)));
V a, b, c;

int
foo ()
{
  return __builtin_shuffle (a, b, c)[3];
}

int
main ()
{
  a = (V) { 1, 2, 3, 4 };
  b = (V) { 5, 6, 7, 8 };
  c = (V) { 7, 2, 5, 6 };
  if (foo () != 7)
    __builtin_abort ();
  return 0;
}