aboutsummaryrefslogtreecommitdiff
path: root/gcc/md.texi
diff options
context:
space:
mode:
authorMichael Meissner <meissner@gcc.gnu.org>1997-11-20 13:53:42 +0000
committerMichael Meissner <meissner@gcc.gnu.org>1997-11-20 13:53:42 +0000
commit72938a4c3a475ab3fc3c137d75faef113276aa4e (patch)
tree951fdfb3b9b29f06bd79ee72892b23a8c3fcc4c2 /gcc/md.texi
parentdd5e269d22880a0a5cfc965865f826fef4d9059b (diff)
downloadgcc-72938a4c3a475ab3fc3c137d75faef113276aa4e.zip
gcc-72938a4c3a475ab3fc3c137d75faef113276aa4e.tar.gz
gcc-72938a4c3a475ab3fc3c137d75faef113276aa4e.tar.bz2
Add missing @item
From-SVN: r16597
Diffstat (limited to 'gcc/md.texi')
-rw-r--r--gcc/md.texi15
1 files changed, 13 insertions, 2 deletions
diff --git a/gcc/md.texi b/gcc/md.texi
index 1d5d53d..ab89816 100644
--- a/gcc/md.texi
+++ b/gcc/md.texi
@@ -174,7 +174,9 @@ Operand numbers must be chosen consecutively counting from zero in
each instruction pattern. There may be only one @code{match_operand}
expression in the pattern for each operand number. Usually operands
are numbered in the order of appearance in @code{match_operand}
-expressions.
+expressions. In the case of a @code{define_expand}, any operand numbers
+used only in @code{match_dup} expressions have higher values than all
+other operand numbers.
@var{predicate} is a string that is the name of a C function that accepts two
arguments, an expression and a machine mode. During matching, the
@@ -2390,9 +2392,17 @@ nonlocal gotos and a @code{reg} in the other two cases.
@cindex @code{allocate_stack} instruction pattern
@item @samp{allocate_stack}
-Subtract (or add if @code{STACK_GROWS_DOWNWARD} is undefined) operand 0 from
+Subtract (or add if @code{STACK_GROWS_DOWNWARD} is undefined) operand 1 from
the stack pointer to create space for dynamically allocated data.
+Store the resultant pointer to this space into operand 0. If you
+are allocating space from the main stack, do this by emitting a
+move insn to copy @code{virtual_stack_dynamic_rtx} to operand 0.
+If you are allocating the space elsewhere, generate code to copy the
+location of the space to operand 0. In the latter case, you must
+ensure this space gets freed when the correspoinding space on the main
+stack is free.
+
Do not define this pattern if all that must be done is the subtraction.
Some machines require other operations such as stack probes or
maintaining the back chain. Define this pattern to emit those
@@ -2730,6 +2740,7 @@ converted into the appropriate multiplication by a power of two.
@cindex @code{ior}, canonicalization of
@cindex @code{and}, canonicalization of
@cindex De Morgan's law
+@item
De`Morgan's Law is used to move bitwise negation inside a bitwise
logical-and or logical-or operation. If this results in only one
operand being a @code{not} expression, it will be the first one.