rs6000.c (output_cbranch): Don't output prediction codes when old mnemonics are in...
authorGeoff Keating <geoffk@cygnus.com>
Sun, 14 May 2000 21:37:07 +0000 (21:37 +0000)
committerGeoffrey Keating <geoffk@gcc.gnu.org>
Sun, 14 May 2000 21:37:07 +0000 (21:37 +0000)
* 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

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index ddab6f2b8e6ea8ec3b4bd876331678c586383816..b909d3ec72172ea4fbf4ba5aec640121cec75ac0 100644 (file)
@@ -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.
 
index b3d391384bcbc8d39dbf36ee9ae9e6c87ad16522..104cc8d9dfa1350f789a746e384e036193701d5c 100644 (file)
@@ -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)
     {