Commit 73c8090f by David Edelsohn

tm.texi: document STACK_SAVEAREA_MODE.

md.texi: update save_stack_* pattern description.

From-SVN: r20844
parent 2067f1f5
...@@ -2412,14 +2412,15 @@ such required data. ...@@ -2412,14 +2412,15 @@ such required data.
@end enumerate @end enumerate
When saving the stack pointer, operand 0 is the save area and operand 1 When saving the stack pointer, operand 0 is the save area and operand 1
is the stack pointer. The mode used to allocate the save area is the is the stack pointer. The mode used to allocate the save area defaults
mode of operand 0. You must specify an integral mode, or to @code{Pmode} but you can override that choice by defining the
@code{VOIDmode} if no save area is needed for a particular type of save @code{STACK_SAVEAREA_MODE} macro (@pxref{Storage_Layout}). You must
(either because no save is needed or because a machine-specific save specify an integral mode, or @code{VOIDmode} if no save area is needed
area can be used). Operand 0 is the stack pointer and operand 1 is the for a particular type of save (either because no save is needed or
save area for restore operations. If @samp{save_stack_block} is because a machine-specific save area can be used). Operand 0 is the
defined, operand 0 must not be @code{VOIDmode} since these saves can be stack pointer and operand 1 is the save area for restore operations. If
arbitrarily nested. @samp{save_stack_block} is defined, operand 0 must not be
@code{VOIDmode} since these saves can be arbitrarily nested.
A save area is a @code{mem} that is at a constant offset from A save area is a @code{mem} that is at a constant offset from
@code{virtual_stack_vars_rtx} when the stack pointer is saved for use by @code{virtual_stack_vars_rtx} when the stack pointer is saved for use by
......
...@@ -979,6 +979,19 @@ this size or smaller can be used for structures and unions with the ...@@ -979,6 +979,19 @@ this size or smaller can be used for structures and unions with the
appropriate sizes. If this macro is undefined, @code{GET_MODE_BITSIZE appropriate sizes. If this macro is undefined, @code{GET_MODE_BITSIZE
(DImode)} is assumed. (DImode)} is assumed.
@findex STACK_SAVEAREA_MODE
@item STACK_SAVEAREA_MODE (@var{save_level})
If defined, an expression of type @code{enum machine_mode} that
specifies the mode of a @code{save_stack_@var{level}} named pattern
(@pxref{Standard Names}). @var{save_level} is one of @code{SAVE_BLOCK},
@code{SAVE_FUNCTION}, or @code{SAVE_NONLOCAL} and selects which of the
three named patterns is having its mode specified.
You need not define this macro if it always returns @code{Pmode}. You
would most commonly define this macro if the
@code{save_stack_@var{level}} patterns need to support both a 32- and a
64-bit mode.
@findex CHECK_FLOAT_VALUE @findex CHECK_FLOAT_VALUE
@item CHECK_FLOAT_VALUE (@var{mode}, @var{value}, @var{overflow}) @item CHECK_FLOAT_VALUE (@var{mode}, @var{value}, @var{overflow})
A C statement to validate the value @var{value} (of type A C statement to validate the value @var{value} (of type
......
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