summaryrefslogtreecommitdiff
path: root/gcc/config/fr30/fr30.c
diff options
context:
space:
mode:
authorrask <rask@138bc75d-0d04-0410-961f-82ee72b054a4>2007-09-18 13:24:44 +0000
committerrask <rask@138bc75d-0d04-0410-961f-82ee72b054a4>2007-09-18 13:24:44 +0000
commite777906b6bdfc147361a00f7aaee5334ff601210 (patch)
tree3793e6188f7bc696e01268348adc6d0ef3bf4772 /gcc/config/fr30/fr30.c
parenta1f3c748fc2f78e66836999f84c1d9ead937a223 (diff)
downloadgcc-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.c5
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