aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephane Carrez <stcarrez@nerim.fr>2003-01-16 00:30:40 +0100
committerStephane Carrez <ciceron@gcc.gnu.org>2003-01-16 00:30:40 +0100
commit51e13b719414e6d04d13541bfaa1f0a90cf4463a (patch)
tree4bd552e07d3cf4aed74e58c1dd2766a4c43b0554
parent1ceb0dc75365ae77a477ab9ffb3cc22f15abf722 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/config/m68hc11/m68hc11.c6
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);
}