aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tom@codesourcery.com>2011-08-17 11:39:06 +0000
committerTom de Vries <vries@gcc.gnu.org>2011-08-17 11:39:06 +0000
commitf846d4d940a93cbaba58b0cdb833c083f7b56df4 (patch)
treed65c4688e3a24960dfae278c3bd844eae4cf4e35
parent1e138510faf8ba23eab43a70fbe96ef3f9dd798e (diff)
downloadgcc-f846d4d940a93cbaba58b0cdb833c083f7b56df4.zip
gcc-f846d4d940a93cbaba58b0cdb833c083f7b56df4.tar.gz
gcc-f846d4d940a93cbaba58b0cdb833c083f7b56df4.tar.bz2
re PR target/43597 (Move and compare with 0 can be combined)
2011-08-17 Tom de Vries <tom@codesourcery.com> PR target/43597 * gcc.target/arm/pr43597.c: New test. From-SVN: r177827
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/arm/pr43597.c28
2 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1d070a8..955764b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2011-08-17 Tom de Vries <tom@codesourcery.com>
+
+ PR target/43597
+ * gcc.target/arm/pr43597.c: New test.
+
2011-08-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/50070
diff --git a/gcc/testsuite/gcc.target/arm/pr43597.c b/gcc/testsuite/gcc.target/arm/pr43597.c
new file mode 100644
index 0000000..af382ba
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/pr43597.c
@@ -0,0 +1,28 @@
+/* { dg-do assemble } */
+/* { dg-options "-Os -save-temps -mthumb" } */
+/* { dg-require-effective-target arm_thumb2_ok } */
+
+extern int bar ();
+extern void bar2 (int);
+
+int
+foo4 ()
+{
+ int result = 0;
+ int f = -1;
+ f = bar ();
+ if (f < 0)
+ {
+ result = 1;
+ goto bail;
+ }
+ bar ();
+ bail:
+ bar2 (f);
+ return result;
+}
+
+/* { dg-final { scan-assembler-times "sub" 1 } } */
+/* { dg-final { scan-assembler-times "cmp" 0 } } */
+/* { dg-final { object-size text <= 30 } } */
+/* { dg-final { cleanup-saved-temps "pr43597" } } */