gas/
authorJulian Brown <julian@codesourcery.com>
Mon, 26 Mar 2007 14:39:35 +0000 (14:39 +0000)
committerJulian Brown <julian@codesourcery.com>
Mon, 26 Mar 2007 14:39:35 +0000 (14:39 +0000)
* doc/c-arm.texi: Add documentation for .dn/.qn directives.

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

index bcddbf172285e72cb4317cd0c3cdf30988301516..fc5e7186b92dd15247002393b418699a4b8481ad 100644 (file)
@@ -1,3 +1,7 @@
+2007-03-26  Julian Brown  <julian@codesourcery.com>
+
+       * doc/c-arm.texi: Add documentation for .dn/.qn directives.
+
 2007-03-26  Alan Modra  <amodra@bigpond.net.au>
 
        * doc/as.texinfo (Reloc): Document.
index 6fb8c06d15aac56ee66904150a8bfb25438a2544..8fc2972e5750346f5cbaf09f97105bc31f7562f9 100644 (file)
@@ -391,7 +391,7 @@ example:
 @cindex @code{unreq} directive, ARM
 @item .unreq @var{alias-name}
 This undefines a register alias which was previously defined using the
-@code{req} directive.  For example:
+@code{req}, @code{dn} or @code{qn} directives.  For example:
 
 @smallexample
         foo .req r0
@@ -402,6 +402,36 @@ An error occurs if the name is undefined.  Note - this pseudo op can
 be used to delete builtin in register name aliases (eg 'r0').  This
 should only be done if it is really necessary.
 
+@cindex @code{dn} and @code{qn} directives, ARM
+@item @var{name} .dn @var{register name} [@var{.type}] [@var{[index]}]
+@item @var{name} .qn @var{register name} [@var{.type}] [@var{[index]}]
+
+The @code{dn} and @code{qn} directives are used to create typed
+and/or indexed register aliases for use in Advanced SIMD Extension
+(Neon) instructions.  The former should be used to create aliases
+of double-precision registers, and the latter to create aliases of
+quad-precision registers.
+
+If these directives are used to create typed aliases, those aliases can
+be used in Neon instructions instead of writing types after the mnemonic
+or after each operand.  For example:
+
+@smallexample
+        x .dn d2.f32
+        y .dn d3.f32
+        z .dn d4.f32[1]
+        vmul x,y,z
+@end smallexample
+
+This is equivalent to writing the following:
+
+@smallexample
+        vmul.f32 d2,d3,d4[1]
+@end smallexample
+
+Aliases created using @code{dn} or @code{qn} can be destroyed using
+@code{unreq}.
+
 @cindex @code{code} directive, ARM
 @item .code @code{[16|32]}
 This directive selects the instruction set being generated. The value 16