extend.texi (Size of an asm): Move node text according to its @menu entry position.
* doc/extend.texi (Size of an asm): Move node text according to its @menu entry position. From-SVN: r210555
This commit is contained in:
parent
87a3444266
commit
71ca302852
2 changed files with 27 additions and 22 deletions
|
@ -1,3 +1,8 @@
|
|||
2014-05-17 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* doc/extend.texi (Size of an asm): Move node text according
|
||||
to its @menu entry position.
|
||||
|
||||
2014-05-17 Marc Glisse <marc.glisse@inria.fr>
|
||||
|
||||
PR tree-optimization/61140
|
||||
|
|
|
@ -7172,28 +7172,6 @@ asm ("fyl2xp1" : "=t" (result) : "0" (x), "u" (y) : "st(1)");
|
|||
@include md.texi
|
||||
@raisesections
|
||||
|
||||
@node Size of an asm
|
||||
@subsection Size of an @code{asm}
|
||||
|
||||
Some targets require that GCC track the size of each instruction used
|
||||
in order to generate correct code. Because the final length of the
|
||||
code produced by an @code{asm} statement is only known by the
|
||||
assembler, GCC must make an estimate as to how big it will be. It
|
||||
does this by counting the number of instructions in the pattern of the
|
||||
@code{asm} and multiplying that by the length of the longest
|
||||
instruction supported by that processor. (When working out the number
|
||||
of instructions, it assumes that any occurrence of a newline or of
|
||||
whatever statement separator character is supported by the assembler --
|
||||
typically @samp{;} --- indicates the end of an instruction.)
|
||||
|
||||
Normally, GCC's estimate is adequate to ensure that correct
|
||||
code is generated, but it is possible to confuse the compiler if you use
|
||||
pseudo instructions or assembler macros that expand into multiple real
|
||||
instructions, or if you use assembler directives that expand to more
|
||||
space in the object file than is needed for a single instruction.
|
||||
If this happens then the assembler may produce a diagnostic saying that
|
||||
a label is unreachable.
|
||||
|
||||
@node Asm Labels
|
||||
@subsection Controlling Names Used in Assembler Code
|
||||
@cindex assembler names for identifiers
|
||||
|
@ -7277,6 +7255,28 @@ output of the assembler instruction directly into a particular register.
|
|||
specified for that operand in the @code{asm}.)
|
||||
@end itemize
|
||||
|
||||
@node Size of an asm
|
||||
@subsection Size of an @code{asm}
|
||||
|
||||
Some targets require that GCC track the size of each instruction used
|
||||
in order to generate correct code. Because the final length of the
|
||||
code produced by an @code{asm} statement is only known by the
|
||||
assembler, GCC must make an estimate as to how big it will be. It
|
||||
does this by counting the number of instructions in the pattern of the
|
||||
@code{asm} and multiplying that by the length of the longest
|
||||
instruction supported by that processor. (When working out the number
|
||||
of instructions, it assumes that any occurrence of a newline or of
|
||||
whatever statement separator character is supported by the assembler --
|
||||
typically @samp{;} --- indicates the end of an instruction.)
|
||||
|
||||
Normally, GCC's estimate is adequate to ensure that correct
|
||||
code is generated, but it is possible to confuse the compiler if you use
|
||||
pseudo instructions or assembler macros that expand into multiple real
|
||||
instructions, or if you use assembler directives that expand to more
|
||||
space in the object file than is needed for a single instruction.
|
||||
If this happens then the assembler may produce a diagnostic saying that
|
||||
a label is unreachable.
|
||||
|
||||
@menu
|
||||
* Global Reg Vars::
|
||||
* Local Reg Vars::
|
||||
|
|
Loading…
Add table
Reference in a new issue