Add missing testcase.
authorYvan Roux <yvan.roux@linaro.org>
Fri, 10 Apr 2015 19:03:27 +0000 (19:03 +0000)
committerYvan Roux <yroux@gcc.gnu.org>
Fri, 10 Apr 2015 19:03:27 +0000 (19:03 +0000)
2015-04-19  Yvan Roux  <yvan.roux@linaro.org>

PR target/65648
* gcc.target/arm/pr65647-2.c: New.

From-SVN: r221981

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/pr65647-2.c [new file with mode: 0644]

index f2ee96dacdaa5443c1a563a93734c0feeea8b67f..99be9991d3fccd5251346410be6c4d4f3834f2c9 100644 (file)
@@ -1,3 +1,8 @@
+2015-04-19  Yvan Roux  <yvan.roux@linaro.org>
+
+       PR target/65648
+       * gcc.target/arm/pr65647-2.c: New.
+
 2015-04-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        PR target/65694
diff --git a/gcc/testsuite/gcc.target/arm/pr65647-2.c b/gcc/testsuite/gcc.target/arm/pr65647-2.c
new file mode 100644 (file)
index 0000000..f2985f8
--- /dev/null
@@ -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];
+}