aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2009-10-12 17:40:08 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2009-10-12 17:40:08 +0000
commit2e723874b5ed813da802a8dcb81134172d6408c6 (patch)
treeb314164501b9cbcb15fecc3a229aa9d6cca0dcb7
parent365cacbf41bb541ca5e6fef293dbd46f10a508ff (diff)
downloadgcc-2e723874b5ed813da802a8dcb81134172d6408c6.zip
gcc-2e723874b5ed813da802a8dcb81134172d6408c6.tar.gz
gcc-2e723874b5ed813da802a8dcb81134172d6408c6.tar.bz2
re PR target/26515 (peephole2 causes unrecognized insn, zero_extending non-general register)
PR target/26515 * gcc.dg/torture/pr26515.c: New test. From-SVN: r152677
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr26515.c27
2 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6f07c4b..d6448ec 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2009-10-12 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/26515
+ * gcc.dg/torture/pr26515.c: New test.
+
2009-10-12 Janis Johnson <janis187@us.ibm.com>
PR testsuite/41659
diff --git a/gcc/testsuite/gcc.dg/torture/pr26515.c b/gcc/testsuite/gcc.dg/torture/pr26515.c
new file mode 100644
index 0000000..a051e2e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr26515.c
@@ -0,0 +1,27 @@
+/* { dg-options "-march=v10" { target cris*-*-* } } */
+struct i
+{
+ long long i_size;
+ struct a *i_mapping;
+};
+struct p
+{
+ struct a *mapping;
+ long index;
+};
+extern void b (struct p*, unsigned);
+extern void u (struct p*);
+void
+block_page_mkwrite (struct i *i, struct p *p)
+{
+ unsigned end = 0;
+ long long size = 0;
+ size = i->i_size;
+ if ((p->mapping != i->i_mapping))
+ goto out_unlock;
+ if (((p->index + 1) << 13) > size)
+ end = size & ~(~(((1UL) << 13) - 1));
+ b (p, end);
+out_unlock:
+ u (p);
+}