;; 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
;;
;; ....................