aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel1@de.ibm.com>2008-01-24 18:06:20 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2008-01-24 18:06:20 +0000
commit5f1b2ee68fd6f165fe469c6ce55016fd8033fdcc (patch)
treec3c0fd281734f5db6e80b3263359fc56176d434f
parent986d97ed88e7abef3addb0d867dc20378f5dd290 (diff)
downloadgcc-5f1b2ee68fd6f165fe469c6ce55016fd8033fdcc.zip
gcc-5f1b2ee68fd6f165fe469c6ce55016fd8033fdcc.tar.gz
gcc-5f1b2ee68fd6f165fe469c6ce55016fd8033fdcc.tar.bz2
s390.h (MOVE_RATIO): Define new target macro.
2008-01-24 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/s390.h (MOVE_RATIO): Define new target macro. From-SVN: r131799
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/s390/s390.h10
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d4d310c..4047d86 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2008-01-24 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390.h (MOVE_RATIO): Define new target macro.
+
2008-01-24 Richard Sandiford <rsandifo@nildram.co.uk>
PR tree-optimization/34472
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index 3ce8498..a19cdd4 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -815,6 +815,16 @@ extern struct rtx_def *s390_compare_op0, *s390_compare_op1, *s390_compare_emitte
/* Don't perform CSE on function addresses. */
#define NO_FUNCTION_CSE
+/* This value is used in tree-sra to decide whether it might benefical
+ to split a struct move into several word-size moves. For S/390
+ only small values make sense here since struct moves are relatively
+ cheap thanks to mvc so the small default value choosen for archs
+ with memmove patterns should be ok. But this value is multiplied
+ in tree-sra with UNITS_PER_WORD to make a decision so we adjust it
+ here to compensate for that factor since mvc costs exactly the same
+ on 31 and 64 bit. */
+#define MOVE_RATIO (TARGET_64BIT? 2 : 4)
+
/* Sections. */