OSDN Git Service

* config/iq2000/iq2000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 4 Jul 2004 20:58:46 +0000 (20:58 +0000)
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 4 Jul 2004 20:58:46 +0000 (20:58 +0000)
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

gcc/ChangeLog
gcc/config/iq2000/iq2000.c
gcc/config/iq2000/iq2000.md

index a4d210c..655154d 100644 (file)
@@ -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.
index 786a7b6..b2e117a 100644 (file)
@@ -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;
 \f
 /* Return 1 if OP can be used as an operand where a register or 16 bit unsigned
index e5a04b2..97b7cc6 100644 (file)
@@ -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)
 
 ;; .........................
 ;;
-;;     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")
 \f
 ;;
 ;;  ....................