diff options
author | Michael Hayes <m.hayes@elec.canterbury.ac.nz> | 1999-04-02 15:39:55 +0000 |
---|---|---|
committer | Michael Hayes <m.hayes@gcc.gnu.org> | 1999-04-02 15:39:55 +0000 |
commit | 6e01bd94f8b53772367ee1860fde5f5c06891873 (patch) | |
tree | 6f697a65ccb6286b9ce4a6e8687a4a9f20a8d2fb /gcc | |
parent | 8f0327178b2158f8c6ee5996b2bd12c7dde8dbe8 (diff) | |
download | gcc-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/ChangeLog | 17 | ||||
-rw-r--r-- | gcc/expr.c | 20 | ||||
-rw-r--r-- | gcc/rtl.h | 38 | ||||
-rw-r--r-- | gcc/tm.texi | 52 |
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. @@ -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 @@ -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 |