Hi, this patch adds the second testcase that was committed in 4.9 for PR65647 on trunk.
Committed as rev 221981 and ChangeLog typos are fixed in 221982 and 221993 :/ 2015-04-10 Yvan Roux <yvan.r...@linaro.org> PR target/65647 * gcc.target/arm/pr65647-2.c: New.
diff --git a/gcc/testsuite/gcc.target/arm/pr65647-2.c b/gcc/testsuite/gcc.target/arm/pr65647-2.c new file mode 100644 index 0000000..f2985f8 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/pr65647-2.c @@ -0,0 +1,32 @@ +/* { dg-do compile } */ +/* { dg-options "-O3 -marm -march=armv6 -std=c99" } */ + +typedef struct { + int i; +} x264_union32_t; +typedef struct { + int level_idx; +} trellis_node_t; +int a, c, d, f, h, i = (int)&c; +trellis_node_t b[1][1]; +short *e = 0; +short g; +void fn1() { + int k[64 * 8 * 2]; + trellis_node_t *l = b[0]; + for (; i >= d; i--) { + if (e[i]) { + for (int j = 1; j < 8; j++) { + ((x264_union32_t *)&k[a])->i = l[j].level_idx; + l[j].level_idx = a; + a++; + } + continue; + } + for (int j;; j++) + ; + } + int m[6] __attribute__((aligned(16))); + for (; h; h++, f++) + g = m[h]; +}