diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-05-17 12:58:34 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-05-17 12:58:34 +0000 |
commit | d9b9b19e012de3f0fcd8d048e0ec833e74fd7e26 (patch) | |
tree | 81483370535a20ec681428584b8aad93d15fae25 /gcc/doc/extend.texi | |
parent | 43fbec4ab5b8bdf3a310ad0fc23cb784f057334c (diff) | |
download | gcc-d9b9b19e012de3f0fcd8d048e0ec833e74fd7e26.tar.gz |
* doc/extend.texi (Size of an asm): Move node text according
to its @menu entry position.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210555 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/extend.texi')
-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 a3f219b6a07..bd2c82915bc 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:: |