Readd 403 support; Move compares well ahead of branch for PowerPC
authorMichael Meissner <meissner@gcc.gnu.org>
Fri, 22 Dec 1995 21:03:01 +0000 (21:03 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Fri, 22 Dec 1995 21:03:01 +0000 (21:03 +0000)
From-SVN: r10832

gcc/config/rs6000/rs6000.md

index f3b10f0f8de1e77749394a0cbc663a10ab385370..5da324c4fcb272cc5cfddcd150ed35d21fcbf2ac 100644 (file)
@@ -65,7 +65,7 @@
 
 (define_function_unit "iu" 1 0
   (and (eq_attr "type" "load")
-       (eq_attr "cpu" "rios1,ppc601"))
+       (eq_attr "cpu" "rios1,ppc601,ppc403"))
   2 1)
 
 (define_function_unit "iu" 1 0
        (eq_attr "cpu" "rios1"))
   3 3)
 
+(define_function_unit "iu" 1 0
+  (and (eq_attr "type" "imul")
+       (eq_attr "cpu" "ppc403"))
+  4 4)
+
 (define_function_unit "iu" 1 0
   (and (eq_attr "type" "imul")
        (eq_attr "cpu" "ppc601,ppc602,ppc603"))
        (eq_attr "cpu" "ppc601"))
   36 36)
 
+(define_function_unit "iu" 1 0
+  (and (eq_attr "type" "idiv")
+       (eq_attr "cpu" "ppc403"))
+  33 33)
+
 (define_function_unit "iu" 1 0
   (and (eq_attr "type" "idiv")
        (eq_attr "cpu" "ppc602,ppc603"))
 
 (define_function_unit "bpu" 1 0   
   (and (eq_attr "type" "compare")
-       (eq_attr "cpu" "rios1,rios2,ppc601"))
+       (eq_attr "cpu" "rios1,rios2,ppc403,ppc601,ppc603,ppc604,ppc620"))
   4 1)
 
 ; different machines have different compare timings
 
 (define_function_unit "bpu" 1 0
   (and (eq_attr "type" "mtjmpr")
-       (eq_attr "cpu" "ppc601,ppc602,ppc603,ppc604,ppc620"))
+       (eq_attr "cpu" "ppc403,ppc601,ppc602,ppc603,ppc604,ppc620"))
   4 0)
 
 ; all jumps/branches are executing on the bpu, in 1 cycle, for all machines.