diff options
author | Tom de Vries <tom@codesourcery.com> | 2011-04-05 13:01:50 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2011-04-05 13:01:50 +0000 |
commit | 6e66d62daed88ad256f1ff4d5b9eca0eca423b7f (patch) | |
tree | 5dfa200139b3fb6d75afc932bacfa6fd031f5297 | |
parent | abd016e64f327ea97cc86f0aa594d46da4ca40aa (diff) | |
download | gcc-6e66d62daed88ad256f1ff4d5b9eca0eca423b7f.zip gcc-6e66d62daed88ad256f1ff4d5b9eca0eca423b7f.tar.gz gcc-6e66d62daed88ad256f1ff4d5b9eca0eca423b7f.tar.bz2 |
re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)
2011-04-05 Tom de Vries <tom@codesourcery.com>
PR target/43920
* gcc.target/arm/pr43920-1.c: New test.
From-SVN: r171986
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/pr43920-1.c | 42 |
2 files changed, 47 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 84e7d7e..f60beea 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-04-05 Tom de Vries <tom@codesourcery.com> + + PR target/43920 + * gcc.target/arm/pr43920-1.c: New test. + 2011-04-04 Yufeng Zhang <yufeng.zhang@arm.com> * g++.dg/abi/arm_cxa_vec1.C (__ARM_EABI__): Fix typo. diff --git a/gcc/testsuite/gcc.target/arm/pr43920-1.c b/gcc/testsuite/gcc.target/arm/pr43920-1.c new file mode 100644 index 0000000..38e254c --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/pr43920-1.c @@ -0,0 +1,42 @@ +/* { dg-do compile } */ +/* { dg-options "-mthumb -Os" } */ +/* { dg-require-effective-target arm_thumb2_ok } */ + +int +f (int start, int end, int *start_) +{ + if (start == -1 || end == -1) + return -1; + + if (end - start) + return -1; + + *start_ = start; + + return 0; +} + +/* { dg-final { scan-assembler-times "\torr" 0 } } */ +/* { dg-final { scan-assembler-times "\tit\t" 0 } } */ +/* { dg-final { scan-assembler "\tbeq" } } */ +/* { dg-do compile } */ +/* { dg-options "-mthumb -Os" } */ +/* { dg-require-effective-target arm_thumb2_ok } */ + +int +f (int start, int end, int *start_) +{ + if (start == -1 || end == -1) + return -1; + + if (end - start) + return -1; + + *start_ = start; + + return 0; +} + +/* { dg-final { scan-assembler-times "\torr" 0 } } */ +/* { dg-final { scan-assembler-times "\tit\t" 0 } } */ +/* { dg-final { scan-assembler "\tbeq" } } */ |