aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Bosscher <stevenb@suse.de>2004-07-04 20:58:46 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2004-07-04 20:58:46 +0000
commit78c2120290eb47211ebb1d47c4ebe26a516467bf (patch)
tree8c2983300c49b9138651816414930f79965c03d8
parent988779335eec92a7b2f0133b3f209d64015206d9 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/config/iq2000/iq2000.c3
-rw-r--r--gcc/config/iq2000/iq2000.md40
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")
;;
;; ....................