h8300.md (insv): Force source operand to be a register.

* config/h8300/h8300.md (insv): Force source operand to be a register.
* config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn
as a jump, not as a plain insn.

From-SVN: r132498
This commit is contained in:
DJ Delorie 2008-02-20 16:31:56 -05:00 committed by DJ Delorie
parent a214518f7f
commit 6d4a896759
3 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2008-02-20 DJ Delorie <dj@redhat.com>
* config/h8300/h8300.md (insv): Force source operand to be a register.
* config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn
as a jump, not as a plain insn.
2008-02-20 Seongbae Park <seongbae.park@gmail.com>
* doc/invoke.texi (Warning Options): Add new option

View File

@ -930,7 +930,7 @@ h8300_expand_epilogue (void)
}
if (!returned_p)
emit_insn (gen_rtx_RETURN (VOIDmode));
emit_jump_insn (gen_rtx_RETURN (VOIDmode));
}
/* Return nonzero if the current function is an interrupt

View File

@ -3282,6 +3282,9 @@
if (GET_CODE (operands[0]) == MEM
|| GET_CODE (operands[3]) == MEM)
FAIL;
if (GET_CODE (operands[3]) != REG)
operands[3] = force_reg (HImode, operands[3]);
}")
(define_insn ""