From d9b9b19e012de3f0fcd8d048e0ec833e74fd7e26 Mon Sep 17 00:00:00 2001 From: uros Date: Sat, 17 May 2014 12:58:34 +0000 Subject: [PATCH] * 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 --- gcc/ChangeLog | 5 +++++ gcc/doc/extend.texi | 44 ++++++++++++++++++++++---------------------- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index daf6e1a1137..22c52a6dc5b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-05-17 Uros Bizjak + + * doc/extend.texi (Size of an asm): Move node text according + to its @menu entry position. + 2014-05-17 Marc Glisse PR tree-optimization/61140 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:: -- 2.11.4.GIT