From 11c9e8f1db33c5aa3aae3b2400f3386bc05e740a Mon Sep 17 00:00:00 2001
From: Jeff Law <law@redhat.com>
Date: Mon, 21 Feb 2011 10:43:15 -0700
Subject: [PATCH] re PR rtl-optimization/46178
 (gcc.target/i386/(u)divmod-[58].c FAIL: ICE: in dec_register_pressure, at
 ira-lives.c:215 with -fira-algorithm=priority)

	PR rtl-optimization/46178
	* gcc.target/i386/pr46178.c: New test.

	PR rtl-optimization/46002
	* gcc.c-torture/compile/pr46002.c: New test.

From-SVN: r170370
---
 gcc/testsuite/ChangeLog                       |  8 ++++++++
 gcc/testsuite/gcc.c-torture/compile/pr46002.c | 10 ++++++++++
 gcc/testsuite/gcc.target/i386/pr46178.c       | 13 +++++++++++++
 3 files changed, 31 insertions(+)
 create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr46002.c
 create mode 100644 gcc/testsuite/gcc.target/i386/pr46178.c

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3951e862a50d..d27cd28a44ad 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2011-02-21  Jeff Law <law@redhat.com>
+
+	PR rtl-optimization/46178
+	* gcc.target/i386/pr46178.c: New test.
+
+	PR rtl-optimization/46002
+	* gcc.c-torture/compile/pr46002.c: New test.
+
 2011-02-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
 	* g++.dg/cpp0x/lambda/lambda-conv.C: Skip scan-assembler check on
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr46002.c b/gcc/testsuite/gcc.c-torture/compile/pr46002.c
new file mode 100644
index 000000000000..27a3a3a284c6
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr46002.c
@@ -0,0 +1,10 @@
+/* { dg-options "-fira-algorithm=priority" } */
+char **
+foo (char **p, char *cmp, unsigned i)
+{
+  for (; *p; p++)
+    if (__builtin_strncmp (*p, cmp, i))
+      if (i == __builtin_strlen (*p))
+	break;
+  return p;
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr46178.c b/gcc/testsuite/gcc.target/i386/pr46178.c
new file mode 100644
index 000000000000..661e3fd9eac8
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr46178.c
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-O -m8bit-idiv -fira-algorithm=priority" } */
+/* This is the same as divmod-5.c, just with different options which
+   trigger an ICE.  We don't look at the output.  */
+
+extern void foo (int, int, int, int, int, int);
+
+void
+bar (int x, int y)
+{
+  foo (0, 0, 0, 0, x / y, x % y);
+}
+
-- 
GitLab