re PR rtl-optimization/67447 (ICE in extract_constrain_insn (reload_cse_simplify_oper...
authorUros Bizjak <ubizjak@gmail.com>
Sun, 4 Oct 2015 15:56:45 +0000 (17:56 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Sun, 4 Oct 2015 15:56:45 +0000 (17:56 +0200)
PR rtl-optimization/67447
* gcc.target/i386/pr67447.c: New test.

From-SVN: r228461

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr67447.c [new file with mode: 0644]

index 8d21139c8dbf42f25f6327137a26e26d7b9e060b..c1282b357a87e3b583bb76b93cb449476d3015e2 100644 (file)
@@ -1,3 +1,8 @@
+2015-10-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR rtl-optimization/67447
+       * gcc.target/i386/pr67447.c: New test.
+
 2015-10-04  Uros Bizjak  <ubizjak@gmail.com>
 
        * gcc.target/i386/vect-pack-trunc-1.c: Require avx512bw
diff --git a/gcc/testsuite/gcc.target/i386/pr67447.c b/gcc/testsuite/gcc.target/i386/pr67447.c
new file mode 100644 (file)
index 0000000..85a0e14
--- /dev/null
@@ -0,0 +1,25 @@
+/* { dg-do compile } */
+/* { dg-options "-O3 -march=haswell" } */
+
+struct _GPart {
+  int *g;
+};
+static int b, d, e;
+int *c, *f, *g;
+int a;
+
+int fn2(int, int);
+
+int fn1(int p1) {
+  int h = fn2(p1, (int)(long)&e);
+  for (; d < e; d++)
+    if (f[d] != a)
+      h += g ? g[f[d]] : 1;
+  return h;
+}
+
+int main() {
+  struct _GPart *i;
+  for (; b < (int)(long)(i->g); b++)
+    c[b] = fn1((int)(long)i->g);
+}