aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMichael Hayes <m.hayes@elec.canterbury.ac.nz>1999-04-02 15:39:55 +0000
committerMichael Hayes <m.hayes@gcc.gnu.org>1999-04-02 15:39:55 +0000
commit6e01bd94f8b53772367ee1860fde5f5c06891873 (patch)
tree6f697a65ccb6286b9ce4a6e8687a4a9f20a8d2fb /gcc
parent8f0327178b2158f8c6ee5996b2bd12c7dde8dbe8 (diff)
downloadgcc-6e01bd94f8b53772367ee1860fde5f5c06891873.zip
gcc-6e01bd94f8b53772367ee1860fde5f5c06891873.tar.gz
gcc-6e01bd94f8b53772367ee1860fde5f5c06891873.tar.bz2
tm.texi (USE_LOAD_POST_DECREMENT, [...]): Document.
* tm.texi (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT, USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT): Document. (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT, USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Fix documentation. * rtl.h (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT, USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT, USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT, USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Provide default definition. * expr.c: (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT, USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Delete default definition. From-SVN: r26134
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog17
-rw-r--r--gcc/expr.c20
-rw-r--r--gcc/rtl.h38
-rw-r--r--gcc/tm.texi52
4 files changed, 93 insertions, 34 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index af48014..2df336d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,20 @@
+Sat Apr 3 11:37:20 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * tm.texi (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
+ USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT): Document.
+ (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
+ USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Fix documentation.
+
+ * rtl.h (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
+ USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT,
+ USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
+ USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Provide default
+ definition.
+
+ * expr.c: (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
+ USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Delete default
+ definition.
+
Fri Apr 2 16:03:05 1999 Jeffrey A Law (law@cygnus.com)
* fixinc.dgux, fixinc.interix, fixinc.irix, fixinc.ptx: Deleted.
diff --git a/gcc/expr.c b/gcc/expr.c
index 3c18b73..d2ebdc3 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1402,26 +1402,6 @@ convert_modes (mode, oldmode, x, unsignedp)
#define MOVE_MAX_PIECES MOVE_MAX
#endif
-/* Some architectures do not have complete pre/post increment/decrement
- instruction sets, or only move some modes efficiently. these macros
- allow us to fine tune move_by_pieces for these targets. */
-
-#ifndef USE_LOAD_POST_INCREMENT
-#define USE_LOAD_POST_INCREMENT(MODE) HAVE_POST_INCREMENT
-#endif
-
-#ifndef USE_LOAD_PRE_DECREMENT
-#define USE_LOAD_PRE_DECREMENT(MODE) HAVE_PRE_DECREMENT
-#endif
-
-#ifndef USE_STORE_POST_INCREMENT
-#define USE_STORE_POST_INCREMENT(MODE) HAVE_POST_INCREMENT
-#endif
-
-#ifndef USE_STORE_PRE_DECREMENT
-#define USE_STORE_PRE_DECREMENT(MODE) HAVE_PRE_DECREMENT
-#endif
-
/* Generate several move instructions to copy LEN bytes
from block FROM to block TO. (These are MEM rtx's with BLKmode).
The caller must pass FROM and TO
diff --git a/gcc/rtl.h b/gcc/rtl.h
index f6a87f2..2661934 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -755,6 +755,44 @@ extern char *note_insn_name[];
#define HAVE_POST_DECREMENT 0
#endif
+
+/* Some architectures do not have complete pre/post increment/decrement
+ instruction sets, or only move some modes efficiently. These macros
+ allow us to tune autoincrement generation. */
+
+#ifndef USE_LOAD_POST_INCREMENT
+#define USE_LOAD_POST_INCREMENT(MODE) HAVE_POST_INCREMENT
+#endif
+
+#ifndef USE_LOAD_POST_DECREMENT
+#define USE_LOAD_POST_DECREMENT(MODE) HAVE_POST_DECREMENT
+#endif
+
+#ifndef USE_LOAD_PRE_INCREMENT
+#define USE_LOAD_PRE_INCREMENT(MODE) HAVE_PRE_INCREMENT
+#endif
+
+#ifndef USE_LOAD_PRE_DECREMENT
+#define USE_LOAD_PRE_DECREMENT(MODE) HAVE_PRE_DECREMENT
+#endif
+
+#ifndef USE_STORE_POST_INCREMENT
+#define USE_STORE_POST_INCREMENT(MODE) HAVE_POST_INCREMENT
+#endif
+
+#ifndef USE_STORE_POST_DECREMENT
+#define USE_STORE_POST_DECREMENT(MODE) HAVE_POST_DECREMENT
+#endif
+
+#ifndef USE_STORE_PRE_INCREMENT
+#define USE_STORE_PRE_INCREMENT(MODE) HAVE_PRE_INCREMENT
+#endif
+
+#ifndef USE_STORE_PRE_DECREMENT
+#define USE_STORE_PRE_DECREMENT(MODE) HAVE_PRE_DECREMENT
+#endif
+
+
/* Accessors for RANGE_INFO. */
/* For RANGE_{START,END} notes return the RANGE_START note. */
#define RANGE_INFO_NOTE_START(INSN) (XEXP (INSN, 0))
diff --git a/gcc/tm.texi b/gcc/tm.texi
index bed9e0a..8e6797a 100644
--- a/gcc/tm.texi
+++ b/gcc/tm.texi
@@ -4777,37 +4777,61 @@ If you don't define this, a reasonable default is used.
@item MOVE_BY_PIECES_P (@var{size}, @var{alignment})
A C expression used to determine whether @code{move_by_pieces} will be used to
copy a chunk of memory, or whether some other block move mechanism
-will be used. Defaults to 1 if @code{move_by_pieces_ninsns} returns less
+will be used. Defaults to 1 if @code{move_by_pieces_ninsns} returns less
than @code{MOVE_RATIO}.
@findex MOVE_MAX_PIECES
@item MOVE_MAX_PIECES
A C expression used by @code{move_by_pieces} to determine the largest unit
-a load or store used to copy memory is. Defaults to @code{MOVE_MAX}.
+a load or store used to copy memory is. Defaults to @code{MOVE_MAX}.
@findex USE_LOAD_POST_INCREMENT
@item USE_LOAD_POST_INCREMENT (@var{mode})
-A C expression used to determine whether a load postincrement is
-a good thing for @code{move_by_pieces} to use for a given mode. Defaults
-to the value of @code{HAVE_POST_INCREMENT}.
+A C expression used to determine whether a load postincrement is a good
+thing to use for a given mode. Defaults to the value of
+@code{HAVE_POST_INCREMENT}.
+
+@findex USE_LOAD_POST_DECREMENT
+@item USE_LOAD_POST_DECREMENT (@var{mode})
+A C expression used to determine whether a load postdecrement is a good
+thing to use for a given mode. Defaults to the value of
+@code{HAVE_POST_DECREMENT}.
@findex USE_LOAD_PRE_INCREMENT
@item USE_LOAD_PRE_INCREMENT (@var{mode})
-A C expression used to determine whether a load preincrement is
-a good thing for @code{move_by_pieces} to use for a given mode. Defaults
-to the value of @code{HAVE_PRE_INCREMENT}.
+A C expression used to determine whether a load preincrement is a good
+thing to use for a given mode. Defaults to the value of
+@code{HAVE_PRE_INCREMENT}.
+
+@findex USE_LOAD_PRE_DECREMENT
+@item USE_LOAD_PRE_DECREMENT (@var{mode})
+A C expression used to determine whether a load predecrement is a good
+thing to use for a given mode. Defaults to the value of
+@code{HAVE_PRE_DECREMENT}.
@findex USE_STORE_POST_INCREMENT
@item USE_STORE_POST_INCREMENT (@var{mode})
-A C expression used to determine whether a store postincrement is
-a good thing for @code{move_by_pieces} to use for a given mode. Defaults
-to the value of @code{HAVE_POST_INCREMENT}.
+A C expression used to determine whether a store postincrement is a good
+thing to use for a given mode. Defaults to the value of
+@code{HAVE_POST_INCREMENT}.
+
+@findex USE_STORE_POST_DECREMENT
+@item USE_STORE_POST_DECREMENT (@var{mode})
+A C expression used to determine whether a store postdeccrement is a good
+thing to use for a given mode. Defaults to the value of
+@code{HAVE_POST_DECREMENT}.
@findex USE_STORE_PRE_INCREMENT
@item USE_STORE_PRE_INCREMENT (@var{mode})
-This macro is used to determine whether a store preincrement is
-a good thing for @code{move_by_pieces} to use for a given mode. Defaults
-to the value of @code{HAVE_PRE_INCREMENT}.
+This macro is used to determine whether a store preincrement is a good
+thing to use for a given mode. Defaults to the value of
+@code{HAVE_PRE_INCREMENT}.
+
+@findex USE_STORE_PRE_DECREMENT
+@item USE_STORE_PRE_DECREMENT (@var{mode})
+This macro is used to determine whether a store predecrement is a good
+thing to use for a given mode. Defaults to the value of
+@code{HAVE_PRE_DECREMENT}.
@findex NO_FUNCTION_CSE
@item NO_FUNCTION_CSE