PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.target / ia64 / pr42542-1.c
blob9ce66f494a95ae3c1ff918bacdeed4d20ad1dbf4
1 /* { dg-do run } */
2 /* { dg-options "-O1 -ftree-vectorize" } */
4 unsigned int v1[] __attribute__ ((aligned(16))) =
6 0x80000000, 1, 0xa0000000, 2,
7 3, 0xd0000000, 0xf0000000, 0xe0000000
8 };
9 unsigned int v2[] __attribute__ ((aligned(16))) =
11 4, 0xb0000000, 5, 0xc0000000,
12 0xd0000000, 6, 7, 8
15 unsigned int max[] =
17 0x80000000, 0xb0000000, 0xa0000000, 0xc0000000,
18 0xd0000000, 0xd0000000, 0xf0000000, 0xe0000000
21 unsigned int min[] =
23 4, 1, 5, 2,
24 3, 6, 7, 8
27 unsigned int res[8] __attribute__ ((aligned(16)));
29 extern void abort (void);
31 void
32 find_max (void)
34 int i;
36 for (i = 0; i < 8; i++)
37 res[i] = v1[i] < v2[i] ? v2[i] : v1[i];
40 void
41 find_min (void)
43 int i;
45 for (i = 0; i < 8; i++)
46 res[i] = v1[i] > v2[i] ? v2[i] : v1[i];
49 int main (void)
51 int i;
52 int err = 0;
54 find_max ();
55 for (i = 0; i < 8; i++)
56 if (res[i] != max[i])
57 err++;
59 find_min ();
60 for (i = 0; i < 8; i++)
61 if (res[i] != min[i])
62 err++;
64 if (err)
65 abort ();
67 return 0;