From: Stephane Carrez Date: Mon, 31 Mar 2003 20:39:44 +0000 (+0200) Subject: m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0 notes as they are boggus. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c25292ceb30a526e89781dce985a788f920ce76f;p=platform%2Fupstream%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 57283ce..7844eb8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2003-03-31 Stephane Carrez + * 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 + * 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. diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c index 0e8f364..bb3327b 100644 --- a/gcc/config/m68hc11/m68hc11.c +++ b/gcc/config/m68hc11/m68hc11.c @@ -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)) {