diff options
author | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-04 20:58:46 +0000 |
---|---|---|
committer | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-04 20:58:46 +0000 |
commit | 49321da4a6700fdcfc83d327af87bc97775b3a05 (patch) | |
tree | 8c2983300c49b9138651816414930f79965c03d8 /gcc/config/iq2000 | |
parent | 96842896be79684e843c055946ccd1963f263be8 (diff) | |
download | gcc-49321da4a6700fdcfc83d327af87bc97775b3a05.tar.gz |
* config/iq2000/iq2000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
Define.
* config/iq2000/iq2000.md: Translate old pipeline description to an
equivalent new one.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84094 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/iq2000')
-rw-r--r-- | gcc/config/iq2000/iq2000.c | 3 | ||||
-rw-r--r-- | gcc/config/iq2000/iq2000.md | 40 |
2 files changed, 22 insertions, 21 deletions
diff --git a/gcc/config/iq2000/iq2000.c b/gcc/config/iq2000/iq2000.c index 786a7b6c91e..b2e117a9676 100644 --- a/gcc/config/iq2000/iq2000.c +++ b/gcc/config/iq2000/iq2000.c @@ -200,6 +200,9 @@ static bool iq2000_return_in_memory (tree, tree); #undef TARGET_STRICT_ARGUMENT_NAMING #define TARGET_STRICT_ARGUMENT_NAMING hook_bool_CUMULATIVE_ARGS_true +#undef TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE +#define TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE hook_int_void_1 + struct gcc_target targetm = TARGET_INITIALIZER; /* Return 1 if OP can be used as an operand where a register or 16 bit unsigned diff --git a/gcc/config/iq2000/iq2000.md b/gcc/config/iq2000/iq2000.md index e5a04b27e62..97b7cc6360f 100644 --- a/gcc/config/iq2000/iq2000.md +++ b/gcc/config/iq2000/iq2000.md @@ -18,9 +18,6 @@ ;; the Free Software Foundation, 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. -;; ??? Currently does not have define_function_unit support for the R8000. -;; Must include new entries for fmadd in addition to existing entries. - (define_constants [(UNSPEC_ADO16 0) (UNSPEC_RAM 1) @@ -201,33 +198,34 @@ ;; ......................... ;; -;; Functional units +;; Pipeline model ;; ;; ......................... -; (define_function_unit NAME MULTIPLICITY SIMULTANEITY -; TEST READY-DELAY ISSUE-DELAY [CONFLICT-LIST]) - -;; Make the default case (PROCESSOR_DEFAULT) handle the worst case +(define_automaton "iq2000") +(define_cpu_unit "core,memory" "iq2000") -(define_function_unit "memory" 1 0 - (and (eq_attr "type" "load") - (eq_attr "cpu" "iq2000")) - 3 0) +(define_insn_reservation "nonmemory" 1 + (eq_attr "type" "!load,move,store,xfer") + "core") -(define_function_unit "memory" 1 0 - (and (eq_attr "type" "move") +(define_insn_reservation "iq2000_load_move" 3 + (and (eq_attr "type" "load,move") (eq_attr "cpu" "iq2000")) - 3 0) + "memory") -(define_function_unit "memory" 1 0 - (and (eq_attr "type" "arith") - (eq_attr "cpu" "iq2000")) - 3 0) +(define_insn_reservation "other_load_move" 1 + (and (eq_attr "type" "load,move") + (eq_attr "cpu" "!iq2000")) + "memory") -(define_function_unit "memory" 1 0 (eq_attr "type" "store") 1 0) +(define_insn_reservation "store" 1 + (eq_attr "type" "store") + "memory") -(define_function_unit "memory" 1 0 (eq_attr "type" "xfer") 2 0) +(define_insn_reservation "xfer" 2 + (eq_attr "type" "xfer") + "memory") ;; ;; .................... |