re PR target/42295 (ICE: 'error: unable to find a register to spill in class "AREG...
authorUros Bizjak <ubizjak@gmail.com>
Sun, 2 Sep 2012 07:07:45 +0000 (09:07 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Sun, 2 Sep 2012 07:07:45 +0000 (09:07 +0200)
PR target/42295
* g++.dg/opt/pr42295.C: New test.

From-SVN: r190854

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/opt/pr42295.C [new file with mode: 0644]

index 6c433056ba449bfd59c1b94e6171354f6bd0fcd4..5a66dc271bc5e84df3acff6e336dbbdf00230f02 100644 (file)
@@ -1,3 +1,9 @@
+2012-09-02  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/42295
+       * g++.dg/opt/pr42295.C: New test.
+
+
 2012-09-01  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/54436
diff --git a/gcc/testsuite/g++.dg/opt/pr42295.C b/gcc/testsuite/g++.dg/opt/pr42295.C
new file mode 100644 (file)
index 0000000..6024206
--- /dev/null
@@ -0,0 +1,18 @@
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-options "-O1 -fschedule-insns -fselective-scheduling" }
+
+extern int f (...);
+
+int
+testsum (void *a, int k, int n)
+{
+  int i, j;
+
+  f (n / 2);
+  for (i = 0; i < n; i += 8)
+    for (j = 0; j < n; j += 8)
+      while (k < n)
+       k += 8;
+
+  return k;
+}