aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/1750a/1750a.h4
-rw-r--r--gcc/config/alpha/alpha.h8
-rw-r--r--gcc/config/clipper/clipper.h6
-rw-r--r--gcc/config/i386/i386.h8
-rw-r--r--gcc/expr.c4
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.
diff --git a/gcc/expr.c b/gcc/expr.c
index 0390126..dbf19ff 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -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)