aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2012-12-10 20:22:48 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2012-12-10 20:22:48 +0000
commit4d63a95eecca6f1cce4c11a463108d741c630ff5 (patch)
tree5546e711211d115c54e18d4a2c6f18fb4ec5f7f1 /gcc
parentbc5b54c9ca01da828fa239c6fb6e8bdb6d11195e (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/mips/octeon-bbit-2.c21
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);
}