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
This commit is contained in:
parent
ce6e2d9028
commit
32da7865f9
|
@ -1,3 +1,17 @@
|
||||||
|
2003-12-03 Kazu Hirata <kazu@cs.umass.edu>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2003-12-03 Eric Christopher <echristo@redhat.com>
|
2003-12-03 Eric Christopher <echristo@redhat.com>
|
||||||
|
|
||||||
* rtl.c: Fix typo.
|
* rtl.c: Fix typo.
|
||||||
|
|
|
@ -435,7 +435,7 @@ push (int rn)
|
||||||
if (TARGET_H8300)
|
if (TARGET_H8300)
|
||||||
x = gen_push_h8300 (reg);
|
x = gen_push_h8300 (reg);
|
||||||
else if (!TARGET_NORMAL_MODE)
|
else if (!TARGET_NORMAL_MODE)
|
||||||
x = gen_push_h8300hs (reg);
|
x = gen_push_h8300hs_advanced (reg);
|
||||||
else
|
else
|
||||||
x = gen_push_h8300hs_normal (reg);
|
x = gen_push_h8300hs_normal (reg);
|
||||||
x = emit_insn (x);
|
x = emit_insn (x);
|
||||||
|
@ -453,7 +453,7 @@ pop (int rn)
|
||||||
if (TARGET_H8300)
|
if (TARGET_H8300)
|
||||||
x = gen_pop_h8300 (reg);
|
x = gen_pop_h8300 (reg);
|
||||||
else if (!TARGET_NORMAL_MODE)
|
else if (!TARGET_NORMAL_MODE)
|
||||||
x = gen_pop_h8300hs (reg);
|
x = gen_pop_h8300hs_advanced (reg);
|
||||||
else
|
else
|
||||||
x = gen_pop_h8300hs_normal (reg);
|
x = gen_pop_h8300hs_normal (reg);
|
||||||
x = emit_insn (x);
|
x = emit_insn (x);
|
||||||
|
|
|
@ -735,7 +735,7 @@ struct cum_arg
|
||||||
|
|
||||||
/* Length in units of the trampoline for entering a nested function. */
|
/* Length in units of the trampoline for entering a nested function. */
|
||||||
|
|
||||||
#define TRAMPOLINE_SIZE ((TARGET_H8300 || TARGET_NORMAL_MODE) ? 8 : 12)
|
#define TRAMPOLINE_SIZE ((Pmode == HImode) ? 8 : 12)
|
||||||
|
|
||||||
/* Emit RTL insns to build a trampoline.
|
/* Emit RTL insns to build a trampoline.
|
||||||
FNADDR is an RTX for the address of the function's pure code.
|
FNADDR is an RTX for the address of the function's pure code.
|
||||||
|
|
|
@ -1763,7 +1763,7 @@
|
||||||
(define_insn "*tablejump_h8300hs_advanced"
|
(define_insn "*tablejump_h8300hs_advanced"
|
||||||
[(set (pc) (match_operand:SI 0 "register_operand" "r"))
|
[(set (pc) (match_operand:SI 0 "register_operand" "r"))
|
||||||
(use (label_ref (match_operand 1 "" "")))]
|
(use (label_ref (match_operand 1 "" "")))]
|
||||||
"TARGET_H8300H || TARGET_H8300S"
|
"(TARGET_H8300H || TARGET_H8300S) && !TARGET_NORMAL_MODE"
|
||||||
"jmp @%0"
|
"jmp @%0"
|
||||||
[(set_attr "cc" "none")
|
[(set_attr "cc" "none")
|
||||||
(set_attr "length" "2")])
|
(set_attr "length" "2")])
|
||||||
|
@ -1792,7 +1792,7 @@
|
||||||
|
|
||||||
(define_insn "*indirect_jump_h8300hs_advanced"
|
(define_insn "*indirect_jump_h8300hs_advanced"
|
||||||
[(set (pc) (match_operand:SI 0 "jump_address_operand" "Vr"))]
|
[(set (pc) (match_operand:SI 0 "jump_address_operand" "Vr"))]
|
||||||
"TARGET_H8300H || TARGET_H8300S"
|
"(TARGET_H8300H || TARGET_H8300S) && !TARGET_NORMAL_MODE"
|
||||||
"jmp @%0"
|
"jmp @%0"
|
||||||
[(set_attr "cc" "none")
|
[(set_attr "cc" "none")
|
||||||
(set_attr "length" "2")])
|
(set_attr "length" "2")])
|
||||||
|
@ -1867,16 +1867,16 @@
|
||||||
"TARGET_H8300"
|
"TARGET_H8300"
|
||||||
"")
|
"")
|
||||||
|
|
||||||
(define_expand "push_h8300hs"
|
(define_expand "push_h8300hs_advanced"
|
||||||
[(set (mem:SI (pre_dec:SI (reg:SI SP_REG)))
|
[(set (mem:SI (pre_dec:SI (reg:SI SP_REG)))
|
||||||
(match_operand:SI 0 "register_operand" ""))]
|
(match_operand:SI 0 "register_operand" ""))]
|
||||||
"TARGET_H8300H && TARGET_H8300S"
|
"TARGET_H8300H && TARGET_H8300S && !TARGET_NORMAL_MODE"
|
||||||
"")
|
"")
|
||||||
|
|
||||||
(define_expand "push_h8300hs_normal"
|
(define_expand "push_h8300hs_normal"
|
||||||
[(set (mem:SI (pre_dec:HI (reg:HI SP_REG)))
|
[(set (mem:SI (pre_dec:HI (reg:HI SP_REG)))
|
||||||
(match_operand:SI 0 "register_operand" ""))]
|
(match_operand:SI 0 "register_operand" ""))]
|
||||||
"TARGET_NORMAL_MODE"
|
"TARGET_H8300H && TARGET_H8300S && TARGET_NORMAL_MODE"
|
||||||
"")
|
"")
|
||||||
|
|
||||||
(define_expand "pop_h8300"
|
(define_expand "pop_h8300"
|
||||||
|
@ -1885,16 +1885,16 @@
|
||||||
"TARGET_H8300"
|
"TARGET_H8300"
|
||||||
"")
|
"")
|
||||||
|
|
||||||
(define_expand "pop_h8300hs"
|
(define_expand "pop_h8300hs_advanced"
|
||||||
[(set (match_operand:SI 0 "register_operand" "")
|
[(set (match_operand:SI 0 "register_operand" "")
|
||||||
(mem:SI (post_inc:SI (reg:SI SP_REG))))]
|
(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"
|
(define_expand "pop_h8300hs_normal"
|
||||||
[(set (match_operand:SI 0 "register_operand" "")
|
[(set (match_operand:SI 0 "register_operand" "")
|
||||||
(mem:SI (post_inc:HI (reg:HI SP_REG))))]
|
(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"
|
(define_insn "stm_h8300s_2_advanced"
|
||||||
|
|
Loading…
Reference in New Issue