aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr108805.c
blob: 280d3f5c37797ae61a707a6702eb7f45e1c17314 (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 longlong64 } } */
/* { dg-options "-O" } */
/* { dg-additional-options "-msse2" { target x86_64-*-* i?86-*-* } } */

typedef __INT8_TYPE__ __attribute__((__vector_size__ (4))) U;
typedef __INT32_TYPE__ __attribute__((__vector_size__ (4))) V;
typedef __UINT64_TYPE__ __attribute__((__vector_size__ (8))) W;

int i;
U h;
W g;

U
foo (void)
{
  W w = i != g;
  V v = __builtin_convertvector (i | w >> 2, V);
  U u = (U) v[0] + h;
  return u;
}