diff options
author | Oleg Endo <olegendo@gcc.gnu.org> | 2012-11-01 21:28:49 +0000 |
---|---|---|
committer | Oleg Endo <olegendo@gcc.gnu.org> | 2012-11-01 21:28:49 +0000 |
commit | c291b2adc6f25d897928c79f431d987eb74e4bc5 (patch) | |
tree | bba086ddcde20217cde367590c31982425bec787 | |
parent | d4ac4ce2d38ef15977539ab5cd33876470011c3c (diff) | |
download | gcc-c291b2adc6f25d897928c79f431d987eb74e4bc5.zip gcc-c291b2adc6f25d897928c79f431d987eb74e4bc5.tar.gz gcc-c291b2adc6f25d897928c79f431d987eb74e4bc5.tar.bz2 |
re PR target/55160 (Counterproductive loop induction variable optimization)
PR target/55160
* gcc.target/sh/pr55160.c: New.
From-SVN: r193071
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/sh/pr55160.c | 25 |
2 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9b8914f..9c59446 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-11-01 Oleg Endo <olegendo@gcc.gnu.org> + + PR target/55160 + * gcc.target/sh/pr55160.c: New. + 2012-11-01 David Edelsohn <dje.gcc@gmail.com> * gcc.target/powerpc/vsx-mass-1.c: Check for dot symbols in diff --git a/gcc/testsuite/gcc.target/sh/pr55160.c b/gcc/testsuite/gcc.target/sh/pr55160.c new file mode 100644 index 0000000..ae0d83a --- /dev/null +++ b/gcc/testsuite/gcc.target/sh/pr55160.c @@ -0,0 +1,25 @@ +/* Check that the decrement-and-test instruction is generated. */ +/* { dg-do compile { target "sh*-*-*" } } */ +/* { dg-options "-O1" } */ +/* { dg-skip-if "" { "sh*-*-*" } { "-m5*"} { "" } } */ +/* { dg-final { scan-assembler-times "dt\tr" 2 } } */ + +int +test_00 (int* x, int c) +{ + int s = 0; + int i; + for (i = 0; i < c; ++i) + s += x[i]; + return s; +} + +int +test_01 (int* x, int c) +{ + int s = 0; + int i; + for (i = 0; i < c; ++i) + s += *--x; + return s; +} |