aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2002-12-20 00:08:06 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2002-12-20 00:08:06 +0000
commit191ff852794b8c3658edf2c45db73df65eb139cb (patch)
treef6c5a48180cf79caf187643e7c18c39d36306884 /gcc
parent3ab68120e2c7f48ff4de37f103800d0a2385d31c (diff)
downloadgcc-191ff852794b8c3658edf2c45db73df65eb139cb.zip
gcc-191ff852794b8c3658edf2c45db73df65eb139cb.tar.gz
gcc-191ff852794b8c3658edf2c45db73df65eb139cb.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/h8300/h8300.md12
2 files changed, 16 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f4f556d..281975f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md
index cf4e6a9..14e2c6c 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")])