diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2014-05-17 14:58:34 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2014-05-17 14:58:34 +0200 |
commit | 71ca302852481c082a944d5e58cd4821df5d8a6e (patch) | |
tree | 81483370535a20ec681428584b8aad93d15fae25 /gcc/doc | |
parent | 87a34442667d0ecd397e141e26a64419fb71850c (diff) | |
download | gcc-71ca302852481c082a944d5e58cd4821df5d8a6e.zip gcc-71ca302852481c082a944d5e58cd4821df5d8a6e.tar.gz gcc-71ca302852481c082a944d5e58cd4821df5d8a6e.tar.bz2 |
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
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/extend.texi | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index a3f219b..bd2c829 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -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:: |