Commit c3840092 by James E Wilson Committed by Jim Wilson

Another patch for pending SB-1 DFA scheduler.

	* config/mips/mips.md (type): Split move into arith and fmove.  Split
	hilo into mthilo and mfhilo.  Add trap.  Delete icmp.  Fix all uses.
	* config/mips/5400.md (ir_vr54_hilo, ir_vr54_arith, ir_vr54_fabs):
	Likewise.
	* config/mips/5500.md (ir_vr55_hilo, ir_vr55_arith, ir_vr55_fabs):
	Likewise.
	* config/mips/7000.md (rm7_int_other, rm7_mthilo, rm7_mfhilo,
	rm7_fp_quick): Likewise.
	* config/mips/9000.md (rm9k_int, rm9k_mfhilo, rm9k_mthilo,
	rm9k_fquick): Likewise.
	* config/mips/sr71k.md (ir_sr70_hilo, ir_sr70_arith, ir_sr70_fabs):
	Likewise.
	(ir_sr70_icmp): Delete.

From-SVN: r79650
parent a2982c1b
2004-03-18 James E Wilson <wilson@specifixinc.com>
* config/mips/mips.md (type): Split move into arith and fmove. Split
hilo into mthilo and mfhilo. Add trap. Delete icmp. Fix all uses.
* config/mips/5400.md (ir_vr54_hilo, ir_vr54_arith, ir_vr54_fabs):
Likewise.
* config/mips/5500.md (ir_vr55_hilo, ir_vr55_arith, ir_vr55_fabs):
Likewise.
* config/mips/7000.md (rm7_int_other, rm7_mthilo, rm7_mfhilo,
rm7_fp_quick): Likewise.
* config/mips/9000.md (rm9k_int, rm9k_mfhilo, rm9k_mthilo,
rm9k_fquick): Likewise.
* config/mips/sr71k.md (ir_sr70_hilo, ir_sr70_arith, ir_sr70_fabs):
Likewise.
(ir_sr70_icmp): Delete.
2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* tree.h (TREE_CHECK2, TREE_CHECK3, TREE_CHECK5): New macros. * tree.h (TREE_CHECK2, TREE_CHECK3, TREE_CHECK5): New macros.
......
...@@ -55,12 +55,12 @@ ...@@ -55,12 +55,12 @@
(define_insn_reservation "ir_vr54_hilo" 1 (define_insn_reservation "ir_vr54_hilo" 1
(and (eq_attr "cpu" "r5400") (and (eq_attr "cpu" "r5400")
(eq_attr "type" "hilo")) (eq_attr "type" "mthilo,mfhilo"))
"vr54_dp0|vr54_dp1") "vr54_dp0|vr54_dp1")
(define_insn_reservation "ir_vr54_arith" 1 (define_insn_reservation "ir_vr54_arith" 1
(and (eq_attr "cpu" "r5400") (and (eq_attr "cpu" "r5400")
(eq_attr "type" "move,arith,shift,slt,clz,const,icmp,nop")) (eq_attr "type" "arith,shift,slt,clz,const,nop,trap"))
"vr54_dp0|vr54_dp1") "vr54_dp0|vr54_dp1")
(define_insn_reservation "ir_vr54_imul_si" 3 (define_insn_reservation "ir_vr54_imul_si" 3
...@@ -135,7 +135,7 @@ ...@@ -135,7 +135,7 @@
(define_insn_reservation "ir_vr54_fabs" 2 (define_insn_reservation "ir_vr54_fabs" 2
(and (eq_attr "cpu" "r5400") (and (eq_attr "cpu" "r5400")
(eq_attr "type" "fabs,fneg")) (eq_attr "type" "fabs,fneg,fmove"))
"vr54_dp0|vr54_dp1") "vr54_dp0|vr54_dp1")
(define_insn_reservation "ir_vr54_fcmp" 2 (define_insn_reservation "ir_vr54_fcmp" 2
......
...@@ -51,12 +51,12 @@ ...@@ -51,12 +51,12 @@
(define_insn_reservation "ir_vr55_hilo" 2 (define_insn_reservation "ir_vr55_hilo" 2
(and (eq_attr "cpu" "r5500") (and (eq_attr "cpu" "r5500")
(eq_attr "type" "hilo")) (eq_attr "type" "mthilo,mfhilo"))
"vr55_dp0|vr55_dp1") "vr55_dp0|vr55_dp1")
(define_insn_reservation "ir_vr55_arith" 1 (define_insn_reservation "ir_vr55_arith" 1
(and (eq_attr "cpu" "r5500") (and (eq_attr "cpu" "r5500")
(eq_attr "type" "move,arith,shift,slt,clz,const,icmp,nop")) (eq_attr "type" "arith,shift,slt,clz,const,nop,trap"))
"vr55_dp0|vr55_dp1") "vr55_dp0|vr55_dp1")
(define_insn_reservation "ir_vr55_imul_si" 3 (define_insn_reservation "ir_vr55_imul_si" 3
...@@ -133,7 +133,7 @@ ...@@ -133,7 +133,7 @@
(define_insn_reservation "ir_vr55_fabs" 2 (define_insn_reservation "ir_vr55_fabs" 2
(and (eq_attr "cpu" "r5500") (and (eq_attr "cpu" "r5500")
(eq_attr "type" "fabs,fneg")) (eq_attr "type" "fabs,fneg,fmove"))
"vr55_fp") "vr55_fp")
(define_insn_reservation "ir_vr55_fcmp" 2 (define_insn_reservation "ir_vr55_fcmp" 2
......
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
(define_insn_reservation "rm7_int_other" 1 (define_insn_reservation "rm7_int_other" 1
(and (eq_attr "cpu" "r7000") (and (eq_attr "cpu" "r7000")
(eq_attr "type" "arith,shift,slt,clz,const,move,condmove,icmp,nop")) (eq_attr "type" "arith,shift,slt,clz,const,condmove,nop,trap"))
"rm7_iaddsub") "rm7_iaddsub")
(define_insn_reservation "rm7_ld" 2 (and (eq_attr "cpu" "r7000") (define_insn_reservation "rm7_ld" 2 (and (eq_attr "cpu" "r7000")
...@@ -132,14 +132,12 @@ ...@@ -132,14 +132,12 @@
;; Move to/from HI/LO. ;; Move to/from HI/LO.
(define_insn_reservation "rm7_mthilo" 3 (define_insn_reservation "rm7_mthilo" 3
(and (eq_attr "cpu" "r7000") (and (eq_attr "cpu" "r7000")
(and (eq_attr "type" "hilo") (eq_attr "type" "mthilo"))
(match_operand 0 "hilo_operand" "")))
"rm7_impydiv") "rm7_impydiv")
(define_insn_reservation "rm7_mfhilo" 1 (define_insn_reservation "rm7_mfhilo" 1
(and (eq_attr "cpu" "r7000") (and (eq_attr "cpu" "r7000")
(and (eq_attr "type" "hilo") (eq_attr "type" "mfhilo"))
(not (match_operand 0 "hilo_operand" ""))))
"rm7_impydiv") "rm7_impydiv")
;; Move to/from fp coprocessor. ;; Move to/from fp coprocessor.
...@@ -156,7 +154,7 @@ ...@@ -156,7 +154,7 @@
;; ;;
(define_insn_reservation "rm7_fp_quick" 4 (define_insn_reservation "rm7_fp_quick" 4
(and (eq_attr "cpu" "r7000") (and (eq_attr "cpu" "r7000")
(eq_attr "type" "fneg,fcmp,fabs")) (eq_attr "type" "fneg,fcmp,fabs,fmove"))
"rm7_fpadd") "rm7_fpadd")
(define_insn_reservation "rm7_fp_other" 4 (define_insn_reservation "rm7_fp_other" 4
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
(define_insn_reservation "rm9k_int" 1 (define_insn_reservation "rm9k_int" 1
(and (eq_attr "cpu" "r9000") (and (eq_attr "cpu" "r9000")
(eq_attr "type" "move,arith,shift,slt,clz,const,icmp,nop")) (eq_attr "type" "arith,shift,slt,clz,const,nop,trap"))
"rm9k_any1 | rm9k_any2") "rm9k_any1 | rm9k_any2")
(define_insn_reservation "rm9k_int_cmove" 2 (define_insn_reservation "rm9k_int_cmove" 2
...@@ -88,14 +88,12 @@ ...@@ -88,14 +88,12 @@
(define_insn_reservation "rm9k_mfhilo" 1 (define_insn_reservation "rm9k_mfhilo" 1
(and (eq_attr "cpu" "r9000") (and (eq_attr "cpu" "r9000")
(and (eq_attr "type" "hilo") (eq_attr "type" "mfhilo"))
(not (match_operand 0 "hilo_operand" ""))))
"rm9k_f_int") "rm9k_f_int")
(define_insn_reservation "rm9k_mthilo" 5 (define_insn_reservation "rm9k_mthilo" 5
(and (eq_attr "cpu" "r9000") (and (eq_attr "cpu" "r9000")
(and (eq_attr "type" "hilo") (eq_attr "type" "mthilo"))
(match_operand 0 "hilo_operand" "")))
"rm9k_f_int") "rm9k_f_int")
(define_insn_reservation "rm9k_xfer" 2 (define_insn_reservation "rm9k_xfer" 2
...@@ -105,7 +103,7 @@ ...@@ -105,7 +103,7 @@
(define_insn_reservation "rm9k_fquick" 2 (define_insn_reservation "rm9k_fquick" 2
(and (eq_attr "cpu" "r9000") (and (eq_attr "cpu" "r9000")
(eq_attr "type" "fabs,fneg,fcmp")) (eq_attr "type" "fabs,fneg,fcmp,fmove"))
"rm9k_f_float") "rm9k_f_float")
(define_insn_reservation "rm9k_fcmove" 2 (define_insn_reservation "rm9k_fcmove" 2
......
...@@ -195,13 +195,13 @@ ...@@ -195,13 +195,13 @@
(define_insn_reservation "ir_sr70_hilo" (define_insn_reservation "ir_sr70_hilo"
1 1
(and (eq_attr "cpu" "sr71000") (and (eq_attr "cpu" "sr71000")
(eq_attr "type" "hilo")) (eq_attr "type" "mthilo,mfhilo"))
"ri_insns") "ri_insns")
(define_insn_reservation "ir_sr70_arith" (define_insn_reservation "ir_sr70_arith"
1 1
(and (eq_attr "cpu" "sr71000") (and (eq_attr "cpu" "sr71000")
(eq_attr "type" "move,arith,shift,slt,clz,const")) (eq_attr "type" "arith,shift,slt,clz,const,trap"))
"ri_insns") "ri_insns")
;; emulate repeat (dispatch stall) by spending extra cycle(s) in ;; emulate repeat (dispatch stall) by spending extra cycle(s) in
...@@ -236,12 +236,6 @@ ...@@ -236,12 +236,6 @@
(eq_attr "mode" "DI"))) (eq_attr "mode" "DI")))
"ri_alux,ipu_alux,(ipu_macc_iter*70)") "ri_alux,ipu_alux,(ipu_macc_iter*70)")
(define_insn_reservation "ir_sr70_icmp"
1
(and (eq_attr "cpu" "sr71000")
(eq_attr "type" "icmp"))
"ri_insns")
;; extra reservations of fpu_fpu are for repeat latency ;; extra reservations of fpu_fpu are for repeat latency
(define_insn_reservation "ir_sr70_fadd_sf" (define_insn_reservation "ir_sr70_fadd_sf"
8 8
...@@ -298,7 +292,7 @@ ...@@ -298,7 +292,7 @@
(define_insn_reservation "ir_sr70_fabs" (define_insn_reservation "ir_sr70_fabs"
4 4
(and (eq_attr "cpu" "sr71000") (and (eq_attr "cpu" "sr71000")
(eq_attr "type" "fabs,fneg")) (eq_attr "type" "fabs,fneg,fmove"))
"rf_insn,fpu_fpu") "rf_insn,fpu_fpu")
(define_insn_reservation "ir_sr70_fcmp" (define_insn_reservation "ir_sr70_fcmp"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment