aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/pr97521.c
blob: 5970bcff383fc76e75dfe077daee56a16e0f5f95 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* { dg-do run } */
/* { dg-options "-O -mno-sse2 -Wno-psabi" } */

typedef unsigned char __attribute__ ((__vector_size__ (8))) V;
typedef unsigned long long __attribute__ ((__vector_size__ (16))) W;

V c;
W d, e;

V
foo (W f)
{
  W g = (W) { 0, 209 } <7 <= (0 < f);
  W h = e + g + d;
  V j = (V) (h[0]) + (V) c;
  return j;
}

int
main (void)
{
  V x = foo ((W) { 3 });
  for (unsigned i = 0; i < sizeof (x); i++)
    if (x[i] != 0xff)
      __builtin_abort ();
  return 0;
}