summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr78644-2.c
blob: 3395ddee952a37450eae2cf16114a69121e4d6c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* { dg-do compile { target int128 } } */
/* { dg-options "-Og -finline-functions-called-once -w -Wno-psabi" } */

typedef unsigned V __attribute__ ((vector_size (64)));
typedef unsigned __int128 U __attribute__ ((vector_size (64)));

U
bar4 (U u0, U u1)
{
  if (u1[0])
    u1 <<= 1;
  return u0 + u1;
}

V
foo (U u, V v)
{
  v |= (unsigned)bar4(u, (U){})[0];
  return v;
}