diff options
| -rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/testsuite/gcc.target/arm/epilog-1.c | 17 |
2 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 392e603..5c37425 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-06-18 Joey Ye <Joey.Ye@arm.com> + Greta Yorsh <Greta.Yorsh@arm.com> + + * gcc.target/arm/epilog-1.c: New test. + 2012-06-18 Richard Guenther <rguenther@suse.de> PR tree-optimization/53693 diff --git a/gcc/testsuite/gcc.target/arm/epilog-1.c b/gcc/testsuite/gcc.target/arm/epilog-1.c new file mode 100644 index 0000000..f97f1eb --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/epilog-1.c @@ -0,0 +1,17 @@ +/* Register liveness information from epilgoue enables peephole optimization. */ +/* { dg-do compile } */ +/* { dg-options "-mthumb -Os" } */ +/* { dg-require-effective-target arm_thumb2_ok } */ + +volatile int g_k; +extern void bar(int, int, int, int); + +int foo(int a, int b, int c, int d) +{ + if (g_k & 4) c++; + bar (a, b, c, d); + return 0; +} + +/* { dg-final { scan-assembler-times "lsls.*#29" 1 } } */ +/* { dg-final { scan-assembler-not "tst" } } */ |
