diff options
author | ciceron <ciceron@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-15 21:27:01 +0000 |
---|---|---|
committer | ciceron <ciceron@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-15 21:27:01 +0000 |
commit | f836d492cd45980ac0eb3a73646d7e7d332ea294 (patch) | |
tree | 25cfd63575fdc96c1482babbf08834ff2b2eef2b /gcc/config/m68hc11/m68hc11-protos.h | |
parent | baf4036592eba4d458741b6a9dd9743f50f32917 (diff) | |
download | gcc-f836d492cd45980ac0eb3a73646d7e7d332ea294.tar.gz |
* config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
than a shift to avoid adding a register with itself.
(m68hc11_memory_move_cost): Take into account NO_REGS.
(m68hc11_register_move_cost): Update and use memory move cost
for soft registers.
(m68hc11_address_cost): Make cost of valid offset not 0 so that
it gives more opportunities to cse to optimize.
* config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
* config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50833 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/m68hc11/m68hc11-protos.h')
-rw-r--r-- | gcc/config/m68hc11/m68hc11-protos.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/config/m68hc11/m68hc11-protos.h b/gcc/config/m68hc11/m68hc11-protos.h index bbbb4525f4f..e974348a317 100644 --- a/gcc/config/m68hc11/m68hc11-protos.h +++ b/gcc/config/m68hc11/m68hc11-protos.h @@ -1,5 +1,5 @@ /* Prototypes for exported functions defined in m68hc11.c - Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Contributed by Stephane Carrez (stcarrez@worldnet.fr) This file is part of GNU CC. @@ -96,7 +96,8 @@ extern rtx m68hc11_gen_highpart PARAMS((enum machine_mode, rtx)); #ifdef HAVE_MACHINE_MODES extern int m68hc11_memory_move_cost PARAMS((enum machine_mode, enum reg_class, int)); -extern int m68hc11_register_move_cost PARAMS((enum reg_class, enum reg_class)); +extern int m68hc11_register_move_cost PARAMS((enum machine_mode, + enum reg_class, enum reg_class)); extern int m68hc11_rtx_costs PARAMS((rtx, enum rtx_code, enum rtx_code)); extern int m68hc11_address_cost PARAMS((rtx)); |