2018-02-09 Sebastian Perta <sebastian.perta@renesas.com>
[official-gcc.git] / gcc / testsuite / gcc.target / ia64 / pr42542-3.c
blob29e090883b702e8352c94046fa05a327e8063763
1 /* { dg-do run } */
2 /* { dg-options "-O1 -ftree-vectorize" } */
4 unsigned char v1[] __attribute__ ((aligned(16))) =
6 0x80, 0xd0, 0x90, 0xa0, 1, 15, 10, 15,
7 0xa0, 0xc0, 0xb0, 0xf0, 2, 25, 20, 35,
8 3, 34, 30, 36, 0xd0, 0x80, 0xe0, 0xb0,
9 0xf0, 0xe0, 0xe0, 0x80, 25, 34, 30, 40
11 unsigned char v2[] __attribute__ ((aligned(16))) =
13 4, 44, 40, 48, 0xb0, 0x80, 0x80, 0x90,
14 5, 55, 50, 51, 0xc0, 0xb0, 0xf0, 0xd0,
15 0xd0, 0x80, 0xa0, 0xf0, 6, 61, 65, 68,
16 7, 76, 75, 81, 0xe0, 0xf0, 0xc0, 0x90
19 unsigned char max[] =
21 0x80, 0xd0, 0x90, 0xa0, 0xb0, 0x80, 0x80, 0x90,
22 0xa0, 0xc0, 0xb0, 0xf0, 0xc0, 0xb0, 0xf0, 0xd0,
23 0xd0, 0x80, 0xa0, 0xf0, 0xd0, 0x80, 0xe0, 0xb0,
24 0xf0, 0xe0, 0xe0, 0x80, 0xe0, 0xf0, 0xc0, 0x90
27 unsigned char min[] =
29 4, 44, 40, 48, 1, 15, 10, 15,
30 5, 55, 50, 51, 2, 25, 20, 35,
31 3, 34, 30, 36, 6, 61, 65, 68,
32 7, 76, 75, 81, 25, 34, 30, 40
35 unsigned char res[32] __attribute__ ((aligned(16)));
37 extern void abort (void);
39 void
40 find_max (void)
42 int i;
44 for (i = 0; i < 32; i++)
45 res[i] = v1[i] < v2[i] ? v2[i] : v1[i];
48 void
49 find_min (void)
51 int i;
53 for (i = 0; i < 32; i++)
54 res[i] = v1[i] > v2[i] ? v2[i] : v1[i];
57 int main (void)
59 int i;
60 int err = 0;
62 find_max ();
63 for (i = 0; i < 32; i++)
64 if (res[i] != max[i])
65 err++;
67 find_min ();
68 for (i = 0; i < 32; i++)
69 if (res[i] != min[i])
70 err++;
72 if (err)
73 abort ();
75 return 0;