aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGeoff Keating <geoffk@cygnus.com>2000-05-14 21:37:07 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2000-05-14 21:37:07 +0000
commit94a54f47cfdfc0ed8d8a4c598e3018fd5e5eabca (patch)
tree9e5596564971ad157f2e8bc0d422b7d15baabdc4 /gcc
parent99d05d995543ea4967378f340c4449d1dc23481d (diff)
downloadgcc-94a54f47cfdfc0ed8d8a4c598e3018fd5e5eabca.zip
gcc-94a54f47cfdfc0ed8d8a4c598e3018fd5e5eabca.tar.gz
gcc-94a54f47cfdfc0ed8d8a4c598e3018fd5e5eabca.tar.bz2
rs6000.c (output_cbranch): Don't output prediction codes when old mnemonics are in use.
* rs6000.c (output_cbranch): Don't output prediction codes when old mnemonics are in use. Print register names for cc registers when requested. From-SVN: r33897
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/rs6000/rs6000.c9
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ddab6f2..b909d3e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2000-05-14 Geoffrey Keating <geoffk@cygnus.com>
+ * rs6000.c (output_cbranch): Don't output prediction codes
+ when old mnemonics are in use. Print register names
+ for cc registers when requested.
+
* optabs.c (expand_float): Don't allow mode widening that causes
double rounding.
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index b3d3913..104cc8d 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -4051,7 +4051,8 @@ output_cbranch (op, label, reversed, insn)
abort();
}
- /* Maybe we have a guess as to how likely the branch is. */
+ /* Maybe we have a guess as to how likely the branch is.
+ The old mnemonics don't have a way to specify this information. */
note = find_reg_note (insn, REG_BR_PROB, NULL_RTX);
if (note != NULL_RTX)
{
@@ -4069,11 +4070,11 @@ output_cbranch (op, label, reversed, insn)
pred = "";
if (label == NULL)
- s += sprintf (s, "{b%sr|b%slr}%s ", ccode, ccode, pred);
+ s += sprintf (s, "{b%sr|b%slr%s} ", ccode, ccode, pred);
else
- s += sprintf (s, "b%s%s ", ccode, pred);
+ s += sprintf (s, "{b%s|b%s%s} ", ccode, ccode, pred);
- s += sprintf (s, "%d", cc_regno);
+ s += sprintf (s, "%s", reg_names[cc_regno + CR0_REGNO]);
if (label != NULL)
{