From 191ff852794b8c3658edf2c45db73df65eb139cb Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Fri, 20 Dec 2002 00:08:06 +0000 Subject: [PATCH] h8300.md (pushqi_h8300): Don't push the stack pointer. * config/h8300/h8300.md (pushqi_h8300): Don't push the stack pointer. (pushqi_h8300hs): Likewise. (pushhi_h8300): Likewise. (pushhi_h8300hs): Likewise. From-SVN: r60343 --- gcc/ChangeLog | 8 ++++++++ gcc/config/h8300/h8300.md | 12 ++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f4f556dc08b..281975ff9d5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2002-12-19 Kazu Hirata + + * config/h8300/h8300.md (pushqi_h8300): Don't push the stack + pointer. + (pushqi_h8300hs): Likewise. + (pushhi_h8300): Likewise. + (pushhi_h8300hs): Likewise. + Thu Dec 19 23:44:09 2002 J"orn Rennecke * sched-rgn.c (init_regions): Update comment. diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md index cf4e6a95cb1..14e2c6c0972 100644 --- a/gcc/config/h8300/h8300.md +++ b/gcc/config/h8300/h8300.md @@ -117,7 +117,8 @@ (plus:HI (reg:HI SP_REG) (const_int -2))) (set (mem:QI (plus:HI (reg:HI SP_REG) (const_int -1))) (match_operand:QI 0 "register_operand" "r"))])] - "TARGET_H8300" + "TARGET_H8300 + && REGNO (operands[0]) != SP_REG" "mov.w\\t%T0,@-r7" [(set_attr "length" "2") (set_attr "cc" "clobber")]) @@ -127,7 +128,8 @@ (plus:SI (reg:SI SP_REG) (const_int -4))) (set (mem:QI (plus:SI (reg:SI SP_REG) (const_int -3))) (match_operand:QI 0 "register_operand" "r"))])] - "TARGET_H8300H || TARGET_H8300S" + "(TARGET_H8300H || TARGET_H8300S) + && REGNO (operands[0]) != SP_REG" "mov.l\\t%S0,@-er7" [(set_attr "length" "4") (set_attr "cc" "clobber")]) @@ -209,7 +211,8 @@ (define_expand "pushhi1_h8300" [(set (mem:HI (pre_dec:HI (reg:HI SP_REG))) (match_operand:HI 0 "register_operand" ""))] - "TARGET_H8300" + "TARGET_H8300 + && REGNO (operands[0]) != SP_REG" "") (define_insn "pushhi1_h8300hs" @@ -217,7 +220,8 @@ (plus:SI (reg:SI SP_REG) (const_int -4))) (set (mem:HI (plus:SI (reg:SI SP_REG) (const_int -2))) (match_operand:HI 0 "register_operand" "r"))])] - "TARGET_H8300H || TARGET_H8300S" + "(TARGET_H8300H || TARGET_H8300S) + && REGNO (operands[0]) != SP_REG" "mov.l\\t%S0,@-er7" [(set_attr "length" "4") (set_attr "cc" "clobber")]) -- 2.30.2