From 78c2120290eb47211ebb1d47c4ebe26a516467bf Mon Sep 17 00:00:00 2001 From: Steven Bosscher Date: Sun, 4 Jul 2004 20:58:46 +0000 Subject: [PATCH] iq2000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define. * config/iq2000/iq2000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define. * config/iq2000/iq2000.md: Translate old pipeline description to an equivalent new one. From-SVN: r84094 --- gcc/ChangeLog | 7 +++++++ gcc/config/iq2000/iq2000.c | 3 +++ gcc/config/iq2000/iq2000.md | 40 ++++++++++++++++++------------------- 3 files changed, 29 insertions(+), 21 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a4d210ce789..655154d4213 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-07-04 Steven Bosscher + + * config/iq2000/iq2000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): + Define. + * config/iq2000/iq2000.md: Translate old pipeline description to an + equivalent new one. + 2004-07-04 Roger Sayle * tree-ssa-ccp.c (set_rhs): Change function to return a bool. 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") ;; ;; .................... -- 2.30.2