tm.texi (USE_LOAD_POST_DECREMENT, [...]): Document.
authorMichael Hayes <m.hayes@elec.canterbury.ac.nz>
Fri, 2 Apr 1999 15:39:55 +0000 (15:39 +0000)
committerMichael Hayes <m.hayes@gcc.gnu.org>
Fri, 2 Apr 1999 15:39:55 +0000 (15:39 +0000)
* 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

gcc/ChangeLog
gcc/expr.c
gcc/rtl.h
gcc/tm.texi

index af48014173b9e69d854725ddf641866d7c1602b3..2df336ddadff5b370a09e496e84f53bad902cbfc 100644 (file)
@@ -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.
index 3c18b73003845d20b10116a12cc92e9e7dd2052a..d2ebdc31b73a5f0cb0dd5278139a09b497295bbe 100644 (file)
@@ -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
index f6a87f25942237c97a0014145295c33b6430ef28..2661934dd18d241f2434cf9ac68c03485ba1ee3a 100644 (file)
--- 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))
index bed9e0a4ff56a99a171b98acdae3f492371ce0fd..8e6797a9e7f726ef1f12b9dc32499e51b80b3f7e 100644 (file)
@@ -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