2016-11-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
[official-gcc.git] / gcc / testsuite / gcc.target / arm / pr69610-2.c
blobe932c63b63962d95eff02ba26430e7eef454329f
1 /* Check that pre ARMv4 compilation still works. */
2 /* { dg-do compile } */
3 /* { dg-options "-marm -march=armv3 -O2 -fno-forward-propagate" } */
4 /* { dg-require-effective-target arm_arm_ok } */
6 typedef short v16u16 __attribute__ ((vector_size (16)));
7 typedef unsigned v16u32 __attribute__ ((vector_size (16)));
8 typedef long long v16u64 __attribute__ ((vector_size (16)));
10 unsigned
11 foo
12 (int
13 u16_0,
14 unsigned
15 u32_0,
16 int
17 u64_0,
18 int
19 u16_1,
20 unsigned
21 u64_1,
22 v16u16
23 v16u16_0,
24 v16u32
25 v16u32_0,
26 v16u64 v16u64_0, v16u16 v16u16_1, v16u32 v16u32_1, v16u64 v16u64_1)
28 v16u16_1[3] -= v16u32_0[0];
29 v16u16_0 -= (v16u16) v16u32_0;
30 return u16_0 + u32_0 + u64_0 + u16_1 +
31 v16u16_0[0] + v16u16_0[2] + v16u16_0[3] + v16u16_0[4] + v16u16_0[5] + v16u32_0[0] + v16u32_0[1] + v16u32_0[3] + v16u64_0[1] +
32 v16u16_1[2] + v16u16_1[3] + v16u16_1[5] + v16u16_1[7] + v16u32_1[0] + v16u32_1[3] + v16u64_1[0] + v16u64_1[1];