extend.texi (Extended Asm): Do not say that semicolon is always a valid line-breaking character for GNU...

* extend.texi (Extended Asm): Do not say that semicolon is always
	a valid line-breaking character for GNU assemblers.  Use
	newline-tab as the most commonly supported syntax.  Use
	newline-tab rather than semicolon in multi-insn examples.

From-SVN: r39471
This commit is contained in:
Hans-Peter Nilsson 2001-02-05 23:57:14 +00:00 committed by Hans-Peter Nilsson
parent 6d0918702e
commit 8720914be3
2 changed files with 16 additions and 6 deletions

View File

@ -1,3 +1,10 @@
2001-02-06 Hans-Peter Nilsson <hp@axis.com>
* extend.texi (Extended Asm): Do not say that semicolon is always
a valid line-breaking character for GNU assemblers. Use
newline-tab as the most commonly supported syntax. Use
newline-tab rather than semicolon in multi-insn examples.
2001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 2001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias). * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).

View File

@ -2959,17 +2959,20 @@ inputs or outputs of the @code{asm}, as the @samp{memory} clobber does
not count as a side-effect of the @code{asm}. not count as a side-effect of the @code{asm}.
You can put multiple assembler instructions together in a single You can put multiple assembler instructions together in a single
@code{asm} template, separated either with newlines (written as @code{asm} template, separated by the characters normally used in assembly
@samp{\n}) or with semicolons if the assembler allows such semicolons. code for the system. A combination that works in most places is a newline
The GNU assembler allows semicolons and most Unix assemblers seem to do to break the line, plus a tab character to move to the instruction field
so. The input operands are guaranteed not to use any of the clobbered (written as @samp{\n\t}). Sometimes semicolons can be used, if the
assembler allows semicolons as a line-breaking character. Note that some
assembler dialects use semicolons to start a comment.
The input operands are guaranteed not to use any of the clobbered
registers, and neither will the output operands' addresses, so you can registers, and neither will the output operands' addresses, so you can
read and write the clobbered registers as many times as you like. Here read and write the clobbered registers as many times as you like. Here
is an example of multiple instructions in a template; it assumes the is an example of multiple instructions in a template; it assumes the
subroutine @code{_foo} accepts arguments in registers 9 and 10: subroutine @code{_foo} accepts arguments in registers 9 and 10:
@example @example
asm ("movl %0,r9;movl %1,r10;call _foo" asm ("movl %0,r9\n\tmovl %1,r10\n\tcall _foo"
: /* no outputs */ : /* no outputs */
: "g" (from), "g" (to) : "g" (from), "g" (to)
: "r9", "r10"); : "r9", "r10");
@ -2987,7 +2990,7 @@ instruction, you must include a branch and a label in the @code{asm}
construct, as follows: construct, as follows:
@example @example
asm ("clr %0;frob %1;beq 0f;mov #1,%0;0:" asm ("clr %0\n\tfrob %1\n\tbeq 0f\n\tmov #1,%0\n0:"
: "g" (result) : "g" (result)
: "g" (input)); : "g" (input));
@end example @end example