]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
h8300.md (pushqi_h8300): Don't push the stack pointer.
authorKazu Hirata <kazu@cs.umass.edu>
Fri, 20 Dec 2002 00:08:06 +0000 (00:08 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Fri, 20 Dec 2002 00:08:06 +0000 (00:08 +0000)
* 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
gcc/config/h8300/h8300.md

index f4f556dc08b17e7383837dfc1588b4a1a5f9da88..281975ff9d57f78ea83eb9621e918ab1425aec4d 100644 (file)
@@ -1,3 +1,11 @@
+2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * 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 <joern.rennecke@superh.com>
 
        * sched-rgn.c (init_regions): Update comment.
index cf4e6a95cb1f0602ba890bce8cd157456b06e222..14e2c6c09724906ccad29e90c8c53a8c19f656ac 100644 (file)
                   (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")])
                   (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")])
 (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"
                   (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")])