Commit c25292ce by Stephane Carrez Committed by Stephane Carrez

m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0 notes as they are boggus.

	* 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
parent 44f19ccb
2003-03-31 Stephane Carrez <stcarrez@nerim.fr> 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 * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
save the soft registers after the frame pointer so that gdb can unwind save the soft registers after the frame pointer so that gdb can unwind
the frame more easily. the frame more easily.
......
...@@ -3271,7 +3271,8 @@ m68hc11_gen_movhi (insn, operands) ...@@ -3271,7 +3271,8 @@ m68hc11_gen_movhi (insn, operands)
{ {
if (SP_REG_P (operands[0])) if (SP_REG_P (operands[0]))
output_asm_insn ("lds\t%1", operands); 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 && GET_CODE (operands[1]) == CONST_INT
&& (INTVAL (operands[1]) == 1 || INTVAL (operands[1]) == -1) && (INTVAL (operands[1]) == 1 || INTVAL (operands[1]) == -1)
&& find_reg_note (insn, REG_WAS_0, 0)) && find_reg_note (insn, REG_WAS_0, 0))
...@@ -3464,7 +3465,8 @@ m68hc11_gen_movhi (insn, operands) ...@@ -3464,7 +3465,8 @@ m68hc11_gen_movhi (insn, operands)
cc_status = cc_prev_status; cc_status = cc_prev_status;
output_asm_insn ("tsx", operands); 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) && (INTVAL (operands[1]) == 1 || INTVAL (operands[1]) == -1)
&& find_reg_note (insn, REG_WAS_0, 0)) && find_reg_note (insn, REG_WAS_0, 0))
{ {
...@@ -3521,7 +3523,8 @@ m68hc11_gen_movhi (insn, operands) ...@@ -3521,7 +3523,8 @@ m68hc11_gen_movhi (insn, operands)
cc_status = cc_prev_status; cc_status = cc_prev_status;
output_asm_insn ("tsy", operands); 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) && (INTVAL (operands[1]) == 1 || INTVAL (operands[1]) == -1)
&& find_reg_note (insn, REG_WAS_0, 0)) && find_reg_note (insn, REG_WAS_0, 0))
{ {
...@@ -3770,7 +3773,8 @@ m68hc11_gen_movqi (insn, operands) ...@@ -3770,7 +3773,8 @@ m68hc11_gen_movqi (insn, operands)
output_asm_insn ("ldab\t%T0", 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) && (INTVAL (operands[1]) == 1 || INTVAL (operands[1]) == -1)
&& find_reg_note (insn, REG_WAS_0, 0)) && find_reg_note (insn, REG_WAS_0, 0))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment