(define_function_unit): Add support for RIOS2 asymmetric integer
authorRichard Kenner <kenner@gcc.gnu.org>
Tue, 19 Oct 1993 22:09:04 +0000 (18:09 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Tue, 19 Oct 1993 22:09:04 +0000 (18:09 -0400)
units.

From-SVN: r5813

gcc/config/rs6000/rs6000.md

index e3edf5646a47f9c47752f90dfc15cbcbb86b7e69..c083c3ca5f0d54d63e5d3fbb7805bb7d2a8aba0a 100644 (file)
 
 (define_function_unit "lsu" 1 0
   (and (eq_attr "type" "load")
-       (eq_attr "cpu" "ppc603,ppc604,ppc620"))
+       (eq_attr "cpu" "rios2,ppc603,ppc604,ppc620"))
   2 0)
 
 (define_function_unit "lsu" 1 0
   (and (eq_attr "type" "fpload")
-       (eq_attr "cpu" "ppc603,ppc604,ppc620"))
+       (eq_attr "cpu" "rios2,ppc603,ppc604,ppc620"))
   2 0)
 
 (define_function_unit "iu" 1 0
   (and (eq_attr "type" "load")
-       (eq_attr "cpu" "rios1,rios2"))
+       (eq_attr "cpu" "rios1"))
   2 0)
 
 (define_function_unit "iu" 1 0
   (and (eq_attr "type" "fpload")
-       (eq_attr "cpu" "rios1,rios2"))
+       (eq_attr "cpu" "rios1"))
   3 0)
 
 (define_function_unit "iu" 1 0
        (eq_attr "cpu" "rios1"))
   3 0)
 
-(define_function_unit "iu" 1 0
-  (and (eq_attr "type" "imul")
-       (eq_attr "cpu" "rios2"))
-  2 0)
-
 (define_function_unit "iu" 1 0
   (and (eq_attr "type" "imul")
        (eq_attr "cpu" "ppc601,ppc603,ppc604,ppc620"))
        (eq_attr "cpu" "rios1"))
   19 0)
 
-(define_function_unit "iu" 1 0
-  (and (eq_attr "type" "idiv")
-       (eq_attr "cpu" "rios2"))
-  13 0)
-
 (define_function_unit "iu" 1 0
   (and (eq_attr "type" "idiv")
        (eq_attr "cpu" "ppc601,ppc603,ppc604,ppc620"))
        (eq_attr "cpu" "ppc603,ppc604,ppc620"))
   31 0)
 
+(define_function_unit "iu2" 2 0
+  (and (eq_attr "type" "integer")
+       (eq_attr "cpu" "rios2"))
+  1 0
+  [(eq_attr "type" "imul,idiv")])
+(define_function_unit "imuldiv" 1 0
+  (and (eq_attr "type" "imul")
+       (eq_attr "cpu" "rios2"))
+  2 0
+  [(eq_attr "type" "integer")])
+(define_function_unit "imuldiv" 1 0
+  (and (eq_attr "type" "idiv")
+       (eq_attr "cpu" "rios2"))
+  13 0
+  [(eq_attr "type" "integer")])
 (define_function_unit "fpu2" 2 0
   (and (eq_attr "type" "fp")
        (eq_attr "cpu" "rios2"))