m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0 notes as they are boggus.
authorStephane Carrez <stcarrez@nerim.fr>
Mon, 31 Mar 2003 20:39:44 +0000 (22:39 +0200)
committerStephane Carrez <ciceron@gcc.gnu.org>
Mon, 31 Mar 2003 20:39:44 +0000 (22:39 +0200)
* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
notes as they are boggus.
(m68hc11_gen_movqi): Likewise.

From-SVN: r65107

gcc/ChangeLog
gcc/config/m68hc11/m68hc11.c

index 57283ce..7844eb8 100644 (file)
@@ -1,5 +1,11 @@
 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
 
+       * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
+       notes as they are boggus.
+       (m68hc11_gen_movqi): Likewise.
+
+2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
+
        * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
        save the soft registers after the frame pointer so that gdb can unwind
        the frame more easily.
index 0e8f364..bb3327b 100644 (file)
@@ -3271,7 +3271,8 @@ m68hc11_gen_movhi (insn, operands)
        {
          if (SP_REG_P (operands[0]))
            output_asm_insn ("lds\t%1", operands);
-         else if (!D_REG_P (operands[0])
+         else if (0 /* REG_WAS_0 note is boggus;  don't rely on it.  */
+                   && !D_REG_P (operands[0])
                    && GET_CODE (operands[1]) == CONST_INT
                    && (INTVAL (operands[1]) == 1 || INTVAL (operands[1]) == -1)
                    && find_reg_note (insn, REG_WAS_0, 0))
@@ -3464,7 +3465,8 @@ m68hc11_gen_movhi (insn, operands)
              cc_status = cc_prev_status;
              output_asm_insn ("tsx", operands);
            }
-         else if (GET_CODE (operands[1]) == CONST_INT
+         else if (0 /* REG_WAS_0 note is boggus;  don't rely on it.  */
+                   && GET_CODE (operands[1]) == CONST_INT
                    && (INTVAL (operands[1]) == 1 || INTVAL (operands[1]) == -1)
                    && find_reg_note (insn, REG_WAS_0, 0))
             {
@@ -3521,7 +3523,8 @@ m68hc11_gen_movhi (insn, operands)
              cc_status = cc_prev_status;
              output_asm_insn ("tsy", operands);
            }
-         else if (GET_CODE (operands[1]) == CONST_INT
+         else if (0 /* REG_WAS_0 note is boggus;  don't rely on it.  */
+                   && GET_CODE (operands[1]) == CONST_INT
                    && (INTVAL (operands[1]) == 1 || INTVAL (operands[1]) == -1)
                    && find_reg_note (insn, REG_WAS_0, 0))
             {
@@ -3770,7 +3773,8 @@ m68hc11_gen_movqi (insn, operands)
                  output_asm_insn ("ldab\t%T0", operands);
                }
            }
-         else if (GET_CODE (operands[1]) == CONST_INT
+         else if (0 /* REG_WAS_0 note is boggus;  don't rely on it.  */
+                   && GET_CODE (operands[1]) == CONST_INT
                    && (INTVAL (operands[1]) == 1 || INTVAL (operands[1]) == -1)
                    && find_reg_note (insn, REG_WAS_0, 0))
             {