summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Brown <julian@codesourcery.com>2006-05-03 16:13:43 +0000
committerJulian Brown <julian@codesourcery.com>2006-05-03 16:13:43 +0000
commitf7ac39f019521b5e7d4a64f498d02bdb48963ab8 (patch)
treed35f6cac91426cd54c5da84cfd8e0459940101dd
parenta5cbdaf42d0706e68e54ada32736d3895a0f6883 (diff)
downloadbinutils-redhat-binutils-csl-sourcerygxx-4_1-4.tar.gz
* gas/doc/c-arm.texi: Add documentation for .dn/.qn directives.binutils-csl-sourcerygxx-4_1-4
-rw-r--r--ChangeLog.csl4
-rw-r--r--gas/doc/c-arm.texi31
2 files changed, 34 insertions, 1 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl
index dc69626d4b..1e318c4fd2 100644
--- a/ChangeLog.csl
+++ b/ChangeLog.csl
@@ -1,3 +1,7 @@
+2006-05-03 Julian Brown <julian@codesourcery.com>
+
+ * gas/doc/c-arm.texi: Add documentation for .dn/.qn directives.
+
2006-05-03 Paul Brook <paul@codesourcery.com>
* bfd/elf32-arm.c (elf32_arm_reloc_map): Add MOVW and MOVT relocs.
diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi
index 0b113f9894..941b1ee4c6 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -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,35 @@ 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} 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