From 33b679d10a7186845cba6c783c85a7fb841aeac9 Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Tue, 10 Sep 2002 18:46:06 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ gcc/config/s390/s390.h | 19 ++++++++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1bad2c675151..6242b777d9e3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2002-09-10 Ulrich Weigand + + * config/s390/s390.h (MOVE_MAX): Define to correct value. + (MAX_MOVE_MAX): Define. + (MOVE_BY_PIECES_P): Define. + (CLEAR_BY_PIECES_P): Define. + 2002-09-10 Denis Chertykov * config/avr/avr.md (movstrhi): Use right operands for conversion. diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h index 781dc2ea7e42..40b94f0b1a22 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. */ -- 2.47.2