aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/h8300/h8300.md
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2003-12-04 04:31:16 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2003-12-04 04:31:16 +0000
commit32da7865f907faa9bd4e49ce797e7f9c438a86a3 (patch)
tree2529c92e1a55f6de89e2dba4a4a38ac737d4f561 /gcc/config/h8300/h8300.md
parentce6e2d9028abad0651b422106ba95e656637f8a9 (diff)
downloadgcc-32da7865f907faa9bd4e49ce797e7f9c438a86a3.zip
gcc-32da7865f907faa9bd4e49ce797e7f9c438a86a3.tar.gz
gcc-32da7865f907faa9bd4e49ce797e7f9c438a86a3.tar.bz2
h8300.c (push): Call gen_push_h8300hs_advanced instead of gen_push_h8300hs.
* config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced instead of gen_push_h8300hs. (pop): Call gen_pop_h8300hs_advanced instead of gen_pop_h8300hs. * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode. * config/h8300/h8300.md (*tablejump_h8300hs_advanced): Tighten the predicate. (*tablejump_h8300hs_normal): Tighten the predicate. (push_h8300hs): Change to push_h8300hs_advanced. (pop_h8300hs): Change to pop_h8300hs_advanced. From-SVN: r74267
Diffstat (limited to 'gcc/config/h8300/h8300.md')
-rw-r--r--gcc/config/h8300/h8300.md16
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md
index 5a9d6ad..9743308 100644
--- a/gcc/config/h8300/h8300.md
+++ b/gcc/config/h8300/h8300.md
@@ -1763,7 +1763,7 @@
(define_insn "*tablejump_h8300hs_advanced"
[(set (pc) (match_operand:SI 0 "register_operand" "r"))
(use (label_ref (match_operand 1 "" "")))]
- "TARGET_H8300H || TARGET_H8300S"
+ "(TARGET_H8300H || TARGET_H8300S) && !TARGET_NORMAL_MODE"
"jmp @%0"
[(set_attr "cc" "none")
(set_attr "length" "2")])
@@ -1792,7 +1792,7 @@
(define_insn "*indirect_jump_h8300hs_advanced"
[(set (pc) (match_operand:SI 0 "jump_address_operand" "Vr"))]
- "TARGET_H8300H || TARGET_H8300S"
+ "(TARGET_H8300H || TARGET_H8300S) && !TARGET_NORMAL_MODE"
"jmp @%0"
[(set_attr "cc" "none")
(set_attr "length" "2")])
@@ -1867,16 +1867,16 @@
"TARGET_H8300"
"")
-(define_expand "push_h8300hs"
+(define_expand "push_h8300hs_advanced"
[(set (mem:SI (pre_dec:SI (reg:SI SP_REG)))
(match_operand:SI 0 "register_operand" ""))]
- "TARGET_H8300H && TARGET_H8300S"
+ "TARGET_H8300H && TARGET_H8300S && !TARGET_NORMAL_MODE"
"")
(define_expand "push_h8300hs_normal"
[(set (mem:SI (pre_dec:HI (reg:HI SP_REG)))
(match_operand:SI 0 "register_operand" ""))]
- "TARGET_NORMAL_MODE"
+ "TARGET_H8300H && TARGET_H8300S && TARGET_NORMAL_MODE"
"")
(define_expand "pop_h8300"
@@ -1885,16 +1885,16 @@
"TARGET_H8300"
"")
-(define_expand "pop_h8300hs"
+(define_expand "pop_h8300hs_advanced"
[(set (match_operand:SI 0 "register_operand" "")
(mem:SI (post_inc:SI (reg:SI SP_REG))))]
- "TARGET_H8300H && TARGET_H8300S"
+ "TARGET_H8300H && TARGET_H8300S && !TARGET_NORMAL_MODE"
"")
(define_expand "pop_h8300hs_normal"
[(set (match_operand:SI 0 "register_operand" "")
(mem:SI (post_inc:HI (reg:HI SP_REG))))]
- "TARGET_NORMAL_MODE"
+ "TARGET_H8300H && TARGET_H8300S && TARGET_NORMAL_MODE"
"")
(define_insn "stm_h8300s_2_advanced"