aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2002-09-10 18:46:06 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2002-09-10 18:46:06 +0000
commit33b679d10a7186845cba6c783c85a7fb841aeac9 (patch)
tree6edb00d4528800f6f25e492330a490cd81428edd /gcc/config
parenta886956a40a502e3b7ae25e6b79195985c30a1bf (diff)
downloadgcc-33b679d10a7186845cba6c783c85a7fb841aeac9.zip
gcc-33b679d10a7186845cba6c783c85a7fb841aeac9.tar.gz
gcc-33b679d10a7186845cba6c783c85a7fb841aeac9.tar.bz2
s390.h (MOVE_MAX): Define to correct value.
* config/s390/s390.h (MOVE_MAX): Define to correct value. (MAX_MOVE_MAX): Define. (MOVE_BY_PIECES_P): Define. (CLEAR_BY_PIECES_P): Define. From-SVN: r57010
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/s390/s390.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index 781dc2e..40b94f0 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -1035,10 +1035,23 @@ CUMULATIVE_ARGS;
#define DEFAULT_SIGNED_CHAR 0
-/* Max number of bytes we can move from memory to memory in one reasonably
- fast instruction. */
+/* The maximum number of bytes that a single instruction can move quickly
+ between memory and registers or between two memory locations. */
-#define MOVE_MAX 256
+#define MOVE_MAX (TARGET_64BIT ? 16 : 8)
+#define MAX_MOVE_MAX 16
+
+/* Determine whether to use move_by_pieces or block move insn. */
+
+#define MOVE_BY_PIECES_P(SIZE, ALIGN) \
+ ( (SIZE) == 1 || (SIZE) == 2 || (SIZE) == 4 \
+ || (TARGET_64BIT && (SIZE) == 8) )
+
+/* Determine whether to use clear_by_pieces or block clear insn. */
+
+#define CLEAR_BY_PIECES_P(SIZE, ALIGN) \
+ ( (SIZE) == 1 || (SIZE) == 2 || (SIZE) == 4 \
+ || (TARGET_64BIT && (SIZE) == 8) )
/* Nonzero if access to memory by bytes is slow and undesirable. */