aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/sh/pr59278.c19
2 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3f14726..dff9d02 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2014-12-01 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR rtl-optimization/59278
+ * gcc.target/sh/pr59278.c: New.
+
2014-12-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60859
diff --git a/gcc/testsuite/gcc.target/sh/pr59278.c b/gcc/testsuite/gcc.target/sh/pr59278.c
new file mode 100644
index 0000000..563e5b7
--- /dev/null
+++ b/gcc/testsuite/gcc.target/sh/pr59278.c
@@ -0,0 +1,19 @@
+/* Check that combine considers unused regs dead. */
+/* { dg-do compile } */
+/* { dg-options "-O1" } */
+/* { dg-skip-if "" { "sh*-*-*" } { "-m5*"} { "" } } */
+/* { dg-final { scan-assembler "addc" } } */
+
+struct result
+{
+ int a, b;
+};
+
+struct result
+test_00 (int a, int b, int d)
+{
+ struct result r;
+ r.a = a != b;
+ r.b = d + b + 1;
+ return r;
+}