From faa7d70ea766d1ba4b5778dbd8019990b58e234f Mon Sep 17 00:00:00 2001 From: vries Date: Wed, 17 Aug 2011 11:39:06 +0000 Subject: [PATCH] 2011-08-17 Tom de Vries PR target/43597 * gcc.target/arm/pr43597.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177827 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.target/arm/pr43597.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 gcc/testsuite/gcc.target/arm/pr43597.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1d070a8b433..955764bd935 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-08-17 Tom de Vries + + PR target/43597 + * gcc.target/arm/pr43597.c: New test. + 2011-08-17 Janus Weil 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 00000000000..af382ba72df --- /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" } } */ -- 2.11.4.GIT