aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-06-28 05:33:48 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-06-28 05:33:48 -0400
commitab4a5fc941f08f7db76538aba22f91bc15fe7a17 (patch)
tree999d5edd74dca61f8ea9efbfead0088ade283cff
parentbfbc64163320194077611f055a368d5144259fd3 (diff)
downloadgcc-ab4a5fc941f08f7db76538aba22f91bc15fe7a17.zip
gcc-ab4a5fc941f08f7db76538aba22f91bc15fe7a17.tar.gz
gcc-ab4a5fc941f08f7db76538aba22f91bc15fe7a17.tar.bz2
(MEMORY_MOVE_COST): Make processor-dependent.
From-SVN: r7577
-rw-r--r--gcc/config/rs6000/rs6000.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 947bc19..5b15aa9 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -485,7 +485,11 @@ extern char *rs6000_cpu_string;
On the RS/6000, bump this up a bit. */
-#define MEMORY_MOVE_COST(MODE) 6
+#define MEMORY_MOVE_COST(MODE) \
+ ((GET_MODE_CLASS (MODE) == MODE_FLOAT \
+ && (rs6000_cpu == PROCESSOR_RIOS1 || rs6000_cpu == PROCESSOR_PPC601) \
+ ? 3 : 2) \
+ + 4)
/* Specify the cost of a branch insn; roughly the number of extra insns that
should be added to avoid a branch.