mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-05 14:59:45 +08:00
Fix docs for ADDRESS rtx
From-SVN: r29888
This commit is contained in:
parent
17bec8eee7
commit
f0f616824e
@ -3,6 +3,11 @@ Sun Oct 10 13:28:48 1999 Bernd Schmidt <bernds@cygnus.co.uk>
|
||||
* loop.c (find_and_verify_loops): When looking for a BARRIER, don't
|
||||
use one before a jump table.
|
||||
|
||||
* rtl.def (ADDRESS): Change documentation to match reality.
|
||||
* md.texi: Don't document it.
|
||||
* gmicro.md (load address pattern): Use 'p' constraint, delete use
|
||||
of ADDRESS rtx.
|
||||
|
||||
Sun Oct 10 02:41:41 1999 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* genrecog.c (add_to_sequence): Move allow_const_int test outside
|
||||
|
@ -2624,7 +2624,7 @@
|
||||
/* mova.[whq] 89.08.11 for test M.Yuhara */
|
||||
;(define_insn ""
|
||||
; [(set (match_operand:SI 0 "general_operand" "=rm")
|
||||
; (address (match_operand:SI 1 "address_operand" "p")))]
|
||||
; (match_operand:SI 1 "address_operand" "p"))]
|
||||
; ""
|
||||
; "*
|
||||
;{
|
||||
@ -2645,7 +2645,7 @@
|
||||
|
||||
(define_insn ""
|
||||
[(set (match_operand:SI 0 "general_operand" "=rm")
|
||||
(address (match_operand:HI 1 "address_operand" "")))]
|
||||
(match_operand:HI 1 "address_operand" "p"))]
|
||||
""
|
||||
"*
|
||||
{
|
||||
|
23
gcc/md.texi
23
gcc/md.texi
@ -420,29 +420,6 @@ The machine mode @var{m} of @code{match_insn2} works like that of
|
||||
predicate function, and that function is solely responsible for
|
||||
deciding whether the expression to be matched ``has'' that mode.
|
||||
|
||||
@findex address
|
||||
@item (address (match_operand:@var{m} @var{n} "address_operand" ""))
|
||||
This complex of expressions is a placeholder for an operand number
|
||||
@var{n} in a ``load address'' instruction: an operand which specifies
|
||||
a memory location in the usual way, but for which the actual operand
|
||||
value used is the address of the location, not the contents of the
|
||||
location.
|
||||
|
||||
@code{address} expressions never appear in RTL code, only in machine
|
||||
descriptions. And they are used only in machine descriptions that do
|
||||
not use the operand constraint feature. When operand constraints are
|
||||
in use, the letter @samp{p} in the constraint serves this purpose.
|
||||
|
||||
@var{m} is the machine mode of the @emph{memory location being
|
||||
addressed}, not the machine mode of the address itself. That mode is
|
||||
always the same on a given target machine (it is @code{Pmode}, which
|
||||
normally is @code{SImode}), so there is no point in mentioning it;
|
||||
thus, no machine mode is written in the @code{address} expression. If
|
||||
some day support is added for machines in which addresses of different
|
||||
kinds of objects appear differently or are used differently (such as
|
||||
the PDP-10), different formats would perhaps need different machine
|
||||
modes and these modes might be written in the @code{address}
|
||||
expression.
|
||||
@end table
|
||||
|
||||
@node Output Template
|
||||
|
@ -289,10 +289,7 @@ DEF_RTL_EXPR(DEFINE_ASM_ATTRIBUTES, "define_asm_attributes", "V", 'x' )
|
||||
`emit_insn' takes the SEQUENCE apart and makes separate insns. */
|
||||
DEF_RTL_EXPR(SEQUENCE, "sequence", "E", 'x')
|
||||
|
||||
/* Refers to the address of its argument.
|
||||
This appears only in machine descriptions, indicating that
|
||||
any expression that would be acceptable as the operand of MEM
|
||||
should be matched. */
|
||||
/* Refers to the address of its argument. This is only used in alias.c. */
|
||||
DEF_RTL_EXPR(ADDRESS, "address", "e", 'm')
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user