diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2012-12-10 20:22:48 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2012-12-10 20:22:48 +0000 |
commit | 4d63a95eecca6f1cce4c11a463108d741c630ff5 (patch) | |
tree | 5546e711211d115c54e18d4a2c6f18fb4ec5f7f1 /gcc | |
parent | bc5b54c9ca01da828fa239c6fb6e8bdb6d11195e (diff) | |
download | gcc-4d63a95eecca6f1cce4c11a463108d741c630ff5.zip gcc-4d63a95eecca6f1cce4c11a463108d741c630ff5.tar.gz gcc-4d63a95eecca6f1cce4c11a463108d741c630ff5.tar.bz2 |
octeon-bbit-2.c: Restructure loops so that no code duplication is required.
gcc/testsuite/
* gcc.target/mips/octeon-bbit-2.c: Restructure loops so that no
code duplication is required. Allow BNE to appear.
From-SVN: r194370
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/mips/octeon-bbit-2.c | 21 |
2 files changed, 15 insertions, 11 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index efbf048..ab94599 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2012-12-10 Richard Sandiford <rdsandiford@googlemail.com> + * gcc.target/mips/octeon-bbit-2.c: Restructure loops so that no + code duplication is required. Allow BNE to appear. + +2012-12-10 Richard Sandiford <rdsandiford@googlemail.com> + * gcc.target/mips/ext-2.c: Require -mlong64. 2012-12-10 Richard Biener <rguenther@suse.de> diff --git a/gcc/testsuite/gcc.target/mips/octeon-bbit-2.c b/gcc/testsuite/gcc.target/mips/octeon-bbit-2.c index 9bd8dce..7e78d70 100644 --- a/gcc/testsuite/gcc.target/mips/octeon-bbit-2.c +++ b/gcc/testsuite/gcc.target/mips/octeon-bbit-2.c @@ -4,22 +4,21 @@ /* { dg-final { scan-assembler "\tbbit\[01\]\t" } } */ /* { dg-final { scan-assembler-not "\tbbit\[01\]l\t" } } */ /* { dg-final { scan-assembler "\tbnel\t" } } */ -/* { dg-final { scan-assembler-not "\tbne\t" } } */ NOMIPS16 int -f (int n, int i) +f (int *a, int *b) { - int s = 0; - for (; i & 1; i++) - s += i; - return s; + do + if (__builtin_expect (*a & 1, 1)) + *a = 0; + while (++a < b); } NOMIPS16 int -g (int n, int i) +g (int *a, int *b) { - int s = 0; - for (i = 0; i < n; i++) - s += i; - return s; + do + if (__builtin_expect (*a == 3, 1)) + *a = 0; + while (++a < b); } |