2008-01-24 Andreas Krebbel <krebbel1@de.ibm.com>
authorkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 24 Jan 2008 18:06:20 +0000 (18:06 +0000)
committerkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 24 Jan 2008 18:06:20 +0000 (18:06 +0000)
* config/s390/s390.h (MOVE_RATIO): Define new target macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131799 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/s390/s390.h

index d4d310c..4047d86 100644 (file)
@@ -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
index 3ce8498..a19cdd4 100644 (file)
@@ -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.  */