diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/1750a/1750a.h | 4 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.h | 8 | ||||
-rw-r--r-- | gcc/config/clipper/clipper.h | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.h | 8 | ||||
-rw-r--r-- | gcc/expr.c | 4 |
6 files changed, 25 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fbe1bae..8586b04 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +Tue Sep 8 23:46:04 1998 Hans-Peter Nilsson <hp@axis.se> + + * expr.c: Corrected comment about what MOVE_RATIO does. + * config/alpha/alpha.h: Ditto. + * config/1750a/1750a.h: Ditto. + * config/clipper/clipper.h: Ditto. + * config/i386/i386.h: Ditto. + Tue Sep 8 22:56:12 1998 Jeffrey A Law (law@cygnus.com) * configure.in (m68k-next-nextstep3*): Use collect2. diff --git a/gcc/config/1750a/1750a.h b/gcc/config/1750a/1750a.h index e49f694..0a3aa8e 100644 --- a/gcc/config/1750a/1750a.h +++ b/gcc/config/1750a/1750a.h @@ -854,8 +854,8 @@ enum reg_class { NO_REGS, R2, R0_1, INDEX_REGS, BASE_REGS, ALL_REGS, LIM_REG_CLA in one reasonably fast instruction. */ #define MOVE_MAX 65536 -/* MOVE_RATIO is the number of move instructions that is better than a - block move. */ +/* If a memory-to-memory move would take MOVE_RATIO or more simple + move-instruction pairs, we will do a movstr or libcall instead. */ #define MOVE_RATIO 4 /* Define this if zero-extension is slow (more than one real instruction). */ diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h index 9aacab5..2021e67 100644 --- a/gcc/config/alpha/alpha.h +++ b/gcc/config/alpha/alpha.h @@ -1586,9 +1586,11 @@ do { \ #define MOVE_MAX 8 -/* Controls how many units are moved by expr.c before resorting to movstr. - Without byte/word accesses, we want no more than one; with, several single - byte accesses are better. */ +/* If a memory-to-memory move would take MOVE_RATIO or more simple + move-instruction pairs, we will do a movstr or libcall instead. + + Without byte/word accesses, we want no more than four instructions; + with, several single byte accesses are better. */ #define MOVE_RATIO (TARGET_BWX ? 7 : 2) diff --git a/gcc/config/clipper/clipper.h b/gcc/config/clipper/clipper.h index 407caa2..8ce8c47 100644 --- a/gcc/config/clipper/clipper.h +++ b/gcc/config/clipper/clipper.h @@ -815,8 +815,10 @@ do \ in one reasonably fast instruction. */ #define MOVE_MAX 4 -/* MOVE_RATIO is the number of move instructions that is better than a - block move. Make this large on clipper, since the block move is very +/* If a memory-to-memory move would take MOVE_RATIO or more simple + move-instruction pairs, we will do a movstr or libcall instead. + + Make this large on clipper, since the block move is very inefficient with small blocks, and the hard register needs of the block move require much reload work. */ diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 2042a6b..2cd7754 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -1890,10 +1890,10 @@ while (0) in one reasonably fast instruction. */ #define MOVE_MAX 4 -/* The number of scalar move insns which should be generated instead - of a string move insn or a library call. Increasing the value - will always make code faster, but eventually incurs high cost in - increased code size. +/* If a memory-to-memory move would take MOVE_RATIO or more simple + move-instruction pairs, we will do a movstr or libcall instead. + Increasing the value will always make code faster, but eventually + incurs high cost in increased code size. If you don't define this, a reasonable default is used. @@ -203,8 +203,8 @@ static rtx do_store_flag PROTO((tree, rtx, enum machine_mode, int)); static char direct_load[NUM_MACHINE_MODES]; static char direct_store[NUM_MACHINE_MODES]; -/* MOVE_RATIO is the number of move instructions that is better than - a block move. */ +/* If a memory-to-memory move would take MOVE_RATIO or more simple + move-instruction sequences, we will do a movstr or libcall instead. */ #ifndef MOVE_RATIO #if defined (HAVE_movstrqi) || defined (HAVE_movstrhi) || defined (HAVE_movstrsi) || defined (HAVE_movstrdi) || defined (HAVE_movstrti) |