diff options
author | rask <rask@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-09-18 13:24:44 +0000 |
---|---|---|
committer | rask <rask@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-09-18 13:24:44 +0000 |
commit | e777906b6bdfc147361a00f7aaee5334ff601210 (patch) | |
tree | 3793e6188f7bc696e01268348adc6d0ef3bf4772 /gcc/config/fr30/fr30.c | |
parent | a1f3c748fc2f78e66836999f84c1d9ead937a223 (diff) | |
download | gcc-e777906b6bdfc147361a00f7aaee5334ff601210.tar.gz |
PR target/33388
PR target/33397
* config/fr30/fr30.md (addsi3): Check REG_P() before calling REGNO().
(addsi_small_int): Likewise.
(addsi_big_int): Use rtx_equal_p() instead of REGNO() comparison.
(one_cmplsi2): Likewise.
(negsi2): Delete.
(enter_func): Expand insn using hard_frame_pointer_rtx and
stack_pointer_rtx.
(*enter_func): New.
* config/fr30/fr30.c (fr30_expand_prologue): Check for
hard_frame_pointer_rtx instead of using REGNO() check.
Properly sign extend GEN_INT() argument.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128577 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/fr30/fr30.c')
-rw-r--r-- | gcc/config/fr30/fr30.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/config/fr30/fr30.c b/gcc/config/fr30/fr30.c index 7856f879090..343dd02ba09 100644 --- a/gcc/config/fr30/fr30.c +++ b/gcc/config/fr30/fr30.c @@ -308,7 +308,7 @@ fr30_expand_prologue (void) G++ testsuite. */ if (! frame_pointer_needed && GET_CODE (part) == SET - && REGNO (SET_DEST (part)) == HARD_FRAME_POINTER_REGNUM) + && SET_DEST (part) == hard_frame_pointer_rtx) RTX_FRAME_RELATED_P (part) = 0; else RTX_FRAME_RELATED_P (part) = 1; @@ -336,7 +336,8 @@ fr30_expand_prologue (void) ; /* Nothing to do. */ else if (current_frame_info.frame_size <= 512) { - insn = emit_insn (gen_add_to_stack (GEN_INT (- current_frame_info.frame_size))); + insn = emit_insn (gen_add_to_stack + (GEN_INT (- (signed) current_frame_info.frame_size))); RTX_FRAME_RELATED_P (insn) = 1; } else |