* doc/c-arm.texi (ARM-Instruction-Set): New node. Documents the
authorNick Clifton <nickc@redhat.com>
Thu, 30 Jul 2009 08:54:49 +0000 (08:54 +0000)
committerNick Clifton <nickc@redhat.com>
Thu, 30 Jul 2009 08:54:49 +0000 (08:54 +0000)
        different syntaxes support by the ARM port.
        (ARM Directives): Add entry for .syntax.

gas/ChangeLog
gas/doc/c-arm.texi

index 3824197ba444f5de81c4d7dde5faca9468629708..4eff58b0905527676d36929361e87a7d738a57b9 100644 (file)
@@ -1,5 +1,9 @@
 2009-07-30  Nick Clifton  <nickc@redhat.com>
 
+       * doc/c-arm.texi (ARM-Instruction-Set): New node.  Documents the
+       different syntaxes support by the ARM port.
+       (ARM Directives): Add entry for .syntax.
+
        * doc/c-mips.texi (MIPS insn): Fix typo.
 
 2009-07-29  Alan Modra  <amodra@bigpond.net.au>
index e30a9389f12e4137c65caa7c1777d86dba4dd680..7e4562457beed64258044f7ca716b0a9a388c932 100644 (file)
@@ -323,11 +323,47 @@ features.  The default is to warn.
 @node ARM Syntax
 @section Syntax
 @menu
+* ARM-Instruction-Set::      Instruction Set
 * ARM-Chars::                Special Characters
 * ARM-Regs::                 Register Names
 * ARM-Relocations::         Relocations
 @end menu
 
+@node ARM-Instruction-Set
+@subsection Instruction Set Syntax
+Two slightly different syntaxes are support for ARM and THUMB
+instructions.  The default, @code{divided}, uses the old style where
+ARM and THUMB instructions had their own, separate syntaxes.  The new,
+@code{unified} syntax, which can be selected via the @code{.syntax}
+directive, and has the following main features:
+
+@table @bullet
+@item
+Immediate operands do not require a @code{#} prefix.
+
+@item
+The @code{IT} instruction may appear, and if it does it is validated
+against subsequent conditional affixes.  In ARM mode it does not
+generate machine code, in THUMB mode it does.
+
+@item
+For ARM instructions the conditional affixes always appear at the end
+of the instruction.  For THUMB instructions conditional affixes can be
+used, but only inside the scope of an @code{IT} instruction.
+
+@item
+All of the instructions new to the V6T2 architecture (and later) are
+available.  (Only a few such instructions can be written in the
+@code{divided} syntax).
+
+@item
+The @code{.N} and @code{.W} suffixes are recognized and honored.
+
+@item
+All instructions set the flags if and only if they have an @code{s}
+affix.
+@end table
+
 @node ARM-Chars
 @subsection Special Characters
 
@@ -722,6 +758,11 @@ This directive emits relocations that evaluate to the section-relative
 offset of each expression's symbol.  This directive is only supported
 for PE targets.
 
+@cindex @code{.syntax} directive, ARM
+@item .syntax [@code{unified} | @code{divided}]
+This directive sets the Instruction Set Syntax as described in the
+@ref{ARM-Instruction-Set} section.
+
 @c TTTTTTTTTTTTTTTTTTTTTTTTTT
 
 @cindex @code{.thumb} directive, ARM