diff options
author | Stephane Carrez <stcarrez@nerim.fr> | 2003-01-16 00:30:40 +0100 |
---|---|---|
committer | Stephane Carrez <ciceron@gcc.gnu.org> | 2003-01-16 00:30:40 +0100 |
commit | 51e13b719414e6d04d13541bfaa1f0a90cf4463a (patch) | |
tree | 4bd552e07d3cf4aed74e58c1dd2766a4c43b0554 | |
parent | 1ceb0dc75365ae77a477ab9ffb3cc22f15abf722 (diff) | |
download | gcc-51e13b719414e6d04d13541bfaa1f0a90cf4463a.zip gcc-51e13b719414e6d04d13541bfaa1f0a90cf4463a.tar.gz gcc-51e13b719414e6d04d13541bfaa1f0a90cf4463a.tar.bz2 |
m68hc11.c (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC11.
* config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
allocate 4-bytes of locals on 68HC11.
(expand_epilogue): Likewise.
(m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
From-SVN: r61364
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/m68hc11/m68hc11.c | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ca7b57f..bf4c0e7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2003-01-16 Stephane Carrez <stcarrez@nerim.fr> + + * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to + allocate 4-bytes of locals on 68HC11. + (expand_epilogue): Likewise. + (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers. + 2003-01-15 Stephane Carrez <stcarrez@nerim.fr> * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c index cb9593f..e7626a2 100644 --- a/gcc/config/m68hc11/m68hc11.c +++ b/gcc/config/m68hc11/m68hc11.c @@ -1657,7 +1657,7 @@ expand_prologue () emit_insn (gen_addhi3 (stack_pointer_rtx, stack_pointer_rtx, GEN_INT (-size))); } - else if (size > 8) + else if ((!optimize_size && size > 8) || (optimize_size && size > 10)) { rtx insn; @@ -1745,7 +1745,7 @@ expand_epilogue () emit_insn (gen_addhi3 (stack_pointer_rtx, stack_pointer_rtx, GEN_INT (size))); } - else if (size > 8) + else if ((!optimize_size && size > 8) || (optimize_size && size > 10)) { rtx insn; @@ -5177,7 +5177,7 @@ m68hc11_memory_move_cost (mode, class, in) else { if (GET_MODE_SIZE (mode) <= 2) - return COSTS_N_INSNS (2); + return COSTS_N_INSNS (3); else return COSTS_N_INSNS (4); } |