m68hc11.c (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC11.
authorStephane Carrez <stcarrez@nerim.fr>
Wed, 15 Jan 2003 23:30:40 +0000 (00:30 +0100)
committerStephane Carrez <ciceron@gcc.gnu.org>
Wed, 15 Jan 2003 23:30:40 +0000 (00:30 +0100)
* 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

gcc/ChangeLog
gcc/config/m68hc11/m68hc11.c

index ca7b57f18dc4ac80adea99890fa31d0a6bc8cab3..bf4c0e792f77e2d8abbd8514ac1975bc042edd20 100644 (file)
@@ -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
index cb9593fe23862c4034620506cdabdbde5213ab2a..e7626a233051e8bdf18a3944aca74398170976bb 100644 (file)
@@ -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);
     }