OSDN Git Service

* rs6000.c (output_cbranch): Don't output prediction codes
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 14 May 2000 21:37:07 +0000 (21:37 +0000)
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 14 May 2000 21:37:07 +0000 (21:37 +0000)
when old mnemonics are in use.  Print register names
for cc registers when requested.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33897 138bc75d-0d04-0410-961f-82ee72b054a4

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

index ddab6f2..b909d3e 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 b3d3913..104cc8d 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)
     {