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>
* 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.
......
......@@ -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))
{
......
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