summaryrefslogtreecommitdiff
path: root/gcc/tm.texi
diff options
context:
space:
mode:
authorraeburn <raeburn@138bc75d-0d04-0410-961f-82ee72b054a4>1998-04-07 13:24:41 +0000
committerraeburn <raeburn@138bc75d-0d04-0410-961f-82ee72b054a4>1998-04-07 13:24:41 +0000
commit4c6850154f71dfe2196adf04daa6193d52b7197f (patch)
treebf79d75abdc3cd25b8178e72cb02346c7d041e99 /gcc/tm.texi
parent1f38cbd3d8fb3beaec2ded87d4d040d5b554ca4e (diff)
downloadgcc-4c6850154f71dfe2196adf04daa6193d52b7197f.tar.gz
Sync up MEMORY_MOVE_COST changes with FSF.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19032 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tm.texi')
-rw-r--r--gcc/tm.texi35
1 files changed, 19 insertions, 16 deletions
diff --git a/gcc/tm.texi b/gcc/tm.texi
index 9f704032f63..9b447126f81 100644
--- a/gcc/tm.texi
+++ b/gcc/tm.texi
@@ -4574,22 +4574,25 @@ if the @samp{mov@var{m}} pattern's constraints do not allow such copying.
@item MEMORY_MOVE_COST (@var{mode}, @var{class}, @var{in})
A C expression for the cost of moving data of mode @var{mode} between a
register of class @var{class} and memory; @var{in} is zero if the value
-is to be written to memory, non-zero if it is to be read in. If this
-macro is not defined, the default cost is assumed to be 4, plus any costs
-that would be incurred copying via a secondary reload register, if
-needed. This cost is relative to those in @code{REGISTER_MOVE_COST}.
-
-If moving between registers and memory is more expensive than between
-two registers, you should define this macro to express the relative cost.
-
-If a secondary reload register would be required for @var{class}, but the
-reload mechanism is more complex than copying via an intermediate, this
-macro should be defined to reflect the actual cost of the move.
-
-The function @code{memory_move_secondary_cost}, which is defined if
-secondary reloads are needed, will compute the costs due to copying; you
-can use this function if you need to take other factors into account as
-well, or if the default base value of 4 is not correct for your machine.
+is to be written to memory, non-zero if it is to be read in. This cost
+is relative to those in @code{REGISTER_MOVE_COST}. If moving between
+registers and memory is more expensive than between two registers, you
+should define this macro to express the relative cost.
+
+If you do not define this macro, GNU CC uses a default cost of 4 plus
+the cost of copying copying via a secondary reload register, if one is
+needed. If your machine requires a secondary reload register to copy
+between memory and a register of @var{class} but the reload mechanism is
+more complex than copying via an intermediate, define this macro to
+reflect the actual cost of the move.
+
+GNU CC defines the function @code{memory_move_secondary_cost} if
+secondary reloads are needed. It computes the costs due to copying via
+a secondary register. If your machine copies from memory using a
+secondary register in the conventional way but the default base value of
+4 is not correct for your machine, define this macro to add some other
+value to the result of that function. The arguments to that function
+are the same as to this macro.
@findex BRANCH_COST
@item BRANCH_COST