aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2012-12-23 10:01:40 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2012-12-23 10:01:40 +0000
commit5f842aa5b66d19ecdbfa00315b48377abb005ba6 (patch)
treecc58f8c1b9ce1f9f03c50893d0e18a4ffd52e096 /gcc
parente018435a975e87719d068cb02e73b92a99528e93 (diff)
downloadgcc-5f842aa5b66d19ecdbfa00315b48377abb005ba6.zip
gcc-5f842aa5b66d19ecdbfa00315b48377abb005ba6.tar.gz
gcc-5f842aa5b66d19ecdbfa00315b48377abb005ba6.tar.bz2
r10k-cache-barrier-10.c: Make a branch-likely instruction more likely.
gcc/testsuite/ * gcc.target/mips/r10k-cache-barrier-10.c: Make a branch-likely instruction more likely. From-SVN: r194705
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/mips/r10k-cache-barrier-10.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ed50045..315fb0e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2012-12-23 Richard Sandiford <rdsandiford@googlemail.com>
+ * gcc.target/mips/r10k-cache-barrier-10.c: Make a branch-likely
+ instruction more likely.
+
+2012-12-23 Richard Sandiford <rdsandiford@googlemail.com>
+
* gcc.target/mips/pr55315.c: Cast to long rather than int.
2012-12-22 Tobias Burnus <burnus@net-b.de>
diff --git a/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-10.c b/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-10.c
index 1b8c6f4a..ad0d2b0 100644
--- a/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-10.c
+++ b/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-10.c
@@ -9,6 +9,12 @@ unsigned char *bar (int);
NOMIPS16 void
foo (unsigned char *n)
{
+ /* n starts in $4, but will be in $2 after the call to bar.
+ Encourage it to be in $2 on entry to the loop as well,
+ by doing some computation on it beforehand (D?ADDIU $2,$4,4).
+ dbr_schedule should then pull the *n load (L[WD] ...,0($2))
+ into the delay slot. */
+ n += 4;
do
n = bar (*n + 1);
while (n);