Commit 6e01bd94 by Michael Hayes Committed by Michael Hayes

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
parent 8f032717
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) Fri Apr 2 16:03:05 1999 Jeffrey A Law (law@cygnus.com)
* fixinc.dgux, fixinc.interix, fixinc.irix, fixinc.ptx: Deleted. * fixinc.dgux, fixinc.interix, fixinc.irix, fixinc.ptx: Deleted.
......
...@@ -1402,26 +1402,6 @@ convert_modes (mode, oldmode, x, unsignedp) ...@@ -1402,26 +1402,6 @@ convert_modes (mode, oldmode, x, unsignedp)
#define MOVE_MAX_PIECES MOVE_MAX #define MOVE_MAX_PIECES MOVE_MAX
#endif #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 /* Generate several move instructions to copy LEN bytes
from block FROM to block TO. (These are MEM rtx's with BLKmode). from block FROM to block TO. (These are MEM rtx's with BLKmode).
The caller must pass FROM and TO The caller must pass FROM and TO
......
...@@ -755,6 +755,44 @@ extern char *note_insn_name[]; ...@@ -755,6 +755,44 @@ extern char *note_insn_name[];
#define HAVE_POST_DECREMENT 0 #define HAVE_POST_DECREMENT 0
#endif #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. */ /* Accessors for RANGE_INFO. */
/* For RANGE_{START,END} notes return the RANGE_START note. */ /* For RANGE_{START,END} notes return the RANGE_START note. */
#define RANGE_INFO_NOTE_START(INSN) (XEXP (INSN, 0)) #define RANGE_INFO_NOTE_START(INSN) (XEXP (INSN, 0))
......
...@@ -4777,37 +4777,61 @@ If you don't define this, a reasonable default is used. ...@@ -4777,37 +4777,61 @@ If you don't define this, a reasonable default is used.
@item MOVE_BY_PIECES_P (@var{size}, @var{alignment}) @item MOVE_BY_PIECES_P (@var{size}, @var{alignment})
A C expression used to determine whether @code{move_by_pieces} will be used to 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 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}. than @code{MOVE_RATIO}.
@findex MOVE_MAX_PIECES @findex MOVE_MAX_PIECES
@item MOVE_MAX_PIECES @item MOVE_MAX_PIECES
A C expression used by @code{move_by_pieces} to determine the largest unit 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 @findex USE_LOAD_POST_INCREMENT
@item USE_LOAD_POST_INCREMENT (@var{mode}) @item USE_LOAD_POST_INCREMENT (@var{mode})
A C expression used to determine whether a load postincrement is A C expression used to determine whether a load postincrement is a good
a good thing for @code{move_by_pieces} to use for a given mode. Defaults thing to use for a given mode. Defaults to the value of
to the value of @code{HAVE_POST_INCREMENT}. @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 @findex USE_LOAD_PRE_INCREMENT
@item USE_LOAD_PRE_INCREMENT (@var{mode}) @item USE_LOAD_PRE_INCREMENT (@var{mode})
A C expression used to determine whether a load preincrement is A C expression used to determine whether a load preincrement is a good
a good thing for @code{move_by_pieces} to use for a given mode. Defaults thing to use for a given mode. Defaults to the value of
to the value of @code{HAVE_PRE_INCREMENT}. @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 @findex USE_STORE_POST_INCREMENT
@item USE_STORE_POST_INCREMENT (@var{mode}) @item USE_STORE_POST_INCREMENT (@var{mode})
A C expression used to determine whether a store postincrement is A C expression used to determine whether a store postincrement is a good
a good thing for @code{move_by_pieces} to use for a given mode. Defaults thing to use for a given mode. Defaults to the value of
to the value of @code{HAVE_POST_INCREMENT}. @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 @findex USE_STORE_PRE_INCREMENT
@item USE_STORE_PRE_INCREMENT (@var{mode}) @item USE_STORE_PRE_INCREMENT (@var{mode})
This macro is used to determine whether a store preincrement is This macro is used to determine whether a store preincrement is a good
a good thing for @code{move_by_pieces} to use for a given mode. Defaults thing to use for a given mode. Defaults to the value of
to the value of @code{HAVE_PRE_INCREMENT}. @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 @findex NO_FUNCTION_CSE
@item NO_FUNCTION_CSE @item NO_FUNCTION_CSE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment