aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/pr109040.c
blob: b0dedd50e790dca0cb911210c45648451a9bd95c (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/109040 */

typedef unsigned short __attribute__((__vector_size__ (32))) V;

unsigned short a, b, c, d;

void
foo (V m, unsigned short *ret)
{
  V v = 6 > ((V) { 2124, 8 } & m);
  unsigned short uc = v[0] + a + b + c + d;
  *ret = uc;
}

int
main ()
{
  unsigned short x;
  foo ((V) { 0, 15 }, &x);
  if (x != (unsigned short) ~0)
    __builtin_abort ();
  return 0;
}