diff options
author | Steven Bosscher <stevenb@suse.de> | 2004-07-04 20:58:46 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2004-07-04 20:58:46 +0000 |
commit | 78c2120290eb47211ebb1d47c4ebe26a516467bf (patch) | |
tree | 8c2983300c49b9138651816414930f79965c03d8 | |
parent | 988779335eec92a7b2f0133b3f209d64015206d9 (diff) | |
download | gcc-78c2120290eb47211ebb1d47c4ebe26a516467bf.zip gcc-78c2120290eb47211ebb1d47c4ebe26a516467bf.tar.gz gcc-78c2120290eb47211ebb1d47c4ebe26a516467bf.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/iq2000/iq2000.c | 3 | ||||
-rw-r--r-- | gcc/config/iq2000/iq2000.md | 40 |
3 files changed, 29 insertions, 21 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a4d210c..655154d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-07-04 Steven Bosscher <stevenb@suse.de> + + * 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 <roger@eyesopen.com> * 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 786a7b6..b2e117a 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 e5a04b2..97b7cc6 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") ;; ;; .................... |