rs6000.md: Remove ppc630 fpcompare from single fpu list.
authorDavid Edelsohn <edelsohn@gnu.org>
Sat, 20 Jul 2002 02:20:16 +0000 (02:20 +0000)
committerDavid Edelsohn <dje@gcc.gnu.org>
Sat, 20 Jul 2002 02:20:16 +0000 (22:20 -0400)
        * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
        fpu list.  Separate Power4 compare and delayed_compare.  Correct
        Power4 fpcompare.
        (fix_truncdfsi2_internal): Restore FPR preference.
        * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
        mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.

From-SVN: r55601

gcc/ChangeLog
gcc/config/rs6000/rs6000.md
gcc/config/rs6000/t-aix43

index 09726504cb714166696b4e1fee59fea8825b960f..6720f50f2b2af2eb3162279ab59c8fc4e8bd0cab 100644 (file)
@@ -1,3 +1,12 @@
+2002-07-19  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
+       fpu list.  Separate Power4 compare and delayed_compare.  Correct
+       Power4 fpcompare.
+       (fix_truncdfsi2_internal): Restore FPR preference.
+       * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
+       mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
+
 2002-07-19  Momchil Velikov <velco@fadata.bg>
 
        * reload1.c (reload_as_needed): Duplicate oldpat.
index aa7cb3ab62367c793c41da7b6e47b8a61f3a0614..de766637b5d4a3a5a639e086363e8d7706936bed 100644 (file)
 ; fp compare uses fp unit
 (define_function_unit "fpu" 1 0
   (and (eq_attr "type" "fpcompare")
-       (eq_attr "cpu" "rs64a,ppc601,ppc603,ppc604,ppc604e,ppc620,ppc630"))
+       (eq_attr "cpu" "rs64a,ppc601,ppc603,ppc604,ppc604e,ppc620"))
   5 1)
 
 (define_function_unit "fpu" 1 0
   68 67)
 
 (define_function_unit "iu2" 2 0
-  (and (eq_attr "type" "compare,delayed_compare")
+  (and (eq_attr "type" "compare")
        (eq_attr "cpu" "power4"))
-  2 1)
+  3 1)
 
 (define_function_unit "iu2" 2 0
-  (and (eq_attr "type" "mtjmpr")
+  (and (eq_attr "type" "delayed_compare")
        (eq_attr "cpu" "power4"))
-  3 1)
+  4 1)
 
 (define_function_unit "bpu" 1 0
   (and (eq_attr "type" "mtjmpr")
        (eq_attr "cpu" "power4"))
   6 1)
 
+; adjust_cost increases the cost of dependent branches,
+; so shave a few cycles off for fpcompare.
 (define_function_unit "fpu2" 2 0
   (and (eq_attr "type" "fpcompare")
        (eq_attr "cpu" "power4"))
-  8 2)
+  5 1)
 
 (define_function_unit "fpu2" 2 0
   (and (eq_attr "type" "sdiv,ddiv")
 (define_insn "*fix_truncdfsi2_internal"
   [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
        (fix:SI (match_operand:DF 1 "gpc_reg_operand" "f")))
-   (clobber (match_operand:DI 2 "gpc_reg_operand" "=*f"))
+   (clobber (match_operand:DI 2 "gpc_reg_operand" "=f"))
    (clobber (match_operand:DI 3 "memory_operand" "=o"))]
   "(TARGET_POWER2 || TARGET_POWERPC) && TARGET_HARD_FLOAT"
   "#"
index 7be8ebc474f8b3f548aadba03c991d6bc5cb7d97..1acccf64d10f598bf1cb7bd2d7b87898d1d668e2 100644 (file)
@@ -19,27 +19,24 @@ MULTILIB_OPTIONS    = pthread \
 MULTILIB_DIRNAMES      = pthread \
                          common power powerpc ppc64
 
-MULTILIB_MATCHES       = mcpu?power=mpower \
-                         mcpu?power=mrios1 \
+MULTILIB_MATCHES       = mcpu?power=mcpu?power \
+                         mcpu?power=mcpu?power2 \
+                         mcpu?powerpc=mcpu?power3 \
+                         mcpu?powerpc=mcpu?power4 \
+                         mcpu?powerpc=mcpu?powerpc \
                          mcpu?power=mcpu?rios1 \
+                         mcpu?power=mcpu?rios2 \
                          mcpu?power=mcpu?rsc \
                          mcpu?power=mcpu?rsc1 \
-                         mcpu?power=mpower2 \
-                         mcpu?power=mrios2 \
-                         mcpu?power=mcpu?rios2 \
                          mcpu?powerpc=mcpu?rs64a \
                          mcpu?powerpc=mcpu?601 \
                          mcpu?powerpc=mcpu?602 \
                          mcpu?powerpc=mcpu?603 \
                          mcpu?powerpc=mcpu?603e \
                          mcpu?powerpc=mcpu?604 \
+                         mcpu?powerpc=mcpu?604e \
                          mcpu?powerpc=mcpu?620 \
-                         mcpu?powerpc=mcpu?630 \
-                         mcpu?powerpc=mcpu?750 \
-                         mcpu?powerpc=mcpu?403 \
-                         mcpu?powerpc=mpowerpc \
-                         mcpu?powerpc=mpowerpc-gpopt \
-                         mcpu?powerpc=mpowerpc-gfxopt
+                         mcpu?powerpc=mcpu?630
 
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib