]> oss.titaniummirror.com Git - msp430-binutils.git/blobdiff - gas/doc/as.info
Imported binutils-2.20
[msp430-binutils.git] / gas / doc / as.info
index 1508db6f187cf79c0cf404e20a8db05d75d07da8..a8d38108636c0c4157d0366680ff60e61ffb7127 100644 (file)
@@ -8,10 +8,10 @@ END-INFO-DIR-ENTRY
    This file documents the GNU Assembler "as".
 
    Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002,
-2006, 2007 Free Software Foundation, Inc.
+2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
    Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
 any later version published by the Free Software Foundation; with no
 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
 Texts.  A copy of the license is included in the section entitled "GNU
@@ -24,7 +24,7 @@ Using as
 ********
 
 This file is a user guide to the GNU assembler `as' (GNU Binutils)
-version 2.17.90.
+version 2.20.
 
    This document is distributed under the terms of the GNU Free
 Documentation License.  A copy of the license is included in the
@@ -39,6 +39,8 @@ section entitled "GNU Free Documentation License".
 * Symbols::                     Symbols
 * Expressions::                 Expressions
 * Pseudo Ops::                  Assembler Directives
+
+* Object Attributes::           Object Attributes
 * Machine Dependencies::        Machine Dependent Features
 * Reporting Bugs::              Reporting Bugs
 * Acknowledgements::            Who Did What
@@ -54,7 +56,7 @@ File: as.info,  Node: Overview,  Next: Invoking,  Prev: Top,  Up: Top
 Here is a brief summary of how to invoke `as'.  For details, see *Note
 Command-Line Options: Invoking.
 
-     as [-a[cdhlns][=FILE]] [-alternate] [-D]
+     as [-a[cdghlns][=FILE]] [-alternate] [-D]
       [-debug-prefix-map OLD=NEW]
       [-defsym SYM=VAL] [-f] [-g] [-gstabs]
       [-gstabs+] [-gdwarf-2] [-help] [-I DIR] [-J]
@@ -70,6 +72,7 @@ Command-Line Options: Invoking.
      _Target Alpha options:_
         [-mCPU]
         [-mdebug | -no-mdebug]
+        [-replace | -noreplace]
         [-relax] [-g] [-GSIZE]
         [-F] [-32addr]
 
@@ -101,9 +104,12 @@ Command-Line Options: Invoking.
      _Target D30V options:_
         [-O|-n|-N]
 
+     _Target H8/300 options:_
+        [-h-tick-hex]
+
      _Target i386 options:_
         [-32|-64] [-n]
-        [-march=CPU] [-mtune=CPU]
+        [-march=CPU[+EXTENSION...]] [-mtune=CPU]
 
      _Target i960 options:_
         [-ACA|-ACA_A|-ACB|-ACC|-AKA|-AKB|
@@ -123,7 +129,7 @@ Command-Line Options: Invoking.
         [-mip2022|-mip2022ext]
 
      _Target M32C options:_
-        [-m32c|-m16c]
+        [-m32c|-m16c] [-relax] [-h-tick-hex]
 
      _Target M32R options:_
         [-m32rx|-[no-]warn-explicit-parallel-conflicts|
@@ -143,6 +149,7 @@ Command-Line Options: Invoking.
      _Target MCORE options:_
         [-jsri2bsr] [-sifilter] [-relax]
         [-mcpu=[210|340]]
+     _Target MICROBLAZE options:_
 
      _Target MIPS options:_
         [-nocpp] [-EL] [-EB] [-O[OPTIMIZATION LEVEL]]
@@ -181,14 +188,24 @@ Command-Line Options: Invoking.
 
      _Target PowerPC options:_
         [-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604|
-         -m403|-m405|-mppc64|-m620|-mppc64bridge|-mbooke|
-         -mbooke32|-mbooke64]
-        [-mcom|-many|-maltivec] [-memb]
+         -m403|-m405|-mppc64|-m620|-mppc64bridge|-mbooke]
+        [-mcom|-many|-maltivec|-mvsx] [-memb]
         [-mregnames|-mno-regnames]
         [-mrelocatable|-mrelocatable-lib]
         [-mlittle|-mlittle-endian|-mbig|-mbig-endian]
         [-msolaris|-mno-solaris]
 
+     _Target s390 options:_
+        [-m31|-m64] [-mesa|-mzarch] [-march=CPU]
+        [-mregnames|-mno-regnames]
+        [-mwarn-areg-zero]
+
+     _Target SCORE options:_
+        [-EB][-EL][-FIXDD][-NWARN]
+        [-SCORE5][-SCORE5U][-SCORE7][-SCORE3]
+        [-march=score7][-march=score3]
+        [-USE_R1][-KPIC][-O0][-G NUM][-V]
+
      _Target SPARC options:_
         [-Av6|-Av7|-Av8|-Asparclet|-Asparclite
          -Av8plus|-Av8plusa|-Av9|-Av9a]
@@ -230,7 +247,7 @@ Command-Line Options: Invoking.
      additional @FILE options; any such options will be processed
      recursively.
 
-`-a[cdhlmns]'
+`-a[cdghlmns]'
      Turn on listings, in any of a variety of ways:
 
     `-ac'
@@ -239,6 +256,10 @@ Command-Line Options: Invoking.
     `-ad'
           omit debugging directives
 
+    `-ag'
+          include general information, like as version and options
+          passed
+
     `-ah'
           include high-level source
 
@@ -494,6 +515,12 @@ Renesas M32C and M16C processors.
 `-m16c'
      Assemble M16C instructions (the default).
 
+`-relax'
+     Enable support for link-time relaxations.
+
+`-h-tick-hex'
+     Support H'00 style hex constants in addition to 0x00 style.
+
 
    The following options are available when as is configured for the
 Renesas M32R (formerly Mitsubishi M32R) series.
@@ -837,6 +864,31 @@ MCore processor.
 
    See the info pages for documentation of the MMIX-specific options.
 
+   The following options are available when as is configured for the
+s390 processor family.
+
+`-m31'
+`-m64'
+     Select the word size, either 31/32 bits or 64 bits.
+
+`-mesa'
+
+`-mzarch'
+     Select the architecture mode, either the Enterprise System
+     Architecture (esa) or the z/Architecture mode (zarch).
+
+`-march=PROCESSOR'
+     Specify which s390 processor variant is the target, `g6', `g6',
+     `z900', `z990', `z9-109', `z9-ec', or `z10'.
+
+`-mregnames'
+`-mno-regnames'
+     Allow or disallow symbolic names for registers.
+
+`-mwarn-areg-zero'
+     Warn whenever the operand for a base or index register has been
+     specified but evaluates to zero.
+
    The following options are available when as is configured for an
 Xtensa processor.
 
@@ -871,6 +923,10 @@ Xtensa processor.
      should be used only in the rare cases when the instructions must
      be exactly as specified in the assembly source.
 
+`--rename-section OLDNAME=NEWNAME'
+     When generating output sections, rename the OLDNAME section to
+     NEWNAME.
+
    The following options are available when as is configured for a Z80
 family processor.
 `-z80'
@@ -1132,7 +1188,7 @@ pass, including the assembler.)
 
 * Menu:
 
-* a::             -a[cdhlns] enable listings
+* a::             -a[cdghlns] enable listings
 * alternate::     --alternate enable alternate macro syntax
 * D::             -D for compatibility
 * f::             -f to work faster
@@ -1155,8 +1211,8 @@ pass, including the assembler.)
 \1f
 File: as.info,  Node: a,  Next: alternate,  Up: Invoking
 
-2.1 Enable Listings: `-a[cdhlns]'
-=================================
+2.1 Enable Listings: `-a[cdghlns]'
+==================================
 
 These options enable listing output from the assembler.  By itself,
 `-a' requests high-level, assembly, and symbols listing.  You can use
@@ -1166,6 +1222,9 @@ listing, and `-as' requests a symbol table listing.  High-level
 listings require that a compiler debugging option like `-g' be used,
 and that assembly listings (`-al') be requested also.
 
+   Use the `-ag' option to print a first section with general assembly
+information, like as version, switches passed, or time stamp.
+
    Use the `-ac' option to omit false conditionals from a listing.  Any
 lines which are not assembled because of a false `.if' (or `.ifdef', or
 any other conditional), or a true `.if' followed by an `.else', will be
@@ -1643,11 +1702,12 @@ you may not nest these comments.
 considered a comment and is ignored.  The line comment character is `;'
 on the ARC; `@' on the ARM; `;' for the H8/300 family; `;' for the HPPA;
 `#' on the i386 and x86-64; `#' on the i960; `;' for the PDP-11; `;'
-for picoJava; `#' for Motorola PowerPC; `!' for the Renesas / SuperH SH;
-`!' on the SPARC; `#' on the ip2k; `#' on the m32c; `#' on the m32r;
-`|' on the 680x0; `#' on the 68HC11 and 68HC12; `#' on the Vax; `;' for
-the Z80; `!' for the Z8000; `#' on the V850; `#' for Xtensa systems;
-see *Note Machine Dependencies::.
+for picoJava; `#' for Motorola PowerPC; `#' for IBM S/390; `#' for the
+Sunplus SCORE; `!' for the Renesas / SuperH SH; `!' on the SPARC; `#'
+on the ip2k; `#' on the m32c; `#' on the m32r; `|' on the 680x0; `#' on
+the 68HC11 and 68HC12; `#' on the Vax; `;' for the Z80; `!' for the
+Z8000; `#' on the V850; `#' for Xtensa systems; see *Note Machine
+Dependencies::.
 
    On some machines there are two different line comment characters.
 One character only begins a comment if it is the first non-whitespace
@@ -2289,6 +2349,8 @@ This is equivalent to using the `.set' directive.  *Note `.set': Set.
 In the same way, using a double equals sign `='`=' here represents an
 equivalent of the `.eqv' directive.  *Note `.eqv': Eqv.
 
+   Blackfin does not support symbol assignment with `='.
+
 \1f
 File: as.info,  Node: Symbol Names,  Next: Dot,  Prev: Setting Symbols,  Up: Symbols
 
@@ -2402,8 +2464,8 @@ labels, by contrast, remain in scope for the entire file, or until they
 are redefined by another occurrence of the same local label.
 
    Dollar labels are defined in exactly the same way as ordinary local
-labels, except that instead of being terminated by a colon, they are
-terminated by a dollar sign, e.g., `55$'.
+labels, except that they have a dollar sign suffix to their numeric
+value, e.g., `55$:'.
 
    They can also be distinguished from ordinary local labels by their
 transformed names which use ASCII character `\001' (control-A) as the
@@ -2747,7 +2809,7 @@ address; you can only have a defined section in one of the two
 arguments.
 
 \1f
-File: as.info,  Node: Pseudo Ops,  Next: Machine Dependencies,  Prev: Expressions,  Up: Top
+File: as.info,  Node: Pseudo Ops,  Next: Object Attributes,  Prev: Expressions,  Up: Top
 
 7 Assembler Directives
 **********************
@@ -2764,7 +2826,7 @@ Dependencies::.
 
 * Abort::                       `.abort'
 
-* ABORT (COFF)::                       `.ABORT'
+* ABORT (COFF)::                `.ABORT'
 
 * Align::                       `.align ABS-EXPR , ABS-EXPR'
 * Altmacro::                    `.altmacro'
@@ -2772,10 +2834,8 @@ Dependencies::.
 * Asciz::                       `.asciz "STRING"'...
 * Balign::                      `.balign ABS-EXPR , ABS-EXPR'
 * Byte::                        `.byte EXPRESSIONS'
-* Comm::                        `.comm SYMBOL , LENGTH '
-
 * CFI directives::             `.cfi_startproc [simple]', `.cfi_endproc', etc.
-
+* Comm::                        `.comm SYMBOL , LENGTH '
 * Data::                        `.data SUBSECTION'
 
 * Def::                         `.def NAME'
@@ -2802,14 +2862,13 @@ Dependencies::.
 * Exitm::                      `.exitm'
 * Extern::                      `.extern'
 * Fail::                       `.fail'
-
-* File::                        `.file STRING'
-
+* File::                        `.file'
 * Fill::                        `.fill REPEAT , SIZE , VALUE'
 * Float::                       `.float FLONUMS'
 * Func::                        `.func'
 * Global::                      `.global SYMBOL', `.globl SYMBOL'
 
+* Gnu_attribute::               `.gnu_attribute TAG,VALUE'
 * Hidden::                      `.hidden NAMES'
 
 * hword::                       `.hword EXPRESSIONS'
@@ -2831,8 +2890,10 @@ Dependencies::.
 * Linkonce::                   `.linkonce [TYPE]'
 * List::                        `.list'
 * Ln::                          `.ln LINE-NUMBER'
+* Loc::                         `.loc FILENO LINENO'
+* Loc_mark_labels::             `.loc_mark_labels ENABLE'
 
-* LNS directives::              `.file', `.loc', etc.
+* Local::                       `.local NAMES'
 
 * Long::                        `.long EXPRESSIONS'
 
@@ -2863,7 +2924,7 @@ Dependencies::.
 
 * Scl::                         `.scl CLASS'
 
-* Section::                     `.section NAME'
+* Section::                     `.section NAME[, FLAGS]'
 
 * Set::                         `.set SYMBOL, EXPRESSION'
 * Short::                       `.short EXPRESSIONS'
@@ -2872,12 +2933,14 @@ Dependencies::.
 * Size::                        `.size [NAME , EXPRESSION]'
 
 * Skip::                        `.skip SIZE , FILL'
+
 * Sleb128::                    `.sleb128 EXPRESSIONS'
+
 * Space::                       `.space SIZE , FILL'
 
 * Stab::                        `.stabd, .stabn, .stabs'
 
-* String::                      `.string "STR"'
+* String::                      `.string "STR"', `.string8 "STR"', `.string16 "STR"', `.string32 "STR"', `.string64 "STR"'
 * Struct::                     `.struct EXPRESSION'
 
 * SubSection::                  `.subsection'
@@ -2960,11 +3023,11 @@ location counter until it is a multiple of 8.  If the location counter
 is already a multiple of 8, no change is needed.  For the tic54x, the
 first expression is the alignment request in words.
 
-   For other systems, including the i386 using a.out format, and the
-arm and strongarm, it is the number of low-order zero bits the location
-counter must have after advancement.  For example `.align 3' advances
-the location counter until it a multiple of 8.  If the location counter
-is already a multiple of 8, no change is needed.
+   For other systems, including ppc, i386 using a.out format, arm and
+strongarm, it is the number of low-order zero bits the location counter
+must have after advancement.  For example `.align 3' advances the
+location counter until it a multiple of 8.  If the location counter is
+already a multiple of 8, no change is needed.
 
    This inconsistency is due to the different behaviors of the various
 native assemblers for these systems which GAS must emulate.  GAS also
@@ -2972,10 +3035,48 @@ provides `.balign' and `.p2align' directives, described later, which
 have a consistent behavior across all architectures (but are specific
 to GAS).
 
+\1f
+File: as.info,  Node: Altmacro,  Next: Ascii,  Prev: Align,  Up: Pseudo Ops
+
+7.4 `.altmacro'
+===============
+
+Enable alternate macro mode, enabling:
+
+`LOCAL NAME [ , ... ]'
+     One additional directive, `LOCAL', is available.  It is used to
+     generate a string replacement for each of the NAME arguments, and
+     replace any instances of NAME in each macro expansion.  The
+     replacement string is unique in the assembly, and different for
+     each separate macro expansion.  `LOCAL' allows you to write macros
+     that define symbols, without fear of conflict between separate
+     macro expansions.
+
+`String delimiters'
+     You can write strings delimited in these other ways besides
+     `"STRING"':
+
+    `'STRING''
+          You can delimit strings with single-quote characters.
+
+    `<STRING>'
+          You can delimit strings with matching angle brackets.
+
+`single-character string escape'
+     To include any single character literally in a string (even if the
+     character would otherwise have some special meaning), you can
+     prefix the character with `!' (an exclamation mark).  For example,
+     you can write `<4.3 !> 5.4!!>' to get the literal text `4.3 >
+     5.4!'.
+
+`Expression results as strings'
+     You can write `%EXPR' to evaluate the expression EXPR and use the
+     result as a string.
+
 \1f
 File: as.info,  Node: Ascii,  Next: Asciz,  Prev: Altmacro,  Up: Pseudo Ops
 
-7.4 `.ascii "STRING"'...
+7.5 `.ascii "STRING"'...
 ========================
 
 `.ascii' expects zero or more string literals (*note Strings::)
@@ -2985,7 +3086,7 @@ trailing zero byte) into consecutive addresses.
 \1f
 File: as.info,  Node: Asciz,  Next: Balign,  Prev: Ascii,  Up: Pseudo Ops
 
-7.5 `.asciz "STRING"'...
+7.6 `.asciz "STRING"'...
 ========================
 
 `.asciz' is just like `.ascii', but each string is followed by a zero
@@ -2994,7 +3095,7 @@ byte.  The "z" in `.asciz' stands for "zero".
 \1f
 File: as.info,  Node: Balign,  Next: Byte,  Prev: Asciz,  Up: Pseudo Ops
 
-7.6 `.balign[wl] ABS-EXPR, ABS-EXPR, ABS-EXPR'
+7.7 `.balign[wl] ABS-EXPR, ABS-EXPR, ABS-EXPR'
 ==============================================
 
 Pad the location counter (in the current subsection) to a particular
@@ -3028,44 +3129,16 @@ bytes depends upon the endianness of the processor).  If it skips 1 or
 3 bytes, the fill value is undefined.
 
 \1f
-File: as.info,  Node: Byte,  Next: Comm,  Prev: Balign,  Up: Pseudo Ops
+File: as.info,  Node: Byte,  Next: CFI directives,  Prev: Balign,  Up: Pseudo Ops
 
-7.7 `.byte EXPRESSIONS'
+7.8 `.byte EXPRESSIONS'
 =======================
 
 `.byte' expects zero or more expressions, separated by commas.  Each
 expression is assembled into the next byte.
 
 \1f
-File: as.info,  Node: Comm,  Next: CFI directives,  Prev: Byte,  Up: Pseudo Ops
-
-7.8 `.comm SYMBOL , LENGTH '
-============================
-
-`.comm' declares a common symbol named SYMBOL.  When linking, a common
-symbol in one object file may be merged with a defined or common symbol
-of the same name in another object file.  If `ld' does not see a
-definition for the symbol-just one or more common symbols-then it will
-allocate LENGTH bytes of uninitialized memory.  LENGTH must be an
-absolute expression.  If `ld' sees multiple common symbols with the
-same name, and they do not all have the same size, it will allocate
-space using the largest size.
-
-   When using ELF, the `.comm' directive takes an optional third
-argument.  This is the desired alignment of the symbol, specified as a
-byte boundary (for example, an alignment of 16 means that the least
-significant 4 bits of the address should be zero).  The alignment must
-be an absolute expression, and it must be a power of two.  If `ld'
-allocates uninitialized memory for the common symbol, it will use the
-alignment when placing the symbol.  If no alignment is specified, `as'
-will set the alignment to the largest power of two less than or equal
-to the size of the symbol, up to a maximum of 16.
-
-   The syntax for `.comm' differs slightly on the HPPA.  The syntax is
-`SYMBOL .comm, LENGTH'; SYMBOL is optional.
-
-\1f
-File: as.info,  Node: CFI directives,  Next: Data,  Prev: Comm,  Up: Pseudo Ops
+File: as.info,  Node: CFI directives,  Next: Comm,  Prev: Byte,  Up: Pseudo Ops
 
 7.9 `.cfi_startproc [simple]'
 =============================
@@ -3074,17 +3147,27 @@ File: as.info,  Node: CFI directives,  Next: Data,  Prev: Comm,  Up: Pseudo Ops
 have an entry in `.eh_frame'. It initializes some internal data
 structures. Don't forget to close the function by `.cfi_endproc'.
 
+7.10 `.cfi_sections SECTION_LIST'
+=================================
+
+`.cfi_sections' may be used to specify whether CFI directives should
+emit `.eh_frame' section and/or `.debug_frame' section.  If
+SECTION_LIST is `.eh_frame', `.eh_frame' is emitted, if SECTION_LIST is
+`.debug_frame', `.debug_frame' is emitted.  To emit both use
+`.eh_frame, .debug_frame'.  The default if this directive is not used
+is `.cfi_sections .eh_frame'.
+
    Unless `.cfi_startproc' is used along with parameter `simple' it
 also emits some architecture dependent initial CFI instructions.
 
-7.10 `.cfi_endproc'
+7.11 `.cfi_endproc'
 ===================
 
 `.cfi_endproc' is used at the end of a function where it closes its
 unwind entry previously opened by `.cfi_startproc', and emits it to
 `.eh_frame'.
 
-7.11 `.cfi_personality ENCODING [, EXP]'
+7.12 `.cfi_personality ENCODING [, EXP]'
 ========================================
 
 `.cfi_personality' defines personality routine and its encoding.
@@ -3096,7 +3179,7 @@ location where personality can be loaded from, not the personality
 routine itself.  The default after `.cfi_startproc' is
 `.cfi_personality 0xff', no personality routine.
 
-7.12 `.cfi_lsda ENCODING [, EXP]'
+7.13 `.cfi_lsda ENCODING [, EXP]'
 =================================
 
 `.cfi_lsda' defines LSDA and its encoding.  ENCODING must be a constant
@@ -3105,37 +3188,37 @@ determining how the LSDA should be encoded.  If it is 255
 argument should be a constant or a symbol name.  The default after
 `.cfi_startproc' is `.cfi_lsda 0xff', no LSDA.
 
-7.13 `.cfi_def_cfa REGISTER, OFFSET'
+7.14 `.cfi_def_cfa REGISTER, OFFSET'
 ====================================
 
 `.cfi_def_cfa' defines a rule for computing CFA as: take address from
 REGISTER and add OFFSET to it.
 
-7.14 `.cfi_def_cfa_register REGISTER'
+7.15 `.cfi_def_cfa_register REGISTER'
 =====================================
 
 `.cfi_def_cfa_register' modifies a rule for computing CFA. From now on
 REGISTER will be used instead of the old one. Offset remains the same.
 
-7.15 `.cfi_def_cfa_offset OFFSET'
+7.16 `.cfi_def_cfa_offset OFFSET'
 =================================
 
 `.cfi_def_cfa_offset' modifies a rule for computing CFA. Register
 remains the same, but OFFSET is new. Note that it is the absolute
 offset that will be added to a defined register to compute CFA address.
 
-7.16 `.cfi_adjust_cfa_offset OFFSET'
+7.17 `.cfi_adjust_cfa_offset OFFSET'
 ====================================
 
 Same as `.cfi_def_cfa_offset' but OFFSET is a relative value that is
 added/substracted from the previous offset.
 
-7.17 `.cfi_offset REGISTER, OFFSET'
+7.18 `.cfi_offset REGISTER, OFFSET'
 ===================================
 
 Previous value of REGISTER is saved at offset OFFSET from CFA.
 
-7.18 `.cfi_rel_offset REGISTER, OFFSET'
+7.19 `.cfi_rel_offset REGISTER, OFFSET'
 =======================================
 
 Previous value of REGISTER is saved at offset OFFSET from the current
@@ -3143,30 +3226,30 @@ CFA register.  This is transformed to `.cfi_offset' using the known
 displacement of the CFA register from the CFA.  This is often easier to
 use, because the number will match the code it's annotating.
 
-7.19 `.cfi_register REGISTER1, REGISTER2'
+7.20 `.cfi_register REGISTER1, REGISTER2'
 =========================================
 
 Previous value of REGISTER1 is saved in register REGISTER2.
 
-7.20 `.cfi_restore REGISTER'
+7.21 `.cfi_restore REGISTER'
 ============================
 
 `.cfi_restore' says that the rule for REGISTER is now the same as it
 was at the beginning of the function, after all initial instruction
 added by `.cfi_startproc' were executed.
 
-7.21 `.cfi_undefined REGISTER'
+7.22 `.cfi_undefined REGISTER'
 ==============================
 
 From now on the previous value of REGISTER can't be restored anymore.
 
-7.22 `.cfi_same_value REGISTER'
+7.23 `.cfi_same_value REGISTER'
 ===============================
 
 Current value of REGISTER is the same like in the previous frame, i.e.
 no restoration needed.
 
-7.23 `.cfi_remember_state',
+7.24 `.cfi_remember_state',
 ===========================
 
 First save all current rules for all registers by `.cfi_remember_state',
@@ -3174,87 +3257,84 @@ then totally screw them up by subsequent `.cfi_*' directives and when
 everything is hopelessly bad, use `.cfi_restore_state' to restore the
 previous saved state.
 
-7.24 `.cfi_return_column REGISTER'
+7.25 `.cfi_return_column REGISTER'
 ==================================
 
 Change return column REGISTER, i.e. the return address is either
 directly in REGISTER or can be accessed by rules for REGISTER.
 
-7.25 `.cfi_signal_frame'
+7.26 `.cfi_signal_frame'
 ========================
 
 Mark current function as signal trampoline.
 
-7.26 `.cfi_window_save'
+7.27 `.cfi_window_save'
 =======================
 
 SPARC register window has been saved.
 
-7.27 `.cfi_escape' EXPRESSION[, ...]
+7.28 `.cfi_escape' EXPRESSION[, ...]
 ====================================
 
 Allows the user to add arbitrary bytes to the unwind info.  One might
 use this to add OS-specific CFI opcodes, or generic CFI opcodes that
 GAS does not yet support.
 
-\1f
-File: as.info,  Node: LNS directives,  Next: Long,  Prev: Ln,  Up: Pseudo Ops
-
-7.28 `.file FILENO FILENAME'
-============================
-
-When emitting dwarf2 line number information `.file' assigns filenames
-to the `.debug_line' file name table.  The FILENO operand should be a
-unique positive integer to use as the index of the entry in the table.
-The FILENAME operand is a C string literal.
+7.29 `.cfi_val_encoded_addr REGISTER, ENCODING, LABEL'
+======================================================
 
-   The detail of filename indices is exposed to the user because the
-filename table is shared with the `.debug_info' section of the dwarf2
-debugging information, and thus the user must know the exact indices
-that table entries will have.
-
-7.29 `.loc FILENO LINENO [COLUMN] [OPTIONS]'
-============================================
-
-The `.loc' directive will add row to the `.debug_line' line number
-matrix corresponding to the immediately following assembly instruction.
-The FILENO, LINENO, and optional COLUMN arguments will be applied to
-the `.debug_line' state machine before the row is added.
-
-   The OPTIONS are a sequence of the following tokens in any order:
+The current value of REGISTER is LABEL.  The value of LABEL will be
+encoded in the output file according to ENCODING; see the description
+of `.cfi_personality' for details on this encoding.
 
-`basic_block'
-     This option will set the `basic_block' register in the
-     `.debug_line' state machine to `true'.
+   The usefulness of equating a register to a fixed label is probably
+limited to the return address register.  Here, it can be useful to mark
+a code segment that has only one return address which is reached by a
+direct branch and no copy of the return address exists in memory or
+another register.
 
-`prologue_end'
-     This option will set the `prologue_end' register in the
-     `.debug_line' state machine to `true'.
+\1f
+File: as.info,  Node: Comm,  Next: Data,  Prev: CFI directives,  Up: Pseudo Ops
 
-`epilogue_begin'
-     This option will set the `epilogue_begin' register in the
-     `.debug_line' state machine to `true'.
+7.30 `.comm SYMBOL , LENGTH '
+=============================
 
-`is_stmt VALUE'
-     This option will set the `is_stmt' register in the `.debug_line'
-     state machine to `value', which must be either 0 or 1.
+`.comm' declares a common symbol named SYMBOL.  When linking, a common
+symbol in one object file may be merged with a defined or common symbol
+of the same name in another object file.  If `ld' does not see a
+definition for the symbol-just one or more common symbols-then it will
+allocate LENGTH bytes of uninitialized memory.  LENGTH must be an
+absolute expression.  If `ld' sees multiple common symbols with the
+same name, and they do not all have the same size, it will allocate
+space using the largest size.
 
-`isa VALUE'
-     This directive will set the `isa' register in the `.debug_line'
-     state machine to VALUE, which must be an unsigned integer.
+   When using ELF or (as a GNU extension) PE, the `.comm' directive
+takes an optional third argument.  This is the desired alignment of the
+symbol, specified for ELF as a byte boundary (for example, an alignment
+of 16 means that the least significant 4 bits of the address should be
+zero), and for PE as a power of two (for example, an alignment of 5
+means aligned to a 32-byte boundary).  The alignment must be an
+absolute expression, and it must be a power of two.  If `ld' allocates
+uninitialized memory for the common symbol, it will use the alignment
+when placing the symbol.  If no alignment is specified, `as' will set
+the alignment to the largest power of two less than or equal to the
+size of the symbol, up to a maximum of 16 on ELF, or the default
+section alignment of 4 on PE(1).
 
+   The syntax for `.comm' differs slightly on the HPPA.  The syntax is
+`SYMBOL .comm, LENGTH'; SYMBOL is optional.
 
-7.30 `.loc_mark_blocks ENABLE'
-==============================
+   ---------- Footnotes ----------
 
-The `.loc_mark_blocks' directive makes the assembler emit an entry to
-the `.debug_line' line number matrix with the `basic_block' register in
-the state machine set whenever a code label is seen.  The ENABLE
-argument should be either 1 or 0, to enable or disable this function
-respectively.
+   (1) This is not the same as the executable image file alignment
+controlled by `ld''s `--section-alignment' option; image file sections
+in PE are aligned to multiples of 4096, which is far too large an
+alignment for ordinary variables.  It is rather the default alignment
+for (non-debug) sections within object (`*.o') files, which are less
+strictly aligned.
 
 \1f
-File: as.info,  Node: Data,  Next: Def,  Prev: CFI directives,  Up: Pseudo Ops
+File: as.info,  Node: Data,  Next: Def,  Prev: Comm,  Up: Pseudo Ops
 
 7.31 `.data SUBSECTION'
 =======================
@@ -3472,16 +3552,44 @@ nested macros or conditional assembly.
 \1f
 File: as.info,  Node: File,  Next: Fill,  Prev: Fail,  Up: Pseudo Ops
 
-7.51 `.file STRING'
-===================
+7.51 `.file'
+============
+
+There are two different versions of the `.file' directive.  Targets
+that support DWARF2 line number information use the DWARF2 version of
+`.file'.  Other targets use the default version.
 
-`.file' tells `as' that we are about to start a new logical file.
-STRING is the new file name.  In general, the filename is recognized
+Default Version
+---------------
+
+This version of the `.file' directive tells `as' that we are about to
+start a new logical file.  The syntax is:
+
+     .file STRING
+
+   STRING is the new file name.  In general, the filename is recognized
 whether or not it is surrounded by quotes `"'; but if you wish to
 specify an empty file name, you must give the quotes-`""'.  This
 statement may go away in future: it is only recognized to be compatible
 with old `as' programs.
 
+DWARF2 Version
+--------------
+
+When emitting DWARF2 line number information, `.file' assigns filenames
+to the `.debug_line' file name table.  The syntax is:
+
+     .file FILENO FILENAME
+
+   The FILENO operand should be a unique positive integer to use as the
+index of the entry in the table.  The FILENAME operand is a C string
+literal.
+
+   The detail of filename indices is exposed to the user because the
+filename table is shared with the `.debug_info' section of the DWARF2
+debugging information, and thus the user must know the exact indices
+that table entries will have.
+
 \1f
 File: as.info,  Node: Fill,  Next: Float,  Prev: File,  Up: Pseudo Ops
 
@@ -3529,7 +3637,7 @@ functions are currently defined to have `void' return type.  The
 function must be terminated with `.endfunc'.
 
 \1f
-File: as.info,  Node: Global,  Next: Hidden,  Prev: Func,  Up: Pseudo Ops
+File: as.info,  Node: Global,  Next: Gnu_attribute,  Prev: Func,  Up: Pseudo Ops
 
 7.55 `.global SYMBOL', `.globl SYMBOL'
 ======================================
@@ -3548,9 +3656,17 @@ other partial programs.  You may need the HPPA-only `.EXPORT' directive
 as well.  *Note HPPA Assembler Directives: HPPA Directives.
 
 \1f
-File: as.info,  Node: Hidden,  Next: hword,  Prev: Global,  Up: Pseudo Ops
+File: as.info,  Node: Gnu_attribute,  Next: Hidden,  Prev: Global,  Up: Pseudo Ops
+
+7.56 `.gnu_attribute TAG,VALUE'
+===============================
+
+Record a GNU object attribute for this file.  *Note Object Attributes::.
+
+\1f
+File: as.info,  Node: Hidden,  Next: hword,  Prev: Gnu_attribute,  Up: Pseudo Ops
 
-7.56 `.hidden NAMES'
+7.57 `.hidden NAMES'
 ====================
 
 This is one of the ELF visibility directives.  The other two are
@@ -3566,7 +3682,7 @@ to other components.  Such symbols are always considered to be
 \1f
 File: as.info,  Node: hword,  Next: Ident,  Prev: Hidden,  Up: Pseudo Ops
 
-7.57 `.hword EXPRESSIONS'
+7.58 `.hword EXPRESSIONS'
 =========================
 
 This expects zero or more EXPRESSIONS, and emits a 16 bit number for
@@ -3578,7 +3694,7 @@ architecture, it may also be a synonym for `.word'.
 \1f
 File: as.info,  Node: Ident,  Next: If,  Prev: hword,  Up: Pseudo Ops
 
-7.58 `.ident'
+7.59 `.ident'
 =============
 
 This directive is used by some assemblers to place tags in object
@@ -3592,7 +3708,7 @@ using ELF, comments are emitted to the `.comment' section.
 \1f
 File: as.info,  Node: If,  Next: Incbin,  Prev: Ident,  Up: Pseudo Ops
 
-7.59 `.if ABSOLUTE EXPRESSION'
+7.60 `.if ABSOLUTE EXPRESSION'
 ==============================
 
 `.if' marks the beginning of a section of code which is only considered
@@ -3673,7 +3789,7 @@ each subsequent `.else' block.
 \1f
 File: as.info,  Node: Incbin,  Next: Include,  Prev: If,  Up: Pseudo Ops
 
-7.60 `.incbin "FILE"[,SKIP[,COUNT]]'
+7.61 `.incbin "FILE"[,SKIP[,COUNT]]'
 ====================================
 
 The `incbin' directive includes FILE verbatim at the current location.
@@ -3690,7 +3806,7 @@ before and after the `incbin' directive.
 \1f
 File: as.info,  Node: Include,  Next: Int,  Prev: Incbin,  Up: Pseudo Ops
 
-7.61 `.include "FILE"'
+7.62 `.include "FILE"'
 ======================
 
 This directive provides a way to include supporting files at specified
@@ -3704,7 +3820,7 @@ FILE.
 \1f
 File: as.info,  Node: Int,  Next: Internal,  Prev: Include,  Up: Pseudo Ops
 
-7.62 `.int EXPRESSIONS'
+7.63 `.int EXPRESSIONS'
 =======================
 
 Expect zero or more EXPRESSIONS, of any section, separated by commas.
@@ -3715,7 +3831,7 @@ what kind of target the assembly is for.
 \1f
 File: as.info,  Node: Internal,  Next: Irp,  Prev: Int,  Up: Pseudo Ops
 
-7.63 `.internal NAMES'
+7.64 `.internal NAMES'
 ======================
 
 This is one of the ELF visibility directives.  The other two are
@@ -3732,7 +3848,7 @@ upon the  symbols as well.
 \1f
 File: as.info,  Node: Irp,  Next: Irpc,  Prev: Internal,  Up: Pseudo Ops
 
-7.64 `.irp SYMBOL,VALUES'...
+7.65 `.irp SYMBOL,VALUES'...
 ============================
 
 Evaluate a sequence of statements assigning different values to SYMBOL.
@@ -3760,7 +3876,7 @@ statements, use \SYMBOL.
 \1f
 File: as.info,  Node: Irpc,  Next: Lcomm,  Prev: Irp,  Up: Pseudo Ops
 
-7.65 `.irpc SYMBOL,VALUES'...
+7.66 `.irpc SYMBOL,VALUES'...
 =============================
 
 Evaluate a sequence of statements assigning different values to SYMBOL.
@@ -3789,7 +3905,7 @@ at *Note Macro::.
 \1f
 File: as.info,  Node: Lcomm,  Next: Lflags,  Prev: Irpc,  Up: Pseudo Ops
 
-7.66 `.lcomm SYMBOL , LENGTH'
+7.67 `.lcomm SYMBOL , LENGTH'
 =============================
 
 Reserve LENGTH (an absolute expression) bytes for a local common
@@ -3808,7 +3924,7 @@ section.
 \1f
 File: as.info,  Node: Lflags,  Next: Line,  Prev: Lcomm,  Up: Pseudo Ops
 
-7.67 `.lflags'
+7.68 `.lflags'
 ==============
 
 `as' accepts this directive, for compatibility with other assemblers,
@@ -3817,20 +3933,20 @@ but ignores it.
 \1f
 File: as.info,  Node: Line,  Next: Linkonce,  Prev: Lflags,  Up: Pseudo Ops
 
-7.68 `.line LINE-NUMBER'
+7.69 `.line LINE-NUMBER'
 ========================
 
-   Change the logical line number.  LINE-NUMBER must be an absolute
+Change the logical line number.  LINE-NUMBER must be an absolute
 expression.  The next line has that logical line number.  Therefore any
 other statements on the current line (after a statement separator
 character) are reported as on logical line number LINE-NUMBER - 1.  One
 day `as' will no longer support this directive: it is recognized only
 for compatibility with existing assembler programs.
 
-   Even though this is a directive associated with the `a.out' or
-`b.out' object-code formats, `as' still recognizes it when producing
-COFF output, and treats `.line' as though it were the COFF `.ln' _if_
-it is found outside a `.def'/`.endef' pair.
+Even though this is a directive associated with the `a.out' or `b.out'
+object-code formats, `as' still recognizes it when producing COFF
+output, and treats `.line' as though it were the COFF `.ln' _if_ it is
+found outside a `.def'/`.endef' pair.
 
    Inside a `.def', `.line' is, instead, one of the directives used by
 compilers to generate auxiliary symbol information for debugging.
@@ -3838,7 +3954,7 @@ compilers to generate auxiliary symbol information for debugging.
 \1f
 File: as.info,  Node: Linkonce,  Next: List,  Prev: Line,  Up: Pseudo Ops
 
-7.69 `.linkonce [TYPE]'
+7.70 `.linkonce [TYPE]'
 =======================
 
 Mark the current section so that the linker only includes a single copy
@@ -3870,29 +3986,10 @@ following strings.  For example:
      Warn if any of the duplicates do not have exactly the same
      contents.
 
-\1f
-File: as.info,  Node: Ln,  Next: LNS directives,  Prev: List,  Up: Pseudo Ops
-
-7.70 `.ln LINE-NUMBER'
-======================
-
-`.ln' is a synonym for `.line'.
-
-\1f
-File: as.info,  Node: MRI,  Next: Noaltmacro,  Prev: Macro,  Up: Pseudo Ops
-
-7.71 `.mri VAL'
-===============
-
-If VAL is non-zero, this tells `as' to enter MRI mode.  If VAL is zero,
-this tells `as' to exit MRI mode.  This change affects code assembled
-until the next `.mri' directive, or until the end of the file.  *Note
-MRI mode: M.
-
 \1f
 File: as.info,  Node: List,  Next: Ln,  Prev: Linkonce,  Up: Pseudo Ops
 
-7.72 `.list'
+7.71 `.list'
 ============
 
 Control (in conjunction with the `.nolist' directive) whether or not
@@ -3906,9 +4003,85 @@ whenever the counter is greater than zero.
 initial value of the listing counter is one.
 
 \1f
-File: as.info,  Node: Long,  Next: Macro,  Prev: LNS directives,  Up: Pseudo Ops
+File: as.info,  Node: Ln,  Next: Loc,  Prev: List,  Up: Pseudo Ops
+
+7.72 `.ln LINE-NUMBER'
+======================
+
+`.ln' is a synonym for `.line'.
+
+\1f
+File: as.info,  Node: Loc,  Next: Loc_mark_labels,  Prev: Ln,  Up: Pseudo Ops
+
+7.73 `.loc FILENO LINENO [COLUMN] [OPTIONS]'
+============================================
+
+When emitting DWARF2 line number information, the `.loc' directive will
+add a row to the `.debug_line' line number matrix corresponding to the
+immediately following assembly instruction.  The FILENO, LINENO, and
+optional COLUMN arguments will be applied to the `.debug_line' state
+machine before the row is added.
+
+   The OPTIONS are a sequence of the following tokens in any order:
+
+`basic_block'
+     This option will set the `basic_block' register in the
+     `.debug_line' state machine to `true'.
+
+`prologue_end'
+     This option will set the `prologue_end' register in the
+     `.debug_line' state machine to `true'.
+
+`epilogue_begin'
+     This option will set the `epilogue_begin' register in the
+     `.debug_line' state machine to `true'.
+
+`is_stmt VALUE'
+     This option will set the `is_stmt' register in the `.debug_line'
+     state machine to `value', which must be either 0 or 1.
+
+`isa VALUE'
+     This directive will set the `isa' register in the `.debug_line'
+     state machine to VALUE, which must be an unsigned integer.
+
+`discriminator VALUE'
+     This directive will set the `discriminator' register in the
+     `.debug_line' state machine to VALUE, which must be an unsigned
+     integer.
+
+
+\1f
+File: as.info,  Node: Loc_mark_labels,  Next: Local,  Prev: Loc,  Up: Pseudo Ops
+
+7.74 `.loc_mark_labels ENABLE'
+==============================
+
+When emitting DWARF2 line number information, the `.loc_mark_labels'
+directive makes the assembler emit an entry to the `.debug_line' line
+number matrix with the `basic_block' register in the state machine set
+whenever a code label is seen.  The ENABLE argument should be either 1
+or 0, to enable or disable this function respectively.
+
+\1f
+File: as.info,  Node: Local,  Next: Long,  Prev: Loc_mark_labels,  Up: Pseudo Ops
+
+7.75 `.local NAMES'
+===================
+
+This directive, which is available for ELF targets, marks each symbol in
+the comma-separated list of `names' as a local symbol so that it will
+not be externally visible.  If the symbols do not already exist, they
+will be created.
+
+   For targets where the `.lcomm' directive (*note Lcomm::) does not
+accept an alignment argument, which is the case for most ELF targets,
+the `.local' directive can be used in combination with `.comm' (*note
+Comm::) to define aligned local common data.
+
+\1f
+File: as.info,  Node: Long,  Next: Macro,  Prev: Local,  Up: Pseudo Ops
 
-7.73 `.long EXPRESSIONS'
+7.76 `.long EXPRESSIONS'
 ========================
 
 `.long' is the same as `.int'.  *Note `.int': Int.
@@ -3916,7 +4089,7 @@ File: as.info,  Node: Long,  Next: Macro,  Prev: LNS directives,  Up: Pseudo Ops
 \1f
 File: as.info,  Node: Macro,  Next: MRI,  Prev: Long,  Up: Pseudo Ops
 
-7.74 `.macro'
+7.77 `.macro'
 =============
 
 The commands `.macro' and `.endm' allow you to define macros that
@@ -4067,47 +4240,20 @@ With that definition, `SUM 0,5' is equivalent to this assembly input:
      Altmacro.
 
 \1f
-File: as.info,  Node: Altmacro,  Next: Ascii,  Prev: Align,  Up: Pseudo Ops
-
-7.75 `.altmacro'
-================
-
-Enable alternate macro mode, enabling:
-
-`LOCAL NAME [ , ... ]'
-     One additional directive, `LOCAL', is available.  It is used to
-     generate a string replacement for each of the NAME arguments, and
-     replace any instances of NAME in each macro expansion.  The
-     replacement string is unique in the assembly, and different for
-     each separate macro expansion.  `LOCAL' allows you to write macros
-     that define symbols, without fear of conflict between separate
-     macro expansions.
-
-`String delimiters'
-     You can write strings delimited in these other ways besides
-     `"STRING"':
-
-    `'STRING''
-          You can delimit strings with single-quote characters.
-
-    `<STRING>'
-          You can delimit strings with matching angle brackets.
+File: as.info,  Node: MRI,  Next: Noaltmacro,  Prev: Macro,  Up: Pseudo Ops
 
-`single-character string escape'
-     To include any single character literally in a string (even if the
-     character would otherwise have some special meaning), you can
-     prefix the character with `!' (an exclamation mark).  For example,
-     you can write `<4.3 !> 5.4!!>' to get the literal text `4.3 >
-     5.4!'.
+7.78 `.mri VAL'
+===============
 
-`Expression results as strings'
-     You can write `%EXPR' to evaluate the expression EXPR and use the
-     result as a string.
+If VAL is non-zero, this tells `as' to enter MRI mode.  If VAL is zero,
+this tells `as' to exit MRI mode.  This change affects code assembled
+until the next `.mri' directive, or until the end of the file.  *Note
+MRI mode: M.
 
 \1f
 File: as.info,  Node: Noaltmacro,  Next: Nolist,  Prev: MRI,  Up: Pseudo Ops
 
-7.76 `.noaltmacro'
+7.79 `.noaltmacro'
 ==================
 
 Disable alternate macro mode.  *Note Altmacro::.
@@ -4115,7 +4261,7 @@ Disable alternate macro mode.  *Note Altmacro::.
 \1f
 File: as.info,  Node: Nolist,  Next: Octa,  Prev: Noaltmacro,  Up: Pseudo Ops
 
-7.77 `.nolist'
+7.80 `.nolist'
 ==============
 
 Control (in conjunction with the `.list' directive) whether or not
@@ -4127,7 +4273,7 @@ whenever the counter is greater than zero.
 \1f
 File: as.info,  Node: Octa,  Next: Org,  Prev: Nolist,  Up: Pseudo Ops
 
-7.78 `.octa BIGNUMS'
+7.81 `.octa BIGNUMS'
 ====================
 
 This directive expects zero or more bignums, separated by commas.  For
@@ -4139,7 +4285,7 @@ hence _octa_-word for 16 bytes.
 \1f
 File: as.info,  Node: Org,  Next: P2align,  Prev: Octa,  Up: Pseudo Ops
 
-7.79 `.org NEW-LC , FILL'
+7.82 `.org NEW-LC , FILL'
 =========================
 
 Advance the location counter of the current section to NEW-LC.  NEW-LC
@@ -4168,7 +4314,7 @@ expression.  If the comma and FILL are omitted, FILL defaults to zero.
 \1f
 File: as.info,  Node: P2align,  Next: PopSection,  Prev: Org,  Up: Pseudo Ops
 
-7.80 `.p2align[wl] ABS-EXPR, ABS-EXPR, ABS-EXPR'
+7.83 `.p2align[wl] ABS-EXPR, ABS-EXPR, ABS-EXPR'
 ================================================
 
 Pad the location counter (in the current subsection) to a particular
@@ -4202,29 +4348,10 @@ will be filled in with the value 0x368d (the exact placement of the
 bytes depends upon the endianness of the processor).  If it skips 1 or
 3 bytes, the fill value is undefined.
 
-\1f
-File: as.info,  Node: Previous,  Next: Print,  Prev: PopSection,  Up: Pseudo Ops
-
-7.81 `.previous'
-================
-
-This is one of the ELF section stack manipulation directives.  The
-others are `.section' (*note Section::), `.subsection' (*note
-SubSection::), `.pushsection' (*note PushSection::), and `.popsection'
-(*note PopSection::).
-
-   This directive swaps the current section (and subsection) with most
-recently referenced section (and subsection) prior to this one.
-Multiple `.previous' directives in a row will flip between two sections
-(and their subsections).
-
-   In terms of the section stack, this directive swaps the current
-section with the top section on the section stack.
-
 \1f
 File: as.info,  Node: PopSection,  Next: Previous,  Prev: P2align,  Up: Pseudo Ops
 
-7.82 `.popsection'
+7.84 `.popsection'
 ==================
 
 This is one of the ELF section stack manipulation directives.  The
@@ -4236,10 +4363,58 @@ SubSection::), `.pushsection' (*note PushSection::), and `.previous'
 the top section (and subsection) on the section stack.  This section is
 popped off the stack.
 
+\1f
+File: as.info,  Node: Previous,  Next: Print,  Prev: PopSection,  Up: Pseudo Ops
+
+7.85 `.previous'
+================
+
+This is one of the ELF section stack manipulation directives.  The
+others are `.section' (*note Section::), `.subsection' (*note
+SubSection::), `.pushsection' (*note PushSection::), and `.popsection'
+(*note PopSection::).
+
+   This directive swaps the current section (and subsection) with most
+recently referenced section/subsection pair prior to this one.  Multiple
+`.previous' directives in a row will flip between two sections (and
+their subsections).  For example:
+
+     .section A
+      .subsection 1
+       .word 0x1234
+      .subsection 2
+       .word 0x5678
+     .previous
+      .word 0x9abc
+
+   Will place 0x1234 and 0x9abc into subsection 1 and 0x5678 into
+subsection 2 of section A.  Whilst:
+
+     .section A
+     .subsection 1
+       # Now in section A subsection 1
+       .word 0x1234
+     .section B
+     .subsection 0
+       # Now in section B subsection 0
+       .word 0x5678
+     .subsection 1
+       # Now in section B subsection 1
+       .word 0x9abc
+     .previous
+       # Now in section B subsection 0
+       .word 0xdef0
+
+   Will place 0x1234 into section A, 0x5678 and 0xdef0 into subsection
+0 of section B and 0x9abc into subsection 1 of section B.
+
+   In terms of the section stack, this directive swaps the current
+section with the top section on the section stack.
+
 \1f
 File: as.info,  Node: Print,  Next: Protected,  Prev: Previous,  Up: Pseudo Ops
 
-7.83 `.print STRING'
+7.86 `.print STRING'
 ====================
 
 `as' will print STRING on the standard output during assembly.  You
@@ -4248,7 +4423,7 @@ must put STRING in double quotes.
 \1f
 File: as.info,  Node: Protected,  Next: Psize,  Prev: Print,  Up: Pseudo Ops
 
-7.84 `.protected NAMES'
+7.87 `.protected NAMES'
 =======================
 
 This is one of the ELF visibility directives.  The other two are
@@ -4264,7 +4439,7 @@ component would normally preempt this.
 \1f
 File: as.info,  Node: Psize,  Next: Purgem,  Prev: Protected,  Up: Pseudo Ops
 
-7.85 `.psize LINES , COLUMNS'
+7.88 `.psize LINES , COLUMNS'
 =============================
 
 Use this directive to declare the number of lines--and, optionally, the
@@ -4283,7 +4458,7 @@ explicitly specified with `.eject'.
 \1f
 File: as.info,  Node: Purgem,  Next: PushSection,  Prev: Psize,  Up: Pseudo Ops
 
-7.86 `.purgem NAME'
+7.89 `.purgem NAME'
 ===================
 
 Undefine the macro NAME, so that later uses of the string will not be
@@ -4292,8 +4467,8 @@ expanded.  *Note Macro::.
 \1f
 File: as.info,  Node: PushSection,  Next: Quad,  Prev: Purgem,  Up: Pseudo Ops
 
-7.87 `.pushsection NAME , SUBSECTION'
-=====================================
+7.90 `.pushsection NAME [, SUBSECTION] [, "FLAGS"[, @TYPE[,ARGUMENTS]]]'
+========================================================================
 
 This is one of the ELF section stack manipulation directives.  The
 others are `.section' (*note Section::), `.subsection' (*note
@@ -4302,12 +4477,14 @@ SubSection::), `.popsection' (*note PopSection::), and `.previous'
 
    This directive pushes the current section (and subsection) onto the
 top of the section stack, and then replaces the current section and
-subsection with `name' and `subsection'.
+subsection with `name' and `subsection'. The optional `flags', `type'
+and `arguments' are treated the same as in the `.section' (*note
+Section::) directive.
 
 \1f
 File: as.info,  Node: Quad,  Next: Reloc,  Prev: PushSection,  Up: Pseudo Ops
 
-7.88 `.quad BIGNUMS'
+7.91 `.quad BIGNUMS'
 ====================
 
 `.quad' expects zero or more bignums, separated by commas.  For each
@@ -4321,7 +4498,7 @@ hence _quad_-word for 8 bytes.
 \1f
 File: as.info,  Node: Reloc,  Next: Rept,  Prev: Quad,  Up: Pseudo Ops
 
-7.89 `.reloc OFFSET, RELOC_NAME[, EXPRESSION]'
+7.92 `.reloc OFFSET, RELOC_NAME[, EXPRESSION]'
 ==============================================
 
 Generate a relocation at OFFSET of type RELOC_NAME with value
@@ -4337,7 +4514,7 @@ support addends stored in the section.
 \1f
 File: as.info,  Node: Rept,  Next: Sbttl,  Prev: Reloc,  Up: Pseudo Ops
 
-7.90 `.rept COUNT'
+7.93 `.rept COUNT'
 ==================
 
 Repeat the sequence of lines between the `.rept' directive and the next
@@ -4358,7 +4535,7 @@ Repeat the sequence of lines between the `.rept' directive and the next
 \1f
 File: as.info,  Node: Sbttl,  Next: Scl,  Prev: Rept,  Up: Pseudo Ops
 
-7.91 `.sbttl "SUBHEADING"'
+7.94 `.sbttl "SUBHEADING"'
 ==========================
 
 Use SUBHEADING as the title (third line, immediately after the title
@@ -4370,7 +4547,7 @@ if it appears within ten lines of the top of a page.
 \1f
 File: as.info,  Node: Scl,  Next: Section,  Prev: Sbttl,  Up: Pseudo Ops
 
-7.92 `.scl CLASS'
+7.95 `.scl CLASS'
 =================
 
 Set the storage-class value for a symbol.  This directive may only be
@@ -4381,7 +4558,7 @@ debugging information.
 \1f
 File: as.info,  Node: Section,  Next: Set,  Prev: Scl,  Up: Pseudo Ops
 
-7.93 `.section NAME'
+7.96 `.section NAME'
 ====================
 
 Use the `.section' directive to assemble the following code into a
@@ -4398,7 +4575,7 @@ COFF Version
 following ways:
 
      .section NAME[, "FLAGS"]
-     .section NAME[, SUBSEGMENT]
+     .section NAME[, SUBSECTION]
 
    If the optional argument is quoted, it is taken as flags to use for
 the section.  Each flag is a single character.  The following flags are
@@ -4427,6 +4604,9 @@ recognized:
 `a'
      ignored.  (For compatibility with the ELF version)
 
+`y'
+     section is not readable (meaningful for PE targets)
+
    If no flags are specified, the default flags depend upon the section
 name.  If the section name is not recognized, the default will be for
 the section to be loaded and writable.  Note the `n' and `w' flags
@@ -4435,7 +4615,7 @@ are used on their own it will be as if no flags had been specified at
 all.
 
    If the optional argument to the `.section' directive is not quoted,
-it is taken as a subsegment number (*note Sub-Sections::).
+it is taken as a subsection number (*note Sub-Sections::).
 
 ELF Version
 -----------
@@ -4509,7 +4689,10 @@ constants, each ENTSIZE octets long. Sections with both `M' and `S'
 must contain zero terminated strings where each character is ENTSIZE
 bytes long. The linker may remove duplicates within sections with the
 same name, same entity size and same flags.  ENTSIZE must be an
-absolute expression.
+absolute expression.  For sections with both `M' and `S', a string
+which is a suffix of a larger string is considered a duplicate.  Thus
+`"def"' will be merged with `"abcdef"';  A reference to the first
+`"def"' will be changed to a reference to `"abcdef"+3'.
 
    If FLAGS contains the `G' symbol then the TYPE argument must be
 present along with an additional field like this:
@@ -4562,7 +4745,7 @@ directives work.
 \1f
 File: as.info,  Node: Set,  Next: Short,  Prev: Section,  Up: Pseudo Ops
 
-7.94 `.set SYMBOL, EXPRESSION'
+7.97 `.set SYMBOL, EXPRESSION'
 ==============================
 
 Set the value of SYMBOL to EXPRESSION.  This changes SYMBOL's value and
@@ -4582,7 +4765,7 @@ instead.
 \1f
 File: as.info,  Node: Short,  Next: Single,  Prev: Set,  Up: Pseudo Ops
 
-7.95 `.short EXPRESSIONS'
+7.98 `.short EXPRESSIONS'
 =========================
 
 `.short' is normally the same as `.word'.  *Note `.word': Word.
@@ -4593,7 +4776,7 @@ numbers of different lengths.  *Note Machine Dependencies::.
 \1f
 File: as.info,  Node: Single,  Next: Size,  Prev: Short,  Up: Pseudo Ops
 
-7.96 `.single FLONUMS'
+7.99 `.single FLONUMS'
 ======================
 
 This directive assembles zero or more flonums, separated by commas.  It
@@ -4604,8 +4787,8 @@ Dependencies::.
 \1f
 File: as.info,  Node: Size,  Next: Skip,  Prev: Single,  Up: Pseudo Ops
 
-7.97 `.size'
-============
+7.100 `.size'
+=============
 
 This directive is used to set the size associated with a symbol.
 
@@ -4629,30 +4812,30 @@ size in bytes is computed from EXPRESSION which can make use of label
 arithmetic.  This directive is typically used to set the size of
 function symbols.
 
-\1f
-File: as.info,  Node: Sleb128,  Next: Space,  Prev: Skip,  Up: Pseudo Ops
-
-7.98 `.sleb128 EXPRESSIONS'
-===========================
-
-SLEB128 stands for "signed little endian base 128."  This is a compact,
-variable length representation of numbers used by the DWARF symbolic
-debugging format.  *Note `.uleb128': Uleb128.
-
 \1f
 File: as.info,  Node: Skip,  Next: Sleb128,  Prev: Size,  Up: Pseudo Ops
 
-7.99 `.skip SIZE , FILL'
-========================
+7.101 `.skip SIZE , FILL'
+=========================
 
 This directive emits SIZE bytes, each of value FILL.  Both SIZE and
 FILL are absolute expressions.  If the comma and FILL are omitted, FILL
 is assumed to be zero.  This is the same as `.space'.
 
+\1f
+File: as.info,  Node: Sleb128,  Next: Space,  Prev: Skip,  Up: Pseudo Ops
+
+7.102 `.sleb128 EXPRESSIONS'
+============================
+
+SLEB128 stands for "signed little endian base 128."  This is a compact,
+variable length representation of numbers used by the DWARF symbolic
+debugging format.  *Note `.uleb128': Uleb128.
+
 \1f
 File: as.info,  Node: Space,  Next: Stab,  Prev: Sleb128,  Up: Pseudo Ops
 
-7.100 `.space SIZE , FILL'
+7.103 `.space SIZE , FILL'
 ==========================
 
 This directive emits SIZE bytes, each of value FILL.  Both SIZE and
@@ -4668,7 +4851,7 @@ is assumed to be zero.  This is the same as `.skip'.
 \1f
 File: as.info,  Node: Stab,  Next: String,  Prev: Space,  Up: Pseudo Ops
 
-7.101 `.stabd, .stabn, .stabs'
+7.104 `.stabd, .stabn, .stabs'
 ==============================
 
 There are three directives that begin `.stab'.  All emit symbols (*note
@@ -4722,19 +4905,32 @@ earlier assemblers!
 \1f
 File: as.info,  Node: String,  Next: Struct,  Prev: Stab,  Up: Pseudo Ops
 
-7.102 `.string' "STR"
-=====================
+7.105 `.string' "STR", `.string8' "STR", `.string16'
+====================================================
+
+"STR", `.string32' "STR", `.string64' "STR"
 
-Copy the characters in STR to the object file.  You may specify more
+   Copy the characters in STR to the object file.  You may specify more
 than one string to copy, separated by commas.  Unless otherwise
 specified for a particular machine, the assembler marks the end of each
 string with a 0 byte.  You can use any of the escape sequences
 described in *Note Strings: Strings.
 
+   The variants `string16', `string32' and `string64' differ from the
+`string' pseudo opcode in that each 8-bit character from STR is copied
+and expanded to 16, 32 or 64 bits respectively.  The expanded characters
+are stored in target endianness byte order.
+
+   Example:
+       .string32 "BYE"
+     expands to:
+       .string   "B\0\0\0Y\0\0\0E\0\0\0"  /* On little endian targets.  */
+       .string   "\0\0\0B\0\0\0Y\0\0\0E"  /* On big endian targets.  */
+
 \1f
 File: as.info,  Node: Struct,  Next: SubSection,  Prev: String,  Up: Pseudo Ops
 
-7.103 `.struct EXPRESSION'
+7.106 `.struct EXPRESSION'
 ==========================
 
 Switch to the absolute section, and set the section offset to
@@ -4755,7 +4951,7 @@ section before further assembly.
 \1f
 File: as.info,  Node: SubSection,  Next: Symver,  Prev: Struct,  Up: Pseudo Ops
 
-7.104 `.subsection NAME'
+7.107 `.subsection NAME'
 ========================
 
 This is one of the ELF section stack manipulation directives.  The
@@ -4770,7 +4966,7 @@ the section stack in place of the then current top of stack subsection.
 \1f
 File: as.info,  Node: Symver,  Next: Tag,  Prev: SubSection,  Up: Pseudo Ops
 
-7.105 `.symver'
+7.108 `.symver'
 ===============
 
 Use the `.symver' directive to bind symbols to specific version nodes
@@ -4819,7 +5015,7 @@ assembled, the symbol name, NAME, will be changed to NAME2@@NODENAME.
 \1f
 File: as.info,  Node: Tag,  Next: Text,  Prev: Symver,  Up: Pseudo Ops
 
-7.106 `.tag STRUCTNAME'
+7.109 `.tag STRUCTNAME'
 =======================
 
 This directive is generated by compilers to include auxiliary debugging
@@ -4830,7 +5026,7 @@ the symbol table with instances of those structures.
 \1f
 File: as.info,  Node: Text,  Next: Title,  Prev: Tag,  Up: Pseudo Ops
 
-7.107 `.text SUBSECTION'
+7.110 `.text SUBSECTION'
 ========================
 
 Tells `as' to assemble the following statements onto the end of the
@@ -4840,7 +5036,7 @@ If SUBSECTION is omitted, subsection number zero is used.
 \1f
 File: as.info,  Node: Title,  Next: Type,  Prev: Text,  Up: Pseudo Ops
 
-7.108 `.title "HEADING"'
+7.111 `.title "HEADING"'
 ========================
 
 Use HEADING as the title (second line, immediately after the source
@@ -4852,7 +5048,7 @@ if it appears within ten lines of the top of a page.
 \1f
 File: as.info,  Node: Type,  Next: Uleb128,  Prev: Title,  Up: Pseudo Ops
 
-7.109 `.type'
+7.112 `.type'
 =============
 
 This directive is used to set the type of a symbol.
@@ -4889,25 +5085,54 @@ assemble your code with other assemblers.
 
    The syntaxes supported are:
 
-       .type <name> STT_FUNCTION
-       .type <name> STT_OBJECT
+       .type <name> STT_<TYPE_IN_UPPER_CASE>
+       .type <name>,#<type>
+       .type <name>,@<type>
+       .type <name>,%<type>
+       .type <name>,"<type>"
+
+   The types supported are:
+
+`STT_FUNC'
+`function'
+     Mark the symbol as being a function name.
+
+`STT_GNU_IFUNC'
+`gnu_indirect_function'
+     Mark the symbol as an indirect function when evaluated during reloc
+     processing.  (This is only supported on Linux targeted assemblers).
+
+`STT_OBJECT'
+`object'
+     Mark the symbol as being a data object.
+
+`STT_TLS'
+`tls_object'
+     Mark the symbol as being a thead-local data object.
+
+`STT_COMMON'
+`common'
+     Mark the symbol as being a common data object.
 
-       .type <name>,#function
-       .type <name>,#object
+`STT_NOTYPE'
+`notype'
+     Does not mark the symbol in any way.  It is supported just for
+     completeness.
 
-       .type <name>,@function
-       .type <name>,@object
+`gnu_unique_object'
+     Marks the symbol as being a globally unique data object.  The
+     dynamic linker will make sure that in the entire process there is
+     just one symbol with this name and type in use.  (This is only
+     supported on Linux targeted assemblers).
 
-       .type <name>,%function
-       .type <name>,%object
 
-       .type <name>,"function"
-       .type <name>,"object"
+   Note: Some targets support extra types in addition to those listed
+above.
 
 \1f
 File: as.info,  Node: Uleb128,  Next: Val,  Prev: Type,  Up: Pseudo Ops
 
-7.110 `.uleb128 EXPRESSIONS'
+7.113 `.uleb128 EXPRESSIONS'
 ============================
 
 ULEB128 stands for "unsigned little endian base 128."  This is a
@@ -4917,7 +5142,7 @@ symbolic debugging format.  *Note `.sleb128': Sleb128.
 \1f
 File: as.info,  Node: Val,  Next: Version,  Prev: Uleb128,  Up: Pseudo Ops
 
-7.111 `.val ADDR'
+7.114 `.val ADDR'
 =================
 
 This directive, permitted only within `.def'/`.endef' pairs, records
@@ -4926,7 +5151,7 @@ the address ADDR as the value attribute of a symbol table entry.
 \1f
 File: as.info,  Node: Version,  Next: VTableEntry,  Prev: Val,  Up: Pseudo Ops
 
-7.112 `.version "STRING"'
+7.115 `.version "STRING"'
 =========================
 
 This directive creates a `.note' section and places into it an ELF
@@ -4935,7 +5160,7 @@ formatted note of type NT_VERSION.  The note's name is set to `string'.
 \1f
 File: as.info,  Node: VTableEntry,  Next: VTableInherit,  Prev: Version,  Up: Pseudo Ops
 
-7.113 `.vtable_entry TABLE, OFFSET'
+7.116 `.vtable_entry TABLE, OFFSET'
 ===================================
 
 This directive finds or creates a symbol `table' and creates a
@@ -4944,7 +5169,7 @@ This directive finds or creates a symbol `table' and creates a
 \1f
 File: as.info,  Node: VTableInherit,  Next: Warning,  Prev: VTableEntry,  Up: Pseudo Ops
 
-7.114 `.vtable_inherit CHILD, PARENT'
+7.117 `.vtable_inherit CHILD, PARENT'
 =====================================
 
 This directive finds the symbol `child' and finds or creates the symbol
@@ -4955,7 +5180,7 @@ parent name of `0' is treated as referring to the `*ABS*' section.
 \1f
 File: as.info,  Node: Warning,  Next: Weak,  Prev: VTableInherit,  Up: Pseudo Ops
 
-7.115 `.warning "STRING"'
+7.118 `.warning "STRING"'
 =========================
 
 Similar to the directive `.error' (*note `.error "STRING"': Error.),
@@ -4964,7 +5189,7 @@ but just emits a warning.
 \1f
 File: as.info,  Node: Weak,  Next: Weakref,  Prev: Warning,  Up: Pseudo Ops
 
-7.116 `.weak NAMES'
+7.119 `.weak NAMES'
 ===================
 
 This directive sets the weak attribute on the comma separated list of
@@ -4983,7 +5208,7 @@ creates an alternate symbol to hold the default value.
 \1f
 File: as.info,  Node: Weakref,  Next: Word,  Prev: Weak,  Up: Pseudo Ops
 
-7.117 `.weakref ALIAS, TARGET'
+7.120 `.weakref ALIAS, TARGET'
 ==============================
 
 This directive creates an alias to the target symbol that enables the
@@ -5006,7 +5231,7 @@ handled within the assembler.
 \1f
 File: as.info,  Node: Word,  Next: Deprecated,  Prev: Weakref,  Up: Pseudo Ops
 
-7.118 `.word EXPRESSIONS'
+7.121 `.word EXPRESSIONS'
 =========================
 
 This directive expects zero or more EXPRESSIONS, of any section,
@@ -5046,7 +5271,7 @@ jump table as necessary.
 \1f
 File: as.info,  Node: Deprecated,  Prev: Word,  Up: Pseudo Ops
 
-7.119 Deprecated Directives
+7.122 Deprecated Directives
 ===========================
 
 One day these directives won't work.  They are included for
@@ -5056,9 +5281,146 @@ compatibility with older assemblers.
 .line
 
 \1f
-File: as.info,  Node: Machine Dependencies,  Next: Reporting Bugs,  Prev: Pseudo Ops,  Up: Top
+File: as.info,  Node: Object Attributes,  Next: Machine Dependencies,  Prev: Pseudo Ops,  Up: Top
 
-8 Machine Dependent Features
+8 Object Attributes
+*******************
+
+`as' assembles source files written for a specific architecture into
+object files for that architecture.  But not all object files are alike.
+Many architectures support incompatible variations.  For instance,
+floating point arguments might be passed in floating point registers if
+the object file requires hardware floating point support--or floating
+point arguments might be passed in integer registers if the object file
+supports processors with no hardware floating point unit.  Or, if two
+objects are built for different generations of the same architecture,
+the combination may require the newer generation at run-time.
+
+   This information is useful during and after linking.  At link time,
+`ld' can warn about incompatible object files.  After link time, tools
+like `gdb' can use it to process the linked file correctly.
+
+   Compatibility information is recorded as a series of object
+attributes.  Each attribute has a "vendor", "tag", and "value".  The
+vendor is a string, and indicates who sets the meaning of the tag.  The
+tag is an integer, and indicates what property the attribute describes.
+The value may be a string or an integer, and indicates how the
+property affects this object.  Missing attributes are the same as
+attributes with a zero value or empty string value.
+
+   Object attributes were developed as part of the ABI for the ARM
+Architecture.  The file format is documented in `ELF for the ARM
+Architecture'.
+
+* Menu:
+
+* GNU Object Attributes::               GNU Object Attributes
+* Defining New Object Attributes::      Defining New Object Attributes
+
+\1f
+File: as.info,  Node: GNU Object Attributes,  Next: Defining New Object Attributes,  Up: Object Attributes
+
+8.1 GNU Object Attributes
+=========================
+
+The `.gnu_attribute' directive records an object attribute with vendor
+`gnu'.
+
+   Except for `Tag_compatibility', which has both an integer and a
+string for its value, GNU attributes have a string value if the tag
+number is odd and an integer value if the tag number is even.  The
+second bit (`TAG & 2' is set for architecture-independent attributes
+and clear for architecture-dependent ones.
+
+8.1.1 Common GNU attributes
+---------------------------
+
+These attributes are valid on all architectures.
+
+Tag_compatibility (32)
+     The compatibility attribute takes an integer flag value and a
+     vendor name.  If the flag value is 0, the file is compatible with
+     other toolchains.  If it is 1, then the file is only compatible
+     with the named toolchain.  If it is greater than 1, the file can
+     only be processed by other toolchains under some private
+     arrangement indicated by the flag value and the vendor name.
+
+8.1.2 MIPS Attributes
+---------------------
+
+Tag_GNU_MIPS_ABI_FP (4)
+     The floating-point ABI used by this object file.  The value will
+     be:
+
+        * 0 for files not affected by the floating-point ABI.
+
+        * 1 for files using the hardware floating-point with a standard
+          double-precision FPU.
+
+        * 2 for files using the hardware floating-point ABI with a
+          single-precision FPU.
+
+        * 3 for files using the software floating-point ABI.
+
+        * 4 for files using the hardware floating-point ABI with 64-bit
+          wide double-precision floating-point registers and 32-bit
+          wide general purpose registers.
+
+8.1.3 PowerPC Attributes
+------------------------
+
+Tag_GNU_Power_ABI_FP (4)
+     The floating-point ABI used by this object file.  The value will
+     be:
+
+        * 0 for files not affected by the floating-point ABI.
+
+        * 1 for files using double-precision hardware floating-point
+          ABI.
+
+        * 2 for files using the software floating-point ABI.
+
+        * 3 for files using single-precision hardware floating-point
+          ABI.
+
+Tag_GNU_Power_ABI_Vector (8)
+     The vector ABI used by this object file.  The value will be:
+
+        * 0 for files not affected by the vector ABI.
+
+        * 1 for files using general purpose registers to pass vectors.
+
+        * 2 for files using AltiVec registers to pass vectors.
+
+        * 3 for files using SPE registers to pass vectors.
+
+\1f
+File: as.info,  Node: Defining New Object Attributes,  Prev: GNU Object Attributes,  Up: Object Attributes
+
+8.2 Defining New Object Attributes
+==================================
+
+If you want to define a new GNU object attribute, here are the places
+you will need to modify.  New attributes should be discussed on the
+`binutils' mailing list.
+
+   * This manual, which is the official register of attributes.
+
+   * The header for your architecture `include/elf', to define the tag.
+
+   * The `bfd' support file for your architecture, to merge the
+     attribute and issue any appropriate link warnings.
+
+   * Test cases in `ld/testsuite' for merging and link warnings.
+
+   * `binutils/readelf.c' to display your attribute.
+
+   * GCC, if you want the compiler to mark the attribute automatically.
+
+\1f
+File: as.info,  Node: Machine Dependencies,  Next: Reporting Bugs,  Prev: Object Attributes,  Up: Top
+
+9 Machine Dependent Features
 ****************************
 
 The machine instruction sets are (almost by definition) different on
@@ -5083,7 +5445,7 @@ subject, see the hardware manufacturer's manual.
 
 * AVR-Dependent::               AVR Dependent Features
 
-* BFIN-Dependent::             BFIN Dependent Features
+* Blackfin-Dependent::         Blackfin Dependent Features
 
 * CR16-Dependent::              CR16 Dependent Features
 
@@ -5109,6 +5471,8 @@ subject, see the hardware manufacturer's manual.
 
 * IP2K-Dependent::              IP2K Dependent Features
 
+* LM32-Dependent::              LM32 Dependent Features
+
 * M32C-Dependent::              M32C Dependent Features
 
 * M32R-Dependent::              M32R Dependent Features
@@ -5117,6 +5481,8 @@ subject, see the hardware manufacturer's manual.
 
 * M68HC11-Dependent::           M68HC11 and 68HC12 Dependent Features
 
+* MicroBlaze-Dependent::       MICROBLAZE Dependent Features
+
 * MIPS-Dependent::              MIPS Dependent Features
 
 * MMIX-Dependent::              MMIX Dependent Features
@@ -5132,6 +5498,10 @@ subject, see the hardware manufacturer's manual.
 
 * PPC-Dependent::               PowerPC Dependent Features
 
+* S/390-Dependent::             IBM S/390 Dependent Features
+
+* SCORE-Dependent::             SCORE Dependent Features
+
 * Sparc-Dependent::             SPARC Dependent Features
 
 * TIC54X-Dependent::            TI TMS320C54x Dependent Features
@@ -5149,7 +5519,7 @@ subject, see the hardware manufacturer's manual.
 \1f
 File: as.info,  Node: Alpha-Dependent,  Next: ARC-Dependent,  Up: Machine Dependencies
 
-8.1 Alpha Dependent Features
+9.1 Alpha Dependent Features
 ============================
 
 * Menu:
@@ -5164,7 +5534,7 @@ File: as.info,  Node: Alpha-Dependent,  Next: ARC-Dependent,  Up: Machine Depend
 \1f
 File: as.info,  Node: Alpha Notes,  Next: Alpha Options,  Up: Alpha-Dependent
 
-8.1.1 Notes
+9.1.1 Notes
 -----------
 
 The documentation here is primarily for the ELF object format.  `as'
@@ -5174,7 +5544,7 @@ these formats are not yet documented.
 \1f
 File: as.info,  Node: Alpha Options,  Next: Alpha Syntax,  Prev: Alpha Notes,  Up: Alpha-Dependent
 
-8.1.2 Options
+9.1.2 Options
 -------------
 
 `-mCPU'
@@ -5211,6 +5581,14 @@ File: as.info,  Node: Alpha Options,  Next: Alpha Syntax,  Prev: Alpha Notes,  U
      can be represented.  However, the option can still be useful in
      specific applications.
 
+`-replace'
+
+`-noreplace'
+     Enables or disables the optimization of procedure calls, both at
+     assemblage and at link time.  These options are only available for
+     VMS targets and `-replace' is the default.  See section 1.4.1 of
+     the OpenVMS Linker Utility Manual.
+
 `-g'
      This option is used when the compiler generates debug information.
      When `gcc' is using `mips-tfile' to generate debug information
@@ -5228,7 +5606,7 @@ File: as.info,  Node: Alpha Options,  Next: Alpha Syntax,  Prev: Alpha Notes,  U
 \1f
 File: as.info,  Node: Alpha Syntax,  Next: Alpha Floating Point,  Prev: Alpha Options,  Up: Alpha-Dependent
 
-8.1.3 Syntax
+9.1.3 Syntax
 ------------
 
 The assembler syntax closely follow the Alpha Reference Manual;
@@ -5244,7 +5622,7 @@ OpenVMS syntax, with a few differences for ELF.
 \1f
 File: as.info,  Node: Alpha-Chars,  Next: Alpha-Regs,  Up: Alpha Syntax
 
-8.1.3.1 Special Characters
+9.1.3.1 Special Characters
 ..........................
 
 `#' is the line comment character.
@@ -5254,7 +5632,7 @@ File: as.info,  Node: Alpha-Chars,  Next: Alpha-Regs,  Up: Alpha Syntax
 \1f
 File: as.info,  Node: Alpha-Regs,  Next: Alpha-Relocs,  Prev: Alpha-Chars,  Up: Alpha Syntax
 
-8.1.3.2 Register Names
+9.1.3.2 Register Names
 ......................
 
 The 32 integer registers are referred to as `$N' or `$rN'.  In
@@ -5266,7 +5644,7 @@ symbols `$fp', `$at', `$gp', and `$sp' respectively.
 \1f
 File: as.info,  Node: Alpha-Relocs,  Prev: Alpha-Regs,  Up: Alpha Syntax
 
-8.1.3.3 Relocations
+9.1.3.3 Relocations
 ...................
 
 Some of these relocations are available for ECOFF, but mostly only for
@@ -5429,7 +5807,7 @@ instructions.
 \1f
 File: as.info,  Node: Alpha Floating Point,  Next: Alpha Directives,  Prev: Alpha Syntax,  Up: Alpha-Dependent
 
-8.1.4 Floating Point
+9.1.4 Floating Point
 --------------------
 
 The Alpha family uses both IEEE and VAX floating-point numbers.
@@ -5437,7 +5815,7 @@ The Alpha family uses both IEEE and VAX floating-point numbers.
 \1f
 File: as.info,  Node: Alpha Directives,  Next: Alpha Opcodes,  Prev: Alpha Floating Point,  Up: Alpha-Dependent
 
-8.1.5 Alpha Assembler Directives
+9.1.5 Alpha Assembler Directives
 --------------------------------
 
 `as' for the Alpha supports many additional directives for
@@ -5570,7 +5948,7 @@ OSF/1 assembler but are ignored.
 \1f
 File: as.info,  Node: Alpha Opcodes,  Prev: Alpha Directives,  Up: Alpha-Dependent
 
-8.1.6 Opcodes
+9.1.6 Opcodes
 -------------
 
 For detailed information on the Alpha machine instruction set, see the
@@ -5580,7 +5958,7 @@ Alpha Architecture Handbook
 \1f
 File: as.info,  Node: ARC-Dependent,  Next: ARM-Dependent,  Prev: Alpha-Dependent,  Up: Machine Dependencies
 
-8.2 ARC Dependent Features
+9.2 ARC Dependent Features
 ==========================
 
 * Menu:
@@ -5594,7 +5972,7 @@ File: as.info,  Node: ARC-Dependent,  Next: ARM-Dependent,  Prev: Alpha-Dependen
 \1f
 File: as.info,  Node: ARC Options,  Next: ARC Syntax,  Up: ARC-Dependent
 
-8.2.1 Options
+9.2.1 Options
 -------------
 
 `-marc[5|6|7|8]'
@@ -5635,7 +6013,7 @@ File: as.info,  Node: ARC Options,  Next: ARC Syntax,  Up: ARC-Dependent
 \1f
 File: as.info,  Node: ARC Syntax,  Next: ARC Floating Point,  Prev: ARC Options,  Up: ARC-Dependent
 
-8.2.2 Syntax
+9.2.2 Syntax
 ------------
 
 * Menu:
@@ -5646,7 +6024,7 @@ File: as.info,  Node: ARC Syntax,  Next: ARC Floating Point,  Prev: ARC Options,
 \1f
 File: as.info,  Node: ARC-Chars,  Next: ARC-Regs,  Up: ARC Syntax
 
-8.2.2.1 Special Characters
+9.2.2.1 Special Characters
 ..........................
 
 *TODO*
@@ -5654,7 +6032,7 @@ File: as.info,  Node: ARC-Chars,  Next: ARC-Regs,  Up: ARC Syntax
 \1f
 File: as.info,  Node: ARC-Regs,  Prev: ARC-Chars,  Up: ARC Syntax
 
-8.2.2.2 Register Names
+9.2.2.2 Register Names
 ......................
 
 *TODO*
@@ -5662,7 +6040,7 @@ File: as.info,  Node: ARC-Regs,  Prev: ARC-Chars,  Up: ARC Syntax
 \1f
 File: as.info,  Node: ARC Floating Point,  Next: ARC Directives,  Prev: ARC Syntax,  Up: ARC-Dependent
 
-8.2.3 Floating Point
+9.2.3 Floating Point
 --------------------
 
 The ARC core does not currently have hardware floating point support.
@@ -5672,7 +6050,7 @@ floating-point numbers.
 \1f
 File: as.info,  Node: ARC Directives,  Next: ARC Opcodes,  Prev: ARC Floating Point,  Up: ARC-Dependent
 
-8.2.4 ARC Machine Directives
+9.2.4 ARC Machine Directives
 ----------------------------
 
 The ARC version of `as' supports the following additional machine
@@ -5770,7 +6148,7 @@ directives:
           indicates the absence or presence of conditional suffixes and
           flag setting by the extension instruction.  It is also
           possible to specify that an instruction sets the flags and is
-          condtional by using `SUFFIX_CODE' | `SUFFIX_FLAG'.
+          conditional by using `SUFFIX_CODE' | `SUFFIX_FLAG'.
 
     *SYNTAXCLASS
           Determines the syntax class for the instruction.  It can have
@@ -5850,7 +6228,7 @@ directives:
 \1f
 File: as.info,  Node: ARC Opcodes,  Prev: ARC Directives,  Up: ARC-Dependent
 
-8.2.5 Opcodes
+9.2.5 Opcodes
 -------------
 
 For information on the ARC instruction set, see `ARC Programmers
@@ -5859,7 +6237,7 @@ Reference Manual', ARC International (www.arc.com)
 \1f
 File: as.info,  Node: ARM-Dependent,  Next: AVR-Dependent,  Prev: ARC-Dependent,  Up: Machine Dependencies
 
-8.3 ARM Dependent Features
+9.3 ARM Dependent Features
 ==========================
 
 * Menu:
@@ -5870,11 +6248,12 @@ File: as.info,  Node: ARM-Dependent,  Next: AVR-Dependent,  Prev: ARC-Dependent,
 * ARM Directives::           ARM Machine Directives
 * ARM Opcodes::              Opcodes
 * ARM Mapping Symbols::      Mapping Symbols
+* ARM Unwinding Tutorial::   Unwinding
 
 \1f
 File: as.info,  Node: ARM Options,  Next: ARM Syntax,  Up: ARM-Dependent
 
-8.3.1 Options
+9.3.1 Options
 -------------
 
 `-mcpu=PROCESSOR[+EXTENSION...]'
@@ -5888,18 +6267,21 @@ File: as.info,  Node: ARM Options,  Next: ARM Syntax,  Up: ARM-Dependent
      `arm710c', `arm7100', `arm7500', `arm7500fe', `arm7t', `arm7tdmi',
      `arm7tdmi-s', `arm8', `arm810', `strongarm', `strongarm1',
      `strongarm110', `strongarm1100', `strongarm1110', `arm9', `arm920',
-     `arm920t', `arm922t', `arm940t', `arm9tdmi', `arm9e', `arm926e',
-     `arm926ej-s', `arm946e-r0', `arm946e', `arm946e-s', `arm966e-r0',
-     `arm966e', `arm966e-s', `arm968e-s', `arm10t', `arm10tdmi',
-     `arm10e', `arm1020', `arm1020t', `arm1020e', `arm1022e',
-     `arm1026ej-s', `arm1136j-s', `arm1136jf-s', `arm1156t2-s',
-     `arm1156t2f-s', `arm1176jz-s', `arm1176jzf-s', `mpcore',
-     `mpcorenovfp', `cortex-a8', `cortex-r4', `cortex-m3', `ep9312'
-     (ARM920 with Cirrus Maverick coprocessor), `i80200' (Intel XScale
-     processor) `iwmmxt' (Intel(r) XScale processor with Wireless
-     MMX(tm) technology coprocessor) and `xscale'.  The special name
-     `all' may be used to allow the assembler to accept instructions
-     valid for any ARM processor.
+     `arm920t', `arm922t', `arm940t', `arm9tdmi', `fa526' (Faraday
+     FA526 processor), `fa626' (Faraday FA626 processor), `arm9e',
+     `arm926e', `arm926ej-s', `arm946e-r0', `arm946e', `arm946e-s',
+     `arm966e-r0', `arm966e', `arm966e-s', `arm968e-s', `arm10t',
+     `arm10tdmi', `arm10e', `arm1020', `arm1020t', `arm1020e',
+     `arm1022e', `arm1026ej-s', `fa626te' (Faraday FA626TE processor),
+     `fa726te' (Faraday FA726TE processor), `arm1136j-s', `arm1136jf-s',
+     `arm1156t2-s', `arm1156t2f-s', `arm1176jz-s', `arm1176jzf-s',
+     `mpcore', `mpcorenovfp', `cortex-a8', `cortex-a9', `cortex-r4',
+     `cortex-m3', `cortex-m1', `cortex-m0', `ep9312' (ARM920 with
+     Cirrus Maverick coprocessor), `i80200' (Intel XScale processor)
+     `iwmmxt' (Intel(r) XScale processor with Wireless MMX(tm)
+     technology coprocessor) and `xscale'.  The special name `all' may
+     be used to allow the assembler to accept instructions valid for
+     any ARM processor.
 
      In addition to the basic instruction set, the assembler can be
      told to accept various extension mnemonics that extend the
@@ -5930,8 +6312,8 @@ File: as.info,  Node: ARM Options,  Next: ARM Syntax,  Up: ARM-Dependent
      floating point unit.  The following format options are recognized:
      `softfpa', `fpe', `fpe2', `fpe3', `fpa', `fpa10', `fpa11',
      `arm7500fe', `softvfp', `softvfp+vfp', `vfp', `vfp10', `vfp10-r0',
-     `vfp9', `vfpxd', `arm1020t', `arm1020e', `arm1136jf-s' and
-     `maverick'.
+     `vfp9', `vfpxd', `vfpv2' `vfpv3' `vfpv3-d16' `arm1020t',
+     `arm1020e', `arm1136jf-s', `maverick' and `neon'.
 
      In addition to determining which instructions are assembled, this
      option also affects the way in which the `.double' assembler
@@ -5951,6 +6333,22 @@ File: as.info,  Node: ARM Options,  Next: ARM Syntax,  Up: ARM-Dependent
      This option specifies that the output generated by the assembler
      should be marked as supporting interworking.
 
+`-mimplicit-it=never'
+`-mimplicit-it=always'
+`-mimplicit-it=arm'
+`-mimplicit-it=thumb'
+     The `-mimplicit-it' option controls the behavior of the assembler
+     when conditional instructions are not enclosed in IT blocks.
+     There are four possible behaviors.  If `never' is specified, such
+     constructs cause a warning in ARM code and an error in Thumb-2
+     code.  If `always' is specified, such constructs are accepted in
+     both ARM and Thumb-2 code, where the IT instruction is added
+     implicitly.  If `arm' is specified, such constructs are accepted
+     in ARM code and cause an error in Thumb-2 code.  If `thumb' is
+     specified, such constructs cause a warning in ARM code and are
+     accepted in Thumb-2 code.  If you omit this option, the behavior
+     is equivalent to `-mimplicit-it=arm'.
+
 `-mapcs `[26|32]''
      This option specifies that the output generated by the assembler
      should be marked as supporting the indicated version of the Arm
@@ -5995,23 +6393,71 @@ File: as.info,  Node: ARM Options,  Next: ARM Syntax,  Up: ARM-Dependent
      This option specifies that the output of the assembler should be
      marked as position-independent code (PIC).
 
+`--fix-v4bx'
+     Allow `BX' instructions in ARMv4 code.  This is intended for use
+     with the linker option of the same name.
+
+`-mwarn-deprecated'
+`-mno-warn-deprecated'
+     Enable or disable warnings about using deprecated options or
+     features.  The default is to warn.
+
 
 \1f
 File: as.info,  Node: ARM Syntax,  Next: ARM Floating Point,  Prev: ARM Options,  Up: ARM-Dependent
 
-8.3.2 Syntax
+9.3.2 Syntax
 ------------
 
 * Menu:
 
+* ARM-Instruction-Set::      Instruction Set
 * ARM-Chars::                Special Characters
 * ARM-Regs::                 Register Names
 * ARM-Relocations::         Relocations
 
 \1f
-File: as.info,  Node: ARM-Chars,  Next: ARM-Regs,  Up: ARM Syntax
+File: as.info,  Node: ARM-Instruction-Set,  Next: ARM-Chars,  Up: ARM Syntax
+
+9.3.2.1 Instruction Set Syntax
+..............................
+
+Two slightly different syntaxes are support for ARM and THUMB
+instructions.  The default, `divided', uses the old style where ARM and
+THUMB instructions had their own, separate syntaxes.  The new,
+`unified' syntax, which can be selected via the `.syntax' directive,
+and has the following main features:
+
+*
+     Immediate operands do not require a `#' prefix.
+
+*
+     The `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.
+
+*
+     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 `IT'
+     instruction.
+
+*
+     All of the instructions new to the V6T2 architecture (and later)
+     are available.  (Only a few such instructions can be written in the
+     `divided' syntax).
+
+*
+     The `.N' and `.W' suffixes are recognized and honored.
+
+*
+     All instructions set the flags if and only if they have an `s'
+     affix.
+
+\1f
+File: as.info,  Node: ARM-Chars,  Next: ARM-Regs,  Prev: ARM-Instruction-Set,  Up: ARM Syntax
 
-8.3.2.1 Special Characters
+9.3.2.2 Special Characters
 ..........................
 
 The presence of a `@' on a line indicates the start of a comment that
@@ -6028,7 +6474,7 @@ statements.
 \1f
 File: as.info,  Node: ARM-Regs,  Next: ARM-Relocations,  Prev: ARM-Chars,  Up: ARM Syntax
 
-8.3.2.2 Register Names
+9.3.2.3 Register Names
 ......................
 
 *TODO* Explain about ARM register naming, and the predefined names.
@@ -6036,7 +6482,7 @@ File: as.info,  Node: ARM-Regs,  Next: ARM-Relocations,  Prev: ARM-Chars,  Up: A
 \1f
 File: as.info,  Node: ARM Floating Point,  Next: ARM Directives,  Prev: ARM Syntax,  Up: ARM-Dependent
 
-8.3.3 Floating Point
+9.3.3 Floating Point
 --------------------
 
 The ARM family uses IEEE floating-point numbers.
@@ -6044,7 +6490,7 @@ The ARM family uses IEEE floating-point numbers.
 \1f
 File: as.info,  Node: ARM-Relocations,  Prev: ARM-Regs,  Up: ARM Syntax
 
-8.3.3.1 ARM relocation generation
+9.3.3.1 ARM relocation generation
 .................................
 
 Specific data relocations can be generated by putting the relocation
@@ -6071,9 +6517,14 @@ For example to load the 32-bit address of foo into r0:
 \1f
 File: as.info,  Node: ARM Directives,  Next: ARM Opcodes,  Prev: ARM Floating Point,  Up: ARM-Dependent
 
-8.3.4 ARM Machine Directives
+9.3.4 ARM Machine Directives
 ----------------------------
 
+`.2byte EXPRESSION [, EXPRESSION]*'
+`.4byte EXPRESSION [, EXPRESSION]*'
+`.8byte EXPRESSION [, EXPRESSION]*'
+     These directives write 2, 4 or 8 byte values to the output section.
+
 `.align EXPRESSION [, EXPRESSION]'
      This is the generic .ALIGN directive.  For the ARM however if the
      first argument is zero (ie no alignment is needed) the assembler
@@ -6081,21 +6532,32 @@ File: as.info,  Node: ARM Directives,  Next: ARM Opcodes,  Prev: ARM Floating Po
      byte boundary).  This is for compatibility with ARM's own
      assembler.
 
-`NAME .req REGISTER NAME'
-     This creates an alias for REGISTER NAME called NAME.  For example:
+`.arch NAME'
+     Select the target architecture.  Valid values for NAME are the
+     same as for the `-march' commandline option.
 
-                  foo .req r0
+`.arm'
+     This performs the same action as .CODE 32.
 
-`.unreq ALIAS-NAME'
-     This undefines a register alias which was previously defined using
-     the `req', `dn' or `qn' directives.  For example:
+`.pad #COUNT'
+     Generate unwinder annotations for a stack adjustment of COUNT
+     bytes.  A positive value indicates the function prologue allocated
+     stack space by decrementing the stack pointer.
 
-                  foo .req r0
-                  .unreq foo
+`.bss'
+     This directive switches to the `.bss' section.
 
-     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.
+`.cantunwind'
+     Prevents unwinding through the current function.  No personality
+     routine or exception table data is required or permitted.
+
+`.code `[16|32]''
+     This directive selects the instruction set being generated. The
+     value 16 selects Thumb, with the value 32 selecting ARM.
+
+`.cpu NAME'
+     Select the target processor.  Valid values for NAME are the same as
+     for the `-mcpu' commandline option.
 
 `NAME .dn REGISTER NAME [.TYPE] [[INDEX]]'
 
@@ -6121,37 +6583,79 @@ File: as.info,  Node: ARM Directives,  Next: ARM Opcodes,  Prev: ARM Floating Po
 
      Aliases created using `dn' or `qn' can be destroyed using `unreq'.
 
-`.code `[16|32]''
-     This directive selects the instruction set being generated. The
-     value 16 selects Thumb, with the value 32 selecting ARM.
+`.eabi_attribute TAG, VALUE'
+     Set the EABI object attribute TAG to VALUE.
+
+     The TAG is either an attribute number, or one of the following:
+     `Tag_CPU_raw_name', `Tag_CPU_name', `Tag_CPU_arch',
+     `Tag_CPU_arch_profile', `Tag_ARM_ISA_use', `Tag_THUMB_ISA_use',
+     `Tag_VFP_arch', `Tag_WMMX_arch', `Tag_Advanced_SIMD_arch',
+     `Tag_PCS_config', `Tag_ABI_PCS_R9_use', `Tag_ABI_PCS_RW_data',
+     `Tag_ABI_PCS_RO_data', `Tag_ABI_PCS_GOT_use',
+     `Tag_ABI_PCS_wchar_t', `Tag_ABI_FP_rounding',
+     `Tag_ABI_FP_denormal', `Tag_ABI_FP_exceptions',
+     `Tag_ABI_FP_user_exceptions', `Tag_ABI_FP_number_model',
+     `Tag_ABI_align8_needed', `Tag_ABI_align8_preserved',
+     `Tag_ABI_enum_size', `Tag_ABI_HardFP_use', `Tag_ABI_VFP_args',
+     `Tag_ABI_WMMX_args', `Tag_ABI_optimization_goals',
+     `Tag_ABI_FP_optimization_goals', `Tag_compatibility',
+     `Tag_CPU_unaligned_access', `Tag_VFP_HP_extension',
+     `Tag_ABI_FP_16bit_format', `Tag_nodefaults',
+     `Tag_also_compatible_with', `Tag_conformance', `Tag_T2EE_use',
+     `Tag_Virtualization_use', `Tag_MPextension_use'
+
+     The VALUE is either a `number', `"string"', or `number, "string"'
+     depending on the tag.
 
-`.thumb'
-     This performs the same action as .CODE 16.
+`.even'
+     This directive aligns to an even-numbered address.
 
-`.arm'
-     This performs the same action as .CODE 32.
+`.extend  EXPRESSION [, EXPRESSION]*'
+`.ldouble  EXPRESSION [, EXPRESSION]*'
+     These directives write 12byte long double floating-point values to
+     the output section.  These are not compatible with current ARM
+     processors or ABIs.
+
+`.fnend'
+     Marks the end of a function with an unwind table entry.  The
+     unwind index table entry is created when this directive is
+     processed.
+
+     If no personality routine has been specified then standard
+     personality routine 0 or 1 will be used, depending on the number
+     of unwind opcodes required.
+
+`.fnstart'
+     Marks the start of a function with an unwind table entry.
 
 `.force_thumb'
      This directive forces the selection of Thumb instructions, even if
      the target processor does not support those instructions
 
-`.thumb_func'
-     This directive specifies that the following symbol is the name of a
-     Thumb encoded function.  This information is necessary in order to
-     allow the assembler and linker to generate correct code for
-     interworking between Arm and Thumb instructions and should be used
-     even if interworking is not going to be performed.  The presence
-     of this directive also implies `.thumb'
+`.fpu NAME'
+     Select the floating-point unit to assemble for.  Valid values for
+     NAME are the same as for the `-mfpu' commandline option.
 
-     This directive is not neccessary when generating EABI objects.  On
-     these targets the encoding is implicit when generating Thumb code.
+`.handlerdata'
+     Marks the end of the current function, and the start of the
+     exception table entry for that function.  Anything between this
+     directive and the `.fnend' directive will be added to the
+     exception table entry.
 
-`.thumb_set'
-     This performs the equivalent of a `.set' directive in that it
-     creates a symbol which is an alias for another symbol (possibly
-     not yet defined).  This directive also has the added property in
-     that it marks the aliased symbol as being a thumb function entry
-     point, in the same way that the `.thumb_func' directive does.
+     Must be preceded by a `.personality' or `.personalityindex'
+     directive.
+
+`.inst OPCODE [ , ... ]'
+
+`.inst.n OPCODE [ , ... ]'
+
+`.inst.w OPCODE [ , ... ]'
+     Generates the instruction corresponding to the numerical value
+     OPCODE.  `.inst.n' and `.inst.w' allow the Thumb instruction size
+     to be specified explicitly, overriding the normal encoding rules.
+
+`.ldouble  EXPRESSION [, EXPRESSION]*'
+     See `.extend'.
 
 `.ltorg'
      This directive causes the current contents of the literal pool to
@@ -6167,24 +6671,26 @@ File: as.info,  Node: ARM Directives,  Next: ARM Opcodes,  Prev: ARM Floating Po
      any time a section change occurred.  This is no longer done, since
      it prevents accurate control of the placement of literal pools.
 
-`.pool'
-     This is a synonym for .ltorg.
-
-`.unwind_fnstart'
-     Marks the start of a function with an unwind table entry.
+`.movsp REG [, #OFFSET]'
+     Tell the unwinder that REG contains an offset from the current
+     stack pointer.  If OFFSET is not specified then it is assumed to be
+     zero.
 
-`.unwind_fnend'
-     Marks the end of a function with an unwind table entry.  The
-     unwind index table entry is created when this directive is
-     processed.
+`.object_arch NAME'
+     Override the architecture recorded in the EABI object attribute
+     section.  Valid values for NAME are the same as for the `.arch'
+     directive.  Typically this is useful when code uses runtime
+     detection of CPU features.
 
-     If no personality routine has been specified then standard
-     personality routine 0 or 1 will be used, depending on the number
-     of unwind opcodes required.
+`.packed  EXPRESSION [, EXPRESSION]*'
+     This directive writes 12-byte packed floating-point values to the
+     output section.  These are not compatible with current ARM
+     processors or ABIs.
 
-`.cantunwind'
-     Prevents unwinding through the current function.  No personality
-     routine or exception table data is required or permitted.
+`.pad #COUNT'
+     Generate unwinder annotations for a stack adjustment of COUNT
+     bytes.  A positive value indicates the function prologue allocated
+     stack space by decrementing the stack pointer.
 
 `.personality NAME'
      Sets the personality routine for the current function to NAME.
@@ -6193,14 +6699,13 @@ File: as.info,  Node: ARM Directives,  Next: ARM Opcodes,  Prev: ARM Floating Po
      Sets the personality routine for the current function to the EABI
      standard routine number INDEX
 
-`.handlerdata'
-     Marks the end of the current function, and the start of the
-     exception table entry for that function.  Anything between this
-     directive and the `.fnend' directive will be added to the
-     exception table entry.
+`.pool'
+     This is a synonym for .ltorg.
 
-     Must be preceded by a `.personality' or `.personalityindex'
-     directive.
+`NAME .req REGISTER NAME'
+     This creates an alias for REGISTER NAME called NAME.  For example:
+
+                  foo .req r0
 
 `.save REGLIST'
      Generate unwinder annotations to restore the registers in REGLIST.
@@ -6226,36 +6731,9 @@ File: as.info,  Node: ARM Directives,  Next: ARM Opcodes,  Prev: ARM Floating Po
             .save wr10
             wstrd wr10, [sp, #-8]!
 
-`.vsave VFP-REGLIST'
-     Generate unwinder annotations to restore the VFP registers in
-     VFP-REGLIST using FLDMD.  Also works for VFPv3 registers that are
-     to be restored using VLDM.  The format of VFP-REGLIST is the same
-     as the corresponding store-multiple instruction.
-
-     _VFP registers_
-            .vsave {d8, d9, d10}
-            fstmdd sp!, {d8, d9, d10}
-     _VFPv3 registers_
-            .vsave {d15, d16, d17}
-            vstm sp!, {d15, d16, d17}
-
-     Since FLDMX and FSTMX are now deprecated, this directive should be
-     used in favour of `.save' for saving VFP registers for ARMv6 and
-     above.
-
-`.pad #COUNT'
-     Generate unwinder annotations for a stack adjustment of COUNT
-     bytes.  A positive value indicates the function prologue allocated
-     stack space by decrementing the stack pointer.
-
-`.movsp REG [, #OFFSET]'
-     Tell the unwinder that REG contains an offset from the current
-     stack pointer.  If OFFSET is not specified then it is assumed to be
-     zero.
-
 `.setfp FPREG, SPREG [, #OFFSET]'
-     Make all unwinder annotations relaive to a frame pointer.  Without
-     this the unwinder will use offsets from the stack pointer.
+     Make all unwinder annotations relative to a frame pointer.
+     Without this the unwinder will use offsets from the stack pointer.
 
      The syntax of this directive is the same as the `sub' or `mov'
      instruction used to set the frame pointer.  SPREG must be either
@@ -6267,41 +6745,76 @@ File: as.info,  Node: ARM Directives,  Next: ARM Opcodes,  Prev: ARM Floating Po
           .setfp fp, ip, #4
           sub fp, ip, #4
 
-`.raw OFFSET, BYTE1, ...'
+`.secrel32 EXPRESSION [, EXPRESSION]*'
+     This directive emits relocations that evaluate to the
+     section-relative offset of each expression's symbol.  This
+     directive is only supported for PE targets.
+
+`.syntax [`unified' | `divided']'
+     This directive sets the Instruction Set Syntax as described in the
+     *Note ARM-Instruction-Set:: section.
+
+`.thumb'
+     This performs the same action as .CODE 16.
+
+`.thumb_func'
+     This directive specifies that the following symbol is the name of a
+     Thumb encoded function.  This information is necessary in order to
+     allow the assembler and linker to generate correct code for
+     interworking between Arm and Thumb instructions and should be used
+     even if interworking is not going to be performed.  The presence
+     of this directive also implies `.thumb'
+
+     This directive is not neccessary when generating EABI objects.  On
+     these targets the encoding is implicit when generating Thumb code.
+
+`.thumb_set'
+     This performs the equivalent of a `.set' directive in that it
+     creates a symbol which is an alias for another symbol (possibly
+     not yet defined).  This directive also has the added property in
+     that it marks the aliased symbol as being a thumb function entry
+     point, in the same way that the `.thumb_func' directive does.
+
+`.unreq ALIAS-NAME'
+     This undefines a register alias which was previously defined using
+     the `req', `dn' or `qn' directives.  For example:
+
+                  foo .req r0
+                  .unreq foo
+
+     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.
+
+`.unwind_raw OFFSET, BYTE1, ...'
      Insert one of more arbitary unwind opcode bytes, which are known
      to adjust the stack pointer by OFFSET bytes.
 
      For example `.unwind_raw 4, 0xb1, 0x01' is equivalent to `.save
      {r0}'
 
-`.cpu NAME'
-     Select the target processor.  Valid values for NAME are the same as
-     for the `-mcpu' commandline option.
-
-`.arch NAME'
-     Select the target architecture.  Valid values for NAME are the
-     same as for the `-march' commandline option.
-
-`.object_arch NAME'
-     Override the architecture recorded in the EABI object attribute
-     section.  Valid values for NAME are the same as for the `.arch'
-     directive.  Typically this is useful when code uses runtime
-     detection of CPU features.
+`.vsave VFP-REGLIST'
+     Generate unwinder annotations to restore the VFP registers in
+     VFP-REGLIST using FLDMD.  Also works for VFPv3 registers that are
+     to be restored using VLDM.  The format of VFP-REGLIST is the same
+     as the corresponding store-multiple instruction.
 
-`.fpu NAME'
-     Select the floating point unit to assemble for.  Valid values for
-     NAME are the same as for the `-mfpu' commandline option.
+     _VFP registers_
+            .vsave {d8, d9, d10}
+            fstmdd sp!, {d8, d9, d10}
+     _VFPv3 registers_
+            .vsave {d15, d16, d17}
+            vstm sp!, {d15, d16, d17}
 
-`.eabi_attribute TAG, VALUE'
-     Set the EABI object attribute number TAG to VALUE.  The value is
-     either a `number', `"string"', or `number, "string"' depending on
-     the tag.
+     Since FLDMX and FSTMX are now deprecated, this directive should be
+     used in favour of `.save' for saving VFP registers for ARMv6 and
+     above.
 
 
 \1f
 File: as.info,  Node: ARM Opcodes,  Next: ARM Mapping Symbols,  Prev: ARM Directives,  Up: ARM-Dependent
 
-8.3.5 Opcodes
+9.3.5 Opcodes
 -------------
 
 `as' implements all the standard ARM opcodes.  It also implements
@@ -6353,9 +6866,9 @@ Software Development Toolkit Reference Manual', Advanced RISC Machines
 Ltd.
 
 \1f
-File: as.info,  Node: ARM Mapping Symbols,  Prev: ARM Opcodes,  Up: ARM-Dependent
+File: as.info,  Node: ARM Mapping Symbols,  Next: ARM Unwinding Tutorial,  Prev: ARM Opcodes,  Up: ARM-Dependent
 
-8.3.6 Mapping Symbols
+9.3.6 Mapping Symbols
 ---------------------
 
 The ARM ELF specification requires that special symbols be inserted
@@ -6378,9 +6891,156 @@ is not implemented.  This is because they have been dropped from the
 new EABI and so tools cannot rely upon their presence.
 
 \1f
-File: as.info,  Node: AVR-Dependent,  Next: BFIN-Dependent,  Prev: ARM-Dependent,  Up: Machine Dependencies
+File: as.info,  Node: ARM Unwinding Tutorial,  Prev: ARM Mapping Symbols,  Up: ARM-Dependent
 
-8.4 AVR Dependent Features
+9.3.7 Unwinding
+---------------
+
+The ABI for the ARM Architecture specifies a standard format for
+exception unwind information.  This information is used when an
+exception is thrown to determine where control should be transferred.
+In particular, the unwind information is used to determine which
+function called the function that threw the exception, and which
+function called that one, and so forth.  This information is also used
+to restore the values of callee-saved registers in the function
+catching the exception.
+
+   If you are writing functions in assembly code, and those functions
+call other functions that throw exceptions, you must use assembly
+pseudo ops to ensure that appropriate exception unwind information is
+generated.  Otherwise, if one of the functions called by your assembly
+code throws an exception, the run-time library will be unable to unwind
+the stack through your assembly code and your program will not behave
+correctly.
+
+   To illustrate the use of these pseudo ops, we will examine the code
+that G++ generates for the following C++ input:
+
+
+void callee (int *);
+
+int
+caller ()
+{
+  int i;
+  callee (&i);
+  return i;
+}
+
+   This example does not show how to throw or catch an exception from
+assembly code.  That is a much more complex operation and should always
+be done in a high-level language, such as C++, that directly supports
+exceptions.
+
+   The code generated by one particular version of G++ when compiling
+the example above is:
+
+
+_Z6callerv:
+       .fnstart
+.LFB2:
+       @ Function supports interworking.
+       @ args = 0, pretend = 0, frame = 8
+       @ frame_needed = 1, uses_anonymous_args = 0
+       stmfd   sp!, {fp, lr}
+       .save {fp, lr}
+.LCFI0:
+       .setfp fp, sp, #4
+       add     fp, sp, #4
+.LCFI1:
+       .pad #8
+       sub     sp, sp, #8
+.LCFI2:
+       sub     r3, fp, #8
+       mov     r0, r3
+       bl      _Z6calleePi
+       ldr     r3, [fp, #-8]
+       mov     r0, r3
+       sub     sp, fp, #4
+       ldmfd   sp!, {fp, lr}
+       bx      lr
+.LFE2:
+       .fnend
+
+   Of course, the sequence of instructions varies based on the options
+you pass to GCC and on the version of GCC in use.  The exact
+instructions are not important since we are focusing on the pseudo ops
+that are used to generate unwind information.
+
+   An important assumption made by the unwinder is that the stack frame
+does not change during the body of the function.  In particular, since
+we assume that the assembly code does not itself throw an exception,
+the only point where an exception can be thrown is from a call, such as
+the `bl' instruction above.  At each call site, the same saved
+registers (including `lr', which indicates the return address) must be
+located in the same locations relative to the frame pointer.
+
+   The `.fnstart' (*note .fnstart pseudo op: arm_fnstart.) pseudo op
+appears immediately before the first instruction of the function while
+the `.fnend' (*note .fnend pseudo op: arm_fnend.) pseudo op appears
+immediately after the last instruction of the function.  These pseudo
+ops specify the range of the function.
+
+   Only the order of the other pseudos ops (e.g., `.setfp' or `.pad')
+matters; their exact locations are irrelevant.  In the example above,
+the compiler emits the pseudo ops with particular instructions.  That
+makes it easier to understand the code, but it is not required for
+correctness.  It would work just as well to emit all of the pseudo ops
+other than `.fnend' in the same order, but immediately after `.fnstart'.
+
+   The `.save' (*note .save pseudo op: arm_save.) pseudo op indicates
+registers that have been saved to the stack so that they can be
+restored before the function returns.  The argument to the `.save'
+pseudo op is a list of registers to save.  If a register is
+"callee-saved" (as specified by the ABI) and is modified by the
+function you are writing, then your code must save the value before it
+is modified and restore the original value before the function returns.
+If an exception is thrown, the run-time library restores the values of
+these registers from their locations on the stack before returning
+control to the exception handler.  (Of course, if an exception is not
+thrown, the function that contains the `.save' pseudo op restores these
+registers in the function epilogue, as is done with the `ldmfd'
+instruction above.)
+
+   You do not have to save callee-saved registers at the very beginning
+of the function and you do not need to use the `.save' pseudo op
+immediately following the point at which the registers are saved.
+However, if you modify a callee-saved register, you must save it on the
+stack before modifying it and before calling any functions which might
+throw an exception.  And, you must use the `.save' pseudo op to
+indicate that you have done so.
+
+   The `.pad' (*note .pad: arm_pad.) pseudo op indicates a modification
+of the stack pointer that does not save any registers.  The argument is
+the number of bytes (in decimal) that are subtracted from the stack
+pointer.  (On ARM CPUs, the stack grows downwards, so subtracting from
+the stack pointer increases the size of the stack.)
+
+   The `.setfp' (*note .setfp pseudo op: arm_setfp.) pseudo op
+indicates the register that contains the frame pointer.  The first
+argument is the register that is set, which is typically `fp'.  The
+second argument indicates the register from which the frame pointer
+takes its value.  The third argument, if present, is the value (in
+decimal) added to the register specified by the second argument to
+compute the value of the frame pointer.  You should not modify the
+frame pointer in the body of the function.
+
+   If you do not use a frame pointer, then you should not use the
+`.setfp' pseudo op.  If you do not use a frame pointer, then you should
+avoid modifying the stack pointer outside of the function prologue.
+Otherwise, the run-time library will be unable to find saved registers
+when it is unwinding the stack.
+
+   The pseudo ops described above are sufficient for writing assembly
+code that calls functions which may throw exceptions.  If you need to
+know more about the object-file format used to represent unwind
+information, you may consult the `Exception Handling ABI for the ARM
+Architecture' available from `http://infocenter.arm.com'.
+
+\1f
+File: as.info,  Node: AVR-Dependent,  Next: Blackfin-Dependent,  Prev: ARM-Dependent,  Up: Machine Dependencies
+
+9.4 AVR Dependent Features
 ==========================
 
 * Menu:
@@ -6392,7 +7052,7 @@ File: as.info,  Node: AVR-Dependent,  Next: BFIN-Dependent,  Prev: ARM-Dependent
 \1f
 File: as.info,  Node: AVR Options,  Next: AVR Syntax,  Up: AVR-Dependent
 
-8.4.1 Options
+9.4.1 Options
 -------------
 
 `-mmcu=MCU'
@@ -6400,37 +7060,56 @@ File: as.info,  Node: AVR Options,  Next: AVR Syntax,  Up: AVR-Dependent
 
      Instruction set avr1 is for the minimal AVR core, not supported by
      the C compiler, only for assembler programs (MCU types: at90s1200,
-     attiny10, attiny11, attiny12, attiny15, attiny28).
+     attiny11, attiny12, attiny15, attiny28).
 
      Instruction set avr2 (default) is for the classic AVR core with up
      to 8K program memory space (MCU types: at90s2313, at90s2323,
-     attiny22, attiny26, at90s2333, at90s2343, at90s4414, at90s4433,
-     at90s4434, at90s8515, at90c8534, at90s8535, at86rf401, attiny13,
-     attiny2313, attiny261, attiny461, attiny861, attiny24, attiny44,
-     attiny84, attiny25, attiny45, attiny85).
+     at90s2333, at90s2343, attiny22, attiny26, at90s4414, at90s4433,
+     at90s4434, at90s8515, at90c8534, at90s8535).
+
+     Instruction set avr25 is for the classic AVR core with up to 8K
+     program memory space plus the MOVW instruction (MCU types:
+     attiny13, attiny13a, attiny2313, attiny2313a, attiny24, attiny24a,
+     attiny4313, attiny44, attiny44a, attiny84, attiny25, attiny45,
+     attiny85, attiny261, attiny261a, attiny461, attiny861, attiny861a,
+     attiny87, attiny43u, attiny48, attiny88, at86rf401, ata6289).
 
      Instruction set avr3 is for the classic AVR core with up to 128K
-     program memory space (MCU types: atmega103, atmega603, at43usb320,
-     at43usb355, at76c711).
+     program memory space (MCU types: at43usb355, at76c711).
+
+     Instruction set avr31 is for the classic AVR core with exactly
+     128K program memory space (MCU types: atmega103, at43usb320).
+
+     Instruction set avr35 is for classic AVR core plus MOVW, CALL, and
+     JMP instructions (MCU types: attiny167, attiny327, at90usb82,
+     at90usb162, atmega8u2, atmega16u2, atmega32u2).
 
      Instruction set avr4 is for the enhanced AVR core with up to 8K
-     program memory space (MCU types: atmega48, atmega8, atmega83,
-     atmega85, atmega88, atmega8515, atmega8535, atmega8hva, at90pwm1,
-     at90pwm2, at90pwm3).
+     program memory space (MCU types: atmega48, atmega48p,atmega8,
+     atmega88, atmega88p, atmega8515, atmega8535, atmega8hva,
+     atmega4hvd, atmega8hvd, at90pwm1, at90pwm2, at90pwm2b, at90pwm3,
+     at90pwm3b, at90pwm81, atmega8m1, atmega8c1).
 
      Instruction set avr5 is for the enhanced AVR core with up to 128K
      program memory space (MCU types: atmega16, atmega161, atmega162,
      atmega163, atmega164p, atmega165, atmega165p, atmega168,
-     atmega169, atmega169p, atmega32, atmega323, atmega324p, atmega325,
-     atmega325p, atmega329, atmega329p, atmega3250, atmega3250p,
-     atmega3290, atmega3290p, atmega406, atmega64, atmega640,
-     atmega644, atmega644p, atmega128, atmega1280, atmega1281,
-     atmega645, atmega649, atmega6450, atmega6490, atmega16hva,
-     at90can32, at90can64, at90can128, at90usb82, at90usb162,
-     at90usb646, at90usb647, at90usb1286, at90usb1287, at94k).
-
-     Instruction set avr6 is for the enhanced AVR core with 256K program
-     memory space (MCU types: atmega2560, atmega2561).
+     atmega168p, atmega169, atmega169p, atmega16c1, atmega32,
+     atmega323, atmega324p, atmega325, atmega325p, atmega3250,
+     atmega3250p, atmega328p, atmega329, atmega329p, atmega3290,
+     atmega3290p, atmega406, atmega64, atmega640, atmega644,
+     atmega644p, atmega644pa, atmega645, atmega6450, atmega649,
+     atmega6490, atmega16hva, atmega16hvb, atmega32hvb, at90can32,
+     at90can64, at90pwm216, at90pwm316, atmega32c1, atmega64c1,
+     atmega16m1, atmega32m1, atmega64m1, atmega16u4, atmega32u4,
+     atmega32u6, at90usb646, at90usb647, at94k, at90scr100).
+
+     Instruction set avr51 is for the enhanced AVR core with exactly
+     128K program memory space (MCU types: atmega128, atmega1280,
+     atmega1281, atmega1284p, atmega128rfa1, at90can128, at90usb1286,
+     at90usb1287, m3000f, m3000s, m3001b).
+
+     Instruction set avr6 is for the enhanced AVR core with a 3-byte PC
+     (MCU types: atmega2560, atmega2561).
 
 `-mall-opcodes'
      Accept all AVR opcodes, even if not supported by `-mmcu'.
@@ -6445,7 +7124,7 @@ File: as.info,  Node: AVR Options,  Next: AVR Syntax,  Up: AVR-Dependent
 \1f
 File: as.info,  Node: AVR Syntax,  Next: AVR Opcodes,  Prev: AVR Options,  Up: AVR-Dependent
 
-8.4.2 Syntax
+9.4.2 Syntax
 ------------
 
 * Menu:
@@ -6457,7 +7136,7 @@ File: as.info,  Node: AVR Syntax,  Next: AVR Opcodes,  Prev: AVR Options,  Up: A
 \1f
 File: as.info,  Node: AVR-Chars,  Next: AVR-Regs,  Up: AVR Syntax
 
-8.4.2.1 Special Characters
+9.4.2.1 Special Characters
 ..........................
 
 The presence of a `;' on a line indicates the start of a comment that
@@ -6470,7 +7149,7 @@ statements.
 \1f
 File: as.info,  Node: AVR-Regs,  Next: AVR-Modifiers,  Prev: AVR-Chars,  Up: AVR Syntax
 
-8.4.2.2 Register Names
+9.4.2.2 Register Names
 ......................
 
 The AVR has 32 x 8-bit general purpose working registers `r0', `r1',
@@ -6487,7 +7166,7 @@ are the 16-bit `X', `Y' and `Z' - registers.
 \1f
 File: as.info,  Node: AVR-Modifiers,  Prev: AVR-Regs,  Up: AVR Syntax
 
-8.4.2.3 Relocatable Expression Modifiers
+9.4.2.3 Relocatable Expression Modifiers
 ........................................
 
 The assembler supports several modifiers when using relocatable
@@ -6552,7 +7231,7 @@ following:
 \1f
 File: as.info,  Node: AVR Opcodes,  Prev: AVR Syntax,  Up: AVR-Dependent
 
-8.4.3 Opcodes
+9.4.3 Opcodes
 -------------
 
 For detailed information on the AVR machine instruction set, see
@@ -6701,20 +7380,41 @@ summarizes the AVR opcodes, and their arguments.
      1001010000011001   eijmp
 
 \1f
-File: as.info,  Node: BFIN-Dependent,  Next: CR16-Dependent,  Prev: AVR-Dependent,  Up: Machine Dependencies
+File: as.info,  Node: Blackfin-Dependent,  Next: CR16-Dependent,  Prev: AVR-Dependent,  Up: Machine Dependencies
 
-8.5 Blackfin Dependent Features
+9.5 Blackfin Dependent Features
 ===============================
 
 * Menu:
 
-* BFIN Syntax::                        BFIN Syntax
-* BFIN Directives::            BFIN Directives
+* Blackfin Options::           Blackfin Options
+* Blackfin Syntax::            Blackfin Syntax
+* Blackfin Directives::                Blackfin Directives
+
+\1f
+File: as.info,  Node: Blackfin Options,  Next: Blackfin Syntax,  Up: Blackfin-Dependent
+
+9.5.1 Options
+-------------
+
+`-mcpu=PROCESSOR[-SIREVISION]'
+     This option specifies the target processor.  The optional
+     SIREVISION is not used in assembler.  It's here such that GCC can
+     easily pass down its `-mcpu=' option.  The assembler will issue an
+     error message if an attempt is made to assemble an instruction
+     which will not execute on the target processor.  The following
+     processor names are recognized: `bf512', `bf514', `bf516', `bf518',
+     `bf522', `bf523', `bf524', `bf525', `bf526', `bf527', `bf531',
+     `bf532', `bf533', `bf534', `bf535' (not implemented yet), `bf536',
+     `bf537', `bf538', `bf539', `bf542', `bf542m', `bf544', `bf544m',
+     `bf547', `bf547m', `bf548', `bf548m', `bf549', `bf549m', and
+     `bf561'.
+
 
 \1f
-File: as.info,  Node: BFIN Syntax,  Next: BFIN Directives,  Up: BFIN-Dependent
+File: as.info,  Node: Blackfin Syntax,  Next: Blackfin Directives,  Prev: Blackfin Options,  Up: Blackfin-Dependent
 
-8.5.1 Syntax
+9.5.2 Syntax
 ------------
 
 `Special Characters'
@@ -6857,9 +7557,9 @@ File: as.info,  Node: BFIN Syntax,  Next: BFIN Directives,  Up: BFIN-Dependent
 
 
 \1f
-File: as.info,  Node: BFIN Directives,  Prev: BFIN Syntax,  Up: BFIN-Dependent
+File: as.info,  Node: Blackfin Directives,  Prev: Blackfin Syntax,  Up: Blackfin-Dependent
 
-8.5.2 Directives
+9.5.3 Directives
 ----------------
 
 The following directives are provided for compatibility with the VDSP
@@ -6884,9 +7584,9 @@ assembler.
      Define and initialize a 32 bit data object.
 
 \1f
-File: as.info,  Node: CR16-Dependent,  Next: CRIS-Dependent,  Prev: BFIN-Dependent,  Up: Machine Dependencies
+File: as.info,  Node: CR16-Dependent,  Next: CRIS-Dependent,  Prev: Blackfin-Dependent,  Up: Machine Dependencies
 
-8.6 CR16 Dependent Features
+9.6 CR16 Dependent Features
 ===========================
 
 * Menu:
@@ -6896,7 +7596,7 @@ File: as.info,  Node: CR16-Dependent,  Next: CRIS-Dependent,  Prev: BFIN-Depende
 \1f
 File: as.info,  Node: CR16 Operand Qualifiers,  Up: CR16-Dependent
 
-8.6.1 CR16 Operand Qualifiers
+9.6.1 CR16 Operand Qualifiers
 -----------------------------
 
 The National Semiconductor CR16 target of `as' has a few machine
@@ -6922,6 +7622,17 @@ following expression qualifiers:
      accordingly. The linker uses the relocation entry to update the
      operand address at link time.'
 
+`got/GOT'
+     - `Specifies the CR16 Assembler generates a relocation entry for
+     the operand, offset from Global Offset Table. The linker uses this
+     relocation entry to update the operand address at link time'
+
+`cgot/cGOT'
+     - `Specifies the CompactRISC Assembler generates a relocation
+     entry for the operand, where pc has implied bit, the expression is
+     adjusted accordingly. The linker uses the relocation entry to
+     update the operand address at link time.'
+
    CR16 target operand qualifiers and its size (in bits):
 
 `Immediate Operand'
@@ -6967,10 +7678,18 @@ following expression qualifiers:
 
          This .long directive, the address of _myfunc, shifted right by 1 at link time.
 
+     4   `loadd  _data1@GOT(r12), (r1,r0)'
+
+         This loads the address of _data1, into global offset table (ie GOT) and its offset value from GOT loads into register-pair r2-r1.
+
+     5   `loadd  _myfunc@cGOT(r12), (r1,r0)'
+
+         This loads the address of _myfun, shifted right by 1, into global offset table (ie GOT) and its offset value from GOT loads into register-pair r1-r0.
+
 \1f
 File: as.info,  Node: CRIS-Dependent,  Next: D10V-Dependent,  Prev: CR16-Dependent,  Up: Machine Dependencies
 
-8.7 CRIS Dependent Features
+9.7 CRIS Dependent Features
 ===========================
 
 * Menu:
@@ -6983,7 +7702,7 @@ File: as.info,  Node: CRIS-Dependent,  Next: D10V-Dependent,  Prev: CR16-Depende
 \1f
 File: as.info,  Node: CRIS-Opts,  Next: CRIS-Expand,  Up: CRIS-Dependent
 
-8.7.1 Command-line Options
+9.7.1 Command-line Options
 --------------------------
 
 The CRIS version of `as' has these machine-dependent command-line
@@ -7056,7 +7775,7 @@ checking.
 \1f
 File: as.info,  Node: CRIS-Expand,  Next: CRIS-Symbols,  Prev: CRIS-Opts,  Up: CRIS-Dependent
 
-8.7.2 Instruction expansion
+9.7.2 Instruction expansion
 ---------------------------
 
 `as' will silently choose an instruction that fits the operand size for
@@ -7082,7 +7801,7 @@ operand that is a constant known at assembly time.
 \1f
 File: as.info,  Node: CRIS-Symbols,  Next: CRIS-Syntax,  Prev: CRIS-Expand,  Up: CRIS-Dependent
 
-8.7.3 Symbols
+9.7.3 Symbols
 -------------
 
 Some symbols are defined by the assembler.  They're intended to be used
@@ -7120,7 +7839,7 @@ CRIS-Pic::.
 \1f
 File: as.info,  Node: CRIS-Syntax,  Prev: CRIS-Symbols,  Up: CRIS-Dependent
 
-8.7.4 Syntax
+9.7.4 Syntax
 ------------
 
 There are different aspects of the CRIS assembly syntax.
@@ -7135,7 +7854,7 @@ There are different aspects of the CRIS assembly syntax.
 \1f
 File: as.info,  Node: CRIS-Chars,  Next: CRIS-Pic,  Up: CRIS-Syntax
 
-8.7.4.1 Special Characters
+9.7.4.1 Special Characters
 ..........................
 
 The character `#' is a line comment character.  It starts a comment if
@@ -7151,7 +7870,7 @@ instructions can be specified on a single line.
 \1f
 File: as.info,  Node: CRIS-Pic,  Next: CRIS-Regs,  Prev: CRIS-Chars,  Up: CRIS-Syntax
 
-8.7.4.2 Symbols in position-independent code
+9.7.4.2 Symbols in position-independent code
 ............................................
 
 When generating position-independent code (SVR4 PIC) for use in
@@ -7226,7 +7945,7 @@ link-time, not at assembly-time.
 \1f
 File: as.info,  Node: CRIS-Regs,  Next: CRIS-Pseudos,  Prev: CRIS-Pic,  Up: CRIS-Syntax
 
-8.7.4.3 Register names
+9.7.4.3 Register names
 ......................
 
 A `$' character may always prefix a general or special register name in
@@ -7238,7 +7957,7 @@ case-insensitive.
 \1f
 File: as.info,  Node: CRIS-Pseudos,  Prev: CRIS-Regs,  Up: CRIS-Syntax
 
-8.7.4.4 Assembler Directives
+9.7.4.4 Assembler Directives
 ............................
 
 There are a few CRIS-specific pseudo-directives in addition to the
@@ -7288,7 +8007,7 @@ support for floating-point-specific directives for CRIS.
 \1f
 File: as.info,  Node: D10V-Dependent,  Next: D30V-Dependent,  Prev: CRIS-Dependent,  Up: Machine Dependencies
 
-8.8 D10V Dependent Features
+9.8 D10V Dependent Features
 ===========================
 
 * Menu:
@@ -7301,7 +8020,7 @@ File: as.info,  Node: D10V-Dependent,  Next: D30V-Dependent,  Prev: CRIS-Depende
 \1f
 File: as.info,  Node: D10V-Opts,  Next: D10V-Syntax,  Up: D10V-Dependent
 
-8.8.1 D10V Options
+9.8.1 D10V Options
 ------------------
 
 The Mitsubishi D10V version of `as' has a few machine dependent options.
@@ -7328,7 +8047,7 @@ The Mitsubishi D10V version of `as' has a few machine dependent options.
 \1f
 File: as.info,  Node: D10V-Syntax,  Next: D10V-Float,  Prev: D10V-Opts,  Up: D10V-Dependent
 
-8.8.2 Syntax
+9.8.2 Syntax
 ------------
 
 The D10V syntax is based on the syntax in Mitsubishi's D10V
@@ -7346,7 +8065,7 @@ architecture manual.  The differences are detailed below.
 \1f
 File: as.info,  Node: D10V-Size,  Next: D10V-Subs,  Up: D10V-Syntax
 
-8.8.2.1 Size Modifiers
+9.8.2.1 Size Modifiers
 ......................
 
 The D10V version of `as' uses the instruction names in the D10V
@@ -7366,7 +8085,7 @@ short and long forms.
 \1f
 File: as.info,  Node: D10V-Subs,  Next: D10V-Chars,  Prev: D10V-Size,  Up: D10V-Syntax
 
-8.8.2.2 Sub-Instructions
+9.8.2.2 Sub-Instructions
 ........................
 
 The D10V assembler takes as input a series of instructions, either
@@ -7388,7 +8107,7 @@ section.
 \1f
 File: as.info,  Node: D10V-Chars,  Next: D10V-Regs,  Prev: D10V-Subs,  Up: D10V-Syntax
 
-8.8.2.3 Special Characters
+9.8.2.3 Special Characters
 ..........................
 
 `;' and `#' are the line comment characters.  Sub-instructions may be
@@ -7436,7 +8155,7 @@ line.  For example
 \1f
 File: as.info,  Node: D10V-Regs,  Next: D10V-Addressing,  Prev: D10V-Chars,  Up: D10V-Syntax
 
-8.8.2.4 Register Names
+9.8.2.4 Register Names
 ......................
 
 You can use the predefined symbols `r0' through `r15' to refer to the
@@ -7506,7 +8225,7 @@ status bits:
 \1f
 File: as.info,  Node: D10V-Addressing,  Next: D10V-Word,  Prev: D10V-Regs,  Up: D10V-Syntax
 
-8.8.2.5 Addressing Modes
+9.8.2.5 Addressing Modes
 ........................
 
 `as' understands the following addressing modes for the D10V.  `RN' in
@@ -7539,7 +8258,7 @@ control registers.
 \1f
 File: as.info,  Node: D10V-Word,  Prev: D10V-Addressing,  Up: D10V-Syntax
 
-8.8.2.6 @WORD Modifier
+9.8.2.6 @WORD Modifier
 ......................
 
 Any symbol followed by `@word' will be replaced by the symbol's value
@@ -7553,7 +8272,7 @@ function `main' then jump to that function, you could do it as follows:
 \1f
 File: as.info,  Node: D10V-Float,  Next: D10V-Opcodes,  Prev: D10V-Syntax,  Up: D10V-Dependent
 
-8.8.3 Floating Point
+9.8.3 Floating Point
 --------------------
 
 The D10V has no hardware floating point, but the `.float' and `.double'
@@ -7563,7 +8282,7 @@ other development tools.
 \1f
 File: as.info,  Node: D10V-Opcodes,  Prev: D10V-Float,  Up: D10V-Dependent
 
-8.8.4 Opcodes
+9.8.4 Opcodes
 -------------
 
 For detailed information on the D10V machine instruction set, see `D10V
@@ -7575,7 +8294,7 @@ modifiers
 \1f
 File: as.info,  Node: D30V-Dependent,  Next: H8/300-Dependent,  Prev: D10V-Dependent,  Up: Machine Dependencies
 
-8.9 D30V Dependent Features
+9.9 D30V Dependent Features
 ===========================
 
 * Menu:
@@ -7588,7 +8307,7 @@ File: as.info,  Node: D30V-Dependent,  Next: H8/300-Dependent,  Prev: D10V-Depen
 \1f
 File: as.info,  Node: D30V-Opts,  Next: D30V-Syntax,  Up: D30V-Dependent
 
-8.9.1 D30V Options
+9.9.1 D30V Options
 ------------------
 
 The Mitsubishi D30V version of `as' has a few machine dependent options.
@@ -7610,7 +8329,7 @@ The Mitsubishi D30V version of `as' has a few machine dependent options.
 \1f
 File: as.info,  Node: D30V-Syntax,  Next: D30V-Float,  Prev: D30V-Opts,  Up: D30V-Dependent
 
-8.9.2 Syntax
+9.9.2 Syntax
 ------------
 
 The D30V syntax is based on the syntax in Mitsubishi's D30V
@@ -7628,7 +8347,7 @@ architecture manual.  The differences are detailed below.
 \1f
 File: as.info,  Node: D30V-Size,  Next: D30V-Subs,  Up: D30V-Syntax
 
-8.9.2.1 Size Modifiers
+9.9.2.1 Size Modifiers
 ......................
 
 The D30V version of `as' uses the instruction names in the D30V
@@ -7648,7 +8367,7 @@ short and long forms.
 \1f
 File: as.info,  Node: D30V-Subs,  Next: D30V-Chars,  Prev: D30V-Size,  Up: D30V-Syntax
 
-8.9.2.2 Sub-Instructions
+9.9.2.2 Sub-Instructions
 ........................
 
 The D30V assembler takes as input a series of instructions, either
@@ -7670,7 +8389,7 @@ section.
 \1f
 File: as.info,  Node: D30V-Chars,  Next: D30V-Guarded,  Prev: D30V-Subs,  Up: D30V-Syntax
 
-8.9.2.3 Special Characters
+9.9.2.3 Special Characters
 ..........................
 
 `;' and `#' are the line comment characters.  Sub-instructions may be
@@ -7735,7 +8454,7 @@ line.  For example
 \1f
 File: as.info,  Node: D30V-Guarded,  Next: D30V-Regs,  Prev: D30V-Chars,  Up: D30V-Syntax
 
-8.9.2.4 Guarded Execution
+9.9.2.4 Guarded Execution
 .........................
 
 `as' supports the full range of guarded execution directives for each
@@ -7763,7 +8482,7 @@ The directives are:
 \1f
 File: as.info,  Node: D30V-Regs,  Next: D30V-Addressing,  Prev: D30V-Guarded,  Up: D30V-Syntax
 
-8.9.2.5 Register Names
+9.9.2.5 Register Names
 ......................
 
 You can use the predefined symbols `r0' through `r63' to refer to the
@@ -7844,7 +8563,7 @@ status bits:
 \1f
 File: as.info,  Node: D30V-Addressing,  Prev: D30V-Regs,  Up: D30V-Syntax
 
-8.9.2.6 Addressing Modes
+9.9.2.6 Addressing Modes
 ........................
 
 `as' understands the following addressing modes for the D30V.  `RN' in
@@ -7877,7 +8596,7 @@ control registers.
 \1f
 File: as.info,  Node: D30V-Float,  Next: D30V-Opcodes,  Prev: D30V-Syntax,  Up: D30V-Dependent
 
-8.9.3 Floating Point
+9.9.3 Floating Point
 --------------------
 
 The D30V has no hardware floating point, but the `.float' and `.double'
@@ -7887,7 +8606,7 @@ other development tools.
 \1f
 File: as.info,  Node: D30V-Opcodes,  Prev: D30V-Float,  Up: D30V-Dependent
 
-8.9.4 Opcodes
+9.9.4 Opcodes
 -------------
 
 For detailed information on the D30V machine instruction set, see `D30V
@@ -7899,7 +8618,7 @@ modifiers
 \1f
 File: as.info,  Node: H8/300-Dependent,  Next: HPPA-Dependent,  Prev: D30V-Dependent,  Up: Machine Dependencies
 
-8.10 H8/300 Dependent Features
+9.10 H8/300 Dependent Features
 ==============================
 
 * Menu:
@@ -7913,16 +8632,19 @@ File: as.info,  Node: H8/300-Dependent,  Next: HPPA-Dependent,  Prev: D30V-Depen
 \1f
 File: as.info,  Node: H8/300 Options,  Next: H8/300 Syntax,  Up: H8/300-Dependent
 
-8.10.1 Options
+9.10.1 Options
 --------------
 
-`as' has no additional command-line options for the Renesas (formerly
-Hitachi) H8/300 family.
+The Renesas H8/300 version of `as' has one machine-dependent option:
+
+`-h-tick-hex'
+     Support H'00 style hex constants in addition to 0x00 style.
+
 
 \1f
 File: as.info,  Node: H8/300 Syntax,  Next: H8/300 Floating Point,  Prev: H8/300 Options,  Up: H8/300-Dependent
 
-8.10.2 Syntax
+9.10.2 Syntax
 -------------
 
 * Menu:
@@ -7934,7 +8656,7 @@ File: as.info,  Node: H8/300 Syntax,  Next: H8/300 Floating Point,  Prev: H8/300
 \1f
 File: as.info,  Node: H8/300-Chars,  Next: H8/300-Regs,  Up: H8/300 Syntax
 
-8.10.2.1 Special Characters
+9.10.2.1 Special Characters
 ...........................
 
 `;' is the line comment character.
@@ -7945,7 +8667,7 @@ Therefore _you may not use `$' in symbol names_ on the H8/300.
 \1f
 File: as.info,  Node: H8/300-Regs,  Next: H8/300-Addressing,  Prev: H8/300-Chars,  Up: H8/300 Syntax
 
-8.10.2.2 Register Names
+9.10.2.2 Register Names
 .......................
 
 You can use predefined symbols of the form `rNh' and `rNl' to refer to
@@ -7968,7 +8690,7 @@ stack pointer, and can also be called `sp'.
 \1f
 File: as.info,  Node: H8/300-Addressing,  Prev: H8/300-Regs,  Up: H8/300 Syntax
 
-8.10.2.3 Addressing Modes
+9.10.2.3 Addressing Modes
 .........................
 
 as understands the following addressing modes for the H8/300:
@@ -8013,7 +8735,7 @@ as understands the following addressing modes for the H8/300:
 \1f
 File: as.info,  Node: H8/300 Floating Point,  Next: H8/300 Directives,  Prev: H8/300 Syntax,  Up: H8/300-Dependent
 
-8.10.3 Floating Point
+9.10.3 Floating Point
 ---------------------
 
 The H8/300 family has no hardware floating point, but the `.float'
@@ -8023,7 +8745,7 @@ other development tools.
 \1f
 File: as.info,  Node: H8/300 Directives,  Next: H8/300 Opcodes,  Prev: H8/300 Floating Point,  Up: H8/300-Dependent
 
-8.10.4 H8/300 Machine Directives
+9.10.4 H8/300 Machine Directives
 --------------------------------
 
 `as' has the following machine-dependent directives for the H8/300:
@@ -8054,7 +8776,7 @@ generate 16-bit numbers.
 \1f
 File: as.info,  Node: H8/300 Opcodes,  Prev: H8/300 Directives,  Up: H8/300-Dependent
 
-8.10.5 Opcodes
+9.10.5 Opcodes
 --------------
 
 For detailed information on the H8/300 machine instruction set, see
@@ -8231,7 +8953,7 @@ and the register size do not match.
 \1f
 File: as.info,  Node: HPPA-Dependent,  Next: ESA/390-Dependent,  Prev: H8/300-Dependent,  Up: Machine Dependencies
 
-8.11 HPPA Dependent Features
+9.11 HPPA Dependent Features
 ============================
 
 * Menu:
@@ -8246,7 +8968,7 @@ File: as.info,  Node: HPPA-Dependent,  Next: ESA/390-Dependent,  Prev: H8/300-De
 \1f
 File: as.info,  Node: HPPA Notes,  Next: HPPA Options,  Up: HPPA-Dependent
 
-8.11.1 Notes
+9.11.1 Notes
 ------------
 
 As a back end for GNU CC `as' has been throughly tested and should work
@@ -8266,7 +8988,7 @@ support will be added as it becomes necessary.
 \1f
 File: as.info,  Node: HPPA Options,  Next: HPPA Syntax,  Prev: HPPA Notes,  Up: HPPA-Dependent
 
-8.11.2 Options
+9.11.2 Options
 --------------
 
 `as' has no machine-dependent command-line options for the HPPA.
@@ -8274,7 +8996,7 @@ File: as.info,  Node: HPPA Options,  Next: HPPA Syntax,  Prev: HPPA Notes,  Up:
 \1f
 File: as.info,  Node: HPPA Syntax,  Next: HPPA Floating Point,  Prev: HPPA Options,  Up: HPPA-Dependent
 
-8.11.3 Syntax
+9.11.3 Syntax
 -------------
 
 The assembler syntax closely follows the HPPA instruction set reference
@@ -8308,7 +9030,7 @@ an error for HPPA targets.
 \1f
 File: as.info,  Node: HPPA Floating Point,  Next: HPPA Directives,  Prev: HPPA Syntax,  Up: HPPA-Dependent
 
-8.11.4 Floating Point
+9.11.4 Floating Point
 ---------------------
 
 The HPPA family uses IEEE floating-point numbers.
@@ -8316,7 +9038,7 @@ The HPPA family uses IEEE floating-point numbers.
 \1f
 File: as.info,  Node: HPPA Directives,  Next: HPPA Opcodes,  Prev: HPPA Floating Point,  Up: HPPA-Dependent
 
-8.11.5 HPPA Assembler Directives
+9.11.5 HPPA Assembler Directives
 --------------------------------
 
 `as' for the HPPA supports many additional directives for compatibility
@@ -8526,7 +9248,7 @@ follows the `.export' directive.
 \1f
 File: as.info,  Node: HPPA Opcodes,  Prev: HPPA Directives,  Up: HPPA-Dependent
 
-8.11.6 Opcodes
+9.11.6 Opcodes
 --------------
 
 For detailed information on the HPPA machine instruction set, see
@@ -8536,7 +9258,7 @@ For detailed information on the HPPA machine instruction set, see
 \1f
 File: as.info,  Node: ESA/390-Dependent,  Next: i386-Dependent,  Prev: HPPA-Dependent,  Up: Machine Dependencies
 
-8.12 ESA/390 Dependent Features
+9.12 ESA/390 Dependent Features
 ===============================
 
 * Menu:
@@ -8551,7 +9273,7 @@ File: as.info,  Node: ESA/390-Dependent,  Next: i386-Dependent,  Prev: HPPA-Depe
 \1f
 File: as.info,  Node: ESA/390 Notes,  Next: ESA/390 Options,  Up: ESA/390-Dependent
 
-8.12.1 Notes
+9.12.1 Notes
 ------------
 
 The ESA/390 `as' port is currently intended to be a back-end for the
@@ -8570,7 +9292,7 @@ relocation.
 \1f
 File: as.info,  Node: ESA/390 Options,  Next: ESA/390 Syntax,  Prev: ESA/390 Notes,  Up: ESA/390-Dependent
 
-8.12.2 Options
+9.12.2 Options
 --------------
 
 `as' has no machine-dependent command-line options for the ESA/390.
@@ -8578,7 +9300,7 @@ File: as.info,  Node: ESA/390 Options,  Next: ESA/390 Syntax,  Prev: ESA/390 Not
 \1f
 File: as.info,  Node: ESA/390 Syntax,  Next: ESA/390 Floating Point,  Prev: ESA/390 Options,  Up: ESA/390-Dependent
 
-8.12.3 Syntax
+9.12.3 Syntax
 -------------
 
 The opcode/operand syntax follows the ESA/390 Principles of Operation
@@ -8634,7 +9356,7 @@ current base register (as last declared with the `.using' directive).
 \1f
 File: as.info,  Node: ESA/390 Floating Point,  Next: ESA/390 Directives,  Prev: ESA/390 Syntax,  Up: ESA/390-Dependent
 
-8.12.4 Floating Point
+9.12.4 Floating Point
 ---------------------
 
 The assembler generates only IEEE floating-point numbers.  The older
@@ -8643,7 +9365,7 @@ floating point formats are not supported.
 \1f
 File: as.info,  Node: ESA/390 Directives,  Next: ESA/390 Opcodes,  Prev: ESA/390 Floating Point,  Up: ESA/390-Dependent
 
-8.12.5 ESA/390 Assembler Directives
+9.12.5 ESA/390 Assembler Directives
 -----------------------------------
 
 `as' for the ESA/390 supports all of the standard ELF/SVR4 assembler
@@ -8727,7 +9449,7 @@ ESA/390 addressing model.  The most important of these are `.using' and
 \1f
 File: as.info,  Node: ESA/390 Opcodes,  Prev: ESA/390 Directives,  Up: ESA/390-Dependent
 
-8.12.6 Opcodes
+9.12.6 Opcodes
 --------------
 
 For detailed information on the ESA/390 machine instruction set, see
@@ -8736,7 +9458,7 @@ For detailed information on the ESA/390 machine instruction set, see
 \1f
 File: as.info,  Node: i386-Dependent,  Next: i860-Dependent,  Prev: ESA/390-Dependent,  Up: Machine Dependencies
 
-8.13 80386 Dependent Features
+9.13 80386 Dependent Features
 =============================
 
    The i386 version `as' supports both the original Intel 386
@@ -8746,6 +9468,7 @@ architecture extending the Intel architecture to 64-bits.
 * Menu:
 
 * i386-Options::                Options
+* i386-Directives::             X86 specific directives
 * i386-Syntax::                 AT&T Syntax versus Intel Syntax
 * i386-Mnemonics::              Instruction Naming
 * i386-Regs::                   Register Naming
@@ -8760,9 +9483,9 @@ architecture extending the Intel architecture to 64-bits.
 * i386-Notes::                  Notes
 
 \1f
-File: as.info,  Node: i386-Options,  Next: i386-Syntax,  Up: i386-Dependent
+File: as.info,  Node: i386-Options,  Next: i386-Directives,  Up: i386-Dependent
 
-8.13.1 Options
+9.13.1 Options
 --------------
 
 The i386 version of `as' has a few machine dependent options:
@@ -8790,30 +9513,97 @@ The i386 version of `as' has a few machine dependent options:
      character.  This does not disable `/' at the beginning of a line
      starting a comment, or affect using `#' for starting a comment.
 
-`-march=CPU'
-     This option specifies an instruction set architecture for
-     generating instructions.  The following architectures are
-     recognized: `i8086', `i186', `i286', `i386', `i486', `i586',
-     `i686', `pentium', `pentiumpro', `pentiumii', `pentiumiii',
-     `pentium4', `prescott', `nocona', `core', `core2', `k6', `k6_2',
-     `athlon', `sledgehammer', `opteron', `k8', `generic32' and
-     `generic64'.
+`-march=CPU[+EXTENSION...]'
+     This option specifies the target processor.  The assembler will
+     issue an error message if an attempt is made to assemble an
+     instruction which will not execute on the target processor.  The
+     following processor names are recognized: `i8086', `i186', `i286',
+     `i386', `i486', `i586', `i686', `pentium', `pentiumpro',
+     `pentiumii', `pentiumiii', `pentium4', `prescott', `nocona',
+     `core', `core2', `corei7', `l1om', `k6', `k6_2', `athlon',
+     `opteron', `k8', `amdfam10', `generic32' and `generic64'.
 
-     This option only affects instructions generated by the assembler.
-     The `.arch' directive will take precedent.
+     In addition to the basic instruction set, the assembler can be
+     told to accept various extension mnemonics.  For example,
+     `-march=i686+sse4+vmx' extends I686 with SSE4 and VMX.  The
+     following extensions are currently supported: `8087', `287', `387',
+     `no87', `mmx', `nommx', `sse', `sse2', `sse3', `ssse3', `sse4.1',
+     `sse4.2', `sse4', `nosse', `avx', `noavx', `vmx', `smx', `xsave',
+     `aes', `pclmul', `fma', `movbe', `ept', `clflush', `syscall',
+     `rdtscp', `3dnow', `3dnowa', `sse4a', `sse5', `svme', `abm' and
+     `padlock'.  Note that rather than extending a basic instruction
+     set, the extension mnemonics starting with `no' revoke the
+     respective functionality.
+
+     When the `.arch' directive is used with `-march', the `.arch'
+     directive will take precedent.
 
 `-mtune=CPU'
      This option specifies a processor to optimize for. When used in
      conjunction with the `-march' option, only instructions of the
      processor specified by the `-march' option will be generated.
 
-     Valid CPU values are identical to `-march=CPU'.
+     Valid CPU values are identical to the processor list of
+     `-march=CPU'.
+
+`-msse2avx'
+     This option specifies that the assembler should encode SSE
+     instructions with VEX prefix.
+
+`-msse-check=NONE'
+
+`-msse-check=WARNING'
+
+`-msse-check=ERROR'
+     These options control if the assembler should check SSE
+     intructions.  `-msse-check=NONE' will make the assembler not to
+     check SSE instructions,  which is the default.
+     `-msse-check=WARNING' will make the assembler issue a warning for
+     any SSE intruction.  `-msse-check=ERROR' will make the assembler
+     issue an error for any SSE intruction.
+
+`-mmnemonic=ATT'
+
+`-mmnemonic=INTEL'
+     This option specifies instruction mnemonic for matching
+     instructions.  The `.att_mnemonic' and `.intel_mnemonic'
+     directives will take precedent.
+
+`-msyntax=ATT'
+
+`-msyntax=INTEL'
+     This option specifies instruction syntax when processing
+     instructions.  The `.att_syntax' and `.intel_syntax' directives
+     will take precedent.
+
+`-mnaked-reg'
+     This opetion specifies that registers don't require a `%' prefix.
+     The `.att_syntax' and `.intel_syntax' directives will take
+     precedent.
+
+
+\1f
+File: as.info,  Node: i386-Directives,  Next: i386-Syntax,  Prev: i386-Options,  Up: i386-Dependent
+
+9.13.2 x86 specific Directives
+------------------------------
+
+`.lcomm SYMBOL , LENGTH[, ALIGNMENT]'
+     Reserve LENGTH (an absolute expression) bytes for a local common
+     denoted by SYMBOL.  The section and value of SYMBOL are those of
+     the new local common.  The addresses are allocated in the bss
+     section, so that at run-time the bytes start off zeroed.  Since
+     SYMBOL is not declared global, it is normally not visible to `ld'.
+     The optional third parameter, ALIGNMENT, specifies the desired
+     alignment of the symbol in the bss section.
+
+     This directive is only available for COFF based x86 targets.
 
 
 \1f
-File: as.info,  Node: i386-Syntax,  Next: i386-Mnemonics,  Prev: i386-Options,  Up: i386-Dependent
+File: as.info,  Node: i386-Syntax,  Next: i386-Mnemonics,  Prev: i386-Directives,  Up: i386-Dependent
 
-8.13.2 AT&T Syntax versus Intel Syntax
+9.13.3 AT&T Syntax versus Intel Syntax
 --------------------------------------
 
 `as' now supports assembly using Intel assembler syntax.
@@ -8835,9 +9625,9 @@ syntax.  Notable differences between the two syntaxes are:
    * AT&T and Intel syntax use the opposite order for source and
      destination operands.  Intel `add eax, 4' is `addl $4, %eax'.  The
      `source, dest' convention is maintained for compatibility with
-     previous Unix assemblers.  Note that instructions with more than
-     one source operand, such as the `enter' instruction, do _not_ have
-     reversed order.  *Note i386-Bugs::.
+     previous Unix assemblers.  Note that `bound', `invlpga', and
+     instructions with 2 immediate operands, such as the `enter'
+     instruction, do _not_ have reversed order.  *Note i386-Bugs::.
 
    * In AT&T syntax the size of memory operands is determined from the
      last character of the instruction mnemonic.  Mnemonic suffixes of
@@ -8861,7 +9651,7 @@ syntax.  Notable differences between the two syntaxes are:
 \1f
 File: as.info,  Node: i386-Mnemonics,  Next: i386-Regs,  Prev: i386-Syntax,  Up: i386-Dependent
 
-8.13.3 Instruction Naming
+9.13.4 Instruction Naming
 -------------------------
 
 Instruction mnemonics are suffixed with one character modifiers which
@@ -8890,6 +9680,10 @@ before the _to_ suffix.  Thus, `movsbl %al, %edx' is AT&T syntax for
 long), `bq' (from byte to quadruple word), `wq' (from word to quadruple
 word), and `lq' (from long to quadruple word).
 
+   Different encoding options can be specified via optional mnemonic
+suffix.  `.s' suffix swaps 2 register operands in encoding when moving
+from one register to another.
+
    The Intel-syntax conversion instructions
 
    * `cbw' -- sign-extend byte in `%al' to word in `%ax',
@@ -8912,10 +9706,22 @@ naming.  `as' accepts either naming for these instructions.
    Far call/jump instructions are `lcall' and `ljmp' in AT&T syntax,
 but are `call far' and `jump far' in Intel convention.
 
+9.13.5 AT&T Mnemonic versus Intel Mnemonic
+------------------------------------------
+
+`as' supports assembly using Intel mnemonic.  `.intel_mnemonic' selects
+Intel mnemonic with Intel syntax, and `.att_mnemonic' switches back to
+the usual AT&T mnemonic with AT&T syntax for compatibility with the
+output of `gcc'.  Several x87 instructions, `fadd', `fdiv', `fdivp',
+`fdivr', `fdivrp', `fmul', `fsub', `fsubp', `fsubr' and `fsubrp',  are
+implemented in AT&T System V/386 assembler with different mnemonics
+from those in Intel IA32 specification.  `gcc' generates those
+instructions with AT&T mnemonic.
+
 \1f
 File: as.info,  Node: i386-Regs,  Next: i386-Prefixes,  Prev: i386-Mnemonics,  Up: i386-Dependent
 
-8.13.4 Register Naming
+9.13.6 Register Naming
 ----------------------
 
 Register operands are always prefixed with `%'.  The 80386 registers
@@ -8974,7 +9780,7 @@ consist of
 \1f
 File: as.info,  Node: i386-Prefixes,  Next: i386-Memory,  Prev: i386-Regs,  Up: i386-Dependent
 
-8.13.5 Instruction Prefixes
+9.13.7 Instruction Prefixes
 ---------------------------
 
 Instruction prefixes are used to modify the following instruction.  They
@@ -9035,7 +9841,7 @@ and will not work with all prefixes.
 \1f
 File: as.info,  Node: i386-Memory,  Next: i386-Jumps,  Prev: i386-Prefixes,  Up: i386-Dependent
 
-8.13.6 Memory References
+9.13.8 Memory References
 ------------------------
 
 An Intel syntax indirect memory reference of the form
@@ -9105,7 +9911,7 @@ except registers used are 64-bit instead of 32-bit.
 \1f
 File: as.info,  Node: i386-Jumps,  Next: i386-Float,  Prev: i386-Memory,  Up: i386-Dependent
 
-8.13.7 Handling of Jump Instructions
+9.13.9 Handling of Jump Instructions
 ------------------------------------
 
 Jump instructions are always optimized to use the smallest possible
@@ -9131,8 +9937,8 @@ get around this problem by expanding `jcxz foo' to
 \1f
 File: as.info,  Node: i386-Float,  Next: i386-SIMD,  Prev: i386-Jumps,  Up: i386-Dependent
 
-8.13.8 Floating Point
----------------------
+9.13.10 Floating Point
+----------------------
 
 All 80387 floating point types except packed BCD are supported.  (BCD
 support may be added without much difficulty).  These data types are
@@ -9166,8 +9972,8 @@ point format, then stores the result in the 4 byte location `mem')
 \1f
 File: as.info,  Node: i386-SIMD,  Next: i386-16bit,  Prev: i386-Float,  Up: i386-Dependent
 
-8.13.9 Intel's MMX and AMD's 3DNow! SIMD Operations
----------------------------------------------------
+9.13.11 Intel's MMX and AMD's 3DNow! SIMD Operations
+----------------------------------------------------
 
 `as' supports Intel's MMX instruction set (SIMD instructions for
 integer data), available on Intel's Pentium MMX processors and Pentium
@@ -9191,7 +9997,7 @@ order in instructions is reversed from the Intel syntax.
 \1f
 File: as.info,  Node: i386-16bit,  Next: i386-Arch,  Prev: i386-SIMD,  Up: i386-Dependent
 
-8.13.10 Writing 16-bit Code
+9.13.12 Writing 16-bit Code
 ---------------------------
 
 While `as' normally writes only "pure" 32-bit i386 code or 64-bit
@@ -9233,7 +10039,7 @@ bits in a 16-bit code section.
 \1f
 File: as.info,  Node: i386-Bugs,  Next: i386-Notes,  Prev: i386-Arch,  Up: i386-Dependent
 
-8.13.11 AT&T Syntax bugs
+9.13.13 AT&T Syntax bugs
 ------------------------
 
 The UnixWare assembler, and probably other AT&T derived ix86 Unix
@@ -9253,7 +10059,7 @@ the source register is `%st' and the destination register is `%st(i)'.
 \1f
 File: as.info,  Node: i386-Arch,  Next: i386-Bugs,  Prev: i386-16bit,  Up: i386-Dependent
 
-8.13.12 Specifying CPU Architecture
+9.13.14 Specifying CPU Architecture
 -----------------------------------
 
 `as' may be told to assemble for a particular CPU (sub-)architecture
@@ -9265,12 +10071,18 @@ specified.  The choices for CPU_TYPE are:
 `i486'         `i586'         `i686'         `pentium'
 `pentiumpro'   `pentiumii'    `pentiumiii'   `pentium4'
 `prescott'     `nocona'       `core'         `core2'
+`corei7'       `l1om'                        
+`k6'           `k6_2'         `athlon'       `k8'
 `amdfam10'                                   
-`k6'           `athlon'       `sledgehammer' `k8'
+`generic32'    `generic64'                   
 `.mmx'         `.sse'         `.sse2'        `.sse3'
 `.ssse3'       `.sse4.1'      `.sse4.2'      `.sse4'
-`.sse4a'       `.3dnow'       `.3dnowa'      `.padlock'
-`.pacifica'    `.svme'        `.abm'         
+`.avx'         `.vmx'         `.smx'         `.xsave'
+`.aes'         `.pclmul'      `.fma'         `.movbe'
+`.ept'         `.clflush'                    
+`.3dnow'       `.3dnowa'      `.sse4a'       `.sse5'
+`.syscall'     `.rdtscp'      `.svme'        `.abm'
+`.padlock'                                   
 
    Apart from the warning, there are only two other effects on `as'
 operation;  Firstly, if you specify a CPU other than `i486', then shift
@@ -9300,7 +10112,7 @@ byte offset jumps, and warns about file-local conditional jumps that
 \1f
 File: as.info,  Node: i386-Notes,  Prev: i386-Bugs,  Up: i386-Dependent
 
-8.13.13 Notes
+9.13.15 Notes
 -------------
 
 There is some trickery concerning the `mul' and `imul' instructions
@@ -9320,7 +10132,7 @@ example, can be done with `imul $69, %eax' rather than `imul $69, %eax,
 \1f
 File: as.info,  Node: i860-Dependent,  Next: i960-Dependent,  Prev: i386-Dependent,  Up: Machine Dependencies
 
-8.14 Intel i860 Dependent Features
+9.14 Intel i860 Dependent Features
 ==================================
 
 * Menu:
@@ -9333,7 +10145,7 @@ File: as.info,  Node: i860-Dependent,  Next: i960-Dependent,  Prev: i386-Depende
 \1f
 File: as.info,  Node: Notes-i860,  Next: Options-i860,  Up: i860-Dependent
 
-8.14.1 i860 Notes
+9.14.1 i860 Notes
 -----------------
 
 This is a fairly complete i860 assembler which is compatible with the
@@ -9354,10 +10166,10 @@ Intel syntax is `ha%expression' whereas the SVR4 syntax is
 \1f
 File: as.info,  Node: Options-i860,  Next: Directives-i860,  Prev: Notes-i860,  Up: i860-Dependent
 
-8.14.2 i860 Command-line Options
+9.14.2 i860 Command-line Options
 --------------------------------
 
-8.14.2.1 SVR4 compatibility options
+9.14.2.1 SVR4 compatibility options
 ...................................
 
 `-V'
@@ -9369,7 +10181,7 @@ File: as.info,  Node: Options-i860,  Next: Directives-i860,  Prev: Notes-i860,
 `-Qn'
      Ignored.
 
-8.14.2.2 Other options
+9.14.2.2 Other options
 ......................
 
 `-EL'
@@ -9401,7 +10213,7 @@ File: as.info,  Node: Options-i860,  Next: Directives-i860,  Prev: Notes-i860,
 \1f
 File: as.info,  Node: Directives-i860,  Next: Opcodes for i860,  Prev: Options-i860,  Up: i860-Dependent
 
-8.14.3 i860 Machine Directives
+9.14.3 i860 Machine Directives
 ------------------------------
 
 `.dual'
@@ -9430,14 +10242,14 @@ and 8, respectively.
 \1f
 File: as.info,  Node: Opcodes for i860,  Prev: Directives-i860,  Up: i860-Dependent
 
-8.14.4 i860 Opcodes
+9.14.4 i860 Opcodes
 -------------------
 
 All of the Intel i860XR and i860XP machine instructions are supported.
 Please see either _i860 Microprocessor Programmer's Reference Manual_
 or _i860 Microprocessor Architecture_ for more information.
 
-8.14.4.1 Other instruction support (pseudo-instructions)
+9.14.4.1 Other instruction support (pseudo-instructions)
 ........................................................
 
 For compatibility with some other i860 assemblers, a number of
@@ -9487,7 +10299,7 @@ are the pseudo-instructions that result in expansions.
 \1f
 File: as.info,  Node: i960-Dependent,  Next: IA-64-Dependent,  Prev: i860-Dependent,  Up: Machine Dependencies
 
-8.15 Intel 80960 Dependent Features
+9.15 Intel 80960 Dependent Features
 ===================================
 
 * Menu:
@@ -9500,7 +10312,7 @@ File: as.info,  Node: i960-Dependent,  Next: IA-64-Dependent,  Prev: i860-Depend
 \1f
 File: as.info,  Node: Options-i960,  Next: Floating Point-i960,  Up: i960-Dependent
 
-8.15.1 i960 Command-line Options
+9.15.1 i960 Command-line Options
 --------------------------------
 
 `-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC'
@@ -9579,7 +10391,7 @@ File: as.info,  Node: Options-i960,  Next: Floating Point-i960,  Up: i960-Depend
 \1f
 File: as.info,  Node: Floating Point-i960,  Next: Directives-i960,  Prev: Options-i960,  Up: i960-Dependent
 
-8.15.2 Floating Point
+9.15.2 Floating Point
 ---------------------
 
 `as' generates IEEE floating-point numbers for the directives `.float',
@@ -9588,7 +10400,7 @@ File: as.info,  Node: Floating Point-i960,  Next: Directives-i960,  Prev: Option
 \1f
 File: as.info,  Node: Directives-i960,  Next: Opcodes for i960,  Prev: Floating Point-i960,  Up: i960-Dependent
 
-8.15.3 i960 Machine Directives
+9.15.3 i960 Machine Directives
 ------------------------------
 
 `.bss SYMBOL, LENGTH, ALIGN'
@@ -9634,7 +10446,7 @@ File: as.info,  Node: Directives-i960,  Next: Opcodes for i960,  Prev: Floating
 \1f
 File: as.info,  Node: Opcodes for i960,  Prev: Directives-i960,  Up: i960-Dependent
 
-8.15.4 i960 Opcodes
+9.15.4 i960 Opcodes
 -------------------
 
 All Intel 960 machine instructions are supported; *note i960
@@ -9654,7 +10466,7 @@ bits.
 \1f
 File: as.info,  Node: callj-i960,  Next: Compare-and-branch-i960,  Up: Opcodes for i960
 
-8.15.4.1 `callj'
+9.15.4.1 `callj'
 ................
 
 You can write `callj' to have the assembler or the linker determine the
@@ -9667,7 +10479,7 @@ to resolve.
 \1f
 File: as.info,  Node: Compare-and-branch-i960,  Prev: callj-i960,  Up: Opcodes for i960
 
-8.15.4.2 Compare-and-Branch
+9.15.4.2 Compare-and-Branch
 ...........................
 
 The 960 architectures provide combined Compare-and-Branch instructions
@@ -9711,7 +10523,7 @@ and the instruction pairs they may expand into:
 \1f
 File: as.info,  Node: IA-64-Dependent,  Next: IP2K-Dependent,  Prev: i960-Dependent,  Up: Machine Dependencies
 
-8.16 IA-64 Dependent Features
+9.16 IA-64 Dependent Features
 =============================
 
 * Menu:
@@ -9723,7 +10535,7 @@ File: as.info,  Node: IA-64-Dependent,  Next: IP2K-Dependent,  Prev: i960-Depend
 \1f
 File: as.info,  Node: IA-64 Options,  Next: IA-64 Syntax,  Up: IA-64-Dependent
 
-8.16.1 Options
+9.16.1 Options
 --------------
 
 `-mconstant-gp'
@@ -9819,7 +10631,7 @@ File: as.info,  Node: IA-64 Options,  Next: IA-64 Syntax,  Up: IA-64-Dependent
 \1f
 File: as.info,  Node: IA-64 Syntax,  Next: IA-64 Opcodes,  Prev: IA-64 Options,  Up: IA-64-Dependent
 
-8.16.2 Syntax
+9.16.2 Syntax
 -------------
 
 The assembler syntax closely follows the IA-64 Assembly Language
@@ -9834,7 +10646,7 @@ Reference Guide.
 \1f
 File: as.info,  Node: IA-64-Chars,  Next: IA-64-Regs,  Up: IA-64 Syntax
 
-8.16.2.1 Special Characters
+9.16.2.1 Special Characters
 ...........................
 
 `//' is the line comment token.
@@ -9844,7 +10656,7 @@ File: as.info,  Node: IA-64-Chars,  Next: IA-64-Regs,  Up: IA-64 Syntax
 \1f
 File: as.info,  Node: IA-64-Regs,  Next: IA-64-Bits,  Prev: IA-64-Chars,  Up: IA-64 Syntax
 
-8.16.2.2 Register Names
+9.16.2.2 Register Names
 .......................
 
 The 128 integer registers are referred to as `rN'.  The 128
@@ -9864,7 +10676,7 @@ the end-of-interrupt register (`cr67').
 \1f
 File: as.info,  Node: IA-64-Bits,  Prev: IA-64-Regs,  Up: IA-64 Syntax
 
-8.16.2.3 IA-64 Processor-Status-Register (PSR) Bit Names
+9.16.2.3 IA-64 Processor-Status-Register (PSR) Bit Names
 ........................................................
 
 The assembler defines bit masks for each of the bits in the IA-64
@@ -9876,7 +10688,7 @@ else where an integer constant is expected.
 \1f
 File: as.info,  Node: IA-64 Opcodes,  Prev: IA-64 Syntax,  Up: IA-64-Dependent
 
-8.16.3 Opcodes
+9.16.3 Opcodes
 --------------
 
 For detailed information on the IA-64 machine instruction set, see the
@@ -9884,9 +10696,9 @@ IA-64 Architecture Handbook
 (http://developer.intel.com/design/itanium/arch_spec.htm).
 
 \1f
-File: as.info,  Node: IP2K-Dependent,  Next: M32C-Dependent,  Prev: IA-64-Dependent,  Up: Machine Dependencies
+File: as.info,  Node: IP2K-Dependent,  Next: LM32-Dependent,  Prev: IA-64-Dependent,  Up: Machine Dependencies
 
-8.17 IP2K Dependent Features
+9.17 IP2K Dependent Features
 ============================
 
 * Menu:
@@ -9896,7 +10708,7 @@ File: as.info,  Node: IP2K-Dependent,  Next: M32C-Dependent,  Prev: IA-64-Depend
 \1f
 File: as.info,  Node: IP2K-Opts,  Up: IP2K-Dependent
 
-8.17.1 IP2K Options
+9.17.1 IP2K Options
 -------------------
 
 The Ubicom IP2K version of `as' has a few machine dependent options:
@@ -9912,9 +10724,200 @@ The Ubicom IP2K version of `as' has a few machine dependent options:
 
 
 \1f
-File: as.info,  Node: M32C-Dependent,  Next: M32R-Dependent,  Prev: IP2K-Dependent,  Up: Machine Dependencies
+File: as.info,  Node: LM32-Dependent,  Next: M32C-Dependent,  Prev: IP2K-Dependent,  Up: Machine Dependencies
+
+9.18 LM32 Dependent Features
+============================
+
+* Menu:
+
+* LM32 Options::              Options
+* LM32 Syntax::               Syntax
+* LM32 Opcodes::              Opcodes
+
+\1f
+File: as.info,  Node: LM32 Options,  Next: LM32 Syntax,  Up: LM32-Dependent
+
+9.18.1 Options
+--------------
+
+`-mmultiply-enabled'
+     Enable multiply instructions.
+
+`-mdivide-enabled'
+     Enable divide instructions.
+
+`-mbarrel-shift-enabled'
+     Enable barrel-shift instructions.
+
+`-msign-extend-enabled'
+     Enable sign extend instructions.
+
+`-muser-enabled'
+     Enable user defined instructions.
+
+`-micache-enabled'
+     Enable instruction cache related CSRs.
+
+`-mdcache-enabled'
+     Enable data cache related CSRs.
+
+`-mbreak-enabled'
+     Enable break instructions.
+
+`-mall-enabled'
+     Enable all instructions and CSRs.
+
+
+\1f
+File: as.info,  Node: LM32 Syntax,  Next: LM32 Opcodes,  Prev: LM32 Options,  Up: LM32-Dependent
+
+9.18.2 Syntax
+-------------
+
+* Menu:
+
+* LM32-Regs::                 Register Names
+* LM32-Modifiers::            Relocatable Expression Modifiers
+
+\1f
+File: as.info,  Node: LM32-Regs,  Next: LM32-Modifiers,  Up: LM32 Syntax
+
+9.18.2.1 Register Names
+.......................
+
+LM32 has 32 x 32-bit general purpose registers `r0', `r1', ... `r31'.
+
+   The following aliases are defined: `gp' - `r26', `fp' - `r27', `sp'
+- `r28', `ra' - `r29', `ea' - `r30', `ba' - `r31'.
+
+   LM32 has the following Control and Status Registers (CSRs).
+
+`IE'
+     Interrupt enable.
+
+`IM'
+     Interrupt mask.
+
+`IP'
+     Interrupt pending.
+
+`ICC'
+     Instruction cache control.
+
+`DCC'
+     Data cache control.
+
+`CC'
+     Cycle counter.
+
+`CFG'
+     Configuration.
+
+`EBA'
+     Exception base address.
+
+`DC'
+     Debug control.
+
+`DEBA'
+     Debug exception base address.
+
+`JTX'
+     JTAG transmit.
+
+`JRX'
+     JTAG receive.
+
+`BP0'
+     Breakpoint 0.
+
+`BP1'
+     Breakpoint 1.
+
+`BP2'
+     Breakpoint 2.
+
+`BP3'
+     Breakpoint 3.
+
+`WP0'
+     Watchpoint 0.
+
+`WP1'
+     Watchpoint 1.
+
+`WP2'
+     Watchpoint 2.
+
+`WP3'
+     Watchpoint 3.
+
+\1f
+File: as.info,  Node: LM32-Modifiers,  Prev: LM32-Regs,  Up: LM32 Syntax
+
+9.18.2.2 Relocatable Expression Modifiers
+.........................................
+
+The assembler supports several modifiers when using relocatable
+addresses in LM32 instruction operands.  The general syntax is the
+following:
+
+     modifier(relocatable-expression)
+
+`lo'
+     This modifier allows you to use bits 0 through 15 of an address
+     expression as 16 bit relocatable expression.
+
+`hi'
+     This modifier allows you to use bits 16 through 23 of an address
+     expression as 16 bit relocatable expression.
+
+     For example
+
+          ori  r4, r4, lo(sym+10)
+          orhi r4, r4, hi(sym+10)
+
+`gp'
+     This modified creates a 16-bit relocatable expression that is the
+     offset of the symbol from the global pointer.
+
+          mva r4, gp(sym)
+
+`got'
+     This modifier places a symbol in the GOT and creates a 16-bit
+     relocatable expression that is the offset into the GOT of this
+     symbol.
+
+          lw r4, (gp+got(sym))
+
+`gotofflo16'
+     This modifier allows you to use the bits 0 through 15 of an
+     address which is an offset from the GOT.
+
+`gotoffhi16'
+     This modifier allows you to use the bits 16 through 31 of an
+     address which is an offset from the GOT.
+
+          orhi r4, r4, gotoffhi16(lsym)
+          addi r4, r4, gotofflo16(lsym)
+
+
+\1f
+File: as.info,  Node: LM32 Opcodes,  Prev: LM32 Syntax,  Up: LM32-Dependent
+
+9.18.3 Opcodes
+--------------
+
+For detailed information on the LM32 machine instruction set, see
+`http://www.latticesemi.com/products/intellectualproperty/ipcores/mico32/'.
+
+   `as' implements all the standard LM32 opcodes.
+
+\1f
+File: as.info,  Node: M32C-Dependent,  Next: M32R-Dependent,  Prev: LM32-Dependent,  Up: Machine Dependencies
 
-8.18 M32C Dependent Features
+9.19 M32C Dependent Features
 ============================
 
    `as' can assemble code for several different members of the Renesas
@@ -9930,10 +10933,10 @@ to the M32C microprocessor.
 \1f
 File: as.info,  Node: M32C-Opts,  Next: M32C-Modifiers,  Up: M32C-Dependent
 
-8.18.1 M32C Options
+9.19.1 M32C Options
 -------------------
 
-The Renesas M32C version of `as' has two machine-dependent options:
+The Renesas M32C version of `as' has these machine-dependent options:
 
 `-m32c'
      Assemble M32C instructions.
@@ -9941,11 +10944,17 @@ The Renesas M32C version of `as' has two machine-dependent options:
 `-m16c'
      Assemble M16C instructions (default).
 
+`-relax'
+     Enable support for link-time relaxations.
+
+`-h-tick-hex'
+     Support H'00 style hex constants in addition to 0x00 style.
+
 
 \1f
 File: as.info,  Node: M32C-Modifiers,  Prev: M32C-Opts,  Up: M32C-Dependent
 
-8.18.2 Symbolic Operand Modifiers
+9.19.2 Symbolic Operand Modifiers
 ---------------------------------
 
 The assembler supports several modifiers when using symbol addresses in
@@ -9996,7 +11005,7 @@ M32C instruction operands.  The general syntax is the following:
 \1f
 File: as.info,  Node: M32R-Dependent,  Next: M68K-Dependent,  Prev: M32C-Dependent,  Up: Machine Dependencies
 
-8.19 M32R Dependent Features
+9.20 M32R Dependent Features
 ============================
 
 * Menu:
@@ -10008,7 +11017,7 @@ File: as.info,  Node: M32R-Dependent,  Next: M68K-Dependent,  Prev: M32C-Depende
 \1f
 File: as.info,  Node: M32R-Opts,  Next: M32R-Directives,  Up: M32R-Dependent
 
-8.19.1 M32R Options
+9.20.1 M32R Options
 -------------------
 
 The Renease M32R version of `as' has a few machine dependent options:
@@ -10128,7 +11137,7 @@ The Renease M32R version of `as' has a few machine dependent options:
 \1f
 File: as.info,  Node: M32R-Directives,  Next: M32R-Warnings,  Prev: M32R-Opts,  Up: M32R-Dependent
 
-8.19.2 M32R Directives
+9.20.2 M32R Directives
 ----------------------
 
 The Renease M32R version of `as' has a few architecture specific
@@ -10223,7 +11232,7 @@ directives:
 \1f
 File: as.info,  Node: M32R-Warnings,  Prev: M32R-Directives,  Up: M32R-Dependent
 
-8.19.3 M32R Warnings
+9.20.3 M32R Warnings
 --------------------
 
 There are several warning and error messages that can be produced by
@@ -10284,7 +11293,7 @@ There are several warning and error messages that can be produced by
 \1f
 File: as.info,  Node: M68K-Dependent,  Next: M68HC11-Dependent,  Prev: M32R-Dependent,  Up: Machine Dependencies
 
-8.20 M680x0 Dependent Features
+9.21 M680x0 Dependent Features
 ==============================
 
 * Menu:
@@ -10299,7 +11308,7 @@ File: as.info,  Node: M68K-Dependent,  Next: M68HC11-Dependent,  Prev: M32R-Depe
 \1f
 File: as.info,  Node: M68K-Opts,  Next: M68K-Syntax,  Up: M68K-Dependent
 
-8.20.1 M680x0 Options
+9.21.1 M680x0 Options
 ---------------------
 
 The Motorola 680x0 version of `as' has a few machine dependent options:
@@ -10511,7 +11520,7 @@ The Motorola 680x0 version of `as' has a few machine dependent options:
 \1f
 File: as.info,  Node: M68K-Syntax,  Next: M68K-Moto-Syntax,  Prev: M68K-Opts,  Up: M68K-Dependent
 
-8.20.2 Syntax
+9.21.2 Syntax
 -------------
 
 This syntax for the Motorola 680x0 was developed at MIT.
@@ -10575,7 +11584,7 @@ with the leading colon.
 \1f
 File: as.info,  Node: M68K-Moto-Syntax,  Next: M68K-Float,  Prev: M68K-Syntax,  Up: M68K-Dependent
 
-8.20.3 Motorola Syntax
+9.21.3 Motorola Syntax
 ----------------------
 
 The standard Motorola syntax for this chip differs from the syntax
@@ -10642,7 +11651,7 @@ omitted along with the leading asterisk.
 \1f
 File: as.info,  Node: M68K-Float,  Next: M68K-Directives,  Prev: M68K-Moto-Syntax,  Up: M68K-Dependent
 
-8.20.4 Floating Point
+9.21.4 Floating Point
 ---------------------
 
 Packed decimal (P) format floating literals are not supported.  Feel
@@ -10663,7 +11672,7 @@ free to add the code!
 \1f
 File: as.info,  Node: M68K-Directives,  Next: M68K-opcodes,  Prev: M68K-Float,  Up: M68K-Dependent
 
-8.20.5 680x0 Machine Directives
+9.21.5 680x0 Machine Directives
 -------------------------------
 
 In order to be compatible with the Sun assembler the 680x0 assembler
@@ -10701,7 +11710,7 @@ understands the following directives.
 \1f
 File: as.info,  Node: M68K-opcodes,  Prev: M68K-Directives,  Up: M68K-Dependent
 
-8.20.6 Opcodes
+9.21.6 Opcodes
 --------------
 
 * Menu:
@@ -10712,7 +11721,7 @@ File: as.info,  Node: M68K-opcodes,  Prev: M68K-Directives,  Up: M68K-Dependent
 \1f
 File: as.info,  Node: M68K-Branch,  Next: M68K-Chars,  Up: M68K-opcodes
 
-8.20.6.1 Branch Improvement
+9.21.6.1 Branch Improvement
 ...........................
 
 Certain pseudo opcodes are permitted for branch instructions.  They
@@ -10814,7 +11823,7 @@ cases that are more fully described after the table:
 \1f
 File: as.info,  Node: M68K-Chars,  Prev: M68K-Branch,  Up: M68K-opcodes
 
-8.20.6.2 Special Characters
+9.21.6.2 Special Characters
 ...........................
 
 The immediate character is `#' for Sun compatibility.  The line-comment
@@ -10823,9 +11832,9 @@ appears at the beginning of a line, it is treated as a comment unless
 it looks like `# line file', in which case it is treated normally.
 
 \1f
-File: as.info,  Node: M68HC11-Dependent,  Next: MIPS-Dependent,  Prev: M68K-Dependent,  Up: Machine Dependencies
+File: as.info,  Node: M68HC11-Dependent,  Next: MicroBlaze-Dependent,  Prev: M68K-Dependent,  Up: Machine Dependencies
 
-8.21 M68HC11 and M68HC12 Dependent Features
+9.22 M68HC11 and M68HC12 Dependent Features
 ===========================================
 
 * Menu:
@@ -10840,7 +11849,7 @@ File: as.info,  Node: M68HC11-Dependent,  Next: MIPS-Dependent,  Prev: M68K-Depe
 \1f
 File: as.info,  Node: M68HC11-Opts,  Next: M68HC11-Syntax,  Up: M68HC11-Dependent
 
-8.21.1 M68HC11 and M68HC12 Options
+9.22.1 M68HC11 and M68HC12 Options
 ----------------------------------
 
 The Motorola 68HC11 and 68HC12 version of `as' have a few machine
@@ -10930,7 +11939,7 @@ dependent options.
 \1f
 File: as.info,  Node: M68HC11-Syntax,  Next: M68HC11-Modifiers,  Prev: M68HC11-Opts,  Up: M68HC11-Dependent
 
-8.21.2 Syntax
+9.22.2 Syntax
 -------------
 
 In the M68HC11 syntax, the instruction name comes first and it may be
@@ -11008,7 +12017,7 @@ supported and they are represented below:
 \1f
 File: as.info,  Node: M68HC11-Modifiers,  Next: M68HC11-Directives,  Prev: M68HC11-Syntax,  Up: M68HC11-Dependent
 
-8.21.3 Symbolic Operand Modifiers
+9.22.3 Symbolic Operand Modifiers
 ---------------------------------
 
 The assembler supports several modifiers when using symbol addresses in
@@ -11061,7 +12070,7 @@ memory expansion part could be written as follows:
 \1f
 File: as.info,  Node: M68HC11-Directives,  Next: M68HC11-Float,  Prev: M68HC11-Modifiers,  Up: M68HC11-Dependent
 
-8.21.4 Assembler Directives
+9.22.4 Assembler Directives
 ---------------------------
 
 The 68HC11 and 68HC12 version of `as' have the following specific
@@ -11097,7 +12106,7 @@ assembler directives:
 \1f
 File: as.info,  Node: M68HC11-Float,  Next: M68HC11-opcodes,  Prev: M68HC11-Directives,  Up: M68HC11-Dependent
 
-8.21.5 Floating Point
+9.22.5 Floating Point
 ---------------------
 
 Packed decimal (P) format floating literals are not supported.  Feel
@@ -11118,7 +12127,7 @@ free to add the code!
 \1f
 File: as.info,  Node: M68HC11-opcodes,  Prev: M68HC11-Float,  Up: M68HC11-Dependent
 
-8.21.6 Opcodes
+9.22.6 Opcodes
 --------------
 
 * Menu:
@@ -11128,7 +12137,7 @@ File: as.info,  Node: M68HC11-opcodes,  Prev: M68HC11-Float,  Up: M68HC11-Depend
 \1f
 File: as.info,  Node: M68HC11-Branch,  Up: M68HC11-opcodes
 
-8.21.6.1 Branch Improvement
+9.22.6.1 Branch Improvement
 ...........................
 
 Certain pseudo opcodes are permitted for branch instructions.  They
@@ -11182,9 +12191,76 @@ Motorola mnemonic. These pseudo opcodes are not affected by the
 
 
 \1f
-File: as.info,  Node: MIPS-Dependent,  Next: MMIX-Dependent,  Prev: M68HC11-Dependent,  Up: Machine Dependencies
+File: as.info,  Node: MicroBlaze-Dependent,  Next: MIPS-Dependent,  Prev: M68HC11-Dependent,  Up: Machine Dependencies
+
+9.23 MicroBlaze Dependent Features
+==================================
+
+   The Xilinx MicroBlaze processor family includes several variants,
+all using the same core instruction set.  This chapter covers features
+of the GNU assembler that are specific to the MicroBlaze architecture.
+For details about the MicroBlaze instruction set, please see the
+`MicroBlaze Processor Reference Guide (UG081)' available at
+www.xilinx.com.
+
+* Menu:
+
+* MicroBlaze Directives::           Directives for MicroBlaze Processors.
+
+\1f
+File: as.info,  Node: MicroBlaze Directives,  Up: MicroBlaze-Dependent
+
+9.23.1 Directives
+-----------------
+
+A number of assembler directives are available for MicroBlaze.
+
+`.data8 EXPRESSION,...'
+     This directive is an alias for `.byte'. Each expression is
+     assembled into an eight-bit value.
+
+`.data16 EXPRESSION,...'
+     This directive is an alias for `.hword'. Each expression is
+     assembled into an 16-bit value.
+
+`.data32 EXPRESSION,...'
+     This directive is an alias for `.word'. Each expression is
+     assembled into an 32-bit value.
+
+`.ent NAME[,LABEL]'
+     This directive is an alias for `.func' denoting the start of
+     function NAME at (optional) LABEL.
+
+`.end NAME[,LABEL]'
+     This directive is an alias for `.endfunc' denoting the end of
+     function NAME.
+
+`.gpword LABEL,...'
+     This directive is an alias for `.rva'.  The resolved address of
+     LABEL is stored in the data section.
+
+`.weakext LABEL'
+     Declare that LABEL is a weak external symbol.
+
+`.rodata'
+     Switch to .rodata section. Equivalent to `.section .rodata'
+
+`.sdata2'
+     Switch to .sdata2 section. Equivalent to `.section .sdata2'
+
+`.sdata'
+     Switch to .sdata section. Equivalent to `.section .sdata'
+
+`.bss'
+     Switch to .bss section. Equivalent to `.section .bss'
+
+`.sbss'
+     Switch to .sbss section. Equivalent to `.section .sbss'
+
+\1f
+File: as.info,  Node: MIPS-Dependent,  Next: MMIX-Dependent,  Prev: MicroBlaze-Dependent,  Up: Machine Dependencies
 
-8.22 MIPS Dependent Features
+9.24 MIPS Dependent Features
 ============================
 
    GNU `as' for MIPS architectures supports several different MIPS
@@ -11206,11 +12282,12 @@ Programming" in the same work.
 * MIPS option stack::  Directives to save and restore options
 * MIPS ASE instruction generation overrides:: Directives to control
                        generation of MIPS ASE instructions
+* MIPS floating-point:: Directives to override floating-point options
 
 \1f
 File: as.info,  Node: MIPS Opts,  Next: MIPS Object,  Up: MIPS-Dependent
 
-8.22.1 Assembler options
+9.24.1 Assembler options
 ------------------------
 
 The MIPS configurations of GNU `as' support these special options:
@@ -11342,6 +12419,10 @@ The MIPS configurations of GNU `as' support these special options:
 `-no-mfix-vr4130'
      Insert nops to work around the VR4130 `mflo'/`mfhi' errata.
 
+`-mfix-24k'
+`-no-mfix-24k'
+     Insert nops to work around the 24K `eret'/`deret' errata.
+
 `-m4010'
 `-no-m4010'
      Generate code for the LSI R4010 chip.  This tells the assembler to
@@ -11372,10 +12453,12 @@ The MIPS configurations of GNU `as' support these special options:
           2000, 3000, 3900, 4000, 4010, 4100, 4111, vr4120, vr4130,
           vr4181, 4300, 4400, 4600, 4650, 5000, rm5200, rm5230, rm5231,
           rm5261, rm5721, vr5400, vr5500, 6000, rm7000, 8000, rm9000,
-          10000, 12000, 4kc, 4km, 4kp, 4ksc, 4kec, 4kem, 4kep, 4ksd,
-          m4k, m4kp, 24kc, 24kf2_1, 24kf, 24kf1_1, 24kec, 24kef2_1,
-          24kef, 24kef1_1, 34kc, 34kf2_1, 34kf, 34kf1_1, 74kc, 74kf2_1,
-          74kf, 74kf1_1, 74kf3_2, 5kc, 5kf, 20kc, 25kf, sb1, sb1a
+          10000, 12000, 14000, 16000, 4kc, 4km, 4kp, 4ksc, 4kec, 4kem,
+          4kep, 4ksd, m4k, m4kp, 24kc, 24kf2_1, 24kf, 24kf1_1, 24kec,
+          24kef2_1, 24kef, 24kef1_1, 34kc, 34kf2_1, 34kf, 34kf1_1, 74kc,
+          74kf2_1, 74kf, 74kf1_1, 74kf3_2, 1004kc, 1004kf2_1, 1004kf,
+          1004kf1_1, 5kc, 5kf, 20kc, 25kf, sb1, sb1a, loongson2e,
+          loongson2f, octeon, xlr
 
      For compatibility reasons, `Nx' and `Bfx' are accepted as synonyms
      for `Nf1_1'.  These values are deprecated.
@@ -11400,6 +12483,19 @@ The MIPS configurations of GNU `as' support these special options:
      `-nocpp', because the GNU assembler itself never runs the C
      preprocessor.
 
+`-msoft-float'
+`-mhard-float'
+     Disable or enable floating-point instructions.  Note that by
+     default floating-point instructions are always allowed even with
+     CPU targets that don't have support for these instructions.
+
+`-msingle-float'
+`-mdouble-float'
+     Disable or enable double-precision floating-point operations.  Note
+     that by default double-precision floating-point operations are
+     always allowed even with CPU targets that don't have support for
+     these operations.
+
 `--construct-floats'
 `--no-construct-floats'
      The `--no-construct-floats' option disables the construction of
@@ -11446,7 +12542,7 @@ The MIPS configurations of GNU `as' support these special options:
 \1f
 File: as.info,  Node: MIPS Object,  Next: MIPS Stabs,  Prev: MIPS Opts,  Up: MIPS-Dependent
 
-8.22.2 MIPS ECOFF object code
+9.24.2 MIPS ECOFF object code
 -----------------------------
 
 Assembling for a MIPS ECOFF target supports some additional sections
@@ -11477,7 +12573,7 @@ modify the `$gp' register.
 \1f
 File: as.info,  Node: MIPS Stabs,  Next: MIPS ISA,  Prev: MIPS Object,  Up: MIPS-Dependent
 
-8.22.3 Directives for debugging information
+9.24.3 Directives for debugging information
 -------------------------------------------
 
 MIPS ECOFF `as' supports several directives used for generating
@@ -11493,7 +12589,7 @@ programmers!
 \1f
 File: as.info,  Node: MIPS symbol sizes,  Next: MIPS autoextend,  Prev: MIPS ISA,  Up: MIPS-Dependent
 
-8.22.4 Directives to override the size of symbols
+9.24.4 Directives to override the size of symbols
 -------------------------------------------------
 
 The n64 ABI allows symbols to have any 64-bit value.  Although this
@@ -11540,7 +12636,7 @@ they have no effect for anything other than n64.
 \1f
 File: as.info,  Node: MIPS ISA,  Next: MIPS symbol sizes,  Prev: MIPS Stabs,  Up: MIPS-Dependent
 
-8.22.5 Directives to override the ISA level
+9.24.5 Directives to override the ISA level
 -------------------------------------------
 
 GNU `as' supports an additional directive to change the MIPS
@@ -11570,7 +12666,7 @@ which it will assemble instructions for the MIPS 16 processor.  Use
 \1f
 File: as.info,  Node: MIPS autoextend,  Next: MIPS insn,  Prev: MIPS symbol sizes,  Up: MIPS-Dependent
 
-8.22.6 Directives for extending MIPS 16 bit instructions
+9.24.6 Directives for extending MIPS 16 bit instructions
 --------------------------------------------------------
 
 By default, MIPS 16 instructions are automatically extended to 32 bits
@@ -11586,7 +12682,7 @@ MIPS assemblers do not support this directive.
 \1f
 File: as.info,  Node: MIPS insn,  Next: MIPS option stack,  Prev: MIPS autoextend,  Up: MIPS-Dependent
 
-8.22.7 Directive to mark data as an instruction
+9.24.7 Directive to mark data as an instruction
 -----------------------------------------------
 
 The `.insn' directive tells `as' that the following data is actually
@@ -11595,10 +12691,31 @@ the address of a label which precedes instructions, `as' automatically
 adds 1 to the value, so that jumping to the loaded address will do the
 right thing.
 
+   The `.global' and `.globl' directives supported by `as' will by
+default mark the symbol as pointing to a region of data not code.  This
+means that, for example, any instructions following such a symbol will
+not be disassembled by `objdump' as it will regard them as data.  To
+change this behaviour an optional section name can be placed after the
+symbol name in the `.global' directive.  If this section exists and is
+known to be a code section, then the symbol will be marked as poiting at
+code not data.  Ie the syntax for the directive is:
+
+   `.global SYMBOL[ SECTION][, SYMBOL[ SECTION]] ...',
+
+   Here is a short example:
+
+             .global foo .text, bar, baz .data
+     foo:
+             nop
+     bar:
+             .word 0x0
+     baz:
+             .word 0x1
+
 \1f
 File: as.info,  Node: MIPS option stack,  Next: MIPS ASE instruction generation overrides,  Prev: MIPS insn,  Up: MIPS-Dependent
 
-8.22.8 Directives to save and restore options
+9.24.8 Directives to save and restore options
 ---------------------------------------------
 
 The directives `.set push' and `.set pop' may be used to save and
@@ -11614,9 +12731,9 @@ to change the state of the code which invoked the macro.
    Traditional MIPS assemblers do not support these directives.
 
 \1f
-File: as.info,  Node: MIPS ASE instruction generation overrides,  Prev: MIPS option stack,  Up: MIPS-Dependent
+File: as.info,  Node: MIPS ASE instruction generation overrides,  Next: MIPS floating-point,  Prev: MIPS option stack,  Up: MIPS-Dependent
 
-8.22.9 Directives to control generation of MIPS ASE instructions
+9.24.9 Directives to control generation of MIPS ASE instructions
 ----------------------------------------------------------------
 
 The directive `.set mips3d' makes the assembler accept instructions
@@ -11653,9 +12770,29 @@ being accepted.
    Traditional MIPS assemblers do not support these directives.
 
 \1f
-File: as.info,  Node: MMIX-Dependent,  Next: MSP430-Dependent,  Prev: MIPS-Dependent,  Up: Machine Dependencies
+File: as.info,  Node: MIPS floating-point,  Prev: MIPS ASE instruction generation overrides,  Up: MIPS-Dependent
 
-8.23 MMIX Dependent Features
+9.24.10 Directives to override floating-point options
+-----------------------------------------------------
+
+The directives `.set softfloat' and `.set hardfloat' provide finer
+control of disabling and enabling float-point instructions.  These
+directives always override the default (that hard-float instructions
+are accepted) or the command-line options (`-msoft-float' and
+`-mhard-float').
+
+   The directives `.set singlefloat' and `.set doublefloat' provide
+finer control of disabling and enabling double-precision float-point
+operations.  These directives always override the default (that
+double-precision operations are accepted) or the command-line options
+(`-msingle-float' and `-mdouble-float').
+
+   Traditional MIPS assemblers do not support these directives.
+
+\1f
+File: as.info,  Node: MMIX-Dependent,  Next: MSP430-Dependent,  Prev: MIPS-Dependent,  Up: Machine Dependencies
+
+9.25 MMIX Dependent Features
 ============================
 
 * Menu:
@@ -11668,7 +12805,7 @@ File: as.info,  Node: MMIX-Dependent,  Next: MSP430-Dependent,  Prev: MIPS-Depen
 \1f
 File: as.info,  Node: MMIX-Opts,  Next: MMIX-Expand,  Up: MMIX-Dependent
 
-8.23.1 Command-line Options
+9.25.1 Command-line Options
 ---------------------------
 
 The MMIX version of `as' has some machine-dependent options.
@@ -11741,7 +12878,7 @@ is needed.
 \1f
 File: as.info,  Node: MMIX-Expand,  Next: MMIX-Syntax,  Prev: MMIX-Opts,  Up: MMIX-Dependent
 
-8.23.2 Instruction expansion
+9.25.2 Instruction expansion
 ----------------------------
 
 When `as' encounters an instruction with an operand that is either not
@@ -11775,7 +12912,7 @@ assembled with `--relax' (though not currently implemented).
 \1f
 File: as.info,  Node: MMIX-Syntax,  Next: MMIX-mmixal,  Prev: MMIX-Expand,  Up: MMIX-Dependent
 
-8.23.3 Syntax
+9.25.3 Syntax
 -------------
 
 The assembly syntax is supposed to be upward compatible with that
@@ -11807,7 +12944,7 @@ specified, the rest of the line is ignored, treated as a comment.
 \1f
 File: as.info,  Node: MMIX-Chars,  Next: MMIX-Symbols,  Up: MMIX-Syntax
 
-8.23.3.1 Special Characters
+9.25.3.1 Special Characters
 ...........................
 
 The characters `*' and `#' are line comment characters; each start a
@@ -11824,7 +12961,7 @@ instructions can be specified on a single line.
 \1f
 File: as.info,  Node: MMIX-Symbols,  Next: MMIX-Regs,  Prev: MMIX-Chars,  Up: MMIX-Syntax
 
-8.23.3.2 Symbols
+9.25.3.2 Symbols
 ................
 
 The character `:' is permitted in identifiers.  There are two
@@ -11868,7 +13005,7 @@ just the final executable.  *Note MMIX-loc::.
 \1f
 File: as.info,  Node: MMIX-Regs,  Next: MMIX-Pseudos,  Prev: MMIX-Symbols,  Up: MMIX-Syntax
 
-8.23.3.3 Register names
+9.25.3.3 Register names
 .......................
 
 Local and global registers are specified as `$0' to `$255'.  The
@@ -11891,7 +13028,7 @@ the instructions having a special register operand; `GET' and `PUT'.
 \1f
 File: as.info,  Node: MMIX-Pseudos,  Prev: MMIX-Regs,  Up: MMIX-Syntax
 
-8.23.3.4 Assembler Directives
+9.25.3.4 Assembler Directives
 .............................
 
 `LOC'
@@ -12030,7 +13167,7 @@ File: as.info,  Node: MMIX-Pseudos,  Prev: MMIX-Regs,  Up: MMIX-Syntax
 \1f
 File: as.info,  Node: MMIX-mmixal,  Prev: MMIX-Syntax,  Up: MMIX-Dependent
 
-8.23.4 Differences to `mmixal'
+9.25.4 Differences to `mmixal'
 ------------------------------
 
 The binutils `as' and `ld' combination has a few differences in
@@ -12122,7 +13259,7 @@ not assemble with `as':
 \1f
 File: as.info,  Node: MSP430-Dependent,  Next: SH-Dependent,  Prev: MMIX-Dependent,  Up: Machine Dependencies
 
-8.24 MSP 430 Dependent Features
+9.26 MSP 430 Dependent Features
 ===============================
 
 * Menu:
@@ -12137,7 +13274,7 @@ File: as.info,  Node: MSP430-Dependent,  Next: SH-Dependent,  Prev: MMIX-Depende
 \1f
 File: as.info,  Node: MSP430 Options,  Next: MSP430 Syntax,  Up: MSP430-Dependent
 
-8.24.1 Options
+9.26.1 Options
 --------------
 
 `-m'
@@ -12153,7 +13290,7 @@ File: as.info,  Node: MSP430 Options,  Next: MSP430 Syntax,  Up: MSP430-Dependen
 \1f
 File: as.info,  Node: MSP430 Syntax,  Next: MSP430 Floating Point,  Prev: MSP430 Options,  Up: MSP430-Dependent
 
-8.24.2 Syntax
+9.26.2 Syntax
 -------------
 
 * Menu:
@@ -12166,7 +13303,7 @@ File: as.info,  Node: MSP430 Syntax,  Next: MSP430 Floating Point,  Prev: MSP430
 \1f
 File: as.info,  Node: MSP430-Macros,  Next: MSP430-Chars,  Up: MSP430 Syntax
 
-8.24.2.1 Macros
+9.26.2.1 Macros
 ...............
 
 The macro syntax used on the MSP 430 is like that described in the MSP
@@ -12195,7 +13332,7 @@ work.
 \1f
 File: as.info,  Node: MSP430-Chars,  Next: MSP430-Regs,  Prev: MSP430-Macros,  Up: MSP430 Syntax
 
-8.24.2.2 Special Characters
+9.26.2.2 Special Characters
 ...........................
 
 `;' is the line comment character.
@@ -12206,7 +13343,7 @@ implemented only for TI syntax compatibility.
 \1f
 File: as.info,  Node: MSP430-Regs,  Next: MSP430-Ext,  Prev: MSP430-Chars,  Up: MSP430 Syntax
 
-8.24.2.3 Register Names
+9.26.2.3 Register Names
 .......................
 
 General-purpose registers are represented by predefined symbols of the
@@ -12220,7 +13357,7 @@ and will be treated as variables. Use `r0', `r1', and `r2' instead.
 \1f
 File: as.info,  Node: MSP430-Ext,  Prev: MSP430-Regs,  Up: MSP430 Syntax
 
-8.24.2.4 Assembler Extensions
+9.26.2.4 Assembler Extensions
 .............................
 
 `@rN'
@@ -12286,7 +13423,7 @@ upon jump distance.  They all got PC relative addressing mode.
 \1f
 File: as.info,  Node: MSP430 Floating Point,  Next: MSP430 Directives,  Prev: MSP430 Syntax,  Up: MSP430-Dependent
 
-8.24.3 Floating Point
+9.26.3 Floating Point
 ---------------------
 
 The MSP 430 family uses IEEE 32-bit floating-point numbers.
@@ -12294,7 +13431,7 @@ The MSP 430 family uses IEEE 32-bit floating-point numbers.
 \1f
 File: as.info,  Node: MSP430 Directives,  Next: MSP430 Opcodes,  Prev: MSP430 Floating Point,  Up: MSP430-Dependent
 
-8.24.4 MSP 430 Machine Directives
+9.26.4 MSP 430 Machine Directives
 ---------------------------------
 
 `.file'
@@ -12321,7 +13458,7 @@ File: as.info,  Node: MSP430 Directives,  Next: MSP430 Opcodes,  Prev: MSP430 Fl
 \1f
 File: as.info,  Node: MSP430 Opcodes,  Next: MSP430 Profiling Capability,  Prev: MSP430 Directives,  Up: MSP430-Dependent
 
-8.24.5 Opcodes
+9.26.5 Opcodes
 --------------
 
 `as' implements all the standard MSP 430 opcodes.  No additional
@@ -12333,7 +13470,7 @@ User's Manual, document slau049d', Texas Instrument, Inc.
 \1f
 File: as.info,  Node: MSP430 Profiling Capability,  Prev: MSP430 Opcodes,  Up: MSP430-Dependent
 
-8.24.6 Profiling Capability
+9.26.6 Profiling Capability
 ---------------------------
 
 It is a performance hit to use gcc's profiling approach for this tiny
@@ -12438,7 +13575,7 @@ should take place at the present address.
 \1f
 File: as.info,  Node: PDP-11-Dependent,  Next: PJ-Dependent,  Prev: SH64-Dependent,  Up: Machine Dependencies
 
-8.25 PDP-11 Dependent Features
+9.27 PDP-11 Dependent Features
 ==============================
 
 * Menu:
@@ -12452,12 +13589,12 @@ File: as.info,  Node: PDP-11-Dependent,  Next: PJ-Dependent,  Prev: SH64-Depende
 \1f
 File: as.info,  Node: PDP-11-Options,  Next: PDP-11-Pseudos,  Up: PDP-11-Dependent
 
-8.25.1 Options
+9.27.1 Options
 --------------
 
 The PDP-11 version of `as' has a rich set of machine dependent options.
 
-8.25.1.1 Code Generation Options
+9.27.1.1 Code Generation Options
 ................................
 
 `-mpic | -mno-pic'
@@ -12465,7 +13602,7 @@ The PDP-11 version of `as' has a rich set of machine dependent options.
 
      The default is to generate position-independent code.
 
-8.25.1.2 Instruction Set Extension Options
+9.27.1.2 Instruction Set Extension Options
 ..........................................
 
 These options enables or disables the use of extensions over the base
@@ -12535,7 +13672,7 @@ EXTENSION, and a `-mno-'EXTENSION that disables EXTENSION.
      Enable (or disable) the use of the microcode instructions: `LDUB',
      `MED', and `XFC'.
 
-8.25.1.3 CPU Model Options
+9.27.1.3 CPU Model Options
 ..........................
 
 These options enable the instruction set extensions supported by a
@@ -12583,7 +13720,7 @@ particular CPU, and disables all other extensions.
      T11 CPU.  Enable limited extended instruction set, `MFPS', and
      `MTPS'.
 
-8.25.1.4 Machine Model Options
+9.27.1.4 Machine Model Options
 ..............................
 
 These options enable the instruction set extensions supported by a
@@ -12631,7 +13768,7 @@ particular machine model, and disables all other extensions.
 \1f
 File: as.info,  Node: PDP-11-Pseudos,  Next: PDP-11-Syntax,  Prev: PDP-11-Options,  Up: PDP-11-Dependent
 
-8.25.2 Assembler Directives
+9.27.2 Assembler Directives
 ---------------------------
 
 The PDP-11 version of `as' has a few machine dependent assembler
@@ -12646,7 +13783,7 @@ directives.
 \1f
 File: as.info,  Node: PDP-11-Syntax,  Next: PDP-11-Mnemonics,  Prev: PDP-11-Pseudos,  Up: PDP-11-Dependent
 
-8.25.3 PDP-11 Assembly Language Syntax
+9.27.3 PDP-11 Assembly Language Syntax
 --------------------------------------
 
 `as' supports both DEC syntax and BSD syntax.  The only difference is
@@ -12665,7 +13802,7 @@ the end of the line.  (FIXME: clash with immediates?)
 \1f
 File: as.info,  Node: PDP-11-Mnemonics,  Next: PDP-11-Synthetic,  Prev: PDP-11-Syntax,  Up: PDP-11-Dependent
 
-8.25.4 Instruction Naming
+9.27.4 Instruction Naming
 -------------------------
 
 Some instructions have alternative names.
@@ -12688,7 +13825,7 @@ Some instructions have alternative names.
 \1f
 File: as.info,  Node: PDP-11-Synthetic,  Prev: PDP-11-Mnemonics,  Up: PDP-11-Dependent
 
-8.25.5 Synthetic Instructions
+9.27.5 Synthetic Instructions
 -----------------------------
 
 The `JBR' and `J'CC synthetic instructions are not supported yet.
@@ -12696,7 +13833,7 @@ The `JBR' and `J'CC synthetic instructions are not supported yet.
 \1f
 File: as.info,  Node: PJ-Dependent,  Next: PPC-Dependent,  Prev: PDP-11-Dependent,  Up: Machine Dependencies
 
-8.26 picoJava Dependent Features
+9.28 picoJava Dependent Features
 ================================
 
 * Menu:
@@ -12706,7 +13843,7 @@ File: as.info,  Node: PJ-Dependent,  Next: PPC-Dependent,  Prev: PDP-11-Dependen
 \1f
 File: as.info,  Node: PJ Options,  Up: PJ-Dependent
 
-8.26.1 Options
+9.28.1 Options
 --------------
 
 `as' has two additional command-line options for the picoJava
@@ -12718,9 +13855,9 @@ architecture.
      This option selects big endian data output.
 
 \1f
-File: as.info,  Node: PPC-Dependent,  Next: Sparc-Dependent,  Prev: PJ-Dependent,  Up: Machine Dependencies
+File: as.info,  Node: PPC-Dependent,  Next: S/390-Dependent,  Prev: PJ-Dependent,  Up: Machine Dependencies
 
-8.27 PowerPC Dependent Features
+9.29 PowerPC Dependent Features
 ===============================
 
 * Menu:
@@ -12731,7 +13868,7 @@ File: as.info,  Node: PPC-Dependent,  Next: Sparc-Dependent,  Prev: PJ-Dependent
 \1f
 File: as.info,  Node: PowerPC-Opts,  Next: PowerPC-Pseudo,  Up: PPC-Dependent
 
-8.27.1 Options
+9.29.1 Options
 --------------
 
 The PowerPC chip family includes several successive levels, using the
@@ -12760,98 +13897,1053 @@ architecture reference manual.
 `-m440'
      Generate code for PowerPC 440.  BookE and some 405 instructions.
 
+`-m476'
+     Generate code for PowerPC 476.
+
 `-m7400, -m7410, -m7450, -m7455'
      Generate code for PowerPC 7400/7410/7450/7455.
 
-`-mppc64, -m620'
-     Generate code for PowerPC 620/625/630.
+`-m750cl'
+     Generate code for PowerPC 750CL.
+
+`-mppc64, -m620'
+     Generate code for PowerPC 620/625/630.
+
+`-me500, -me500x2'
+     Generate code for Motorola e500 core complex.
+
+`-mspe'
+     Generate code for Motorola SPE instructions.
+
+`-mppc64bridge'
+     Generate code for PowerPC 64, including bridge insns.
+
+`-mbooke'
+     Generate code for 32-bit BookE.
+
+`-ma2'
+     Generate code for A2 architecture.
+
+`-me300'
+     Generate code for PowerPC e300 family.
+
+`-maltivec'
+     Generate code for processors with AltiVec instructions.
+
+`-mvsx'
+     Generate code for processors with Vector-Scalar (VSX) instructions.
+
+`-mpower4'
+     Generate code for Power4 architecture.
+
+`-mpower5'
+     Generate code for Power5 architecture.
+
+`-mpower6'
+     Generate code for Power6 architecture.
+
+`-mpower7'
+     Generate code for Power7 architecture.
+
+`-mcell'
+     Generate code for Cell Broadband Engine architecture.
+
+`-mcom'
+     Generate code Power/PowerPC common instructions.
+
+`-many'
+     Generate code for any architecture (PWR/PWRX/PPC).
+
+`-mregnames'
+     Allow symbolic names for registers.
+
+`-mno-regnames'
+     Do not allow symbolic names for registers.
+
+`-mrelocatable'
+     Support for GCC's -mrelocatable option.
+
+`-mrelocatable-lib'
+     Support for GCC's -mrelocatable-lib option.
+
+`-memb'
+     Set PPC_EMB bit in ELF flags.
+
+`-mlittle, -mlittle-endian'
+     Generate code for a little endian machine.
+
+`-mbig, -mbig-endian'
+     Generate code for a big endian machine.
+
+`-msolaris'
+     Generate code for Solaris.
+
+`-mno-solaris'
+     Do not generate code for Solaris.
+
+\1f
+File: as.info,  Node: PowerPC-Pseudo,  Prev: PowerPC-Opts,  Up: PPC-Dependent
+
+9.29.2 PowerPC Assembler Directives
+-----------------------------------
+
+A number of assembler directives are available for PowerPC.  The
+following table is far from complete.
+
+`.machine "string"'
+     This directive allows you to change the machine for which code is
+     generated.  `"string"' may be any of the -m cpu selection options
+     (without the -m) enclosed in double quotes, `"push"', or `"pop"'.
+     `.machine "push"' saves the currently selected cpu, which may be
+     restored with `.machine "pop"'.
+
+\1f
+File: as.info,  Node: S/390-Dependent,  Next: SCORE-Dependent,  Prev: PPC-Dependent,  Up: Machine Dependencies
+
+9.30 IBM S/390 Dependent Features
+=================================
+
+   The s390 version of `as' supports two architectures modes and seven
+chip levels. The architecture modes are the Enterprise System
+Architecture (ESA) and the newer z/Architecture mode. The chip levels
+are g5, g6, z900, z990, z9-109, z9-ec and z10.
+
+* Menu:
+
+* s390 Options::                Command-line Options.
+* s390 Characters::            Special Characters.
+* s390 Syntax::                 Assembler Instruction syntax.
+* s390 Directives::             Assembler Directives.
+* s390 Floating Point::         Floating Point.
+
+\1f
+File: as.info,  Node: s390 Options,  Next: s390 Characters,  Up: S/390-Dependent
+
+9.30.1 Options
+--------------
+
+The following table lists all available s390 specific options:
+
+`-m31 | -m64'
+     Select 31- or 64-bit ABI implying a word size of 32- or 64-bit.
+
+     These options are only available with the ELF object file format,
+     and require that the necessary BFD support has been included (on a
+     31-bit platform you must add -enable-64-bit-bfd on the call to the
+     configure script to enable 64-bit usage and use s390x as target
+     platform).
+
+`-mesa | -mzarch'
+     Select the architecture mode, either the Enterprise System
+     Architecture (esa) mode or the z/Architecture mode (zarch).
+
+     The 64-bit instructions are only available with the z/Architecture
+     mode.  The combination of `-m64' and `-mesa' results in a warning
+     message.
+
+`-march=CPU'
+     This option specifies the target processor. The following
+     processor names are recognized: `g5', `g6', `z900', `z990',
+     `z9-109', `z9-ec' and `z10'.  Assembling an instruction that is
+     not supported on the target processor results in an error message.
+     Do not specify `g5' or `g6' with `-mzarch'.
+
+`-mregnames'
+     Allow symbolic names for registers.
+
+`-mno-regnames'
+     Do not allow symbolic names for registers.
+
+`-mwarn-areg-zero'
+     Warn whenever the operand for a base or index register has been
+     specified but evaluates to zero. This can indicate the misuse of
+     general purpose register 0 as an address register.
+
+
+\1f
+File: as.info,  Node: s390 Characters,  Next: s390 Syntax,  Prev: s390 Options,  Up: S/390-Dependent
+
+9.30.2 Special Characters
+-------------------------
+
+`#' is the line comment character.
+
+\1f
+File: as.info,  Node: s390 Syntax,  Next: s390 Directives,  Prev: s390 Characters,  Up: S/390-Dependent
+
+9.30.3 Instruction syntax
+-------------------------
+
+The assembler syntax closely follows the syntax outlined in Enterprise
+Systems Architecture/390 Principles of Operation (SA22-7201) and the
+z/Architecture Principles of Operation (SA22-7832).
+
+   Each instruction has two major parts, the instruction mnemonic and
+the instruction operands. The instruction format varies.
+
+* Menu:
+
+* s390 Register::               Register Naming
+* s390 Mnemonics::              Instruction Mnemonics
+* s390 Operands::               Instruction Operands
+* s390 Formats::                Instruction Formats
+* s390 Aliases::               Instruction Aliases
+* s390 Operand Modifier::       Instruction Operand Modifier
+* s390 Instruction Marker::     Instruction Marker
+* s390 Literal Pool Entries::   Literal Pool Entries
+
+\1f
+File: as.info,  Node: s390 Register,  Next: s390 Mnemonics,  Up: s390 Syntax
+
+9.30.3.1 Register naming
+........................
+
+The `as' recognizes a number of predefined symbols for the various
+processor registers. A register specification in one of the instruction
+formats is an unsigned integer between 0 and 15. The specific
+instruction and the position of the register in the instruction format
+denotes the type of the register. The register symbols are prefixed with
+`%':
+
+     %rN   the 16 general purpose registers, 0 <= N <= 15
+     %fN   the 16 floating point registers, 0 <= N <= 15
+     %aN   the 16 access registers, 0 <= N <= 15
+     %cN   the 16 control registers, 0 <= N <= 15
+     %lit  an alias for the general purpose register %r13
+     %sp   an alias for the general purpose register %r15
+
+\1f
+File: as.info,  Node: s390 Mnemonics,  Next: s390 Operands,  Prev: s390 Register,  Up: s390 Syntax
+
+9.30.3.2 Instruction Mnemonics
+..............................
+
+All instructions documented in the Principles of Operation are supported
+with the mnemonic and order of operands as described.  The instruction
+mnemonic identifies the instruction format (*Note s390 Formats::) and
+the specific operation code for the instruction.  For example, the `lr'
+mnemonic denotes the instruction format `RR' with the operation code
+`0x18'.
+
+   The definition of the various mnemonics follows a scheme, where the
+first character usually hint at the type of the instruction:
+
+     a          add instruction, for example `al' for add logical 32-bit
+     b          branch instruction, for example `bc' for branch on condition
+     c          compare or convert instruction, for example `cr' for compare
+                register 32-bit
+     d          divide instruction, for example `dlr' devide logical register
+                64-bit to 32-bit
+     i          insert instruction, for example `ic' insert character
+     l          load instruction, for example `ltr' load and test register
+     mv         move instruction, for example `mvc' move character
+     m          multiply instruction, for example `mh' multiply halfword
+     n          and instruction, for example `ni' and immediate
+     o          or instruction, for example `oc' or character
+     sla, sll   shift left single instruction
+     sra, srl   shift right single instruction
+     st         store instruction, for example `stm' store multiple
+     s          subtract instruction, for example `slr' subtract
+                logical 32-bit
+     t          test or translate instruction, of example `tm' test under mask
+     x          exclusive or instruction, for example `xc' exclusive or
+                character
+
+   Certain characters at the end of the mnemonic may describe a property
+of the instruction:
+
+     c   the instruction uses a 8-bit character operand
+     f   the instruction extends a 32-bit operand to 64 bit
+     g   the operands are treated as 64-bit values
+     h   the operand uses a 16-bit halfword operand
+     i   the instruction uses an immediate operand
+     l   the instruction uses unsigned, logical operands
+     m   the instruction uses a mask or operates on multiple values
+     r   if r is the last character, the instruction operates on registers
+     y   the instruction uses 20-bit displacements
+
+   There are many exceptions to the scheme outlined in the above lists,
+in particular for the priviledged instructions. For non-priviledged
+instruction it works quite well, for example the instruction `clgfr' c:
+compare instruction, l: unsigned operands, g: 64-bit operands, f: 32-
+to 64-bit extension, r: register operands. The instruction compares an
+64-bit value in a register with the zero extended 32-bit value from a
+second register.  For a complete list of all mnemonics see appendix B
+in the Principles of Operation.
+
+\1f
+File: as.info,  Node: s390 Operands,  Next: s390 Formats,  Prev: s390 Mnemonics,  Up: s390 Syntax
+
+9.30.3.3 Instruction Operands
+.............................
+
+Instruction operands can be grouped into three classes, operands located
+in registers, immediate operands, and operands in storage.
+
+   A register operand can be located in general, floating-point, access,
+or control register. The register is identified by a four-bit field.
+The field containing the register operand is called the R field.
+
+   Immediate operands are contained within the instruction and can have
+8, 16 or 32 bits. The field containing the immediate operand is called
+the I field. Dependent on the instruction the I field is either signed
+or unsigned.
+
+   A storage operand consists of an address and a length. The address
+of a storage operands can be specified in any of these ways:
+
+   * The content of a single general R
+
+   * The sum of the content of a general register called the base
+     register B plus the content of a displacement field D
+
+   * The sum of the contents of two general registers called the index
+     register X and the base register B plus the content of a
+     displacement field
+
+   * The sum of the current instruction address and a 32-bit signed
+     immediate field multiplied by two.
+
+   The length of a storage operand can be:
+
+   * Implied by the instruction
+
+   * Specified by a bitmask
+
+   * Specified by a four-bit or eight-bit length field L
+
+   * Specified by the content of a general register
+
+   The notation for storage operand addresses formed from multiple
+fields is as follows:
+
+`Dn(Bn)'
+     the address for operand number n is formed from the content of
+     general register Bn called the base register and the displacement
+     field Dn.
+
+`Dn(Xn,Bn)'
+     the address for operand number n is formed from the content of
+     general register Xn called the index register, general register Bn
+     called the base register and the displacement field Dn.
+
+`Dn(Ln,Bn)'
+     the address for operand number n is formed from the content of
+     general regiser Bn called the base register and the displacement
+     field Dn.  The length of the operand n is specified by the field
+     Ln.
+
+   The base registers Bn and the index registers Xn of a storage
+operand can be skipped. If Bn and Xn are skipped, a zero will be stored
+to the operand field. The notation changes as follows:
+
+     full notation        short notation
+     ------------------------------------------ 
+     Dn(0,Bn)             Dn(Bn)
+     Dn(0,0)              Dn
+     Dn(0)                Dn
+     Dn(Ln,0)             Dn(Ln)
+
+\1f
+File: as.info,  Node: s390 Formats,  Next: s390 Aliases,  Prev: s390 Operands,  Up: s390 Syntax
+
+9.30.3.4 Instruction Formats
+............................
+
+The Principles of Operation manuals lists 26 instruction formats where
+some of the formats have multiple variants. For the `.insn' pseudo
+directive the assembler recognizes some of the formats.  Typically, the
+most general variant of the instruction format is used by the `.insn'
+directive.
+
+   The following table lists the abbreviations used in the table of
+instruction formats:
+
+     OpCode / OpCd   Part of the op code.
+     Bx              Base register number for operand x.
+     Dx              Displacement for operand x.
+     DLx             Displacement lower 12 bits for operand x.
+     DHx             Displacement higher 8-bits for operand x.
+     Rx              Register number for operand x.
+     Xx              Index register number for operand x.
+     Ix              Signed immediate for operand x.
+     Ux              Unsigned immediate for operand x.
+
+   An instruction is two, four, or six bytes in length and must be
+aligned on a 2 byte boundary. The first two bits of the instruction
+specify the length of the instruction, 00 indicates a two byte
+instruction, 01 and 10 indicates a four byte instruction, and 11
+indicates a six byte instruction.
+
+   The following table lists the s390 instruction formats that are
+available with the `.insn' pseudo directive:
+
+`E format'
+
+     +-------------+
+     |    OpCode   |
+     +-------------+
+     0            15
+
+`RI format: <insn> R1,I2'
+
+     +--------+----+----+------------------+
+     | OpCode | R1 |OpCd|        I2        |
+     +--------+----+----+------------------+
+     0        8    12   16                31
+
+`RIE format: <insn> R1,R3,I2'
+
+     +--------+----+----+------------------+--------+--------+
+     | OpCode | R1 | R3 |        I2        |////////| OpCode |
+     +--------+----+----+------------------+--------+--------+
+     0        8    12   16                 32       40      47
+
+`RIL format: <insn> R1,I2'
+
+     +--------+----+----+------------------------------------+
+     | OpCode | R1 |OpCd|                  I2                |
+     +--------+----+----+------------------------------------+
+     0        8    12   16                                  47
+
+`RILU format: <insn> R1,U2'
+
+     +--------+----+----+------------------------------------+
+     | OpCode | R1 |OpCd|                  U2                |
+     +--------+----+----+------------------------------------+
+     0        8    12   16                                  47
+
+`RIS format: <insn> R1,I2,M3,D4(B4)'
+
+     +--------+----+----+----+-------------+--------+--------+
+     | OpCode | R1 | M3 | B4 |     D4      |   I2   | Opcode |
+     +--------+----+----+----+-------------+--------+--------+
+     0        8    12   16   20            32       36      47
+
+`RR format: <insn> R1,R2'
+
+     +--------+----+----+
+     | OpCode | R1 | R2 |
+     +--------+----+----+
+     0        8    12  15
+
+`RRE format: <insn> R1,R2'
+
+     +------------------+--------+----+----+
+     |      OpCode      |////////| R1 | R2 |
+     +------------------+--------+----+----+
+     0                  16       24   28  31
+
+`RRF format: <insn> R1,R2,R3,M4'
+
+     +------------------+----+----+----+----+
+     |      OpCode      | R3 | M4 | R1 | R2 |
+     +------------------+----+----+----+----+
+     0                  16   20   24   28  31
+
+`RRS format: <insn> R1,R2,M3,D4(B4)'
+
+     +--------+----+----+----+-------------+----+----+--------+
+     | OpCode | R1 | R3 | B4 |     D4      | M3 |////| OpCode |
+     +--------+----+----+----+-------------+----+----+--------+
+     0        8    12   16   20            32   36   40      47
+
+`RS format: <insn> R1,R3,D2(B2)'
+
+     +--------+----+----+----+-------------+
+     | OpCode | R1 | R3 | B2 |     D2      |
+     +--------+----+----+----+-------------+
+     0        8    12   16   20           31
+
+`RSE format: <insn> R1,R3,D2(B2)'
+
+     +--------+----+----+----+-------------+--------+--------+
+     | OpCode | R1 | R3 | B2 |     D2      |////////| OpCode |
+     +--------+----+----+----+-------------+--------+--------+
+     0        8    12   16   20            32       40      47
+
+`RSI format: <insn> R1,R3,I2'
+
+     +--------+----+----+------------------------------------+
+     | OpCode | R1 | R3 |                  I2                |
+     +--------+----+----+------------------------------------+
+     0        8    12   16                                  47
+
+`RSY format: <insn> R1,R3,D2(B2)'
+
+     +--------+----+----+----+-------------+--------+--------+
+     | OpCode | R1 | R3 | B2 |    DL2      |  DH2   | OpCode |
+     +--------+----+----+----+-------------+--------+--------+
+     0        8    12   16   20            32       40      47
+
+`RX format: <insn> R1,D2(X2,B2)'
+
+     +--------+----+----+----+-------------+
+     | OpCode | R1 | X2 | B2 |     D2      |
+     +--------+----+----+----+-------------+
+     0        8    12   16   20           31
+
+`RXE format: <insn> R1,D2(X2,B2)'
+
+     +--------+----+----+----+-------------+--------+--------+
+     | OpCode | R1 | X2 | B2 |     D2      |////////| OpCode |
+     +--------+----+----+----+-------------+--------+--------+
+     0        8    12   16   20            32       40      47
+
+`RXF format: <insn> R1,R3,D2(X2,B2)'
+
+     +--------+----+----+----+-------------+----+---+--------+
+     | OpCode | R3 | X2 | B2 |     D2      | R1 |///| OpCode |
+     +--------+----+----+----+-------------+----+---+--------+
+     0        8    12   16   20            32   36  40      47
+
+`RXY format: <insn> R1,D2(X2,B2)'
+
+     +--------+----+----+----+-------------+--------+--------+
+     | OpCode | R1 | X2 | B2 |     DL2     |   DH2  | OpCode |
+     +--------+----+----+----+-------------+--------+--------+
+     0        8    12   16   20            32   36   40      47
+
+`S format: <insn> D2(B2)'
+
+     +------------------+----+-------------+
+     |      OpCode      | B2 |     D2      |
+     +------------------+----+-------------+
+     0                  16   20           31
+
+`SI format: <insn> D1(B1),I2'
+
+     +--------+---------+----+-------------+
+     | OpCode |   I2    | B1 |     D1      |
+     +--------+---------+----+-------------+
+     0        8         16   20           31
+
+`SIY format: <insn> D1(B1),U2'
+
+     +--------+---------+----+-------------+--------+--------+
+     | OpCode |   I2    | B1 |     DL1     |  DH1   | OpCode |
+     +--------+---------+----+-------------+--------+--------+
+     0        8         16   20            32   36   40      47
+
+`SIL format: <insn> D1(B1),I2'
+
+     +------------------+----+-------------+-----------------+
+     |      OpCode      | B1 |      D1     |       I2        |
+     +------------------+----+-------------+-----------------+
+     0                  16   20            32               47
+
+`SS format: <insn> D1(R1,B1),D2(B3),R3'
+
+     +--------+----+----+----+-------------+----+------------+
+     | OpCode | R1 | R3 | B1 |     D1      | B2 |     D2     |
+     +--------+----+----+----+-------------+----+------------+
+     0        8    12   16   20            32   36          47
+
+`SSE format: <insn> D1(B1),D2(B2)'
+
+     +------------------+----+-------------+----+------------+
+     |      OpCode      | B1 |     D1      | B2 |     D2     |
+     +------------------+----+-------------+----+------------+
+     0        8    12   16   20            32   36           47
+
+`SSF format: <insn> D1(B1),D2(B2),R3'
+
+     +--------+----+----+----+-------------+----+------------+
+     | OpCode | R3 |OpCd| B1 |     D1      | B2 |     D2     |
+     +--------+----+----+----+-------------+----+------------+
+     0        8    12   16   20            32   36           47
+
+
+   For the complete list of all instruction format variants see the
+Principles of Operation manuals.
+
+\1f
+File: as.info,  Node: s390 Aliases,  Next: s390 Operand Modifier,  Prev: s390 Formats,  Up: s390 Syntax
+
+9.30.3.5 Instruction Aliases
+............................
+
+A specific bit pattern can have multiple mnemonics, for example the bit
+pattern `0xa7000000' has the mnemonics `tmh' and `tmlh'. In addition,
+there are a number of mnemonics recognized by `as' that are not present
+in the Principles of Operation.  These are the short forms of the
+branch instructions, where the condition code mask operand is encoded
+in the mnemonic. This is relevant for the branch instructions, the
+compare and branch instructions, and the compare and trap instructions.
+
+   For the branch instructions there are 20 condition code strings that
+can be used as part of the mnemonic in place of a mask operand in the
+instruction format:
+
+     instruction          short form
+     ------------------------------------------ 
+     bcr   M1,R2          b<m>r  R2
+     bc    M1,D2(X2,B2)   b<m>   D2(X2,B2)
+     brc   M1,I2          j<m>   I2
+     brcl  M1,I2          jg<m>  I2
+
+   In the mnemonic for a branch instruction the condition code string
+<m> can be any of the following:
+
+     o     jump on overflow / if ones
+     h     jump on A high
+     p     jump on plus
+     nle   jump on not low or equal
+     l     jump on A low
+     m     jump on minus
+     nhe   jump on not high or equal
+     lh    jump on low or high
+     ne    jump on A not equal B
+     nz    jump on not zero / if not zeros
+     e     jump on A equal B
+     z     jump on zero / if zeroes
+     nlh   jump on not low or high
+     he    jump on high or equal
+     nl    jump on A not low
+     nm    jump on not minus / if not mixed
+     le    jump on low or equal
+     nh    jump on A not high
+     np    jump on not plus
+     no    jump on not overflow / if not ones
+
+   For the compare and branch, and compare and trap instructions there
+are 12 condition code strings that can be used as part of the mnemonic
+in place of a mask operand in the instruction format:
+
+     instruction                 short form
+     -------------------------------------------------------- 
+     crb    R1,R2,M3,D4(B4)      crb<m>    R1,R2,D4(B4)
+     cgrb   R1,R2,M3,D4(B4)      cgrb<m>   R1,R2,D4(B4)
+     crj    R1,R2,M3,I4          crj<m>    R1,R2,I4
+     cgrj   R1,R2,M3,I4          cgrj<m>   R1,R2,I4
+     cib    R1,I2,M3,D4(B4)      cib<m>    R1,I2,D4(B4)
+     cgib   R1,I2,M3,D4(B4)      cgib<m>   R1,I2,D4(B4)
+     cij    R1,I2,M3,I4          cij<m>    R1,I2,I4
+     cgij   R1,I2,M3,I4          cgij<m>   R1,I2,I4
+     crt    R1,R2,M3             crt<m>    R1,R2
+     cgrt   R1,R2,M3             cgrt<m>   R1,R2
+     cit    R1,I2,M3             cit<m>    R1,I2
+     cgit   R1,I2,M3             cgit<m>   R1,I2
+     clrb   R1,R2,M3,D4(B4)      clrb<m>   R1,R2,D4(B4)
+     clgrb  R1,R2,M3,D4(B4)      clgrb<m>  R1,R2,D4(B4)
+     clrj   R1,R2,M3,I4          clrj<m>   R1,R2,I4
+     clgrj  R1,R2,M3,I4          clgrj<m>  R1,R2,I4
+     clib   R1,I2,M3,D4(B4)      clib<m>   R1,I2,D4(B4)
+     clgib  R1,I2,M3,D4(B4)      clgib<m>  R1,I2,D4(B4)
+     clij   R1,I2,M3,I4          clij<m>   R1,I2,I4
+     clgij  R1,I2,M3,I4          clgij<m>  R1,I2,I4
+     clrt   R1,R2,M3             clrt<m>   R1,R2
+     clgrt  R1,R2,M3             clgrt<m>  R1,R2
+     clfit  R1,I2,M3             clfit<m>  R1,I2
+     clgit  R1,I2,M3             clgit<m>  R1,I2
+
+   In the mnemonic for a compare and branch and compare and trap
+instruction the condition code string <m> can be any of the following:
+
+     h     jump on A high
+     nle   jump on not low or equal
+     l     jump on A low
+     nhe   jump on not high or equal
+     ne    jump on A not equal B
+     lh    jump on low or high
+     e     jump on A equal B
+     nlh   jump on not low or high
+     nl    jump on A not low
+     he    jump on high or equal
+     nh    jump on A not high
+     le    jump on low or equal
+
+\1f
+File: as.info,  Node: s390 Operand Modifier,  Next: s390 Instruction Marker,  Prev: s390 Aliases,  Up: s390 Syntax
+
+9.30.3.6 Instruction Operand Modifier
+.....................................
+
+If a symbol modifier is attached to a symbol in an expression for an
+instruction operand field, the symbol term is replaced with a reference
+to an object in the global offset table (GOT) or the procedure linkage
+table (PLT). The following expressions are allowed: `symbol@modifier +
+constant', `symbol@modifier + label + constant', and `symbol@modifier -
+label + constant'.  The term `symbol' is the symbol that will be
+entered into the GOT or PLT, `label' is a local label, and `constant'
+is an arbitrary expression that the assembler can evaluate to a
+constant value.
+
+   The term `(symbol + constant1)@modifier +/- label + constant2' is
+also accepted but a warning message is printed and the term is
+converted to `symbol@modifier +/- label + constant1 + constant2'.
+
+`@got'
+`@got12'
+     The @got modifier can be used for displacement fields, 16-bit
+     immediate fields and 32-bit pc-relative immediate fields. The
+     @got12 modifier is synonym to @got. The symbol is added to the
+     GOT. For displacement fields and 16-bit immediate fields the
+     symbol term is replaced with the offset from the start of the GOT
+     to the GOT slot for the symbol.  For a 32-bit pc-relative field
+     the pc-relative offset to the GOT slot from the current
+     instruction address is used.
+
+`@gotent'
+     The @gotent modifier can be used for 32-bit pc-relative immediate
+     fields.  The symbol is added to the GOT and the symbol term is
+     replaced with the pc-relative offset from the current instruction
+     to the GOT slot for the symbol.
+
+`@gotoff'
+     The @gotoff modifier can be used for 16-bit immediate fields. The
+     symbol term is replaced with the offset from the start of the GOT
+     to the address of the symbol.
+
+`@gotplt'
+     The @gotplt modifier can be used for displacement fields, 16-bit
+     immediate fields, and 32-bit pc-relative immediate fields. A
+     procedure linkage table entry is generated for the symbol and a
+     jump slot for the symbol is added to the GOT. For displacement
+     fields and 16-bit immediate fields the symbol term is replaced
+     with the offset from the start of the GOT to the jump slot for the
+     symbol. For a 32-bit pc-relative field the pc-relative offset to
+     the jump slot from the current instruction address is used.
+
+`@plt'
+     The @plt modifier can be used for 16-bit and 32-bit pc-relative
+     immediate fields. A procedure linkage table entry is generated for
+     the symbol.  The symbol term is replaced with the relative offset
+     from the current instruction to the PLT entry for the symbol.
+
+`@pltoff'
+     The @pltoff modifier can be used for 16-bit immediate fields. The
+     symbol term is replaced with the offset from the start of the PLT
+     to the address of the symbol.
+
+`@gotntpoff'
+     The @gotntpoff modifier can be used for displacement fields. The
+     symbol is added to the static TLS block and the negated offset to
+     the symbol in the static TLS block is added to the GOT. The symbol
+     term is replaced with the offset to the GOT slot from the start of
+     the GOT.
+
+`@indntpoff'
+     The @indntpoff modifier can be used for 32-bit pc-relative
+     immediate fields. The symbol is added to the static TLS block and
+     the negated offset to the symbol in the static TLS block is added
+     to the GOT. The symbol term is replaced with the pc-relative
+     offset to the GOT slot from the current instruction address.
+
+   For more information about the thread local storage modifiers
+`gotntpoff' and `indntpoff' see the ELF extension documentation `ELF
+Handling For Thread-Local Storage'.
+
+\1f
+File: as.info,  Node: s390 Instruction Marker,  Next: s390 Literal Pool Entries,  Prev: s390 Operand Modifier,  Up: s390 Syntax
+
+9.30.3.7 Instruction Marker
+...........................
+
+The thread local storage instruction markers are used by the linker to
+perform code optimization.
+
+`:tls_load'
+     The :tls_load marker is used to flag the load instruction in the
+     initial exec TLS model that retrieves the offset from the thread
+     pointer to a thread local storage variable from the GOT.
+
+`:tls_gdcall'
+     The :tls_gdcall marker is used to flag the branch-and-save
+     instruction to the __tls_get_offset function in the global dynamic
+     TLS model.
+
+`:tls_ldcall'
+     The :tls_ldcall marker is used to flag the branch-and-save
+     instruction to the __tls_get_offset function in the local dynamic
+     TLS model.
+
+   For more information about the thread local storage instruction
+marker and the linker optimizations see the ELF extension documentation
+`ELF Handling For Thread-Local Storage'.
+
+\1f
+File: as.info,  Node: s390 Literal Pool Entries,  Prev: s390 Instruction Marker,  Up: s390 Syntax
+
+9.30.3.8 Literal Pool Entries
+.............................
+
+A literal pool is a collection of values. To access the values a pointer
+to the literal pool is loaded to a register, the literal pool register.
+Usually, register %r13 is used as the literal pool register (*Note s390
+Register::). Literal pool entries are created by adding the suffix
+:lit1, :lit2, :lit4, or :lit8 to the end of an expression for an
+instruction operand. The expression is added to the literal pool and the
+operand is replaced with the offset to the literal in the literal pool.
+
+`:lit1'
+     The literal pool entry is created as an 8-bit value. An operand
+     modifier must not be used for the original expression.
+
+`:lit2'
+     The literal pool entry is created as a 16 bit value. The operand
+     modifier @got may be used in the original expression. The term
+     `x@got:lit2' will put the got offset for the global symbol x to
+     the literal pool as 16 bit value.
+
+`:lit4'
+     The literal pool entry is created as a 32-bit value. The operand
+     modifier @got and @plt may be used in the original expression. The
+     term `x@got:lit4' will put the got offset for the global symbol x
+     to the literal pool as a 32-bit value. The term `x@plt:lit4' will
+     put the plt offset for the global symbol x to the literal pool as
+     a 32-bit value.
+
+`:lit8'
+     The literal pool entry is created as a 64-bit value. The operand
+     modifier @got and @plt may be used in the original expression. The
+     term `x@got:lit8' will put the got offset for the global symbol x
+     to the literal pool as a 64-bit value. The term `x@plt:lit8' will
+     put the plt offset for the global symbol x to the literal pool as
+     a 64-bit value.
+
+   The assembler directive `.ltorg' is used to emit all literal pool
+entries to the current position.
+
+\1f
+File: as.info,  Node: s390 Directives,  Next: s390 Floating Point,  Prev: s390 Syntax,  Up: S/390-Dependent
+
+9.30.4 Assembler Directives
+---------------------------
+
+`as' for s390 supports all of the standard ELF assembler directives as
+outlined in the main part of this document.  Some directives have been
+extended and there are some additional directives, which are only
+available for the s390 `as'.
+
+`.insn'
+     This directive permits the numeric representation of an
+     instructions and makes the assembler insert the operands according
+     to one of the instructions formats for `.insn' (*Note s390
+     Formats::).  For example, the instruction `l %r1,24(%r15)' could
+     be written as `.insn rx,0x58000000,%r1,24(%r15)'.  
+
+`.short'
+`.long'
+`.quad'
+     This directive places one or more 16-bit (.short), 32-bit (.long),
+     or 64-bit (.quad) values into the current section. If an ELF or
+     TLS modifier is used only the following expressions are allowed:
+     `symbol@modifier + constant', `symbol@modifier + label +
+     constant', and `symbol@modifier - label + constant'.  The
+     following modifiers are available:
+    `@got'
+    `@got12'
+          The @got modifier can be used for .short, .long and .quad.
+          The @got12 modifier is synonym to @got. The symbol is added
+          to the GOT. The symbol term is replaced with offset from the
+          start of the GOT to the GOT slot for the symbol.
+
+    `@gotoff'
+          The @gotoff modifier can be used for .short, .long and .quad.
+          The symbol term is replaced with the offset from the start of
+          the GOT to the address of the symbol.
+
+    `@gotplt'
+          The @gotplt modifier can be used for .long and .quad. A
+          procedure linkage table entry is generated for the symbol and
+          a jump slot for the symbol is added to the GOT. The symbol
+          term is replaced with the offset from the start of the GOT to
+          the jump slot for the symbol.
+
+    `@plt'
+          The @plt modifier can be used for .long and .quad. A
+          procedure linkage table entry us generated for the symbol.
+          The symbol term is replaced with the address of the PLT entry
+          for the symbol.
+
+    `@pltoff'
+          The @pltoff modifier can be used for .short, .long and .quad.
+          The symbol term is replaced with the offset from the start of
+          the PLT to the address of the symbol.
+
+    `@tlsgd'
+    `@tlsldm'
+          The @tlsgd and @tlsldm modifier can be used for .long and
+          .quad. A tls_index structure for the symbol is added to the
+          GOT. The symbol term is replaced with the offset from the
+          start of the GOT to the tls_index structure.
+
+    `@gotntpoff'
+    `@indntpoff'
+          The @gotntpoff and @indntpoff modifier can be used for .long
+          and .quad.  The symbol is added to the static TLS block and
+          the negated offset to the symbol in the static TLS block is
+          added to the GOT. For @gotntpoff the symbol term is replaced
+          with the offset from the start of the GOT to the GOT slot,
+          for @indntpoff the symbol term is replaced with the address
+          of the GOT slot.
+
+    `@dtpoff'
+          The @dtpoff modifier can be used for .long and .quad. The
+          symbol term is replaced with the offset of the symbol
+          relative to the start of the TLS block it is contained in.
+
+    `@ntpoff'
+          The @ntpoff modifier can be used for .long and .quad. The
+          symbol term is replaced with the offset of the symbol
+          relative to the TCB pointer.
+
+     For more information about the thread local storage modifiers see
+     the ELF extension documentation `ELF Handling For Thread-Local
+     Storage'.
+
+`.ltorg'
+     This directive causes the current contents of the literal pool to
+     be dumped to the current location (*Note s390 Literal Pool
+     Entries::).
+
+\1f
+File: as.info,  Node: s390 Floating Point,  Prev: s390 Directives,  Up: S/390-Dependent
+
+9.30.5 Floating Point
+---------------------
+
+The assembler recognizes both the IEEE floating-point instruction and
+the hexadecimal floating-point instructions. The floating-point
+constructors `.float', `.single', and `.double' always emit the IEEE
+format. To assemble hexadecimal floating-point constants the `.long'
+and `.quad' directives must be used.
+
+\1f
+File: as.info,  Node: SCORE-Dependent,  Next: Sparc-Dependent,  Prev: S/390-Dependent,  Up: Machine Dependencies
+
+9.31 SCORE Dependent Features
+=============================
+
+* Menu:
+
+* SCORE-Opts::         Assembler options
+* SCORE-Pseudo::        SCORE Assembler Directives
+
+\1f
+File: as.info,  Node: SCORE-Opts,  Next: SCORE-Pseudo,  Up: SCORE-Dependent
+
+9.31.1 Options
+--------------
+
+The following table lists all available SCORE options.
+
+`-G NUM'
+     This option sets the largest size of an object that can be
+     referenced implicitly with the `gp' register. The default value is
+     8.
+
+`-EB'
+     Assemble code for a big-endian cpu
+
+`-EL'
+     Assemble code for a little-endian cpu
+
+`-FIXDD'
+     Assemble code for fix data dependency
+
+`-NWARN'
+     Assemble code for no warning message for fix data dependency
 
-`-me500, -me500x2'
-     Generate code for Motorola e500 core complex.
+`-SCORE5'
+     Assemble code for target is SCORE5
 
-`-mspe'
-     Generate code for Motorola SPE instructions.
+`-SCORE5U'
+     Assemble code for target is SCORE5U
 
-`-mppc64bridge'
-     Generate code for PowerPC 64, including bridge insns.
+`-SCORE7'
+     Assemble code for target is SCORE7, this is default setting
 
-`-mbooke64'
-     Generate code for 64-bit BookE.
+`-SCORE3'
+     Assemble code for target is SCORE3
 
-`-mbooke, mbooke32'
-     Generate code for 32-bit BookE.
+`-march=score7'
+     Assemble code for target is SCORE7, this is default setting
 
-`-me300'
-     Generate code for PowerPC e300 family.
+`-march=score3'
+     Assemble code for target is SCORE3
 
-`-maltivec'
-     Generate code for processors with AltiVec instructions.
+`-USE_R1'
+     Assemble code for no warning message when using temp register r1
 
-`-mpower4'
-     Generate code for Power4 architecture.
+`-KPIC'
+     Generate code for PIC.  This option tells the assembler to generate
+     score position-independent macro expansions.  It also tells the
+     assembler to mark the output file as PIC.
 
-`-mpower5'
-     Generate code for Power5 architecture.
+`-O0'
+     Assembler will not perform any optimizations
 
-`-mpower6'
-     Generate code for Power6 architecture.
+`-V'
+     Sunplus release version
 
-`-mcell'
-     Generate code for Cell Broadband Engine architecture.
 
-`-mcom'
-     Generate code Power/PowerPC common instructions.
+\1f
+File: as.info,  Node: SCORE-Pseudo,  Prev: SCORE-Opts,  Up: SCORE-Dependent
 
-`-many'
-     Generate code for any architecture (PWR/PWRX/PPC).
+9.31.2 SCORE Assembler Directives
+---------------------------------
 
-`-mregnames'
-     Allow symbolic names for registers.
+A number of assembler directives are available for SCORE.  The
+following table is far from complete.
 
-`-mno-regnames'
-     Do not allow symbolic names for registers.
+`.set nwarn'
+     Let the assembler not to generate warnings if the source machine
+     language instructions happen data dependency.
 
-`-mrelocatable'
-     Support for GCC's -mrelocatable option.
+`.set fixdd'
+     Let the assembler to insert bubbles (32 bit nop instruction / 16
+     bit nop! Instruction) if the source machine language instructions
+     happen data dependency.
 
-`-mrelocatable-lib'
-     Support for GCC's -mrelocatable-lib option.
+`.set nofixdd'
+     Let the assembler to generate warnings if the source machine
+     language instructions happen data dependency. (Default)
 
-`-memb'
-     Set PPC_EMB bit in ELF flags.
+`.set r1'
+     Let the assembler not to generate warnings if the source program
+     uses r1. allow user to use r1
 
-`-mlittle, -mlittle-endian'
-     Generate code for a little endian machine.
+`set nor1'
+     Let the assembler to generate warnings if the source program uses
+     r1. (Default)
 
-`-mbig, -mbig-endian'
-     Generate code for a big endian machine.
+`.sdata'
+     Tell the assembler to add subsequent data into the sdata section
 
-`-msolaris'
-     Generate code for Solaris.
+`.rdata'
+     Tell the assembler to add subsequent data into the rdata section
 
-`-mno-solaris'
-     Do not generate code for Solaris.
+`.frame "frame-register", "offset", "return-pc-register"'
+     Describe a stack frame. "frame-register" is the frame register,
+     "offset" is the distance from the frame register to the virtual
+     frame pointer, "return-pc-register" is the return program register.
+     You must use ".ent" before ".frame" and only one ".frame" can be
+     used per ".ent".
 
-\1f
-File: as.info,  Node: PowerPC-Pseudo,  Prev: PowerPC-Opts,  Up: PPC-Dependent
+`.mask "bitmask", "frameoffset"'
+     Indicate which of the integer registers are saved in the current
+     function's stack frame, this is for the debugger to explain the
+     frame chain.
 
-8.27.2 PowerPC Assembler Directives
------------------------------------
+`.ent "proc-name"'
+     Set the beginning of the procedure "proc_name". Use this directive
+     when you want to generate information for the debugger.
 
-A number of assembler directives are available for PowerPC.  The
-following table is far from complete.
+`.end proc-name'
+     Set the end of a procedure. Use this directive to generate
+     information for the debugger.
+
+`.bss'
+     Switch the destination of following statements into the bss
+     section, which is used for data that is uninitialized anywhere.
 
-`.machine "string"'
-     This directive allows you to change the machine for which code is
-     generated.  `"string"' may be any of the -m cpu selection options
-     (without the -m) enclosed in double quotes, `"push"', or `"pop"'.
-     `.machine "push"' saves the currently selected cpu, which may be
-     restored with `.machine "pop"'.
 
 \1f
 File: as.info,  Node: SH-Dependent,  Next: SH64-Dependent,  Prev: MSP430-Dependent,  Up: Machine Dependencies
 
-8.28 Renesas / SuperH SH Dependent Features
+9.32 Renesas / SuperH SH Dependent Features
 ===========================================
 
 * Menu:
@@ -12865,7 +14957,7 @@ File: as.info,  Node: SH-Dependent,  Next: SH64-Dependent,  Prev: MSP430-Depende
 \1f
 File: as.info,  Node: SH Options,  Next: SH Syntax,  Up: SH-Dependent
 
-8.28.1 Options
+9.32.1 Options
 --------------
 
 `as' has following command-line options for the Renesas (formerly
@@ -12905,11 +14997,14 @@ Hitachi) / SuperH SH family.
 `--isa=all'
      Enable sh1, sh2, sh2e, sh3, sh3e, sh4, sh4a, and sh-dsp insn sets.
 
+`-h-tick-hex'
+     Support H'00 style hex constants in addition to 0x00 style.
+
 
 \1f
 File: as.info,  Node: SH Syntax,  Next: SH Floating Point,  Prev: SH Options,  Up: SH-Dependent
 
-8.28.2 Syntax
+9.32.2 Syntax
 -------------
 
 * Menu:
@@ -12921,7 +15016,7 @@ File: as.info,  Node: SH Syntax,  Next: SH Floating Point,  Prev: SH Options,  U
 \1f
 File: as.info,  Node: SH-Chars,  Next: SH-Regs,  Up: SH Syntax
 
-8.28.2.1 Special Characters
+9.32.2.1 Special Characters
 ...........................
 
 `!' is the line comment character.
@@ -12933,7 +15028,7 @@ File: as.info,  Node: SH-Chars,  Next: SH-Regs,  Up: SH Syntax
 \1f
 File: as.info,  Node: SH-Regs,  Next: SH-Addressing,  Prev: SH-Chars,  Up: SH Syntax
 
-8.28.2.2 Register Names
+9.32.2.2 Register Names
 .......................
 
 You can use the predefined symbols `r0', `r1', `r2', `r3', `r4', `r5',
@@ -12964,7 +15059,7 @@ refer to the SH registers.
 \1f
 File: as.info,  Node: SH-Addressing,  Prev: SH-Regs,  Up: SH Syntax
 
-8.28.2.3 Addressing Modes
+9.32.2.3 Addressing Modes
 .........................
 
 `as' understands the following addressing modes for the SH.  `RN' in
@@ -13008,7 +15103,7 @@ control registers.
 \1f
 File: as.info,  Node: SH Floating Point,  Next: SH Directives,  Prev: SH Syntax,  Up: SH-Dependent
 
-8.28.3 Floating Point
+9.32.3 Floating Point
 ---------------------
 
 SH2E, SH3E and SH4 groups have on-chip floating-point unit (FPU). Other
@@ -13032,7 +15127,7 @@ conventional architectures at the same frequency.
 \1f
 File: as.info,  Node: SH Directives,  Next: SH Opcodes,  Prev: SH Floating Point,  Up: SH-Dependent
 
-8.28.4 SH Machine Directives
+9.32.4 SH Machine Directives
 ----------------------------
 
 `uaword'
@@ -13044,7 +15139,7 @@ File: as.info,  Node: SH Directives,  Next: SH Opcodes,  Prev: SH Floating Point
 \1f
 File: as.info,  Node: SH Opcodes,  Prev: SH Directives,  Up: SH-Dependent
 
-8.28.5 Opcodes
+9.32.5 Opcodes
 --------------
 
 For detailed information on the SH machine instruction set, see
@@ -13145,7 +15240,7 @@ from the program counter:
 \1f
 File: as.info,  Node: SH64-Dependent,  Next: PDP-11-Dependent,  Prev: SH-Dependent,  Up: Machine Dependencies
 
-8.29 SuperH SH64 Dependent Features
+9.33 SuperH SH64 Dependent Features
 ===================================
 
 * Menu:
@@ -13158,7 +15253,7 @@ File: as.info,  Node: SH64-Dependent,  Next: PDP-11-Dependent,  Prev: SH-Depende
 \1f
 File: as.info,  Node: SH64 Options,  Next: SH64 Syntax,  Up: SH64-Dependent
 
-8.29.1 Options
+9.33.1 Options
 --------------
 
 `-isa=sh4 | sh4a'
@@ -13207,11 +15302,14 @@ File: as.info,  Node: SH64 Options,  Next: SH64 Syntax,  Up: SH64-Dependent
 `-expand-pt32'
      With -abi=64, expand PT, PTA and PTB instructions to 32 bits only.
 
+`-h-tick-hex'
+     Support H'00 style hex constants in addition to 0x00 style.
+
 
 \1f
 File: as.info,  Node: SH64 Syntax,  Next: SH64 Directives,  Prev: SH64 Options,  Up: SH64-Dependent
 
-8.29.2 Syntax
+9.33.2 Syntax
 -------------
 
 * Menu:
@@ -13223,7 +15321,7 @@ File: as.info,  Node: SH64 Syntax,  Next: SH64 Directives,  Prev: SH64 Options,
 \1f
 File: as.info,  Node: SH64-Chars,  Next: SH64-Regs,  Up: SH64 Syntax
 
-8.29.2.1 Special Characters
+9.33.2.1 Special Characters
 ...........................
 
 `!' is the line comment character.
@@ -13235,7 +15333,7 @@ File: as.info,  Node: SH64-Chars,  Next: SH64-Regs,  Up: SH64 Syntax
 \1f
 File: as.info,  Node: SH64-Regs,  Next: SH64-Addressing,  Prev: SH64-Chars,  Up: SH64 Syntax
 
-8.29.2.2 Register Names
+9.33.2.2 Register Names
 .......................
 
 You can use the predefined symbols `r0' through `r63' to refer to the
@@ -13257,7 +15355,7 @@ counter, and `fpscr' for the floating point status and control register.
 \1f
 File: as.info,  Node: SH64-Addressing,  Prev: SH64-Regs,  Up: SH64 Syntax
 
-8.29.2.3 Addressing Modes
+9.33.2.3 Addressing Modes
 .........................
 
 SH64 operands consist of either a register or immediate value.  The
@@ -13289,7 +15387,7 @@ of the label, regardless of what type of label it is.
 \1f
 File: as.info,  Node: SH64 Directives,  Next: SH64 Opcodes,  Prev: SH64 Syntax,  Up: SH64-Dependent
 
-8.29.3 SH64 Machine Directives
+9.33.3 SH64 Machine Directives
 ------------------------------
 
 In addition to the SH directives, the SH64 provides the following
@@ -13318,7 +15416,7 @@ directives:
 \1f
 File: as.info,  Node: SH64 Opcodes,  Prev: SH64 Directives,  Up: SH64-Dependent
 
-8.29.4 Opcodes
+9.33.4 Opcodes
 --------------
 
 For detailed information on the SH64 machine instruction set, see
@@ -13339,29 +15437,30 @@ opcodes:
 
 
 \1f
-File: as.info,  Node: Sparc-Dependent,  Next: TIC54X-Dependent,  Prev: PPC-Dependent,  Up: Machine Dependencies
+File: as.info,  Node: Sparc-Dependent,  Next: TIC54X-Dependent,  Prev: SCORE-Dependent,  Up: Machine Dependencies
 
-8.30 SPARC Dependent Features
+9.34 SPARC Dependent Features
 =============================
 
 * Menu:
 
 * Sparc-Opts::                  Options
 * Sparc-Aligned-Data::         Option to enforce aligned data
+* Sparc-Syntax::               Syntax
 * Sparc-Float::                 Floating Point
 * Sparc-Directives::            Sparc Machine Directives
 
 \1f
 File: as.info,  Node: Sparc-Opts,  Next: Sparc-Aligned-Data,  Up: Sparc-Dependent
 
-8.30.1 Options
+9.34.1 Options
 --------------
 
-The SPARC chip family includes several successive levels, using the same
-core instruction set, but including a few additional instructions at
-each level.  There are exceptions to this however.  For details on what
-instructions each variant supports, please see the chip's architecture
-reference manual.
+The SPARC chip family includes several successive versions, using the
+same core instruction set, but including a few additional instructions
+at each version.  There are exceptions to this however.  For details on
+what instructions each variant supports, please see the chip's
+architecture reference manual.
 
    By default, `as' assumes the core instruction set (SPARC v6), but
 "bumps" the architecture level as needed: it switches to successively
@@ -13369,7 +15468,7 @@ higher architectures as it encounters instructions that only exist in
 the higher levels.
 
    If not configured for SPARC v9 (`sparc64-*-*') GAS will not bump
-passed sparclite by default, an option must be passed to enable the v9
+past sparclite by default, an option must be passed to enable the v9
 instructions.
 
    GAS treats sparclite as being compatible with v8, unless an
@@ -13393,7 +15492,7 @@ with sparclite.
      UltraSPARC extensions.
 
 `-xarch=v8plus | -xarch=v8plusa'
-     For compatibility with the Solaris v9 assembler.  These options are
+     For compatibility with the SunOS v9 assembler.  These options are
      equivalent to -Av8plus and -Av8plusa, respectively.
 
 `-bump'
@@ -13408,19 +15507,19 @@ with sparclite.
      that the necessary BFD support has been included.
 
 \1f
-File: as.info,  Node: Sparc-Aligned-Data,  Next: Sparc-Float,  Prev: Sparc-Opts,  Up: Sparc-Dependent
+File: as.info,  Node: Sparc-Aligned-Data,  Next: Sparc-Syntax,  Prev: Sparc-Opts,  Up: Sparc-Dependent
 
-8.30.2 Enforcing aligned data
+9.34.2 Enforcing aligned data
 -----------------------------
 
 SPARC GAS normally permits data to be misaligned.  For example, it
 permits the `.long' pseudo-op to be used on a byte boundary.  However,
-the native SunOS and Solaris assemblers issue an error when they see
-misaligned data.
+the native SunOS assemblers issue an error when they see misaligned
+data.
 
    You can use the `--enforce-aligned-data' option to make SPARC GAS
-also issue an error about misaligned data, just as the SunOS and Solaris
-assemblers do.
+also issue an error about misaligned data, just as the SunOS assemblers
+do.
 
    The `--enforce-aligned-data' option is not the default because gcc
 issues misaligned data pseudo-ops when it initializes certain packed
@@ -13429,9 +15528,506 @@ may have to assemble with GAS in order to initialize packed data
 structures in your own code.
 
 \1f
-File: as.info,  Node: Sparc-Float,  Next: Sparc-Directives,  Prev: Sparc-Aligned-Data,  Up: Sparc-Dependent
+File: as.info,  Node: Sparc-Syntax,  Next: Sparc-Float,  Prev: Sparc-Aligned-Data,  Up: Sparc-Dependent
+
+9.34.3 Sparc Syntax
+-------------------
+
+The assembler syntax closely follows The Sparc Architecture Manual,
+versions 8 and 9, as well as most extensions defined by Sun for their
+UltraSPARC and Niagara line of processors.
+
+* Menu:
+
+* Sparc-Chars::                Special Characters
+* Sparc-Regs::                 Register Names
+* Sparc-Constants::            Constant Names
+* Sparc-Relocs::               Relocations
+* Sparc-Size-Translations::    Size Translations
+
+\1f
+File: as.info,  Node: Sparc-Chars,  Next: Sparc-Regs,  Up: Sparc-Syntax
+
+9.34.3.1 Special Characters
+...........................
+
+`#' is the line comment character.
+
+   `;' can be used instead of a newline to separate statements.
+
+\1f
+File: as.info,  Node: Sparc-Regs,  Next: Sparc-Constants,  Prev: Sparc-Chars,  Up: Sparc-Syntax
+
+9.34.3.2 Register Names
+.......................
+
+The Sparc integer register file is broken down into global, outgoing,
+local, and incoming.
+
+   * The 8 global registers are referred to as `%gN'.
+
+   * The 8 outgoing registers are referred to as `%oN'.
+
+   * The 8 local registers are referred to as `%lN'.
+
+   * The 8 incoming registers are referred to as `%iN'.
+
+   * The frame pointer register `%i6' can be referenced using the alias
+     `%fp'.
+
+   * The stack pointer register `%o6' can be referenced using the alias
+     `%sp'.
+
+   Floating point registers are simply referred to as `%fN'.  When
+assembling for pre-V9, only 32 floating point registers are available.
+For V9 and later there are 64, but there are restrictions when
+referencing the upper 32 registers.  They can only be accessed as
+double or quad, and thus only even or quad numbered accesses are
+allowed.  For example, `%f34' is a legal floating point register, but
+`%f35' is not.
+
+   Certain V9 instructions allow access to ancillary state registers.
+Most simply they can be referred to as `%asrN' where N can be from 16
+to 31.  However, there are some aliases defined to reference ASR
+registers defined for various UltraSPARC processors:
+
+   * The tick compare register is referred to as `%tick_cmpr'.
+
+   * The system tick register is referred to as `%stick'.  An alias,
+     `%sys_tick', exists but is deprecated and should not be used by
+     new software.
+
+   * The system tick compare register is referred to as `%stick_cmpr'.
+     An alias, `%sys_tick_cmpr', exists but is deprecated and should
+     not be used by new software.
+
+   * The software interrupt register is referred to as `%softint'.
+
+   * The set software interrupt register is referred to as
+     `%set_softint'.  The mnemonic `%softint_set' is provided as an
+     alias.
+
+   * The clear software interrupt register is referred to as
+     `%clear_softint'.  The mnemonic `%softint_clear' is provided as an
+     alias.
+
+   * The performance instrumentation counters register is referred to as
+     `%pic'.
+
+   * The performance control register is referred to as `%pcr'.
+
+   * The graphics status register is referred to as `%gsr'.
+
+   * The V9 dispatch control register is referred to as `%dcr'.
+
+   Various V9 branch and conditional move instructions allow
+specification of which set of integer condition codes to test.  These
+are referred to as `%xcc' and `%icc'.
+
+   In V9, there are 4 sets of floating point condition codes which are
+referred to as `%fccN'.
+
+   Several special privileged and non-privileged registers exist:
+
+   * The V9 address space identifier register is referred to as `%asi'.
+
+   * The V9 restorable windows register is referred to as `%canrestore'.
+
+   * The V9 savable windows register is referred to as `%cansave'.
+
+   * The V9 clean windows register is referred to as `%cleanwin'.
+
+   * The V9 current window pointer register is referred to as `%cwp'.
+
+   * The floating-point queue register is referred to as `%fq'.
+
+   * The V8 co-processor queue register is referred to as `%cq'.
+
+   * The floating point status register is referred to as `%fsr'.
+
+   * The other windows register is referred to as `%otherwin'.
+
+   * The V9 program counter register is referred to as `%pc'.
+
+   * The V9 next program counter register is referred to as `%npc'.
+
+   * The V9 processor interrupt level register is referred to as `%pil'.
+
+   * The V9 processor state register is referred to as `%pstate'.
+
+   * The trap base address register is referred to as `%tba'.
+
+   * The V9 tick register is referred to as `%tick'.
+
+   * The V9 trap level is referred to as `%tl'.
+
+   * The V9 trap program counter is referred to as `%tpc'.
+
+   * The V9 trap next program counter is referred to as `%tnpc'.
+
+   * The V9 trap state is referred to as `%tstate'.
+
+   * The V9 trap type is referred to as `%tt'.
+
+   * The V9 condition codes is referred to as `%ccr'.
+
+   * The V9 floating-point registers state is referred to as `%fprs'.
+
+   * The V9 version register is referred to as `%ver'.
+
+   * The V9 window state register is referred to as `%wstate'.
+
+   * The Y register is referred to as `%y'.
+
+   * The V8 window invalid mask register is referred to as `%wim'.
+
+   * The V8 processor state register is referred to as `%psr'.
+
+   * The V9 global register level register is referred to as `%gl'.
+
+   Several special register names exist for hypervisor mode code:
+
+   * The hyperprivileged processor state register is referred to as
+     `%hpstate'.
+
+   * The hyperprivileged trap state register is referred to as
+     `%htstate'.
+
+   * The hyperprivileged interrupt pending register is referred to as
+     `%hintp'.
+
+   * The hyperprivileged trap base address register is referred to as
+     `%htba'.
+
+   * The hyperprivileged implementation version register is referred to
+     as `%hver'.
+
+   * The hyperprivileged system tick compare register is referred to as
+     `%hstick_cmpr'.  Note that there is no `%hstick' register, the
+     normal `%stick' is used.
+
+\1f
+File: as.info,  Node: Sparc-Constants,  Next: Sparc-Relocs,  Prev: Sparc-Regs,  Up: Sparc-Syntax
+
+9.34.3.3 Constants
+..................
+
+Several Sparc instructions take an immediate operand field for which
+mnemonic names exist.  Two such examples are `membar' and `prefetch'.
+Another example are the set of V9 memory access instruction that allow
+specification of an address space identifier.
+
+   The `membar' instruction specifies a memory barrier that is the
+defined by the operand which is a bitmask.  The supported mask
+mnemonics are:
+
+   * `#Sync' requests that all operations (including nonmemory
+     reference operations) appearing prior to the `membar' must have
+     been performed and the effects of any exceptions become visible
+     before any instructions after the `membar' may be initiated.  This
+     corresponds to `membar' cmask field bit 2.
+
+   * `#MemIssue' requests that all memory reference operations
+     appearing prior to the `membar' must have been performed before
+     any memory operation after the `membar' may be initiated.  This
+     corresponds to `membar' cmask field bit 1.
+
+   * `#Lookaside' requests that a store appearing prior to the `membar'
+     must complete before any load following the `membar' referencing
+     the same address can be initiated.  This corresponds to `membar'
+     cmask field bit 0.
+
+   * `#StoreStore' defines that the effects of all stores appearing
+     prior to the `membar' instruction must be visible to all
+     processors before the effect of any stores following the `membar'.
+     Equivalent to the deprecated `stbar' instruction.  This
+     corresponds to `membar' mmask field bit 3.
+
+   * `#LoadStore' defines all loads appearing prior to the `membar'
+     instruction must have been performed before the effect of any
+     stores following the `membar' is visible to any other processor.
+     This corresponds to `membar' mmask field bit 2.
+
+   * `#StoreLoad' defines that the effects of all stores appearing
+     prior to the `membar' instruction must be visible to all
+     processors before loads following the `membar' may be performed.
+     This corresponds to `membar' mmask field bit 1.
+
+   * `#LoadLoad' defines that all loads appearing prior to the `membar'
+     instruction must have been performed before any loads following
+     the `membar' may be performed.  This corresponds to `membar' mmask
+     field bit 0.
+
+
+   These values can be ored together, for example:
+
+     membar #Sync
+     membar #StoreLoad | #LoadLoad
+     membar #StoreLoad | #StoreStore
+
+   The `prefetch' and `prefetcha' instructions take a prefetch function
+code.  The following prefetch function code constant mnemonics are
+available:
+
+   * `#n_reads' requests a prefetch for several reads, and corresponds
+     to a prefetch function code of 0.
+
+     `#one_read' requests a prefetch for one read, and corresponds to a
+     prefetch function code of 1.
+
+     `#n_writes' requests a prefetch for several writes (and possibly
+     reads), and corresponds to a prefetch function code of 2.
+
+     `#one_write' requests a prefetch for one write, and corresponds to
+     a prefetch function code of 3.
+
+     `#page' requests a prefetch page, and corresponds to a prefetch
+     function code of 4.
+
+     `#invalidate' requests a prefetch invalidate, and corresponds to a
+     prefetch function code of 16.
+
+     `#unified' requests a prefetch to the nearest unified cache, and
+     corresponds to a prefetch function code of 17.
+
+     `#n_reads_strong' requests a strong prefetch for several reads,
+     and corresponds to a prefetch function code of 20.
+
+     `#one_read_strong' requests a strong prefetch for one read, and
+     corresponds to a prefetch function code of 21.
+
+     `#n_writes_strong' requests a strong prefetch for several writes,
+     and corresponds to a prefetch function code of 22.
+
+     `#one_write_strong' requests a strong prefetch for one write, and
+     corresponds to a prefetch function code of 23.
+
+     Onle one prefetch code may be specified.  Here are some examples:
+
+          prefetch  [%l0 + %l2], #one_read
+          prefetch  [%g2 + 8], #n_writes
+          prefetcha [%g1] 0x8, #unified
+          prefetcha [%o0 + 0x10] %asi, #n_reads
+
+     The actual behavior of a given prefetch function code is processor
+     specific.  If a processor does not implement a given prefetch
+     function code, it will treat the prefetch instruction as a nop.
+
+     For instructions that accept an immediate address space identifier,
+     `as' provides many mnemonics corresponding to V9 defined as well
+     as UltraSPARC and Niagara extended values.  For example, `#ASI_P'
+     and `#ASI_BLK_INIT_QUAD_LDD_AIUS'.  See the V9 and processor
+     specific manuals for details.
+
+
+\1f
+File: as.info,  Node: Sparc-Relocs,  Next: Sparc-Size-Translations,  Prev: Sparc-Constants,  Up: Sparc-Syntax
+
+9.34.3.4 Relocations
+....................
+
+ELF relocations are available as defined in the 32-bit and 64-bit Sparc
+ELF specifications.
+
+   `R_SPARC_HI22' is obtained using `%hi' and `R_SPARC_LO10' is
+obtained using `%lo'.  Likewise `R_SPARC_HIX22' is obtained from `%hix'
+and `R_SPARC_LOX10' is obtained using `%lox'.  For example:
+
+     sethi %hi(symbol), %g1
+     or    %g1, %lo(symbol), %g1
+
+     sethi %hix(symbol), %g1
+     xor   %g1, %lox(symbol), %g1
+
+   These "high" mnemonics extract bits 31:10 of their operand, and the
+"low" mnemonics extract bits 9:0 of their operand.
+
+   V9 code model relocations can be requested as follows:
+
+   * `R_SPARC_HH22' is requested using `%hh'.  It can also be generated
+     using `%uhi'.
+
+   * `R_SPARC_HM10' is requested using `%hm'.  It can also be generated
+     using `%ulo'.
+
+   * `R_SPARC_LM22' is requested using `%lm'.
+
+   * `R_SPARC_H44' is requested using `%h44'.
+
+   * `R_SPARC_M44' is requested using `%m44'.
+
+   * `R_SPARC_L44' is requested using `%l44'.
+
+   The PC relative relocation `R_SPARC_PC22' can be obtained by
+enclosing an operand inside of `%pc22'.  Likewise, the `R_SPARC_PC10'
+relocation can be obtained using `%pc10'.  These are mostly used when
+assembling PIC code.  For example, the standard PIC sequence on Sparc
+to get the base of the global offset table, PC relative, into a
+register, can be performed as:
+
+     sethi %pc22(_GLOBAL_OFFSET_TABLE_-4), %l7
+     add   %l7, %pc10(_GLOBAL_OFFSET_TABLE_+4), %l7
+
+   Several relocations exist to allow the link editor to potentially
+optimize GOT data references.  The `R_SPARC_GOTDATA_OP_HIX22'
+relocation can obtained by enclosing an operand inside of
+`%gdop_hix22'.  The `R_SPARC_GOTDATA_OP_LOX10' relocation can obtained
+by enclosing an operand inside of `%gdop_lox10'.  Likewise,
+`R_SPARC_GOTDATA_OP' can be obtained by enclosing an operand inside of
+`%gdop'.  For example, assuming the GOT base is in register `%l7':
+
+     sethi %gdop_hix22(symbol), %l1
+     xor   %l1, %gdop_lox10(symbol), %l1
+     ld    [%l7 + %l1], %l2, %gdop(symbol)
+
+   There are many relocations that can be requested for access to
+thread local storage variables.  All of the Sparc TLS mnemonics are
+supported:
+
+   * `R_SPARC_TLS_GD_HI22' is requested using `%tgd_hi22'.
+
+   * `R_SPARC_TLS_GD_LO10' is requested using `%tgd_lo10'.
+
+   * `R_SPARC_TLS_GD_ADD' is requested using `%tgd_add'.
+
+   * `R_SPARC_TLS_GD_CALL' is requested using `%tgd_call'.
+
+   * `R_SPARC_TLS_LDM_HI22' is requested using `%tldm_hi22'.
+
+   * `R_SPARC_TLS_LDM_LO10' is requested using `%tldm_lo10'.
+
+   * `R_SPARC_TLS_LDM_ADD' is requested using `%tldm_add'.
+
+   * `R_SPARC_TLS_LDM_CALL' is requested using `%tldm_call'.
+
+   * `R_SPARC_TLS_LDO_HIX22' is requested using `%tldo_hix22'.
+
+   * `R_SPARC_TLS_LDO_LOX10' is requested using `%tldo_lox10'.
+
+   * `R_SPARC_TLS_LDO_ADD' is requested using `%tldo_add'.
+
+   * `R_SPARC_TLS_IE_HI22' is requested using `%tie_hi22'.
+
+   * `R_SPARC_TLS_IE_LO10' is requested using `%tie_lo10'.
+
+   * `R_SPARC_TLS_IE_LD' is requested using `%tie_ld'.
+
+   * `R_SPARC_TLS_IE_LDX' is requested using `%tie_ldx'.
+
+   * `R_SPARC_TLS_IE_ADD' is requested using `%tie_add'.
+
+   * `R_SPARC_TLS_LE_HIX22' is requested using `%tle_hix22'.
+
+   * `R_SPARC_TLS_LE_LOX10' is requested using `%tle_lox10'.
+
+   Here are some example TLS model sequences.
+
+   First, General Dynamic:
+
+     sethi  %tgd_hi22(symbol), %l1
+     add    %l1, %tgd_lo10(symbol), %l1
+     add    %l7, %l1, %o0, %tgd_add(symbol)
+     call   __tls_get_addr, %tgd_call(symbol)
+     nop
+
+   Local Dynamic:
+
+     sethi  %tldm_hi22(symbol), %l1
+     add    %l1, %tldm_lo10(symbol), %l1
+     add    %l7, %l1, %o0, %tldm_add(symbol)
+     call   __tls_get_addr, %tldm_call(symbol)
+     nop
+
+     sethi  %tldo_hix22(symbol), %l1
+     xor    %l1, %tldo_lox10(symbol), %l1
+     add    %o0, %l1, %l1, %tldo_add(symbol)
+
+   Initial Exec:
+
+     sethi  %tie_hi22(symbol), %l1
+     add    %l1, %tie_lo10(symbol), %l1
+     ld     [%l7 + %l1], %o0, %tie_ld(symbol)
+     add    %g7, %o0, %o0, %tie_add(symbol)
+
+     sethi  %tie_hi22(symbol), %l1
+     add    %l1, %tie_lo10(symbol), %l1
+     ldx    [%l7 + %l1], %o0, %tie_ldx(symbol)
+     add    %g7, %o0, %o0, %tie_add(symbol)
+
+   And finally, Local Exec:
+
+     sethi  %tle_hix22(symbol), %l1
+     add    %l1, %tle_lox10(symbol), %l1
+     add    %g7, %l1, %l1
+
+   When assembling for 64-bit, and a secondary constant addend is
+specified in an address expression that would normally generate an
+`R_SPARC_LO10' relocation, the assembler will emit an `R_SPARC_OLO10'
+instead.
+
+\1f
+File: as.info,  Node: Sparc-Size-Translations,  Prev: Sparc-Relocs,  Up: Sparc-Syntax
+
+9.34.3.5 Size Translations
+..........................
 
-8.30.3 Floating Point
+Often it is desirable to write code in an operand size agnostic manner.
+`as' provides support for this via operand size opcode translations.
+Translations are supported for loads, stores, shifts, compare-and-swap
+atomics, and the `clr' synthetic instruction.
+
+   If generating 32-bit code, `as' will generate the 32-bit opcode.
+Whereas if 64-bit code is being generated, the 64-bit opcode will be
+emitted.  For example `ldn' will be transformed into `ld' for 32-bit
+code and `ldx' for 64-bit code.
+
+   Here is an example meant to demonstrate all the supported opcode
+translations:
+
+     ldn   [%o0], %o1
+     ldna  [%o0] %asi, %o2
+     stn   %o1, [%o0]
+     stna  %o2, [%o0] %asi
+     slln  %o3, 3, %o3
+     srln  %o4, 8, %o4
+     sran  %o5, 12, %o5
+     casn  [%o0], %o1, %o2
+     casna [%o0] %asi, %o1, %o2
+     clrn  %g1
+
+   In 32-bit mode `as' will emit:
+
+     ld   [%o0], %o1
+     lda  [%o0] %asi, %o2
+     st   %o1, [%o0]
+     sta  %o2, [%o0] %asi
+     sll  %o3, 3, %o3
+     srl  %o4, 8, %o4
+     sra  %o5, 12, %o5
+     cas  [%o0], %o1, %o2
+     casa [%o0] %asi, %o1, %o2
+     clr  %g1
+
+   And in 64-bit mode `as' will emit:
+
+     ldx   [%o0], %o1
+     ldxa  [%o0] %asi, %o2
+     stx   %o1, [%o0]
+     stxa  %o2, [%o0] %asi
+     sllx  %o3, 3, %o3
+     srlx  %o4, 8, %o4
+     srax  %o5, 12, %o5
+     casx  [%o0], %o1, %o2
+     casxa [%o0] %asi, %o1, %o2
+     clrx  %g1
+
+   Finally, the `.nword' translating directive is supported as well.
+It is documented in the section on Sparc machine directives.
+
+\1f
+File: as.info,  Node: Sparc-Float,  Next: Sparc-Directives,  Prev: Sparc-Syntax,  Up: Sparc-Dependent
+
+9.34.4 Floating Point
 ---------------------
 
 The Sparc uses IEEE floating-point numbers.
@@ -13439,7 +16035,7 @@ The Sparc uses IEEE floating-point numbers.
 \1f
 File: as.info,  Node: Sparc-Directives,  Prev: Sparc-Float,  Up: Sparc-Dependent
 
-8.30.4 Sparc Machine Directives
+9.34.5 Sparc Machine Directives
 -------------------------------
 
 The Sparc version of `as' supports the following additional machine
@@ -13498,7 +16094,7 @@ directives:
 \1f
 File: as.info,  Node: TIC54X-Dependent,  Next: V850-Dependent,  Prev: Sparc-Dependent,  Up: Machine Dependencies
 
-8.31 TIC54X Dependent Features
+9.35 TIC54X Dependent Features
 ==============================
 
 * Menu:
@@ -13518,7 +16114,7 @@ File: as.info,  Node: TIC54X-Dependent,  Next: V850-Dependent,  Prev: Sparc-Depe
 \1f
 File: as.info,  Node: TIC54X-Opts,  Next: TIC54X-Block,  Up: TIC54X-Dependent
 
-8.31.1 Options
+9.35.1 Options
 --------------
 
 The TMS320C54X version of `as' has a few machine-dependent options.
@@ -13543,7 +16139,7 @@ provide adequate output redirection).  This option may be abbreviated to
 \1f
 File: as.info,  Node: TIC54X-Block,  Next: TIC54X-Env,  Prev: TIC54X-Opts,  Up: TIC54X-Dependent
 
-8.31.2 Blocking
+9.35.2 Blocking
 ---------------
 
 A blocked section or memory block is guaranteed not to cross the
@@ -13554,7 +16150,7 @@ the blocking size.
 \1f
 File: as.info,  Node: TIC54X-Env,  Next: TIC54X-Constants,  Prev: TIC54X-Block,  Up: TIC54X-Dependent
 
-8.31.3 Environment Settings
+9.35.3 Environment Settings
 ---------------------------
 
 `C54XDSP_DIR' and `A_DIR' are semicolon-separated paths which are added
@@ -13564,7 +16160,7 @@ files.  `C54XDSP_DIR' will override `A_DIR'.
 \1f
 File: as.info,  Node: TIC54X-Constants,  Next: TIC54X-Subsyms,  Prev: TIC54X-Env,  Up: TIC54X-Dependent
 
-8.31.4 Constants Syntax
+9.35.4 Constants Syntax
 -----------------------
 
 The TIC54X version of `as' allows the following additional constant
@@ -13577,7 +16173,7 @@ formats, using a suffix to indicate the radix:
 \1f
 File: as.info,  Node: TIC54X-Subsyms,  Next: TIC54X-Locals,  Prev: TIC54X-Constants,  Up: TIC54X-Dependent
 
-8.31.5 String Substitution
+9.35.5 String Substitution
 --------------------------
 
 A subset of allowable symbols (which we'll call subsyms) may be assigned
@@ -13632,7 +16228,7 @@ the following syntax:
 \1f
 File: as.info,  Node: TIC54X-Locals,  Next: TIC54X-Builtins,  Prev: TIC54X-Subsyms,  Up: TIC54X-Dependent
 
-8.31.6 Local Labels
+9.35.6 Local Labels
 -------------------
 
 Local labels may be defined in two ways:
@@ -13657,7 +16253,7 @@ is encountered:
 \1f
 File: as.info,  Node: TIC54X-Builtins,  Next: TIC54X-Ext,  Prev: TIC54X-Locals,  Up: TIC54X-Dependent
 
-8.31.7 Math Builtins
+9.35.7 Math Builtins
 --------------------
 
 The following built-in functions may be used to generate a
@@ -13754,7 +16350,7 @@ floating-point value.  All return a floating-point value except `$cvi',
 \1f
 File: as.info,  Node: TIC54X-Ext,  Next: TIC54X-Directives,  Prev: TIC54X-Builtins,  Up: TIC54X-Dependent
 
-8.31.8 Extended Addressing
+9.35.8 Extended Addressing
 --------------------------
 
 The `LDX' pseudo-op is provided for loading the extended addressing bits
@@ -13767,7 +16363,7 @@ extended program memory, the value of `_label' may be loaded as follows:
 \1f
 File: as.info,  Node: TIC54X-Directives,  Next: TIC54X-Macros,  Prev: TIC54X-Ext,  Up: TIC54X-Dependent
 
-8.31.9 Directives
+9.35.9 Directives
 -----------------
 
 `.align [SIZE]'
@@ -14056,7 +16652,7 @@ File: as.info,  Node: TIC54X-Directives,  Next: TIC54X-Macros,  Prev: TIC54X-Ext
 \1f
 File: as.info,  Node: TIC54X-Macros,  Next: TIC54X-MMRegs,  Prev: TIC54X-Directives,  Up: TIC54X-Dependent
 
-8.31.10 Macros
+9.35.10 Macros
 --------------
 
 Macros do not require explicit dereferencing of arguments (i.e., \ARG).
@@ -14118,7 +16714,7 @@ replaced by the strings they represent).
 \1f
 File: as.info,  Node: TIC54X-MMRegs,  Prev: TIC54X-Macros,  Up: TIC54X-Dependent
 
-8.31.11 Memory-mapped Registers
+9.35.11 Memory-mapped Registers
 -------------------------------
 
 The following symbols are recognized as memory-mapped registers:
@@ -14127,7 +16723,7 @@ The following symbols are recognized as memory-mapped registers:
 \1f
 File: as.info,  Node: Z80-Dependent,  Next: Z8000-Dependent,  Prev: Xtensa-Dependent,  Up: Machine Dependencies
 
-8.32 Z80 Dependent Features
+9.36 Z80 Dependent Features
 ===========================
 
 * Menu:
@@ -14141,7 +16737,7 @@ File: as.info,  Node: Z80-Dependent,  Next: Z8000-Dependent,  Prev: Xtensa-Depen
 \1f
 File: as.info,  Node: Z80 Options,  Next: Z80 Syntax,  Up: Z80-Dependent
 
-8.32.1 Options
+9.36.1 Options
 --------------
 
 The Zilog Z80 and Ascii R800 version of `as' have a few machine
@@ -14188,7 +16784,7 @@ dependent options.
 \1f
 File: as.info,  Node: Z80 Syntax,  Next: Z80 Floating Point,  Prev: Z80 Options,  Up: Z80-Dependent
 
-8.32.2 Syntax
+9.36.2 Syntax
 -------------
 
 The assembler syntax closely follows the 'Z80 family CPU User Manual' by
@@ -14210,7 +16806,7 @@ for octal, and `B' for binary.
 \1f
 File: as.info,  Node: Z80-Chars,  Next: Z80-Regs,  Up: Z80 Syntax
 
-8.32.2.1 Special Characters
+9.36.2.1 Special Characters
 ...........................
 
 The semicolon `;' is the line comment character;
@@ -14227,7 +16823,7 @@ a string constant.
 \1f
 File: as.info,  Node: Z80-Regs,  Next: Z80-Case,  Prev: Z80-Chars,  Up: Z80 Syntax
 
-8.32.2.2 Register Names
+9.36.2.2 Register Names
 .......................
 
 The registers are referred to with the letters assigned to them by
@@ -14238,7 +16834,7 @@ of `iy'.
 \1f
 File: as.info,  Node: Z80-Case,  Prev: Z80-Regs,  Up: Z80 Syntax
 
-8.32.2.3 Case Sensitivity
+9.36.2.3 Case Sensitivity
 .........................
 
 Upper and lower case are equivalent in register names, opcodes,
@@ -14250,7 +16846,7 @@ from the suffix `B' for a number in binary notation.
 \1f
 File: as.info,  Node: Z80 Floating Point,  Next: Z80 Directives,  Prev: Z80 Syntax,  Up: Z80-Dependent
 
-8.32.3 Floating Point
+9.36.3 Floating Point
 ---------------------
 
 Floating-point numbers are not supported.
@@ -14258,7 +16854,7 @@ Floating-point numbers are not supported.
 \1f
 File: as.info,  Node: Z80 Directives,  Next: Z80 Opcodes,  Prev: Z80 Floating Point,  Up: Z80-Dependent
 
-8.32.4 Z80 Assembler Directives
+9.36.4 Z80 Assembler Directives
 -------------------------------
 
 `as' for the Z80 supports some additional directives for compatibility
@@ -14309,7 +16905,7 @@ with other assemblers.
 \1f
 File: as.info,  Node: Z80 Opcodes,  Prev: Z80 Directives,  Up: Z80-Dependent
 
-8.32.5 Opcodes
+9.36.5 Opcodes
 --------------
 
 In line with common practice, Z80 mnemonics are used for both the Z80
@@ -14351,7 +16947,7 @@ find more information on programming the Z80.
 \1f
 File: as.info,  Node: Z8000-Dependent,  Next: Vax-Dependent,  Prev: Z80-Dependent,  Up: Machine Dependencies
 
-8.33 Z8000 Dependent Features
+9.37 Z8000 Dependent Features
 =============================
 
    The Z8000 as supports both members of the Z8000 family: the
@@ -14375,7 +16971,7 @@ of other Z8000 specific assembler directives.
 \1f
 File: as.info,  Node: Z8000 Options,  Next: Z8000 Syntax,  Up: Z8000-Dependent
 
-8.33.1 Options
+9.37.1 Options
 --------------
 
 `-z8001'
@@ -14387,7 +16983,7 @@ File: as.info,  Node: Z8000 Options,  Next: Z8000 Syntax,  Up: Z8000-Dependent
 \1f
 File: as.info,  Node: Z8000 Syntax,  Next: Z8000 Directives,  Prev: Z8000 Options,  Up: Z8000-Dependent
 
-8.33.2 Syntax
+9.37.2 Syntax
 -------------
 
 * Menu:
@@ -14399,7 +16995,7 @@ File: as.info,  Node: Z8000 Syntax,  Next: Z8000 Directives,  Prev: Z8000 Option
 \1f
 File: as.info,  Node: Z8000-Chars,  Next: Z8000-Regs,  Up: Z8000 Syntax
 
-8.33.2.1 Special Characters
+9.37.2.1 Special Characters
 ...........................
 
 `!' is the line comment character.
@@ -14409,7 +17005,7 @@ File: as.info,  Node: Z8000-Chars,  Next: Z8000-Regs,  Up: Z8000 Syntax
 \1f
 File: as.info,  Node: Z8000-Regs,  Next: Z8000-Addressing,  Prev: Z8000-Chars,  Up: Z8000 Syntax
 
-8.33.2.2 Register Names
+9.37.2.2 Register Names
 .......................
 
 The Z8000 has sixteen 16 bit registers, numbered 0 to 15.  You can refer
@@ -14435,7 +17031,7 @@ _quad word registers_
 \1f
 File: as.info,  Node: Z8000-Addressing,  Prev: Z8000-Regs,  Up: Z8000 Syntax
 
-8.33.2.3 Addressing Modes
+9.37.2.3 Addressing Modes
 .........................
 
 as understands the following addressing modes for the Z8000:
@@ -14479,7 +17075,7 @@ as understands the following addressing modes for the Z8000:
 \1f
 File: as.info,  Node: Z8000 Directives,  Next: Z8000 Opcodes,  Prev: Z8000 Syntax,  Up: Z8000-Dependent
 
-8.33.3 Assembler Directives for the Z8000
+9.37.3 Assembler Directives for the Z8000
 -----------------------------------------
 
 The Z8000 port of as includes additional assembler directives, for
@@ -14540,7 +17136,7 @@ compatibility with other Z8000 assemblers.  These do not begin with `.'
 \1f
 File: as.info,  Node: Z8000 Opcodes,  Prev: Z8000 Directives,  Up: Z8000-Dependent
 
-8.33.4 Opcodes
+9.37.4 Opcodes
 --------------
 
 For detailed information on the Z8000 machine instruction set, see
@@ -14703,7 +17299,7 @@ For detailed information on the Z8000 machine instruction set, see
 \1f
 File: as.info,  Node: Vax-Dependent,  Prev: Z8000-Dependent,  Up: Machine Dependencies
 
-8.34 VAX Dependent Features
+9.38 VAX Dependent Features
 ===========================
 
 * Menu:
@@ -14719,7 +17315,7 @@ File: as.info,  Node: Vax-Dependent,  Prev: Z8000-Dependent,  Up: Machine Depend
 \1f
 File: as.info,  Node: VAX-Opts,  Next: VAX-float,  Up: Vax-Dependent
 
-8.34.1 VAX Command-Line Options
+9.38.1 VAX Command-Line Options
 -------------------------------
 
 The Vax version of `as' accepts any of the following options, gives a
@@ -14804,7 +17400,7 @@ compiled for VMS:
 \1f
 File: as.info,  Node: VAX-float,  Next: VAX-directives,  Prev: VAX-Opts,  Up: Vax-Dependent
 
-8.34.2 VAX Floating Point
+9.38.2 VAX Floating Point
 -------------------------
 
 Conversion of flonums to floating point is correct, and compatible with
@@ -14822,7 +17418,7 @@ directive produces `d' format numbers.
 \1f
 File: as.info,  Node: VAX-directives,  Next: VAX-opcodes,  Prev: VAX-float,  Up: Vax-Dependent
 
-8.34.3 Vax Machine Directives
+9.38.3 Vax Machine Directives
 -----------------------------
 
 The Vax version of the assembler supports four directives for
@@ -14849,7 +17445,7 @@ table below.
 \1f
 File: as.info,  Node: VAX-opcodes,  Next: VAX-branch,  Prev: VAX-directives,  Up: Vax-Dependent
 
-8.34.4 VAX Opcodes
+9.38.4 VAX Opcodes
 ------------------
 
 All DEC mnemonics are supported.  Beware that `case...' instructions
@@ -14860,7 +17456,7 @@ with all unix assemblers we know of.
 \1f
 File: as.info,  Node: VAX-branch,  Next: VAX-operands,  Prev: VAX-opcodes,  Up: Vax-Dependent
 
-8.34.5 VAX Branch Improvement
+9.38.5 VAX Branch Improvement
 -----------------------------
 
 Certain pseudo opcodes are permitted.  They are for branch
@@ -14963,7 +17559,7 @@ they can expand into.
 \1f
 File: as.info,  Node: VAX-operands,  Next: VAX-no,  Prev: VAX-branch,  Up: Vax-Dependent
 
-8.34.6 VAX Operands
+9.38.6 VAX Operands
 -------------------
 
 The immediate character is `$' for Unix compatibility, not `#' as DEC
@@ -14989,7 +17585,7 @@ separated.
 \1f
 File: as.info,  Node: VAX-no,  Prev: VAX-operands,  Up: Vax-Dependent
 
-8.34.7 Not Supported on VAX
+9.38.7 Not Supported on VAX
 ---------------------------
 
 Vax bit fields can not be assembled with `as'.  Someone can add the
@@ -14998,7 +17594,7 @@ required code if they really need it.
 \1f
 File: as.info,  Node: V850-Dependent,  Next: Xtensa-Dependent,  Prev: TIC54X-Dependent,  Up: Machine Dependencies
 
-8.35 v850 Dependent Features
+9.39 v850 Dependent Features
 ============================
 
 * Menu:
@@ -15012,7 +17608,7 @@ File: as.info,  Node: V850-Dependent,  Next: Xtensa-Dependent,  Prev: TIC54X-Dep
 \1f
 File: as.info,  Node: V850 Options,  Next: V850 Syntax,  Up: V850-Dependent
 
-8.35.1 Options
+9.39.1 Options
 --------------
 
 `as' supports the following additional command-line options for the
@@ -15071,7 +17667,7 @@ V850 processor family:
 \1f
 File: as.info,  Node: V850 Syntax,  Next: V850 Floating Point,  Prev: V850 Options,  Up: V850-Dependent
 
-8.35.2 Syntax
+9.39.2 Syntax
 -------------
 
 * Menu:
@@ -15082,7 +17678,7 @@ File: as.info,  Node: V850 Syntax,  Next: V850 Floating Point,  Prev: V850 Optio
 \1f
 File: as.info,  Node: V850-Chars,  Next: V850-Regs,  Up: V850 Syntax
 
-8.35.2.1 Special Characters
+9.39.2.1 Special Characters
 ...........................
 
 `#' is the line comment character.
@@ -15090,7 +17686,7 @@ File: as.info,  Node: V850-Chars,  Next: V850-Regs,  Up: V850 Syntax
 \1f
 File: as.info,  Node: V850-Regs,  Prev: V850-Chars,  Up: V850 Syntax
 
-8.35.2.2 Register Names
+9.39.2.2 Register Names
 .......................
 
 `as' supports the following names for registers:
@@ -15226,7 +17822,7 @@ File: as.info,  Node: V850-Regs,  Prev: V850-Chars,  Up: V850 Syntax
 \1f
 File: as.info,  Node: V850 Floating Point,  Next: V850 Directives,  Prev: V850 Syntax,  Up: V850-Dependent
 
-8.35.3 Floating Point
+9.39.3 Floating Point
 ---------------------
 
 The V850 family uses IEEE floating-point numbers.
@@ -15234,7 +17830,7 @@ The V850 family uses IEEE floating-point numbers.
 \1f
 File: as.info,  Node: V850 Directives,  Next: V850 Opcodes,  Prev: V850 Floating Point,  Up: V850-Dependent
 
-8.35.4 V850 Machine Directives
+9.39.4 V850 Machine Directives
 ------------------------------
 
 `.offset <EXPRESSION>'
@@ -15267,7 +17863,7 @@ File: as.info,  Node: V850 Directives,  Next: V850 Opcodes,  Prev: V850 Floating
 \1f
 File: as.info,  Node: V850 Opcodes,  Prev: V850 Directives,  Up: V850-Dependent
 
-8.35.5 Opcodes
+9.39.5 Opcodes
 --------------
 
 `as' implements all the standard V850 opcodes.
@@ -15407,7 +18003,7 @@ Ltd.
 \1f
 File: as.info,  Node: Xtensa-Dependent,  Next: Z80-Dependent,  Prev: V850-Dependent,  Up: Machine Dependencies
 
-8.36 Xtensa Dependent Features
+9.40 Xtensa Dependent Features
 ==============================
 
    This chapter covers features of the GNU assembler that are specific
@@ -15426,7 +18022,7 @@ Reference Manual'.
 \1f
 File: as.info,  Node: Xtensa Options,  Next: Xtensa Syntax,  Up: Xtensa-Dependent
 
-8.36.1 Command Line Options
+9.40.1 Command Line Options
 ---------------------------
 
 The Xtensa version of the GNU assembler supports these special options:
@@ -15483,7 +18079,7 @@ The Xtensa version of the GNU assembler supports these special options:
 \1f
 File: as.info,  Node: Xtensa Syntax,  Next: Xtensa Optimizations,  Prev: Xtensa Options,  Up: Xtensa-Dependent
 
-8.36.2 Assembler Syntax
+9.40.2 Assembler Syntax
 -----------------------
 
 Block comments are delimited by `/*' and `*/'.  End of line comments
@@ -15521,9 +18117,9 @@ specified on a single line by separating the opcodes with semicolons:
 
      { [FORMAT;] OPCODE0 [OPERANDS]; OPCODE1 [OPERANDS]; OPCODE2 [OPERANDS]; ... }
 
-   The assembler can automatically bundle opcodes into FLIX
-instructions.  It encodes the opcodes in order, one at a time, choosing
-the smallest format where each opcode can be encoded and filling unused
+   If an opcode can only be encoded in a FLIX instruction but is not
+specified as part of a FLIX bundle, the assembler will choose the
+smallest format where the opcode can be encoded and will fill unused
 instruction slots with no-ops.
 
 * Menu:
@@ -15534,7 +18130,7 @@ instruction slots with no-ops.
 \1f
 File: as.info,  Node: Xtensa Opcodes,  Next: Xtensa Registers,  Up: Xtensa Syntax
 
-8.36.2.1 Opcode Names
+9.40.2.1 Opcode Names
 .....................
 
 See the `Xtensa Instruction Set Architecture (ISA) Reference Manual'
@@ -15569,7 +18165,7 @@ directive.  *Note transform: Transform Directive.
 \1f
 File: as.info,  Node: Xtensa Registers,  Prev: Xtensa Opcodes,  Up: Xtensa Syntax
 
-8.36.2.2 Register Names
+9.40.2.2 Register Names
 .......................
 
 The assembly syntax for a register file entry is the "short" name for a
@@ -15583,7 +18179,7 @@ extensions.  An initial `$' character is optional in all register names.
 \1f
 File: as.info,  Node: Xtensa Optimizations,  Next: Xtensa Relaxation,  Prev: Xtensa Syntax,  Up: Xtensa-Dependent
 
-8.36.3 Xtensa Optimizations
+9.40.3 Xtensa Optimizations
 ---------------------------
 
 The optimizations currently supported by `as' are generation of density
@@ -15597,7 +18193,7 @@ instructions where appropriate and automatic branch target alignment.
 \1f
 File: as.info,  Node: Density Instructions,  Next: Xtensa Automatic Alignment,  Up: Xtensa Optimizations
 
-8.36.3.1 Using Density Instructions
+9.40.3.1 Using Density Instructions
 ...................................
 
 The Xtensa instruction set has a code density option that provides
@@ -15620,7 +18216,7 @@ modification.
 \1f
 File: as.info,  Node: Xtensa Automatic Alignment,  Prev: Density Instructions,  Up: Xtensa Optimizations
 
-8.36.3.2 Automatic Instruction Alignment
+9.40.3.2 Automatic Instruction Alignment
 ........................................
 
 The Xtensa assembler will automatically align certain instructions, both
@@ -15632,12 +18228,10 @@ align branch targets so they do not cross instruction fetch boundaries.
 instruction fetch widths.)  An instruction immediately following a call
 is treated as a branch target in this context, because it will be the
 target of a return from the call.  This alignment has the potential to
-reduce branch penalties at some expense in code size.  The assembler
-will not attempt to align labels with the prefixes `.Ln' and `.LM',
-since these labels are used for debugging information and are not
-typically branch targets.  This optimization is enabled by default.
-You can disable it with the `--no-target-align' command-line option
-(*note Command Line Options: Xtensa Options.).
+reduce branch penalties at some expense in code size.  This
+optimization is enabled by default.  You can disable it with the
+`--no-target-align' command-line option (*note Command Line Options:
+Xtensa Options.).
 
    The target alignment optimization is done without adding instructions
 that could increase the execution time of the program.  If there are
@@ -15668,7 +18262,7 @@ programmer's responsibility.
 \1f
 File: as.info,  Node: Xtensa Relaxation,  Next: Xtensa Directives,  Prev: Xtensa Optimizations,  Up: Xtensa-Dependent
 
-8.36.4 Xtensa Relaxation
+9.40.4 Xtensa Relaxation
 ------------------------
 
 When an instruction operand is outside the range allowed for that
@@ -15689,7 +18283,7 @@ other instructions with immediate fields.
 \1f
 File: as.info,  Node: Xtensa Branch Relaxation,  Next: Xtensa Call Relaxation,  Up: Xtensa Relaxation
 
-8.36.4.1 Conditional Branch Relaxation
+9.40.4.1 Conditional Branch Relaxation
 ......................................
 
 When the target of a branch is too far away from the branch itself,
@@ -15724,7 +18318,7 @@ Transform Directive.).
 \1f
 File: as.info,  Node: Xtensa Call Relaxation,  Next: Xtensa Immediate Relaxation,  Prev: Xtensa Branch Relaxation,  Up: Xtensa Relaxation
 
-8.36.4.2 Function Call Relaxation
+9.40.4.2 Function Call Relaxation
 .................................
 
 Function calls may require relaxation because the Xtensa immediate call
@@ -15763,7 +18357,7 @@ directive (*note longcalls: Longcalls Directive.).
 \1f
 File: as.info,  Node: Xtensa Immediate Relaxation,  Prev: Xtensa Call Relaxation,  Up: Xtensa Relaxation
 
-8.36.4.3 Other Immediate Field Relaxation
+9.40.4.3 Other Immediate Field Relaxation
 .........................................
 
 The assembler normally performs the following other relaxations.  They
@@ -15797,7 +18391,7 @@ the source address register.  For example:
 
          .literal .L1, 2040
          l32r a1, .L1
-         addi a1, a0, a1
+         add a1, a0, a1
          l32i a1, a1, 0
 
 If the load destination and source address register are the same, an
@@ -15834,7 +18428,7 @@ be used with a literal allocated from the literal pool.
 \1f
 File: as.info,  Node: Xtensa Directives,  Prev: Xtensa Relaxation,  Up: Xtensa-Dependent
 
-8.36.5 Directives
+9.40.5 Directives
 -----------------
 
 The Xtensa assembler supports a region-based directive syntax:
@@ -15883,7 +18477,7 @@ which can preserve the context of their callers.
 \1f
 File: as.info,  Node: Schedule Directive,  Next: Longcalls Directive,  Up: Xtensa Directives
 
-8.36.5.1 schedule
+9.40.5.1 schedule
 .................
 
 The `schedule' directive is recognized only for compatibility with
@@ -15897,7 +18491,7 @@ Tensilica's assembler.
 \1f
 File: as.info,  Node: Longcalls Directive,  Next: Transform Directive,  Prev: Schedule Directive,  Up: Xtensa Directives
 
-8.36.5.2 longcalls
+9.40.5.2 longcalls
 ..................
 
 The `longcalls' directive enables or disables function call relaxation.
@@ -15913,7 +18507,7 @@ the default determined by the command-line options.
 \1f
 File: as.info,  Node: Transform Directive,  Next: Literal Directive,  Prev: Longcalls Directive,  Up: Xtensa Directives
 
-8.36.5.3 transform
+9.40.5.3 transform
 ..................
 
 This directive enables or disables all assembler transformation,
@@ -15932,7 +18526,7 @@ both directives and command-line flags.
 \1f
 File: as.info,  Node: Literal Directive,  Next: Literal Position Directive,  Prev: Transform Directive,  Up: Xtensa Directives
 
-8.36.5.4 literal
+9.40.5.4 literal
 ................
 
 The `.literal' directive is used to define literal pool data, i.e.,
@@ -16008,7 +18602,7 @@ in separate sections, even when `--text-section-literals' is enabled.
 \1f
 File: as.info,  Node: Literal Position Directive,  Next: Literal Prefix Directive,  Prev: Literal Directive,  Up: Xtensa Directives
 
-8.36.5.5 literal_position
+9.40.5.5 literal_position
 .........................
 
 When using `--text-section-literals' to place literals inline in the
@@ -16050,7 +18644,7 @@ unconditional jump.
 \1f
 File: as.info,  Node: Literal Prefix Directive,  Next: Absolute Literals Directive,  Prev: Literal Position Directive,  Up: Xtensa Directives
 
-8.36.5.6 literal_prefix
+9.40.5.6 literal_prefix
 .......................
 
 The `literal_prefix' directive allows you to override the default
@@ -16071,7 +18665,7 @@ Command Line Options: Xtensa Options.).
 \1f
 File: as.info,  Node: Absolute Literals Directive,  Prev: Literal Prefix Directive,  Up: Xtensa Directives
 
-8.36.5.7 absolute-literals
+9.40.5.7 absolute-literals
 ..........................
 
 The `absolute-literals' and `no-absolute-literals' directives control
@@ -16100,8 +18694,8 @@ determined by the command-line options.
 \1f
 File: as.info,  Node: Reporting Bugs,  Next: Acknowledgements,  Prev: Machine Dependencies,  Up: Top
 
-9 Reporting Bugs
-****************
+10 Reporting Bugs
+*****************
 
 Your bug reports play an essential role in making `as' reliable.
 
@@ -16121,8 +18715,8 @@ information that enables us to fix the bug.
 \1f
 File: as.info,  Node: Bug Criteria,  Next: Bug Reporting,  Up: Reporting Bugs
 
-9.1 Have You Found a Bug?
-=========================
+10.1 Have You Found a Bug?
+==========================
 
 If you are not sure whether you have found a bug, here are some
 guidelines:
@@ -16143,8 +18737,8 @@ guidelines:
 \1f
 File: as.info,  Node: Bug Reporting,  Prev: Bug Criteria,  Up: Reporting Bugs
 
-9.2 How to Report Bugs
-======================
+10.2 How to Report Bugs
+=======================
 
 A number of companies and individuals offer support for GNU products.
 If you obtained `as' from a support organization, we recommend you
@@ -16289,7 +18883,7 @@ might as well expedite matters by sending them to begin with.
 \1f
 File: as.info,  Node: Acknowledgements,  Next: GNU Free Documentation License,  Prev: Reporting Bugs,  Up: Top
 
-10 Acknowledgements
+11 Acknowledgements
 *******************
 
 If you have contributed to GAS and your name isn't listed here, it is
@@ -16386,6 +18980,8 @@ Tensilica, Inc. added support for Xtensa processors.
    Several engineers at Cygnus Support have also provided many small
 bug fixes and configuration enhancements.
 
+   Jon Beniston added support for the Lattice Mico32 architecture.
+
    Many others have contributed large or small bugfixes and
 enhancements.  If you have contributed significant work and are not
 mentioned on this list, and want to be, let us know.  Some of the
@@ -16401,24 +18997,23 @@ File: as.info,  Node: GNU Free Documentation License,  Next: AS Index,  Prev: Ac
 Appendix A GNU Free Documentation License
 *****************************************
 
-                        Version 1.1, March 2000
+                     Version 1.3, 3 November 2008
 
-     Copyright (C) 2000, 2003 Free Software Foundation, Inc.
-     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+     Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+     `http://fsf.org/'
 
      Everyone is permitted to copy and distribute verbatim copies
      of this license document, but changing it is not allowed.
 
-
   0. PREAMBLE
 
      The purpose of this License is to make a manual, textbook, or other
-     written document "free" in the sense of freedom: to assure everyone
-     the effective freedom to copy and redistribute it, with or without
-     modifying it, either commercially or noncommercially.  Secondarily,
-     this License preserves for the author and publisher a way to get
-     credit for their work, while not being considered responsible for
-     modifications made by others.
+     functional and useful document "free" in the sense of freedom: to
+     assure everyone the effective freedom to copy and redistribute it,
+     with or without modifying it, either commercially or
+     noncommercially.  Secondarily, this License preserves for the
+     author and publisher a way to get credit for their work, while not
+     being considered responsible for modifications made by others.
 
      This License is a kind of "copyleft", which means that derivative
      works of the document must themselves be free in the same sense.
@@ -16434,60 +19029,71 @@ Appendix A GNU Free Documentation License
      We recommend this License principally for works whose purpose is
      instruction or reference.
 
-
   1. APPLICABILITY AND DEFINITIONS
 
-     This License applies to any manual or other work that contains a
-     notice placed by the copyright holder saying it can be distributed
-     under the terms of this License.  The "Document", below, refers to
-     any such manual or work.  Any member of the public is a licensee,
-     and is addressed as "you."
+     This License applies to any manual or other work, in any medium,
+     that contains a notice placed by the copyright holder saying it
+     can be distributed under the terms of this License.  Such a notice
+     grants a world-wide, royalty-free license, unlimited in duration,
+     to use that work under the conditions stated herein.  The
+     "Document", below, refers to any such manual or work.  Any member
+     of the public is a licensee, and is addressed as "you".  You
+     accept the license if you copy, modify or distribute the work in a
+     way requiring permission under copyright law.
 
      A "Modified Version" of the Document means any work containing the
      Document or a portion of it, either copied verbatim, or with
      modifications and/or translated into another language.
 
-     A "Secondary Section" is a named appendix or a front-matter
-     section of the Document that deals exclusively with the
-     relationship of the publishers or authors of the Document to the
-     Document's overall subject (or to related matters) and contains
-     nothing that could fall directly within that overall subject.
-     (For example, if the Document is in part a textbook of
-     mathematics, a Secondary Section may not explain any mathematics.)
-     The relationship could be a matter of historical connection with
-     the subject or with related matters, or of legal, commercial,
-     philosophical, ethical or political position regarding them.
+     A "Secondary Section" is a named appendix or a front-matter section
+     of the Document that deals exclusively with the relationship of the
+     publishers or authors of the Document to the Document's overall
+     subject (or to related matters) and contains nothing that could
+     fall directly within that overall subject.  (Thus, if the Document
+     is in part a textbook of mathematics, a Secondary Section may not
+     explain any mathematics.)  The relationship could be a matter of
+     historical connection with the subject or with related matters, or
+     of legal, commercial, philosophical, ethical or political position
+     regarding them.
 
      The "Invariant Sections" are certain Secondary Sections whose
      titles are designated, as being those of Invariant Sections, in
      the notice that says that the Document is released under this
-     License.
+     License.  If a section does not fit the above definition of
+     Secondary then it is not allowed to be designated as Invariant.
+     The Document may contain zero Invariant Sections.  If the Document
+     does not identify any Invariant Sections then there are none.
 
      The "Cover Texts" are certain short passages of text that are
      listed, as Front-Cover Texts or Back-Cover Texts, in the notice
-     that says that the Document is released under this License.
+     that says that the Document is released under this License.  A
+     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
+     be at most 25 words.
 
      A "Transparent" copy of the Document means a machine-readable copy,
      represented in a format whose specification is available to the
-     general public, whose contents can be viewed and edited directly
-     and straightforwardly with generic text editors or (for images
+     general public, that is suitable for revising the document
+     straightforwardly with generic text editors or (for images
      composed of pixels) generic paint programs or (for drawings) some
      widely available drawing editor, and that is suitable for input to
      text formatters or for automatic translation to a variety of
      formats suitable for input to text formatters.  A copy made in an
-     otherwise Transparent file format whose markup has been designed
-     to thwart or discourage subsequent modification by readers is not
-     Transparent.  A copy that is not "Transparent" is called "Opaque."
+     otherwise Transparent file format whose markup, or absence of
+     markup, has been arranged to thwart or discourage subsequent
+     modification by readers is not Transparent.  An image format is
+     not Transparent if used for any substantial amount of text.  A
+     copy that is not "Transparent" is called "Opaque".
 
      Examples of suitable formats for Transparent copies include plain
      ASCII without markup, Texinfo input format, LaTeX input format,
      SGML or XML using a publicly available DTD, and
-     standard-conforming simple HTML designed for human modification.
-     Opaque formats include PostScript, PDF, proprietary formats that
-     can be read and edited only by proprietary word processors, SGML
-     or XML for which the DTD and/or processing tools are not generally
-     available, and the machine-generated HTML produced by some word
-     processors for output purposes only.
+     standard-conforming simple HTML, PostScript or PDF designed for
+     human modification.  Examples of transparent image formats include
+     PNG, XCF and JPG.  Opaque formats include proprietary formats that
+     can be read and edited only by proprietary word processors, SGML or
+     XML for which the DTD and/or processing tools are not generally
+     available, and the machine-generated HTML, PostScript or PDF
+     produced by some word processors for output purposes only.
 
      The "Title Page" means, for a printed book, the title page itself,
      plus such following pages as are needed to hold, legibly, the
@@ -16496,6 +19102,25 @@ Appendix A GNU Free Documentation License
      Page" means the text near the most prominent appearance of the
      work's title, preceding the beginning of the body of the text.
 
+     The "publisher" means any person or entity that distributes copies
+     of the Document to the public.
+
+     A section "Entitled XYZ" means a named subunit of the Document
+     whose title either is precisely XYZ or contains XYZ in parentheses
+     following text that translates XYZ in another language.  (Here XYZ
+     stands for a specific section name mentioned below, such as
+     "Acknowledgements", "Dedications", "Endorsements", or "History".)
+     To "Preserve the Title" of such a section when you modify the
+     Document means that it remains a section "Entitled XYZ" according
+     to this definition.
+
+     The Document may include Warranty Disclaimers next to the notice
+     which states that this License applies to the Document.  These
+     Warranty Disclaimers are considered to be included by reference in
+     this License, but only as regards disclaiming warranties: any other
+     implication that these Warranty Disclaimers may have is void and
+     has no effect on the meaning of this License.
+
   2. VERBATIM COPYING
 
      You may copy and distribute the Document in any medium, either
@@ -16514,10 +19139,11 @@ Appendix A GNU Free Documentation License
 
   3. COPYING IN QUANTITY
 
-     If you publish printed copies of the Document numbering more than
-     100, and the Document's license notice requires Cover Texts, you
-     must enclose the copies in covers that carry, clearly and legibly,
-     all these Cover Texts: Front-Cover Texts on the front cover, and
+     If you publish printed copies (or copies in media that commonly
+     have printed covers) of the Document, numbering more than 100, and
+     the Document's license notice requires Cover Texts, you must
+     enclose the copies in covers that carry, clearly and legibly, all
+     these Cover Texts: Front-Cover Texts on the front cover, and
      Back-Cover Texts on the back cover.  Both covers must also clearly
      and legibly identify you as the publisher of these copies.  The
      front cover must present the full title with all words of the
@@ -16535,11 +19161,10 @@ Appendix A GNU Free Documentation License
      If you publish or distribute Opaque copies of the Document
      numbering more than 100, you must either include a
      machine-readable Transparent copy along with each Opaque copy, or
-     state in or with each Opaque copy a publicly-accessible
-     computer-network location containing a complete Transparent copy
-     of the Document, free of added material, which the general
-     network-using public has access to download anonymously at no
-     charge using public-standard network protocols.  If you use the
+     state in or with each Opaque copy a computer-network location from
+     which the general network-using public has access to download
+     using public-standard network protocols a complete Transparent
+     copy of the Document, free of added material.  If you use the
      latter option, you must take reasonably prudent steps, when you
      begin distribution of Opaque copies in quantity, to ensure that
      this Transparent copy will remain thus accessible at the stated
@@ -16562,57 +19187,75 @@ Appendix A GNU Free Documentation License
      whoever possesses a copy of it.  In addition, you must do these
      things in the Modified Version:
 
-     A. Use in the Title Page (and on the covers, if any) a title
-     distinct    from that of the Document, and from those of previous
-     versions    (which should, if there were any, be listed in the
-     History section    of the Document).  You may use the same title
-     as a previous version    if the original publisher of that version
-     gives permission.
-     B. List on the Title Page, as authors, one or more persons or
-     entities    responsible for authorship of the modifications in the
-     Modified    Version, together with at least five of the principal
-     authors of the    Document (all of its principal authors, if it
-     has less than five).
-     C. State on the Title page the name of the publisher of the
-     Modified Version, as the publisher.
-     D. Preserve all the copyright notices of the Document.
-     E. Add an appropriate copyright notice for your modifications
-     adjacent to the other copyright notices.
-     F. Include, immediately after the copyright notices, a license
-     notice    giving the public permission to use the Modified Version
-     under the    terms of this License, in the form shown in the
-     Addendum below.
-     G. Preserve in that license notice the full lists of Invariant
-     Sections    and required Cover Texts given in the Document's
-     license notice.
-     H. Include an unaltered copy of this License.
-     I. Preserve the section entitled "History", and its title, and add
-     to    it an item stating at least the title, year, new authors, and
-       publisher of the Modified Version as given on the Title Page.
-     If    there is no section entitled "History" in the Document,
-     create one    stating the title, year, authors, and publisher of
-     the Document as    given on its Title Page, then add an item
-     describing the Modified    Version as stated in the previous
-     sentence.
-     J. Preserve the network location, if any, given in the Document for
-       public access to a Transparent copy of the Document, and
-     likewise    the network locations given in the Document for
-     previous versions    it was based on.  These may be placed in the
-     "History" section.     You may omit a network location for a work
-     that was published at    least four years before the Document
-     itself, or if the original    publisher of the version it refers
-     to gives permission.
-     K. In any section entitled "Acknowledgements" or "Dedications",
-     preserve the section's title, and preserve in the section all the
-      substance and tone of each of the contributor acknowledgements
-     and/or dedications given therein.
-     L. Preserve all the Invariant Sections of the Document,
-     unaltered in their text and in their titles.  Section numbers
-     or the equivalent are not considered part of the section titles.
-     M. Delete any section entitled "Endorsements."  Such a section
-     may not be included in the Modified Version.
-     N. Do not retitle any existing section as "Endorsements"    or to
-     conflict in title with any Invariant Section.
+       A. Use in the Title Page (and on the covers, if any) a title
+          distinct from that of the Document, and from those of
+          previous versions (which should, if there were any, be listed
+          in the History section of the Document).  You may use the
+          same title as a previous version if the original publisher of
+          that version gives permission.
+
+       B. List on the Title Page, as authors, one or more persons or
+          entities responsible for authorship of the modifications in
+          the Modified Version, together with at least five of the
+          principal authors of the Document (all of its principal
+          authors, if it has fewer than five), unless they release you
+          from this requirement.
+
+       C. State on the Title page the name of the publisher of the
+          Modified Version, as the publisher.
+
+       D. Preserve all the copyright notices of the Document.
+
+       E. Add an appropriate copyright notice for your modifications
+          adjacent to the other copyright notices.
+
+       F. Include, immediately after the copyright notices, a license
+          notice giving the public permission to use the Modified
+          Version under the terms of this License, in the form shown in
+          the Addendum below.
+
+       G. Preserve in that license notice the full lists of Invariant
+          Sections and required Cover Texts given in the Document's
+          license notice.
+
+       H. Include an unaltered copy of this License.
+
+       I. Preserve the section Entitled "History", Preserve its Title,
+          and add to it an item stating at least the title, year, new
+          authors, and publisher of the Modified Version as given on
+          the Title Page.  If there is no section Entitled "History" in
+          the Document, create one stating the title, year, authors,
+          and publisher of the Document as given on its Title Page,
+          then add an item describing the Modified Version as stated in
+          the previous sentence.
+
+       J. Preserve the network location, if any, given in the Document
+          for public access to a Transparent copy of the Document, and
+          likewise the network locations given in the Document for
+          previous versions it was based on.  These may be placed in
+          the "History" section.  You may omit a network location for a
+          work that was published at least four years before the
+          Document itself, or if the original publisher of the version
+          it refers to gives permission.
+
+       K. For any section Entitled "Acknowledgements" or "Dedications",
+          Preserve the Title of the section, and preserve in the
+          section all the substance and tone of each of the contributor
+          acknowledgements and/or dedications given therein.
+
+       L. Preserve all the Invariant Sections of the Document,
+          unaltered in their text and in their titles.  Section numbers
+          or the equivalent are not considered part of the section
+          titles.
+
+       M. Delete any section Entitled "Endorsements".  Such a section
+          may not be included in the Modified Version.
+
+       N. Do not retitle any existing section to be Entitled
+          "Endorsements" or to conflict in title with any Invariant
+          Section.
+
+       O. Preserve any Warranty Disclaimers.
 
      If the Modified Version includes new front-matter sections or
      appendices that qualify as Secondary Sections and contain no
@@ -16622,11 +19265,11 @@ Appendix A GNU Free Documentation License
      Version's license notice.  These titles must be distinct from any
      other section titles.
 
-     You may add a section entitled "Endorsements", provided it contains
+     You may add a section Entitled "Endorsements", provided it contains
      nothing but endorsements of your Modified Version by various
-     parties-for example, statements of peer review or that the text has
-     been approved by an organization as the authoritative definition
-     of a standard.
+     parties--for example, statements of peer review or that the text
+     has been approved by an organization as the authoritative
+     definition of a standard.
 
      You may add a passage of up to five words as a Front-Cover Text,
      and a passage of up to 25 words as a Back-Cover Text, to the end
@@ -16650,7 +19293,8 @@ Appendix A GNU Free Documentation License
      modified versions, provided that you include in the combination
      all of the Invariant Sections of all of the original documents,
      unmodified, and list them all as Invariant Sections of your
-     combined work in its license notice.
+     combined work in its license notice, and that you preserve all
+     their Warranty Disclaimers.
 
      The combined work need only contain one copy of this License, and
      multiple identical Invariant Sections may be replaced with a single
@@ -16662,11 +19306,11 @@ Appendix A GNU Free Documentation License
      the list of Invariant Sections in the license notice of the
      combined work.
 
-     In the combination, you must combine any sections entitled
+     In the combination, you must combine any sections Entitled
      "History" in the various original documents, forming one section
-     entitled "History"; likewise combine any sections entitled
-     "Acknowledgements", and any sections entitled "Dedications."  You
-     must delete all sections entitled "Endorsements."
+     Entitled "History"; likewise combine any sections Entitled
+     "Acknowledgements", and any sections Entitled "Dedications".  You
+     must delete all sections Entitled "Endorsements."
 
   6. COLLECTIONS OF DOCUMENTS
 
@@ -16687,20 +19331,20 @@ Appendix A GNU Free Documentation License
 
      A compilation of the Document or its derivatives with other
      separate and independent documents or works, in or on a volume of
-     a storage or distribution medium, does not as a whole count as a
-     Modified Version of the Document, provided no compilation
-     copyright is claimed for the compilation.  Such a compilation is
-     called an "aggregate", and this License does not apply to the
-     other self-contained works thus compiled with the Document, on
-     account of their being thus compiled, if they are not themselves
-     derivative works of the Document.
+     a storage or distribution medium, is called an "aggregate" if the
+     copyright resulting from the compilation is not used to limit the
+     legal rights of the compilation's users beyond what the individual
+     works permit.  When the Document is included in an aggregate, this
+     License does not apply to the other works in the aggregate which
+     are not themselves derivative works of the Document.
 
      If the Cover Text requirement of section 3 is applicable to these
-     copies of the Document, then if the Document is less than one
-     quarter of the entire aggregate, the Document's Cover Texts may be
-     placed on covers that surround only the Document within the
-     aggregate.  Otherwise they must appear on covers around the whole
-     aggregate.
+     copies of the Document, then if the Document is less than one half
+     of the entire aggregate, the Document's Cover Texts may be placed
+     on covers that bracket the Document within the aggregate, or the
+     electronic equivalent of covers if the Document is in electronic
+     form.  Otherwise they must appear on printed covers that bracket
+     the whole aggregate.
 
   8. TRANSLATION
 
@@ -16710,20 +19354,45 @@ Appendix A GNU Free Documentation License
      permission from their copyright holders, but you may include
      translations of some or all Invariant Sections in addition to the
      original versions of these Invariant Sections.  You may include a
-     translation of this License provided that you also include the
-     original English version of this License.  In case of a
-     disagreement between the translation and the original English
-     version of this License, the original English version will prevail.
+     translation of this License, and all the license notices in the
+     Document, and any Warranty Disclaimers, provided that you also
+     include the original English version of this License and the
+     original versions of those notices and disclaimers.  In case of a
+     disagreement between the translation and the original version of
+     this License or a notice or disclaimer, the original version will
+     prevail.
+
+     If a section in the Document is Entitled "Acknowledgements",
+     "Dedications", or "History", the requirement (section 4) to
+     Preserve its Title (section 1) will typically require changing the
+     actual title.
 
   9. TERMINATION
 
      You may not copy, modify, sublicense, or distribute the Document
-     except as expressly provided for under this License.  Any other
-     attempt to copy, modify, sublicense or distribute the Document is
-     void, and will automatically terminate your rights under this
-     License.  However, parties who have received copies, or rights,
-     from you under this License will not have their licenses
-     terminated so long as such parties remain in full compliance.
+     except as expressly provided under this License.  Any attempt
+     otherwise to copy, modify, sublicense, or distribute it is void,
+     and will automatically terminate your rights under this License.
+
+     However, if you cease all violation of this License, then your
+     license from a particular copyright holder is reinstated (a)
+     provisionally, unless and until the copyright holder explicitly
+     and finally terminates your license, and (b) permanently, if the
+     copyright holder fails to notify you of the violation by some
+     reasonable means prior to 60 days after the cessation.
+
+     Moreover, your license from a particular copyright holder is
+     reinstated permanently if the copyright holder notifies you of the
+     violation by some reasonable means, this is the first time you have
+     received notice of violation of this License (for any work) from
+     that copyright holder, and you cure the violation prior to 30 days
+     after your receipt of the notice.
+
+     Termination of your rights under this section does not terminate
+     the licenses of parties who have received copies or rights from
+     you under this License.  If your rights have been terminated and
+     not permanently reinstated, receipt of a copy of some or all of
+     the same material does not give you any rights to use it.
 
  10. FUTURE REVISIONS OF THIS LICENSE
 
@@ -16731,7 +19400,7 @@ Appendix A GNU Free Documentation License
      the GNU Free Documentation License from time to time.  Such new
      versions will be similar in spirit to the present version, but may
      differ in detail to address new problems or concerns.  See
-     http://www.gnu.org/copyleft/.
+     `http://www.gnu.org/copyleft/'.
 
      Each version of the License is given a distinguishing version
      number.  If the Document specifies that a particular numbered
@@ -16741,7 +19410,40 @@ Appendix A GNU Free Documentation License
      published (not as a draft) by the Free Software Foundation.  If
      the Document does not specify a version number of this License,
      you may choose any version ever published (not as a draft) by the
-     Free Software Foundation.
+     Free Software Foundation.  If the Document specifies that a proxy
+     can decide which future versions of this License can be used, that
+     proxy's public statement of acceptance of a version permanently
+     authorizes you to choose that version for the Document.
+
+ 11. RELICENSING
+
+     "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+     World Wide Web server that publishes copyrightable works and also
+     provides prominent facilities for anybody to edit those works.  A
+     public wiki that anybody can edit is an example of such a server.
+     A "Massive Multiauthor Collaboration" (or "MMC") contained in the
+     site means any set of copyrightable works thus published on the MMC
+     site.
+
+     "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+     license published by Creative Commons Corporation, a not-for-profit
+     corporation with a principal place of business in San Francisco,
+     California, as well as future copyleft versions of that license
+     published by that same organization.
+
+     "Incorporate" means to publish or republish a Document, in whole or
+     in part, as part of another Document.
+
+     An MMC is "eligible for relicensing" if it is licensed under this
+     License, and if all works that were first published under this
+     License somewhere other than this MMC, and subsequently
+     incorporated in whole or in part into the MMC, (1) had no cover
+     texts or invariant sections, and (2) were thus incorporated prior
+     to November 1, 2008.
+
+     The operator of an MMC Site may republish an MMC contained in the
+     site under CC-BY-SA on the same site at any time before August 1,
+     2009, provided the MMC is eligible for relicensing.
 
 
 ADDENDUM: How to use this License for your documents
@@ -16751,19 +19453,24 @@ To use this License in a document you have written, include a copy of
 the License in the document and put the following copyright and license
 notices just after the title page:
 
-     Copyright (C)  YEAR  YOUR NAME.
-     Permission is granted to copy, distribute and/or modify this document
-     under the terms of the GNU Free Documentation License, Version 1.1
-     or any later version published by the Free Software Foundation;
-     with the Invariant Sections being LIST THEIR TITLES, with the
-     Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
-     A copy of the license is included in the section entitled "GNU
-     Free Documentation License."
+       Copyright (C)  YEAR  YOUR NAME.
+       Permission is granted to copy, distribute and/or modify this document
+       under the terms of the GNU Free Documentation License, Version 1.3
+       or any later version published by the Free Software Foundation;
+       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+       Texts.  A copy of the license is included in the section entitled ``GNU
+       Free Documentation License''.
+
+   If you have Invariant Sections, Front-Cover Texts and Back-Cover
+Texts, replace the "with...Texts." line with this:
 
-   If you have no Invariant Sections, write "with no Invariant Sections"
-instead of saying which ones are invariant.  If you have no Front-Cover
-Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being
-LIST"; likewise for Back-Cover Texts.
+         with the Invariant Sections being LIST THEIR TITLES, with
+         the Front-Cover Texts being LIST, and with the Back-Cover Texts
+         being LIST.
+
+   If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
 
    If your document contains nontrivial examples of program code, we
 recommend releasing these examples in parallel under your choice of
@@ -16779,13 +19486,13 @@ AS Index
 \0\b[index\0\b]
 * Menu:
 
-* #:                                     Comments.            (line  38)
+* #:                                     Comments.            (line  39)
 * #APP:                                  Preprocessing.       (line  27)
 * #NO_APP:                               Preprocessing.       (line  27)
-* $ in symbol names <1>:                 SH64-Chars.          (line  10)
-* $ in symbol names <2>:                 SH-Chars.            (line  10)
-* $ in symbol names <3>:                 D30V-Chars.          (line  63)
-* $ in symbol names:                     D10V-Chars.          (line  46)
+* $ in symbol names <1>:                 D30V-Chars.          (line  63)
+* $ in symbol names <2>:                 SH64-Chars.          (line  10)
+* $ in symbol names <3>:                 D10V-Chars.          (line  46)
+* $ in symbol names:                     SH-Chars.            (line  10)
 * $a:                                    ARM Mapping Symbols. (line   9)
 * $acos math builtin, TIC54X:            TIC54X-Builtins.     (line  10)
 * $asin math builtin, TIC54X:            TIC54X-Builtins.     (line  13)
@@ -16849,13 +19556,14 @@ AS Index
 * --emulation=criself command line option, CRIS: CRIS-Opts.   (line   9)
 * --enforce-aligned-data:                Sparc-Aligned-Data.  (line  11)
 * --fatal-warnings:                      W.                   (line  16)
+* --fix-v4bx command line option, ARM:   ARM Options.         (line 143)
 * --fixed-special-register-names command line option, MMIX: MMIX-Opts.
                                                               (line   8)
 * --force-long-branches:                 M68HC11-Opts.        (line  69)
 * --generate-example:                    M68HC11-Opts.        (line  86)
 * --globalize-symbols command line option, MMIX: MMIX-Opts.   (line  12)
 * --gnu-syntax command line option, MMIX: MMIX-Opts.          (line  16)
-* --hash-size=NUMBER:                    Overview.            (line 307)
+* --hash-size=NUMBER:                    Overview.            (line 326)
 * --linker-allocated-gregs command line option, MMIX: MMIX-Opts.
                                                               (line  67)
 * --listing-cont-lines:                  listing.             (line  34)
@@ -16900,11 +19608,12 @@ AS Index
 * --underscore command line option, CRIS: CRIS-Opts.          (line  15)
 * --warn:                                W.                   (line  19)
 * -1 option, VAX/VMS:                    VAX-Opts.            (line  77)
-* -32addr command line option, Alpha:    Alpha Options.       (line  50)
+* -32addr command line option, Alpha:    Alpha Options.       (line  58)
 * -a:                                    a.                   (line   6)
 * -A options, i960:                      Options-i960.        (line   6)
 * -ac:                                   a.                   (line   6)
 * -ad:                                   a.                   (line   6)
+* -ag:                                   a.                   (line   6)
 * -ah:                                   a.                   (line   6)
 * -al:                                   a.                   (line   6)
 * -an:                                   a.                   (line   6)
@@ -16917,23 +19626,22 @@ AS Index
 * -Av9a:                                 Sparc-Opts.          (line  25)
 * -b option, i960:                       Options-i960.        (line  22)
 * -big option, M32R:                     M32R-Opts.           (line  35)
-* -construct-floats:                     MIPS Opts.           (line 195)
 * -D:                                    D.                   (line   6)
 * -D, ignored on VAX:                    VAX-Opts.            (line  11)
 * -d, VAX option:                        VAX-Opts.            (line  16)
-* -eabi= command line option, ARM:       ARM Options.         (line 107)
+* -eabi= command line option, ARM:       ARM Options.         (line 126)
 * -EB command line option, ARC:          ARC Options.         (line  31)
-* -EB command line option, ARM:          ARM Options.         (line 112)
+* -EB command line option, ARM:          ARM Options.         (line 131)
 * -EB option (MIPS):                     MIPS Opts.           (line  13)
 * -EB option, M32R:                      M32R-Opts.           (line  39)
 * -EL command line option, ARC:          ARC Options.         (line  35)
-* -EL command line option, ARM:          ARM Options.         (line 116)
+* -EL command line option, ARM:          ARM Options.         (line 135)
 * -EL option (MIPS):                     MIPS Opts.           (line  13)
 * -EL option, M32R:                      M32R-Opts.           (line  32)
 * -f:                                    f.                   (line   6)
-* -F command line option, Alpha:         Alpha Options.       (line  50)
-* -G command line option, Alpha:         Alpha Options.       (line  46)
-* -g command line option, Alpha:         Alpha Options.       (line  40)
+* -F command line option, Alpha:         Alpha Options.       (line  58)
+* -G command line option, Alpha:         Alpha Options.       (line  54)
+* -g command line option, Alpha:         Alpha Options.       (line  48)
 * -G option (MIPS):                      MIPS Opts.           (line   8)
 * -H option, VAX/VMS:                    VAX-Opts.            (line  81)
 * -h option, VAX/VMS:                    VAX-Opts.            (line  45)
@@ -16942,7 +19650,7 @@ AS Index
 * -Ip option, M32RX:                     M32R-Opts.           (line  97)
 * -J, ignored on VAX:                    VAX-Opts.            (line  27)
 * -K:                                    K.                   (line   6)
-* -k command line option, ARM:           ARM Options.         (line 120)
+* -k command line option, ARM:           ARM Options.         (line 139)
 * -KPIC option, M32R:                    M32R-Opts.           (line  42)
 * -KPIC option, MIPS:                    MIPS Opts.           (line  21)
 * -L:                                    L.                   (line   6)
@@ -16975,10 +19683,12 @@ AS Index
 * -m11/93:                               PDP-11-Options.      (line 173)
 * -m11/94:                               PDP-11-Options.      (line 173)
 * -m16c option, M16C:                    M32C-Opts.           (line  12)
+* -m31 option, s390:                     s390 Options.        (line   8)
 * -m32c option, M32C:                    M32C-Opts.           (line   9)
 * -m32r option, M32R:                    M32R-Opts.           (line  21)
 * -m32rx option, M32R2:                  M32R-Opts.           (line  17)
 * -m32rx option, M32RX:                  M32R-Opts.           (line   9)
+* -m64 option, s390:                     s390 Options.        (line   8)
 * -m68000 and related options:           M68K-Opts.           (line 104)
 * -m68hc11:                              M68HC11-Opts.        (line   9)
 * -m68hc12:                              M68HC11-Opts.        (line  14)
@@ -16991,37 +19701,48 @@ AS Index
 * -m[no-]mac command line option, M680x0: M68K-Opts.          (line  21)
 * -m[no-]usp command line option, M680x0: M68K-Opts.          (line  21)
 * -mall:                                 PDP-11-Options.      (line  26)
+* -mall-enabled command line option, LM32: LM32 Options.      (line  30)
 * -mall-extensions:                      PDP-11-Options.      (line  26)
-* -mall-opcodes command line option, AVR: AVR Options.        (line  43)
-* -mapcs command line option, ARM:       ARM Options.         (line  80)
-* -mapcs-float command line option, ARM: ARM Options.         (line  93)
-* -mapcs-reentrant command line option, ARM: ARM Options.     (line  98)
+* -mall-opcodes command line option, AVR: AVR Options.        (line  62)
+* -mapcs command line option, ARM:       ARM Options.         (line  99)
+* -mapcs-float command line option, ARM: ARM Options.         (line 112)
+* -mapcs-reentrant command line option, ARM: ARM Options.     (line 117)
 * -marc[5|6|7|8] command line option, ARC: ARC Options.       (line   6)
-* -march= command line option, ARM:      ARM Options.         (line  37)
+* -march= command line option, ARM:      ARM Options.         (line  40)
 * -march= command line option, M680x0:   M68K-Opts.           (line   8)
 * -march= option, i386:                  i386-Options.        (line  31)
+* -march= option, s390:                  s390 Options.        (line  25)
 * -march= option, x86-64:                i386-Options.        (line  31)
-* -matpcs command line option, ARM:      ARM Options.         (line  85)
+* -matpcs command line option, ARM:      ARM Options.         (line 104)
+* -mbarrel-shift-enabled command line option, LM32: LM32 Options.
+                                                              (line  12)
+* -mbreak-enabled command line option, LM32: LM32 Options.    (line  27)
 * -mcis:                                 PDP-11-Options.      (line  32)
 * -mconstant-gp command line option, IA-64: IA-64 Options.    (line   6)
 * -mCPU command line option, Alpha:      Alpha Options.       (line   6)
 * -mcpu option, cpu:                     TIC54X-Opts.         (line  15)
 * -mcpu= command line option, ARM:       ARM Options.         (line   6)
+* -mcpu= command line option, Blackfin:  Blackfin Options.    (line   6)
 * -mcpu= command line option, M680x0:    M68K-Opts.           (line  14)
 * -mcsm:                                 PDP-11-Options.      (line  43)
+* -mdcache-enabled command line option, LM32: LM32 Options.   (line  24)
 * -mdebug command line option, Alpha:    Alpha Options.       (line  25)
+* -mdivide-enabled command line option, LM32: LM32 Options.   (line   9)
 * -me option, stderr redirect:           TIC54X-Opts.         (line  20)
 * -meis:                                 PDP-11-Options.      (line  46)
 * -merrors-to-file option, stderr redirect: TIC54X-Opts.      (line  20)
+* -mesa option, s390:                    s390 Options.        (line  17)
 * -mf option, far-mode:                  TIC54X-Opts.         (line   8)
 * -mf11:                                 PDP-11-Options.      (line 122)
 * -mfar-mode option, far-mode:           TIC54X-Opts.         (line   8)
 * -mfis:                                 PDP-11-Options.      (line  51)
-* -mfloat-abi= command line option, ARM: ARM Options.         (line 102)
+* -mfloat-abi= command line option, ARM: ARM Options.         (line 121)
 * -mfp-11:                               PDP-11-Options.      (line  56)
 * -mfpp:                                 PDP-11-Options.      (line  56)
 * -mfpu:                                 PDP-11-Options.      (line  56)
-* -mfpu= command line option, ARM:       ARM Options.         (line  52)
+* -mfpu= command line option, ARM:       ARM Options.         (line  55)
+* -micache-enabled command line option, LM32: LM32 Options.   (line  21)
+* -mimplicit-it command line option, ARM: ARM Options.        (line  83)
 * -mip2022 option, IP2K:                 IP2K-Opts.           (line  14)
 * -mip2022ext option, IP2022:            IP2K-Opts.           (line   9)
 * -mj11:                                 PDP-11-Options.      (line 126)
@@ -17043,8 +19764,13 @@ AS Index
 * -mmcu= command line option, AVR:       AVR Options.         (line   6)
 * -mmfpt:                                PDP-11-Options.      (line  70)
 * -mmicrocode:                           PDP-11-Options.      (line  83)
+* -mmnemonic= option, i386:              i386-Options.        (line  80)
+* -mmnemonic= option, x86-64:            i386-Options.        (line  80)
+* -mmultiply-enabled command line option, LM32: LM32 Options. (line   6)
 * -mmutiproc:                            PDP-11-Options.      (line  73)
 * -mmxps:                                PDP-11-Options.      (line  77)
+* -mnaked-reg option, i386:              i386-Options.        (line  94)
+* -mnaked-reg option, x86-64:            i386-Options.        (line  94)
 * -mno-cis:                              PDP-11-Options.      (line  32)
 * -mno-csm:                              PDP-11-Options.      (line  43)
 * -mno-eis:                              PDP-11-Options.      (line  46)
@@ -17060,30 +19786,43 @@ AS Index
 * -mno-mutiproc:                         PDP-11-Options.      (line  73)
 * -mno-mxps:                             PDP-11-Options.      (line  77)
 * -mno-pic:                              PDP-11-Options.      (line  11)
-* -mno-skip-bug command line option, AVR: AVR Options.        (line  46)
+* -mno-regnames option, s390:            s390 Options.        (line  35)
+* -mno-skip-bug command line option, AVR: AVR Options.        (line  65)
 * -mno-spl:                              PDP-11-Options.      (line  80)
-* -mno-sym32:                            MIPS Opts.           (line 183)
-* -mno-wrap command line option, AVR:    AVR Options.         (line  49)
+* -mno-sym32:                            MIPS Opts.           (line 189)
+* -mno-wrap command line option, AVR:    AVR Options.         (line  68)
 * -mpic:                                 PDP-11-Options.      (line  11)
+* -mregnames option, s390:               s390 Options.        (line  32)
 * -mrelax command line option, V850:     V850 Options.        (line  51)
 * -mshort:                               M68HC11-Opts.        (line  27)
 * -mshort-double:                        M68HC11-Opts.        (line  36)
+* -msign-extend-enabled command line option, LM32: LM32 Options.
+                                                              (line  15)
 * -mspl:                                 PDP-11-Options.      (line  80)
-* -msym32:                               MIPS Opts.           (line 183)
+* -msse-check= option, i386:             i386-Options.        (line  68)
+* -msse-check= option, x86-64:           i386-Options.        (line  68)
+* -msse2avx option, i386:                i386-Options.        (line  64)
+* -msse2avx option, x86-64:              i386-Options.        (line  64)
+* -msym32:                               MIPS Opts.           (line 189)
+* -msyntax= option, i386:                i386-Options.        (line  87)
+* -msyntax= option, x86-64:              i386-Options.        (line  87)
 * -mt11:                                 PDP-11-Options.      (line 130)
-* -mthumb command line option, ARM:      ARM Options.         (line  71)
-* -mthumb-interwork command line option, ARM: ARM Options.    (line  76)
-* -mtune= option, i386:                  i386-Options.        (line  43)
-* -mtune= option, x86-64:                i386-Options.        (line  43)
+* -mthumb command line option, ARM:      ARM Options.         (line  74)
+* -mthumb-interwork command line option, ARM: ARM Options.    (line  79)
+* -mtune= option, i386:                  i386-Options.        (line  56)
+* -mtune= option, x86-64:                i386-Options.        (line  56)
+* -muser-enabled command line option, LM32: LM32 Options.     (line  18)
 * -mv850 command line option, V850:      V850 Options.        (line  23)
 * -mv850any command line option, V850:   V850 Options.        (line  41)
 * -mv850e command line option, V850:     V850 Options.        (line  29)
 * -mv850e1 command line option, V850:    V850 Options.        (line  35)
 * -mvxworks-pic option, MIPS:            MIPS Opts.           (line  26)
+* -mwarn-areg-zero option, s390:         s390 Options.        (line  38)
+* -mwarn-deprecated command line option, ARM: ARM Options.    (line 147)
+* -mzarch option, s390:                  s390 Options.        (line  17)
 * -N command line option, CRIS:          CRIS-Opts.           (line  57)
 * -nIp option, M32RX:                    M32R-Opts.           (line 101)
 * -no-bitinst, M32R2:                    M32R-Opts.           (line  54)
-* -no-construct-floats:                  MIPS Opts.           (line 195)
 * -no-ignore-parallel-conflicts option, M32RX: M32R-Opts.     (line  93)
 * -no-mdebug command line option, Alpha: Alpha Options.       (line  25)
 * -no-parallel option, M32RX:            M32R-Opts.           (line  51)
@@ -17091,13 +19830,15 @@ AS Index
 * -no-warn-explicit-parallel-conflicts option, M32RX: M32R-Opts.
                                                               (line  79)
 * -no-warn-unmatched-high option, M32R:  M32R-Opts.           (line 111)
-* -nocpp ignored (MIPS):                 MIPS Opts.           (line 186)
+* -nocpp ignored (MIPS):                 MIPS Opts.           (line 192)
+* -noreplace command line option, Alpha: Alpha Options.       (line  40)
 * -o:                                    o.                   (line   6)
 * -O option, M32RX:                      M32R-Opts.           (line  59)
 * -parallel option, M32RX:               M32R-Opts.           (line  46)
 * -R:                                    R.                   (line   6)
 * -r800 command line option, Z80:        Z80 Options.         (line  41)
 * -relax command line option, Alpha:     Alpha Options.       (line  32)
+* -replace command line option, Alpha:   Alpha Options.       (line  40)
 * -S, ignored on VAX:                    VAX-Opts.            (line  11)
 * -t, ignored on VAX:                    VAX-Opts.            (line  36)
 * -T, ignored on VAX:                    VAX-Opts.            (line  11)
@@ -17119,36 +19860,59 @@ AS Index
 * -z8001 command line option, Z8000:     Z8000 Options.       (line   6)
 * -z8002 command line option, Z8000:     Z8000 Options.       (line   9)
 * . (symbol):                            Dot.                 (line   6)
-* .arch directive, ARM:                  ARM Directives.      (line 210)
+* .2byte directive, ARM:                 ARM Directives.      (line   6)
+* .4byte directive, ARM:                 ARM Directives.      (line   6)
+* .8byte directive, ARM:                 ARM Directives.      (line   6)
+* .align directive, ARM:                 ARM Directives.      (line  11)
+* .arch directive, ARM:                  ARM Directives.      (line  18)
+* .arm directive, ARM:                   ARM Directives.      (line  22)
 * .big directive, M32RX:                 M32R-Directives.     (line  88)
-* .cantunwind directive, ARM:            ARM Directives.      (line 114)
-* .cpu directive, ARM:                   ARM Directives.      (line 206)
-* .eabi_attribute directive, ARM:        ARM Directives.      (line 224)
-* .fnend directive, ARM:                 ARM Directives.      (line 105)
-* .fnstart directive, ARM:               ARM Directives.      (line 102)
-* .fpu directive, ARM:                   ARM Directives.      (line 220)
-* .handlerdata directive, ARM:           ARM Directives.      (line 125)
+* .bss directive, ARM:                   ARM Directives.      (line  30)
+* .cantunwind directive, ARM:            ARM Directives.      (line  33)
+* .code directive, ARM:                  ARM Directives.      (line  37)
+* .cpu directive, ARM:                   ARM Directives.      (line  41)
+* .dn and .qn directives, ARM:           ARM Directives.      (line  45)
+* .eabi_attribute directive, ARM:        ARM Directives.      (line  69)
+* .even directive, ARM:                  ARM Directives.      (line  93)
+* .extend directive, ARM:                ARM Directives.      (line  96)
+* .fnend directive, ARM:                 ARM Directives.      (line 102)
+* .fnstart directive, ARM:               ARM Directives.      (line 111)
+* .force_thumb directive, ARM:           ARM Directives.      (line 114)
+* .fpu directive, ARM:                   ARM Directives.      (line 118)
+* .global:                               MIPS insn.           (line  12)
+* .handlerdata directive, ARM:           ARM Directives.      (line 122)
 * .insn:                                 MIPS insn.           (line   6)
+* .insn directive, s390:                 s390 Directives.     (line  11)
+* .inst directive, ARM:                  ARM Directives.      (line 131)
+* .ldouble directive, ARM:               ARM Directives.      (line  96)
 * .little directive, M32RX:              M32R-Directives.     (line  82)
-* .ltorg directive, ARM:                 ARM Directives.      (line  85)
+* .long directive, s390:                 s390 Directives.     (line  16)
+* .ltorg directive, ARM:                 ARM Directives.      (line 143)
+* .ltorg directive, s390:                s390 Directives.     (line  88)
 * .m32r directive, M32R:                 M32R-Directives.     (line  66)
 * .m32r2 directive, M32R2:               M32R-Directives.     (line  77)
 * .m32rx directive, M32RX:               M32R-Directives.     (line  72)
-* .movsp directive, ARM:                 ARM Directives.      (line 180)
+* .movsp directive, ARM:                 ARM Directives.      (line 157)
 * .o:                                    Object.              (line   6)
-* .object_arch directive, ARM:           ARM Directives.      (line 214)
-* .pad directive, ARM:                   ARM Directives.      (line 175)
+* .object_arch directive, ARM:           ARM Directives.      (line 162)
+* .packed directive, ARM:                ARM Directives.      (line 168)
+* .pad directive, ARM:                   ARM Directives.      (line  25)
 * .param on HPPA:                        HPPA Directives.     (line  19)
-* .personality directive, ARM:           ARM Directives.      (line 118)
-* .personalityindex directive, ARM:      ARM Directives.      (line 121)
-* .pool directive, ARM:                  ARM Directives.      (line  99)
-* .save directive, ARM:                  ARM Directives.      (line 134)
+* .personality directive, ARM:           ARM Directives.      (line 178)
+* .personalityindex directive, ARM:      ARM Directives.      (line 181)
+* .pool directive, ARM:                  ARM Directives.      (line 185)
+* .quad directive, s390:                 s390 Directives.     (line  16)
+* .req directive, ARM:                   ARM Directives.      (line 188)
+* .save directive, ARM:                  ARM Directives.      (line 193)
+* .secrel32 directive, ARM:              ARM Directives.      (line 231)
 * .set arch=CPU:                         MIPS ISA.            (line  18)
 * .set autoextend:                       MIPS autoextend.     (line   6)
+* .set doublefloat:                      MIPS floating-point. (line  12)
 * .set dsp:                              MIPS ASE instruction generation overrides.
                                                               (line  21)
 * .set dspr2:                            MIPS ASE instruction generation overrides.
                                                               (line  26)
+* .set hardfloat:                        MIPS floating-point. (line   6)
 * .set mdmx:                             MIPS ASE instruction generation overrides.
                                                               (line  16)
 * .set mips3d:                           MIPS ASE instruction generation overrides.
@@ -17172,15 +19936,23 @@ AS Index
 * .set nosym32:                          MIPS symbol sizes.   (line   6)
 * .set pop:                              MIPS option stack.   (line   6)
 * .set push:                             MIPS option stack.   (line   6)
+* .set singlefloat:                      MIPS floating-point. (line  12)
 * .set smartmips:                        MIPS ASE instruction generation overrides.
                                                               (line  11)
+* .set softfloat:                        MIPS floating-point. (line   6)
 * .set sym32:                            MIPS symbol sizes.   (line   6)
-* .setfp directive, ARM:                 ARM Directives.      (line 185)
-* .unwind_raw directive, ARM:            ARM Directives.      (line 199)
+* .setfp directive, ARM:                 ARM Directives.      (line 217)
+* .short directive, s390:                s390 Directives.     (line  16)
+* .syntax directive, ARM:                ARM Directives.      (line 236)
+* .thumb directive, ARM:                 ARM Directives.      (line 240)
+* .thumb_func directive, ARM:            ARM Directives.      (line 243)
+* .thumb_set directive, ARM:             ARM Directives.      (line 254)
+* .unreq directive, ARM:                 ARM Directives.      (line 261)
+* .unwind_raw directive, ARM:            ARM Directives.      (line 272)
 * .v850 directive, V850:                 V850 Directives.     (line  14)
 * .v850e directive, V850:                V850 Directives.     (line  20)
 * .v850e1 directive, V850:               V850 Directives.     (line  26)
-* .vsave directive, ARM:                 ARM Directives.      (line 158)
+* .vsave directive, ARM:                 ARM Directives.      (line 279)
 * .z8001:                                Z8000 Directives.    (line  11)
 * .z8002:                                Z8000 Directives.    (line  15)
 * 16-bit code, i386:                     i386-16bit.          (line   6)
@@ -17206,8 +19978,8 @@ AS Index
 * a.out symbol attributes:               a.out Symbols.       (line   6)
 * A_DIR environment variable, TIC54X:    TIC54X-Env.          (line   6)
 * ABI options, SH64:                     SH64 Options.        (line  29)
-* ABORT directive:                       ABORT (COFF).        (line   6)
 * abort directive:                       Abort.               (line   6)
+* ABORT directive:                       ABORT (COFF).        (line   6)
 * absolute section:                      Ld Sections.         (line  29)
 * absolute-literals directive:           Absolute Literals Directive.
                                                               (line   6)
@@ -17228,7 +20000,6 @@ AS Index
 * ADRL reg,<label> pseudo op, ARM:       ARM Opcodes.         (line  35)
 * advancing location counter:            Org.                 (line   6)
 * align directive:                       Align.               (line   6)
-* align directive, ARM:                  ARM Directives.      (line   6)
 * align directive, SPARC:                Sparc-Directives.    (line   9)
 * align directive, TIC54X:               TIC54X-Directives.   (line   6)
 * alignment of branch targets:           Xtensa Automatic Alignment.
@@ -17244,7 +20015,7 @@ AS Index
 * Alpha registers:                       Alpha-Regs.          (line   6)
 * Alpha relocations:                     Alpha-Relocs.        (line   6)
 * Alpha support:                         Alpha-Dependent.     (line   6)
-* Alpha Syntax:                          Alpha Options.       (line  54)
+* Alpha Syntax:                          Alpha Options.       (line  62)
 * Alpha-only directives:                 Alpha Directives.    (line  10)
 * altered difference tables:             Word.                (line  12)
 * alternate syntax for the 680x0:        M68K-Moto-Syntax.    (line   6)
@@ -17273,6 +20044,7 @@ AS Index
 * architecture options, M680x0:          M68K-Opts.           (line 104)
 * Architecture variant option, CRIS:     CRIS-Opts.           (line  33)
 * architectures, PowerPC:                PowerPC-Opts.        (line   6)
+* architectures, SCORE:                  SCORE-Opts.          (line   6)
 * architectures, SPARC:                  Sparc-Opts.          (line   6)
 * arguments for addition:                Infix Ops.           (line  44)
 * arguments for subtraction:             Infix Ops.           (line  49)
@@ -17280,7 +20052,6 @@ AS Index
 * arithmetic functions:                  Operators.           (line   6)
 * arithmetic operands:                   Arguments.           (line   6)
 * ARM data relocations:                  ARM-Relocations.     (line   6)
-* arm directive, ARM:                    ARM Directives.      (line  60)
 * ARM floating point (IEEE):             ARM Floating Point.  (line   6)
 * ARM identifiers:                       ARM-Chars.           (line  15)
 * ARM immediate character:               ARM-Chars.           (line  13)
@@ -17324,8 +20095,8 @@ AS Index
 * assembler version:                     v.                   (line   6)
 * assembler, and linker:                 Secs Background.     (line  10)
 * assembly listings, enabling:           a.                   (line   6)
-* assigning values to symbols <1>:       Equ.                 (line   6)
-* assigning values to symbols:           Setting Symbols.     (line   6)
+* assigning values to symbols <1>:       Setting Symbols.     (line   6)
+* assigning values to symbols:           Equ.                 (line   6)
 * atmp directive, i860:                  Directives-i860.     (line  16)
 * att_syntax pseudo op, i386:            i386-Syntax.         (line   6)
 * att_syntax pseudo op, x86-64:          i386-Syntax.         (line   6)
@@ -17346,10 +20117,8 @@ AS Index
 * balignl directive:                     Balign.              (line  27)
 * balignw directive:                     Balign.              (line  27)
 * bes directive, TIC54X:                 TIC54X-Directives.   (line 197)
-* BFIN directives:                       BFIN Directives.     (line   6)
-* BFIN syntax:                           BFIN Syntax.         (line   6)
-* big endian output, MIPS:               Overview.            (line 616)
-* big endian output, PJ:                 Overview.            (line 523)
+* big endian output, MIPS:               Overview.            (line 641)
+* big endian output, PJ:                 Overview.            (line 548)
 * big-endian output, MIPS:               MIPS Opts.           (line  13)
 * bignums:                               Bignums.             (line   6)
 * binary constants, TIC54X:              TIC54X-Constants.    (line   8)
@@ -17357,7 +20126,10 @@ AS Index
 * binary integers:                       Integers.            (line   6)
 * bit names, IA-64:                      IA-64-Bits.          (line   6)
 * bitfields, not supported on VAX:       VAX-no.              (line   6)
-* Blackfin support:                      BFIN-Dependent.      (line   6)
+* Blackfin directives:                   Blackfin Directives. (line   6)
+* Blackfin options (none):               Blackfin Options.    (line   6)
+* Blackfin support:                      Blackfin-Dependent.  (line   6)
+* Blackfin syntax:                       Blackfin Syntax.     (line   6)
 * block:                                 Z8000 Directives.    (line  55)
 * branch improvement, M680x0:            M68K-Branch.         (line   6)
 * branch improvement, M68HC11:           M68HC11-Branch.      (line   6)
@@ -17386,14 +20158,15 @@ AS Index
 * byte directive, TIC54X:                TIC54X-Directives.   (line  36)
 * C54XDSP_DIR environment variable, TIC54X: TIC54X-Env.       (line   6)
 * c_mode directive, TIC54X:              TIC54X-Directives.   (line  51)
-* call instructions, i386:               i386-Mnemonics.      (line  51)
+* call instructions, i386:               i386-Mnemonics.      (line  55)
 * call instructions, relaxation:         Xtensa Call Relaxation.
                                                               (line   6)
-* call instructions, x86-64:             i386-Mnemonics.      (line  51)
+* call instructions, x86-64:             i386-Mnemonics.      (line  55)
 * callj, i960 pseudo-opcode:             callj-i960.          (line   6)
 * carriage return (\r):                  Strings.             (line  24)
 * case sensitivity, Z80:                 Z80-Case.            (line   6)
-* cfi_endproc directive:                 CFI directives.      (line  16)
+* cfi_endproc directive:                 CFI directives.      (line  26)
+* cfi_sections directive:                CFI directives.      (line  13)
 * cfi_startproc directive:               CFI directives.      (line   6)
 * char directive, TIC54X:                TIC54X-Directives.   (line  36)
 * character constant, Z80:               Z80-Chars.           (line  13)
@@ -17403,7 +20176,6 @@ AS Index
 * character, single:                     Chars.               (line   6)
 * characters used in symbols:            Symbol Intro.        (line   6)
 * clink directive, TIC54X:               TIC54X-Directives.   (line  45)
-* code directive, ARM:                   ARM Directives.      (line  53)
 * code16 directive, i386:                i386-16bit.          (line   6)
 * code16gcc directive, i386:             i386-16bit.          (line   6)
 * code32 directive, i386:                i386-16bit.          (line   6)
@@ -17442,10 +20214,11 @@ AS Index
 * constants, floating point:             Flonums.             (line   6)
 * constants, integer:                    Integers.            (line   6)
 * constants, number:                     Numbers.             (line   6)
+* constants, Sparc:                      Sparc-Constants.     (line   6)
 * constants, string:                     Strings.             (line   6)
 * constants, TIC54X:                     TIC54X-Constants.    (line   6)
-* conversion instructions, i386:         i386-Mnemonics.      (line  32)
-* conversion instructions, x86-64:       i386-Mnemonics.      (line  32)
+* conversion instructions, i386:         i386-Mnemonics.      (line  36)
+* conversion instructions, x86-64:       i386-Mnemonics.      (line  36)
 * coprocessor wait, i386:                i386-Prefixes.       (line  40)
 * copy directive, TIC54X:                TIC54X-Directives.   (line  54)
 * cpu directive, M680x0:                 M68K-Directives.     (line  30)
@@ -17490,7 +20263,7 @@ AS Index
 * D10V floating point:                   D10V-Float.          (line   6)
 * D10V line comment character:           D10V-Chars.          (line   6)
 * D10V opcode summary:                   D10V-Opcodes.        (line   6)
-* D10V optimization:                     Overview.            (line 401)
+* D10V optimization:                     Overview.            (line 420)
 * D10V options:                          D10V-Opts.           (line   6)
 * D10V registers:                        D10V-Regs.           (line   6)
 * D10V size modifiers:                   D10V-Size.           (line   6)
@@ -17502,10 +20275,10 @@ AS Index
 * D30V floating point:                   D30V-Float.          (line   6)
 * D30V Guarded Execution:                D30V-Guarded.        (line   6)
 * D30V line comment character:           D30V-Chars.          (line   6)
-* D30V nops:                             Overview.            (line 409)
-* D30V nops after 32-bit multiply:       Overview.            (line 412)
+* D30V nops:                             Overview.            (line 428)
+* D30V nops after 32-bit multiply:       Overview.            (line 431)
 * D30V opcode summary:                   D30V-Opcodes.        (line   6)
-* D30V optimization:                     Overview.            (line 406)
+* D30V optimization:                     Overview.            (line 425)
 * D30V options:                          D30V-Opts.           (line   6)
 * D30V registers:                        D30V-Regs.           (line   6)
 * D30V size modifiers:                   D30V-Size.           (line   6)
@@ -17543,14 +20316,17 @@ AS Index
 * dim directive:                         Dim.                 (line   6)
 * directives and instructions:           Statements.          (line  19)
 * directives for PowerPC:                PowerPC-Pseudo.      (line   6)
-* directives, BFIN:                      BFIN Directives.     (line   6)
+* directives for SCORE:                  SCORE-Pseudo.        (line   6)
+* directives, Blackfin:                  Blackfin Directives. (line   6)
 * directives, M32R:                      M32R-Directives.     (line   6)
 * directives, M680x0:                    M68K-Directives.     (line   6)
 * directives, machine independent:       Pseudo Ops.          (line   6)
 * directives, Xtensa:                    Xtensa Directives.   (line   6)
 * directives, Z8000:                     Z8000 Directives.    (line   6)
+* Disable floating-point instructions:   MIPS floating-point. (line   6)
+* Disable single-precision floating-point operations: MIPS floating-point.
+                                                              (line  12)
 * displacement sizing character, VAX:    VAX-operands.        (line  12)
-* dn and qn directives, ARM:             ARM Directives.      (line  29)
 * dollar local symbols:                  Symbol Names.        (line 105)
 * dot (symbol):                          Dot.                 (line   6)
 * double directive:                      Double.              (line   6)
@@ -17575,13 +20351,15 @@ AS Index
 * elseif directive:                      Elseif.              (line   6)
 * empty expressions:                     Empty Exprs.         (line   6)
 * emsg directive, TIC54X:                TIC54X-Directives.   (line  77)
-* emulation:                             Overview.            (line 719)
+* emulation:                             Overview.            (line 744)
+* encoding options, i386:                i386-Mnemonics.      (line  32)
+* encoding options, x86-64:              i386-Mnemonics.      (line  32)
 * end directive:                         End.                 (line   6)
 * enddual directive, i860:               Directives-i860.     (line  11)
 * endef directive:                       Endef.               (line   6)
 * endfunc directive:                     Endfunc.             (line   6)
-* endianness, MIPS:                      Overview.            (line 616)
-* endianness, PJ:                        Overview.            (line 523)
+* endianness, MIPS:                      Overview.            (line 641)
+* endianness, PJ:                        Overview.            (line 548)
 * endif directive:                       Endif.               (line   6)
 * endloop directive, TIC54X:             TIC54X-Directives.   (line 143)
 * endm directive:                        Macro.               (line 138)
@@ -17636,15 +20414,14 @@ AS Index
 * fepsw register, V850:                  V850-Regs.           (line 110)
 * ffloat directive, VAX:                 VAX-directives.      (line  14)
 * field directive, TIC54X:               TIC54X-Directives.   (line  91)
-* file directive <1>:                    File.                (line   6)
-* file directive:                        LNS directives.      (line   6)
+* file directive:                        File.                (line   6)
 * file directive, MSP 430:               MSP430 Directives.   (line   6)
-* file name, logical:                    File.                (line   6)
+* file name, logical:                    File.                (line  13)
 * files, including:                      Include.             (line   6)
 * files, input:                          Input Files.         (line   6)
 * fill directive:                        Fill.                (line   6)
-* filling memory <1>:                    Space.               (line   6)
-* filling memory:                        Skip.                (line   6)
+* filling memory <1>:                    Skip.                (line   6)
+* filling memory:                        Space.               (line   6)
 * FLIX syntax:                           Xtensa Syntax.       (line   6)
 * float directive:                       Float.               (line   6)
 * float directive, i386:                 i386-Float.          (line  14)
@@ -17655,8 +20432,8 @@ AS Index
 * float directive, x86-64:               i386-Float.          (line  14)
 * floating point numbers:                Flonums.             (line   6)
 * floating point numbers (double):       Double.              (line   6)
-* floating point numbers (single) <1>:   Single.              (line   6)
-* floating point numbers (single):       Float.               (line   6)
+* floating point numbers (single) <1>:   Float.               (line   6)
+* floating point numbers (single):       Single.              (line   6)
 * floating point, Alpha (IEEE):          Alpha Floating Point.
                                                               (line   6)
 * floating point, ARC (IEEE):            ARC Floating Point.  (line   6)
@@ -17674,6 +20451,7 @@ AS Index
 * floating point, M68HC11:               M68HC11-Float.       (line   6)
 * floating point, MSP 430 (IEEE):        MSP430 Floating Point.
                                                               (line   6)
+* floating point, s390:                  s390 Floating Point. (line   6)
 * floating point, SH (IEEE):             SH Floating Point.   (line   6)
 * floating point, SPARC (IEEE):          Sparc-Float.         (line   6)
 * floating point, V850 (IEEE):           V850 Floating Point. (line   6)
@@ -17681,7 +20459,6 @@ AS Index
 * floating point, x86-64:                i386-Float.          (line   6)
 * floating point, Z80:                   Z80 Floating Point.  (line   6)
 * flonums:                               Flonums.             (line   6)
-* force_thumb directive, ARM:            ARM Directives.      (line  63)
 * format of error messages:              Errors.              (line  24)
 * format of warning messages:            Errors.              (line  12)
 * formfeed (\f):                         Strings.             (line  18)
@@ -17702,7 +20479,7 @@ AS Index
 * H8/300 line separator:                 H8/300-Chars.        (line   8)
 * H8/300 machine directives (none):      H8/300 Directives.   (line   6)
 * H8/300 opcode summary:                 H8/300 Opcodes.      (line   6)
-* H8/300 options (none):                 H8/300 Options.      (line   6)
+* H8/300 options:                        H8/300 Options.      (line   6)
 * H8/300 registers:                      H8/300-Regs.         (line   6)
 * H8/300 size suffixes:                  H8/300 Opcodes.      (line 163)
 * H8/300 support:                        H8/300-Dependent.    (line   6)
@@ -17728,7 +20505,7 @@ AS Index
 * i386 16-bit code:                      i386-16bit.          (line   6)
 * i386 arch directive:                   i386-Arch.           (line   6)
 * i386 att_syntax pseudo op:             i386-Syntax.         (line   6)
-* i386 conversion instructions:          i386-Mnemonics.      (line  32)
+* i386 conversion instructions:          i386-Mnemonics.      (line  36)
 * i386 floating point:                   i386-Float.          (line   6)
 * i386 immediate operands:               i386-Syntax.         (line  15)
 * i386 instruction naming:               i386-Mnemonics.      (line   6)
@@ -17738,6 +20515,7 @@ AS Index
 * i386 jump, call, return:               i386-Syntax.         (line  38)
 * i386 jump/call operands:               i386-Syntax.         (line  15)
 * i386 memory references:                i386-Memory.         (line   6)
+* i386 mnemonic compatibility:           i386-Mnemonics.      (line  61)
 * i386 mul, imul instructions:           i386-Notes.          (line   6)
 * i386 options:                          i386-Options.        (line   6)
 * i386 register operands:                i386-Syntax.         (line  15)
@@ -17747,7 +20525,7 @@ AS Index
 * i386 source, destination operands:     i386-Syntax.         (line  22)
 * i386 support:                          i386-Dependent.      (line   6)
 * i386 syntax compatibility:             i386-Syntax.         (line   6)
-* i80306 support:                        i386-Dependent.      (line   6)
+* i80386 support:                        i386-Dependent.      (line   6)
 * i860 machine directives:               Directives-i860.     (line   6)
 * i860 opcodes:                          Opcodes for i860.    (line   6)
 * i860 support:                          i860-Dependent.      (line   6)
@@ -17806,10 +20584,18 @@ AS Index
 * inhibiting interrupts, i386:           i386-Prefixes.       (line  36)
 * input:                                 Input Files.         (line   6)
 * input file linenumbers:                Input Files.         (line  35)
+* instruction aliases, s390:             s390 Aliases.        (line   6)
 * instruction expansion, CRIS:           CRIS-Expand.         (line   6)
 * instruction expansion, MMIX:           MMIX-Expand.         (line   6)
+* instruction formats, s390:             s390 Formats.        (line   6)
+* instruction marker, s390:              s390 Instruction Marker.
+                                                              (line   6)
+* instruction mnemonics, s390:           s390 Mnemonics.      (line   6)
 * instruction naming, i386:              i386-Mnemonics.      (line   6)
 * instruction naming, x86-64:            i386-Mnemonics.      (line   6)
+* instruction operand modifier, s390:    s390 Operand Modifier.
+                                                              (line   6)
+* instruction operands, s390:            s390 Operands.       (line   6)
 * instruction prefixes, i386:            i386-Prefixes.       (line   6)
 * instruction set, M680x0:               M68K-opcodes.        (line   6)
 * instruction set, M68HC11:              M68HC11-opcodes.     (line   6)
@@ -17817,9 +20603,11 @@ AS Index
 * instruction summary, D10V:             D10V-Opcodes.        (line   6)
 * instruction summary, D30V:             D30V-Opcodes.        (line   6)
 * instruction summary, H8/300:           H8/300 Opcodes.      (line   6)
+* instruction summary, LM32:             LM32 Opcodes.        (line   6)
 * instruction summary, SH:               SH Opcodes.          (line   6)
 * instruction summary, SH64:             SH64 Opcodes.        (line   6)
 * instruction summary, Z8000:            Z8000 Opcodes.       (line   6)
+* instruction syntax, s390:              s390 Syntax.         (line   6)
 * instructions and directives:           Statements.          (line  19)
 * int directive:                         Int.                 (line   6)
 * int directive, H8/300:                 H8/300 Directives.   (line   6)
@@ -17843,15 +20631,15 @@ AS Index
 * internal directive:                    Internal.            (line   6)
 * invalid input:                         Bug Criteria.        (line  14)
 * invocation summary:                    Overview.            (line   6)
-* IP2K architecture options:             IP2K-Opts.           (line   9)
+* IP2K architecture options:             IP2K-Opts.           (line  14)
 * IP2K options:                          IP2K-Opts.           (line   6)
 * IP2K support:                          IP2K-Dependent.      (line   6)
 * irp directive:                         Irp.                 (line   6)
 * irpc directive:                        Irpc.                (line   6)
 * ISA options, SH64:                     SH64 Options.        (line   6)
 * joining text and data sections:        R.                   (line   6)
-* jump instructions, i386:               i386-Mnemonics.      (line  51)
-* jump instructions, x86-64:             i386-Mnemonics.      (line  51)
+* jump instructions, i386:               i386-Mnemonics.      (line  55)
+* jump instructions, x86-64:             i386-Mnemonics.      (line  55)
 * jump optimization, i386:               i386-Jumps.          (line   6)
 * jump optimization, x86-64:             i386-Jumps.          (line   6)
 * jump/call operands, i386:              i386-Syntax.         (line  15)
@@ -17868,6 +20656,7 @@ AS Index
 * label directive, TIC54X:               TIC54X-Directives.   (line 123)
 * labels:                                Labels.              (line   6)
 * lcomm directive:                       Lcomm.               (line   6)
+* lcomm directive, COFF:                 i386-Directives.     (line   6)
 * ld:                                    Object.              (line  15)
 * ldouble directive M680x0:              M68K-Float.          (line  17)
 * ldouble directive M68HC11:             M68HC11-Float.       (line  17)
@@ -17887,8 +20676,10 @@ AS Index
 * line comment character, IA-64:         IA-64-Chars.         (line   6)
 * line comment character, M680x0:        M68K-Chars.          (line   6)
 * line comment character, MSP 430:       MSP430-Chars.        (line   6)
+* line comment character, s390:          s390 Characters.     (line   6)
 * line comment character, SH:            SH-Chars.            (line   6)
 * line comment character, SH64:          SH64-Chars.          (line   6)
+* line comment character, Sparc:         Sparc-Chars.         (line   6)
 * line comment character, V850:          V850-Chars.          (line   6)
 * line comment character, Z80:           Z80-Chars.           (line   6)
 * line comment character, Z8000:         Z8000-Chars.         (line   6)
@@ -17906,8 +20697,9 @@ AS Index
 * line separator, IA-64:                 IA-64-Chars.         (line   8)
 * line separator, SH:                    SH-Chars.            (line   8)
 * line separator, SH64:                  SH64-Chars.          (line   8)
+* line separator, Sparc:                 Sparc-Chars.         (line   8)
 * line separator, Z8000:                 Z8000-Chars.         (line   8)
-* lines starting with #:                 Comments.            (line  38)
+* lines starting with #:                 Comments.            (line  39)
 * linker:                                Object.              (line  15)
 * linker, and assembler:                 Secs Background.     (line  10)
 * linkonce directive:                    Linkonce.            (line   6)
@@ -17921,27 +20713,35 @@ AS Index
 * listing control: title line:           Title.               (line   6)
 * listings, enabling:                    a.                   (line   6)
 * literal directive:                     Literal Directive.   (line   6)
+* literal pool entries, s390:            s390 Literal Pool Entries.
+                                                              (line   6)
 * literal_position directive:            Literal Position Directive.
                                                               (line   6)
 * literal_prefix directive:              Literal Prefix Directive.
                                                               (line   6)
-* little endian output, MIPS:            Overview.            (line 619)
-* little endian output, PJ:              Overview.            (line 526)
+* little endian output, MIPS:            Overview.            (line 644)
+* little endian output, PJ:              Overview.            (line 551)
 * little-endian output, MIPS:            MIPS Opts.           (line  13)
+* LM32 modifiers:                        LM32-Modifiers.      (line   6)
+* LM32 opcode summary:                   LM32 Opcodes.        (line   6)
+* LM32 options (none):                   LM32 Options.        (line   6)
+* LM32 register names:                   LM32-Regs.           (line   6)
+* LM32 support:                          LM32-Dependent.      (line   6)
 * ln directive:                          Ln.                  (line   6)
 * lo pseudo-op, V850:                    V850 Opcodes.        (line  22)
-* loc directive:                         LNS directives.      (line  19)
-* loc_mark_blocks directive:             LNS directives.      (line  50)
+* loc directive:                         Loc.                 (line   6)
+* loc_mark_labels directive:             Loc_mark_labels.     (line   6)
 * local common symbols:                  Lcomm.               (line   6)
+* local directive:                       Local.               (line   6)
 * local labels:                          Symbol Names.        (line  35)
 * local symbol names:                    Symbol Names.        (line  22)
 * local symbols, retaining in output:    L.                   (line   6)
 * location counter:                      Dot.                 (line   6)
 * location counter, advancing:           Org.                 (line   6)
 * location counter, Z80:                 Z80-Chars.           (line   8)
-* logical file name:                     File.                (line   6)
+* logical file name:                     File.                (line  13)
 * logical line number:                   Line.                (line   6)
-* logical line numbers:                  Comments.            (line  38)
+* logical line numbers:                  Comments.            (line  39)
 * long directive:                        Long.                (line   6)
 * long directive, ARC:                   ARC Directives.      (line 159)
 * long directive, i386:                  i386-Float.          (line  21)
@@ -18009,6 +20809,7 @@ AS Index
 * machine directives, TIC54X:            TIC54X-Directives.   (line   6)
 * machine directives, V850:              V850 Directives.     (line   6)
 * machine directives, VAX:               VAX-directives.      (line   6)
+* machine directives, x86:               i386-Directives.     (line   6)
 * machine independent directives:        Pseudo Ops.          (line   6)
 * machine instructions (not covered):    Manual.              (line  14)
 * machine-independent syntax:            Syntax.              (line   6)
@@ -18027,6 +20828,12 @@ AS Index
 * memory-mapped registers, TIC54X:       TIC54X-MMRegs.       (line   6)
 * merging text and data sections:        R.                   (line   6)
 * messages from assembler:               Errors.              (line   6)
+* MicroBlaze architectures:              MicroBlaze-Dependent.
+                                                              (line   6)
+* MicroBlaze directives:                 MicroBlaze Directives.
+                                                              (line   6)
+* MicroBlaze support:                    MicroBlaze-Dependent.
+                                                              (line  13)
 * minus, permitted arguments:            Infix Ops.           (line  49)
 * MIPS architecture options:             MIPS Opts.           (line  29)
 * MIPS big-endian output:                MIPS Opts.           (line  13)
@@ -18037,8 +20844,8 @@ AS Index
 * MIPS DSP Release 2 instruction generation override: MIPS ASE instruction generation overrides.
                                                               (line  26)
 * MIPS ECOFF sections:                   MIPS Object.         (line   6)
-* MIPS endianness:                       Overview.            (line 616)
-* MIPS ISA:                              Overview.            (line 622)
+* MIPS endianness:                       Overview.            (line 641)
+* MIPS ISA:                              Overview.            (line 647)
 * MIPS ISA override:                     MIPS ISA.            (line   6)
 * MIPS little-endian output:             MIPS Opts.           (line  13)
 * MIPS MDMX instruction generation override: MIPS ASE instruction generation overrides.
@@ -18085,6 +20892,7 @@ AS Index
 * mmsg directive, TIC54X:                TIC54X-Directives.   (line  77)
 * MMX, i386:                             i386-SIMD.           (line   6)
 * MMX, x86-64:                           i386-SIMD.           (line   6)
+* mnemonic compatibility, i386:          i386-Mnemonics.      (line  61)
 * mnemonic suffixes, i386:               i386-Syntax.         (line  29)
 * mnemonic suffixes, x86-64:             i386-Syntax.         (line  29)
 * mnemonics for opcodes, VAX:            VAX-opcodes.         (line   6)
@@ -18092,6 +20900,7 @@ AS Index
 * mnemonics, D10V:                       D10V-Opcodes.        (line   6)
 * mnemonics, D30V:                       D30V-Opcodes.        (line   6)
 * mnemonics, H8/300:                     H8/300 Opcodes.      (line   6)
+* mnemonics, LM32:                       LM32 Opcodes.        (line   6)
 * mnemonics, SH:                         SH Opcodes.          (line   6)
 * mnemonics, SH64:                       SH64 Opcodes.        (line   6)
 * mnemonics, Z8000:                      Z8000 Opcodes.       (line   6)
@@ -18143,6 +20952,7 @@ AS Index
 * numbers, 16-bit:                       hword.               (line   6)
 * numeric values:                        Expressions.         (line   6)
 * nword directive, SPARC:                Sparc-Directives.    (line  20)
+* object attributes:                     Object Attributes.   (line   6)
 * object file:                           Object.              (line   6)
 * object file format:                    Object Formats.      (line   6)
 * object file name:                      o.                   (line   6)
@@ -18158,6 +20968,7 @@ AS Index
 * opcode summary, D10V:                  D10V-Opcodes.        (line   6)
 * opcode summary, D30V:                  D30V-Opcodes.        (line   6)
 * opcode summary, H8/300:                H8/300 Opcodes.      (line   6)
+* opcode summary, LM32:                  LM32 Opcodes.        (line   6)
 * opcode summary, SH:                    SH Opcodes.          (line   6)
 * opcode summary, SH64:                  SH64 Opcodes.        (line   6)
 * opcode summary, Z8000:                 Z8000 Opcodes.       (line   6)
@@ -18176,8 +20987,8 @@ AS Index
 * operator precedence:                   Infix Ops.           (line  11)
 * operators, in expressions:             Operators.           (line   6)
 * operators, permitted arguments:        Infix Ops.           (line   6)
-* optimization, D10V:                    Overview.            (line 401)
-* optimization, D30V:                    Overview.            (line 406)
+* optimization, D10V:                    Overview.            (line 420)
+* optimization, D30V:                    Overview.            (line 425)
 * optimizations:                         Xtensa Optimizations.
                                                               (line   6)
 * option directive, ARC:                 ARC Directives.      (line 162)
@@ -18187,11 +20998,15 @@ AS Index
 * options for ARC (none):                ARC Options.         (line   6)
 * options for ARM (none):                ARM Options.         (line   6)
 * options for AVR (none):                AVR Options.         (line   6)
+* options for Blackfin (none):           Blackfin Options.    (line   6)
 * options for i386:                      i386-Options.        (line   6)
 * options for IA-64:                     IA-64 Options.       (line   6)
+* options for LM32 (none):               LM32 Options.        (line   6)
 * options for MSP430 (none):             MSP430 Options.      (line   6)
 * options for PDP-11:                    PDP-11-Options.      (line   6)
 * options for PowerPC:                   PowerPC-Opts.        (line   6)
+* options for s390:                      s390 Options.        (line   6)
+* options for SCORE:                     SCORE-Opts.          (line   6)
 * options for SPARC:                     Sparc-Opts.          (line   6)
 * options for V850 (none):               V850 Options.        (line   6)
 * options for VAX/VMS:                   VAX-Opts.            (line  42)
@@ -18202,7 +21017,7 @@ AS Index
 * options, CRIS:                         CRIS-Opts.           (line   6)
 * options, D10V:                         D10V-Opts.           (line   6)
 * options, D30V:                         D30V-Opts.           (line   6)
-* options, H8/300 (none):                H8/300 Options.      (line   6)
+* options, H8/300:                       H8/300 Options.      (line   6)
 * options, i960:                         Options-i960.        (line   6)
 * options, IP2K:                         IP2K-Opts.           (line   6)
 * options, M32C:                         M32C-Opts.           (line   6)
@@ -18234,10 +21049,10 @@ AS Index
 * PDP-11 instruction naming:             PDP-11-Mnemonics.    (line   6)
 * PDP-11 support:                        PDP-11-Dependent.    (line   6)
 * PDP-11 syntax:                         PDP-11-Syntax.       (line   6)
-* PIC code generation for ARM:           ARM Options.         (line 120)
+* PIC code generation for ARM:           ARM Options.         (line 139)
 * PIC code generation for M32R:          M32R-Opts.           (line  42)
 * PIC selection, MIPS:                   MIPS Opts.           (line  21)
-* PJ endianness:                         Overview.            (line 523)
+* PJ endianness:                         Overview.            (line 548)
 * PJ options:                            PJ Options.          (line   6)
 * PJ support:                            PJ-Dependent.        (line   6)
 * plus, permitted arguments:             Infix Ops.           (line  44)
@@ -18302,12 +21117,15 @@ AS Index
 * register names, CRIS:                  CRIS-Regs.           (line   6)
 * register names, H8/300:                H8/300-Regs.         (line   6)
 * register names, IA-64:                 IA-64-Regs.          (line   6)
+* register names, LM32:                  LM32-Regs.           (line   6)
 * register names, MMIX:                  MMIX-Regs.           (line   6)
 * register names, MSP 430:               MSP430-Regs.         (line   6)
+* register names, Sparc:                 Sparc-Regs.          (line   6)
 * register names, V850:                  V850-Regs.           (line   6)
 * register names, VAX:                   VAX-operands.        (line  17)
 * register names, Xtensa:                Xtensa Registers.    (line   6)
 * register names, Z80:                   Z80-Regs.            (line   6)
+* register naming, s390:                 s390 Register.       (line   6)
 * register operands, i386:               i386-Syntax.         (line  15)
 * register operands, x86-64:             i386-Syntax.         (line  15)
 * registers, D10V:                       D10V-Regs.           (line   6)
@@ -18341,31 +21159,51 @@ AS Index
 * relocation:                            Sections.            (line   6)
 * relocation example:                    Ld Sections.         (line  40)
 * relocations, Alpha:                    Alpha-Relocs.        (line   6)
+* relocations, Sparc:                    Sparc-Relocs.        (line   6)
 * repeat prefixes, i386:                 i386-Prefixes.       (line  44)
 * reporting bugs in assembler:           Reporting Bugs.      (line   6)
 * rept directive:                        Rept.                (line   6)
-* req directive, ARM:                    ARM Directives.      (line  13)
 * reserve directive, SPARC:              Sparc-Directives.    (line  39)
 * return instructions, i386:             i386-Syntax.         (line  38)
 * return instructions, x86-64:           i386-Syntax.         (line  38)
 * REX prefixes, i386:                    i386-Prefixes.       (line  46)
 * rsect:                                 Z8000 Directives.    (line  52)
+* s390 floating point:                   s390 Floating Point. (line   6)
+* s390 instruction aliases:              s390 Aliases.        (line   6)
+* s390 instruction formats:              s390 Formats.        (line   6)
+* s390 instruction marker:               s390 Instruction Marker.
+                                                              (line   6)
+* s390 instruction mnemonics:            s390 Mnemonics.      (line   6)
+* s390 instruction operand modifier:     s390 Operand Modifier.
+                                                              (line   6)
+* s390 instruction operands:             s390 Operands.       (line   6)
+* s390 instruction syntax:               s390 Syntax.         (line   6)
+* s390 line comment character:           s390 Characters.     (line   6)
+* s390 literal pool entries:             s390 Literal Pool Entries.
+                                                              (line   6)
+* s390 options:                          s390 Options.        (line   6)
+* s390 register naming:                  s390 Register.       (line   6)
+* s390 support:                          S/390-Dependent.     (line   6)
 * sblock directive, TIC54X:              TIC54X-Directives.   (line 183)
 * sbttl directive:                       Sbttl.               (line   6)
 * schedule directive:                    Schedule Directive.  (line   6)
 * scl directive:                         Scl.                 (line   6)
+* SCORE architectures:                   SCORE-Opts.          (line   6)
+* SCORE directives:                      SCORE-Pseudo.        (line   6)
+* SCORE options:                         SCORE-Opts.          (line   6)
+* SCORE processor:                       SCORE-Dependent.     (line   6)
 * sdaoff pseudo-op, V850:                V850 Opcodes.        (line  65)
 * search path for .include:              I.                   (line   6)
 * sect directive, MSP 430:               MSP430 Directives.   (line  18)
 * sect directive, TIC54X:                TIC54X-Directives.   (line 189)
 * section directive (COFF version):      Section.             (line  16)
-* section directive (ELF version):       Section.             (line  67)
+* section directive (ELF version):       Section.             (line  70)
 * section directive, V850:               V850 Directives.     (line   9)
 * section override prefixes, i386:       i386-Prefixes.       (line  23)
-* Section Stack <1>:                     SubSection.          (line   6)
-* Section Stack <2>:                     Section.             (line  62)
-* Section Stack <3>:                     PushSection.         (line   6)
-* Section Stack <4>:                     PopSection.          (line   6)
+* Section Stack <1>:                     Section.             (line  65)
+* Section Stack <2>:                     SubSection.          (line   6)
+* Section Stack <3>:                     PopSection.          (line   6)
+* Section Stack <4>:                     PushSection.         (line   6)
 * Section Stack:                         Previous.            (line   6)
 * section-relative addressing:           Secs Background.     (line  68)
 * sections:                              Sections.            (line   6)
@@ -18416,6 +21254,8 @@ AS Index
 * size modifiers, M680x0:                M68K-Syntax.         (line   8)
 * size prefixes, i386:                   i386-Prefixes.       (line  27)
 * size suffixes, H8/300:                 H8/300 Opcodes.      (line 163)
+* size, translations, Sparc:             Sparc-Size-Translations.
+                                                              (line   6)
 * sizes operands, i386:                  i386-Syntax.         (line  29)
 * sizes operands, x86-64:                i386-Syntax.         (line  29)
 * skip directive:                        Skip.                (line   6)
@@ -18435,11 +21275,19 @@ AS Index
 * space directive, TIC54X:               TIC54X-Directives.   (line 197)
 * space used, maximum for assembly:      statistics.          (line   6)
 * SPARC architectures:                   Sparc-Opts.          (line   6)
+* Sparc constants:                       Sparc-Constants.     (line   6)
 * SPARC data alignment:                  Sparc-Aligned-Data.  (line   6)
 * SPARC floating point (IEEE):           Sparc-Float.         (line   6)
+* Sparc line comment character:          Sparc-Chars.         (line   6)
+* Sparc line separator:                  Sparc-Chars.         (line   8)
 * SPARC machine directives:              Sparc-Directives.    (line   6)
 * SPARC options:                         Sparc-Opts.          (line   6)
+* Sparc registers:                       Sparc-Regs.          (line   6)
+* Sparc relocations:                     Sparc-Relocs.        (line   6)
+* Sparc size translations:               Sparc-Size-Translations.
+                                                              (line   6)
 * SPARC support:                         Sparc-Dependent.     (line   6)
+* SPARC syntax:                          Sparc-Aligned-Data.  (line  21)
 * special characters, ARC:               ARC-Chars.           (line   6)
 * special characters, M680x0:            M68K-Chars.          (line   6)
 * special purpose registers, MSP 430:    MSP430-Regs.         (line  11)
@@ -18459,16 +21307,25 @@ AS Index
 * statement separator, IA-64:            IA-64-Chars.         (line   8)
 * statement separator, SH:               SH-Chars.            (line   8)
 * statement separator, SH64:             SH64-Chars.          (line   8)
+* statement separator, Sparc:            Sparc-Chars.         (line   8)
 * statement separator, Z8000:            Z8000-Chars.         (line   8)
 * statements, structure of:              Statements.          (line   6)
 * statistics, about assembly:            statistics.          (line   6)
 * stopping the assembly:                 Abort.               (line   6)
 * string constants:                      Strings.             (line   6)
-* string directive:                      String.              (line   6)
+* string directive:                      String.              (line   8)
 * string directive on HPPA:              HPPA Directives.     (line 137)
 * string directive, TIC54X:              TIC54X-Directives.   (line 209)
 * string literals:                       Ascii.               (line   6)
-* string, copying to object file:        String.              (line   6)
+* string, copying to object file:        String.              (line   8)
+* string16 directive:                    String.              (line   8)
+* string16, copying to object file:      String.              (line   8)
+* string32 directive:                    String.              (line   8)
+* string32, copying to object file:      String.              (line   8)
+* string64 directive:                    String.              (line   8)
+* string64, copying to object file:      String.              (line   8)
+* string8 directive:                     String.              (line   8)
+* string8, copying to object file:       String.              (line   8)
 * struct directive:                      Struct.              (line   6)
 * struct directive, TIC54X:              TIC54X-Directives.   (line 217)
 * structure debugging, COFF:             Tag.                 (line   6)
@@ -18491,12 +21348,13 @@ AS Index
 * symbol attributes, COFF:               COFF Symbols.        (line   6)
 * symbol attributes, SOM:                SOM Symbols.         (line   6)
 * symbol descriptor, COFF:               Desc.                (line   6)
-* symbol modifiers <1>:                  M68HC11-Modifiers.   (line  12)
-* symbol modifiers <2>:                  M32C-Modifiers.      (line  11)
-* symbol modifiers:                      AVR-Modifiers.       (line  12)
+* symbol modifiers <1>:                  AVR-Modifiers.       (line  12)
+* symbol modifiers <2>:                  LM32-Modifiers.      (line  12)
+* symbol modifiers <3>:                  M32C-Modifiers.      (line  11)
+* symbol modifiers:                      M68HC11-Modifiers.   (line  12)
 * symbol names:                          Symbol Names.        (line   6)
-* symbol names, $ in <1>:                SH64-Chars.          (line  10)
-* symbol names, $ in <2>:                SH-Chars.            (line  10)
+* symbol names, $ in <1>:                SH-Chars.            (line  10)
+* symbol names, $ in <2>:                SH64-Chars.          (line  10)
 * symbol names, $ in <3>:                D30V-Chars.          (line  63)
 * symbol names, $ in:                    D10V-Chars.          (line  46)
 * symbol names, local:                   Symbol Names.        (line  22)
@@ -18523,20 +21381,22 @@ AS Index
 * syntax compatibility, i386:            i386-Syntax.         (line   6)
 * syntax compatibility, x86-64:          i386-Syntax.         (line   6)
 * syntax, AVR:                           AVR-Modifiers.       (line   6)
-* syntax, BFIN:                          BFIN Syntax.         (line   6)
+* syntax, Blackfin:                      Blackfin Syntax.     (line   6)
 * syntax, D10V:                          D10V-Syntax.         (line   6)
 * syntax, D30V:                          D30V-Syntax.         (line   6)
+* syntax, LM32:                          LM32-Modifiers.      (line   6)
 * syntax, M32C:                          M32C-Modifiers.      (line   6)
 * syntax, M680x0:                        M68K-Syntax.         (line   8)
 * syntax, M68HC11 <1>:                   M68HC11-Modifiers.   (line   6)
 * syntax, M68HC11:                       M68HC11-Syntax.      (line   6)
 * syntax, machine-independent:           Syntax.              (line   6)
+* syntax, SPARC:                         Sparc-Aligned-Data.  (line  21)
 * syntax, Xtensa assembler:              Xtensa Syntax.       (line   6)
 * sysproc directive, i960:               Directives-i960.     (line  37)
 * tab (\t):                              Strings.             (line  27)
 * tab directive, TIC54X:                 TIC54X-Directives.   (line 248)
 * tag directive:                         Tag.                 (line   6)
-* tag directive, TIC54X:                 TIC54X-Directives.   (line 217)
+* tag directive, TIC54X:                 TIC54X-Directives.   (line 251)
 * tdaoff pseudo-op, V850:                V850 Opcodes.        (line  81)
 * temporary symbol names:                Symbol Names.        (line  35)
 * text and data sections, joining:       R.                   (line   6)
@@ -18544,10 +21404,7 @@ AS Index
 * text section:                          Ld Sections.         (line   9)
 * tfloat directive, i386:                i386-Float.          (line  14)
 * tfloat directive, x86-64:              i386-Float.          (line  14)
-* thumb directive, ARM:                  ARM Directives.      (line  57)
 * Thumb support:                         ARM-Dependent.       (line   6)
-* thumb_func directive, ARM:             ARM Directives.      (line  67)
-* thumb_set directive, ARM:              ARM Directives.      (line  78)
 * TIC54X builtin math functions:         TIC54X-Builtins.     (line   6)
 * TIC54X machine directives:             TIC54X-Directives.   (line   6)
 * TIC54X memory-mapped registers:        TIC54X-MMRegs.       (line   6)
@@ -18574,7 +21431,6 @@ AS Index
 * ulong directive, TIC54X:               TIC54X-Directives.   (line 135)
 * undefined section:                     Ld Sections.         (line  36)
 * union directive, TIC54X:               TIC54X-Directives.   (line 251)
-* unreq directive, ARM:                  ARM Directives.      (line  18)
 * unsegm:                                Z8000 Directives.    (line  14)
 * usect directive, TIC54X:               TIC54X-Directives.   (line 263)
 * ushort directive, TIC54X:              TIC54X-Directives.   (line 111)
@@ -18609,8 +21465,8 @@ AS Index
 * version directive, TIC54X:             TIC54X-Directives.   (line 277)
 * version of assembler:                  v.                   (line   6)
 * versions of symbols:                   Symver.              (line   6)
-* visibility <1>:                        Protected.           (line   6)
-* visibility <2>:                        Internal.            (line   6)
+* visibility <1>:                        Internal.            (line   6)
+* visibility <2>:                        Protected.           (line   6)
 * visibility:                            Hidden.              (line   6)
 * VMS (VAX) options:                     VAX-Opts.            (line  42)
 * vtable_entry directive:                VTableEntry.         (line   6)
@@ -18641,9 +21497,10 @@ AS Index
 * word directive, x86-64:                i386-Float.          (line  21)
 * writing patterns in memory:            Fill.                (line   6)
 * wval:                                  Z8000 Directives.    (line  24)
+* x86 machine directives:                i386-Directives.     (line   6)
 * x86-64 arch directive:                 i386-Arch.           (line   6)
 * x86-64 att_syntax pseudo op:           i386-Syntax.         (line   6)
-* x86-64 conversion instructions:        i386-Mnemonics.      (line  32)
+* x86-64 conversion instructions:        i386-Mnemonics.      (line  36)
 * x86-64 floating point:                 i386-Float.          (line   6)
 * x86-64 immediate operands:             i386-Syntax.         (line  15)
 * x86-64 instruction naming:             i386-Mnemonics.      (line   6)
@@ -18694,475 +21551,523 @@ AS Index
 
 \1f
 Tag Table:
-Node: Top\7f758
-Node: Overview\7f1696
-Node: Manual\7f29138
-Node: GNU Assembler\7f30082
-Node: Object Formats\7f31253
-Node: Command Line\7f31705
-Node: Input Files\7f32792
-Node: Object\7f34773
-Node: Errors\7f35669
-Node: Invoking\7f36864
-Node: a\7f38818
-Node: alternate\7f40593
-Node: D\7f40765
-Node: f\7f40998
-Node: I\7f41506
-Node: K\7f42050
-Node: L\7f42354
-Node: listing\7f43093
-Node: M\7f44752
-Node: MD\7f49153
-Node: o\7f49579
-Node: R\7f50034
-Node: statistics\7f51064
-Node: traditional-format\7f51471
-Node: v\7f51944
-Node: W\7f52219
-Node: Z\7f53126
-Node: Syntax\7f53648
-Node: Preprocessing\7f54239
-Node: Whitespace\7f55802
-Node: Comments\7f56198
-Node: Symbol Intro\7f58351
-Node: Statements\7f59041
-Node: Constants\7f60962
-Node: Characters\7f61593
-Node: Strings\7f62095
-Node: Chars\7f64261
-Node: Numbers\7f65015
-Node: Integers\7f65555
-Node: Bignums\7f66211
-Node: Flonums\7f66567
-Node: Sections\7f68314
-Node: Secs Background\7f68692
-Node: Ld Sections\7f73731
-Node: As Sections\7f76115
-Node: Sub-Sections\7f77025
-Node: bss\7f80170
-Node: Symbols\7f81120
-Node: Labels\7f81768
-Node: Setting Symbols\7f82499
-Node: Symbol Names\7f82995
-Node: Dot\7f88058
-Node: Symbol Attributes\7f88505
-Node: Symbol Value\7f89242
-Node: Symbol Type\7f90287
-Node: a.out Symbols\7f90675
-Node: Symbol Desc\7f90937
-Node: Symbol Other\7f91232
-Node: COFF Symbols\7f91401
-Node: SOM Symbols\7f92074
-Node: Expressions\7f92516
-Node: Empty Exprs\7f93265
-Node: Integer Exprs\7f93612
-Node: Arguments\7f94007
-Node: Operators\7f95113
-Node: Prefix Ops\7f95448
-Node: Infix Ops\7f95776
-Node: Pseudo Ops\7f98166
-Node: Abort\7f103439
-Node: ABORT (COFF)\7f103851
-Node: Align\7f104059
-Node: Ascii\7f106348
-Node: Asciz\7f106657
-Node: Balign\7f106902
-Node: Byte\7f108765
-Node: Comm\7f109003
-Node: CFI directives\7f110377
-Node: LNS directives\7f114971
-Node: Data\7f117046
-Node: Def\7f117373
-Node: Desc\7f117605
-Node: Dim\7f118105
-Node: Double\7f118362
-Node: Eject\7f118700
-Node: Else\7f118875
-Node: Elseif\7f119175
-Node: End\7f119469
-Node: Endef\7f119684
-Node: Endfunc\7f119861
-Node: Endif\7f120036
-Node: Equ\7f120297
-Node: Equiv\7f120811
-Node: Eqv\7f121367
-Node: Err\7f121731
-Node: Error\7f122042
-Node: Exitm\7f122487
-Node: Extern\7f122656
-Node: Fail\7f122917
-Node: File\7f123362
-Node: Fill\7f123839
-Node: Float\7f124803
-Node: Func\7f125145
-Node: Global\7f125735
-Node: Hidden\7f126485
-Node: hword\7f127064
-Node: Ident\7f127392
-Node: If\7f127966
-Node: Incbin\7f131025
-Node: Include\7f131720
-Node: Int\7f132271
-Node: Internal\7f132652
-Node: Irp\7f133300
-Node: Irpc\7f134179
-Node: Lcomm\7f135096
-Node: Lflags\7f135844
-Node: Line\7f136038
-Node: Linkonce\7f136957
-Node: Ln\7f138186
-Node: MRI\7f138347
-Node: List\7f138685
-Node: Long\7f139293
-Node: Macro\7f139480
-Node: Altmacro\7f145402
-Node: Noaltmacro\7f146733
-Node: Nolist\7f146902
-Node: Octa\7f147332
-Node: Org\7f147666
-Node: P2align\7f148949
-Node: Previous\7f150877
-Node: PopSection\7f151571
-Node: Print\7f152079
-Node: Protected\7f152308
-Node: Psize\7f152955
-Node: Purgem\7f153639
-Node: PushSection\7f153860
-Node: Quad\7f154417
-Node: Reloc\7f154873
-Node: Rept\7f155634
-Node: Sbttl\7f156048
-Node: Scl\7f156413
-Node: Section\7f156754
-Node: Set\7f161891
-Node: Short\7f162528
-Node: Single\7f162849
-Node: Size\7f163194
-Node: Sleb128\7f163866
-Node: Skip\7f164188
-Node: Space\7f164510
-Node: Stab\7f165151
-Node: String\7f167155
-Node: Struct\7f167583
-Node: SubSection\7f168308
-Node: Symver\7f168871
-Node: Tag\7f171264
-Node: Text\7f171646
-Node: Title\7f171967
-Node: Type\7f172348
-Node: Uleb128\7f173814
-Node: Val\7f174138
-Node: Version\7f174388
-Node: VTableEntry\7f174663
-Node: VTableInherit\7f174953
-Node: Warning\7f175403
-Node: Weak\7f175637
-Node: Weakref\7f176306
-Node: Word\7f177271
-Node: Deprecated\7f179117
-Node: Machine Dependencies\7f179352
-Node: Alpha-Dependent\7f182229
-Node: Alpha Notes\7f182643
-Node: Alpha Options\7f182924
-Node: Alpha Syntax\7f185122
-Node: Alpha-Chars\7f185591
-Node: Alpha-Regs\7f185822
-Node: Alpha-Relocs\7f186209
-Node: Alpha Floating Point\7f192467
-Node: Alpha Directives\7f192689
-Node: Alpha Opcodes\7f198212
-Node: ARC-Dependent\7f198507
-Node: ARC Options\7f198890
-Node: ARC Syntax\7f199959
-Node: ARC-Chars\7f200191
-Node: ARC-Regs\7f200323
-Node: ARC Floating Point\7f200447
-Node: ARC Directives\7f200758
-Node: ARC Opcodes\7f206729
-Node: ARM-Dependent\7f206955
-Node: ARM Options\7f207381
-Node: ARM Syntax\7f213177
-Node: ARM-Chars\7f213446
-Node: ARM-Regs\7f213970
-Node: ARM Floating Point\7f214179
-Node: ARM-Relocations\7f214378
-Node: ARM Directives\7f215331
-Node: ARM Opcodes\7f223717
-Node: ARM Mapping Symbols\7f225805
-Node: AVR-Dependent\7f226584
-Node: AVR Options\7f226870
-Node: AVR Syntax\7f229076
-Node: AVR-Chars\7f229363
-Node: AVR-Regs\7f229769
-Node: AVR-Modifiers\7f230348
-Node: AVR Opcodes\7f232408
-Node: BFIN-Dependent\7f237654
-Node: BFIN Syntax\7f237908
-Node: BFIN Directives\7f243604
-Node: CR16-Dependent\7f244011
-Node: CR16 Operand Qualifiers\7f244255
-Node: CRIS-Dependent\7f246021
-Node: CRIS-Opts\7f246367
-Ref: march-option\7f247985
-Node: CRIS-Expand\7f249802
-Node: CRIS-Symbols\7f250985
-Node: CRIS-Syntax\7f252154
-Node: CRIS-Chars\7f252490
-Node: CRIS-Pic\7f253041
-Ref: crispic\7f253237
-Node: CRIS-Regs\7f256777
-Node: CRIS-Pseudos\7f257194
-Ref: crisnous\7f257970
-Node: D10V-Dependent\7f259252
-Node: D10V-Opts\7f259603
-Node: D10V-Syntax\7f260566
-Node: D10V-Size\7f261095
-Node: D10V-Subs\7f262068
-Node: D10V-Chars\7f263103
-Node: D10V-Regs\7f264707
-Node: D10V-Addressing\7f265752
-Node: D10V-Word\7f266438
-Node: D10V-Float\7f266953
-Node: D10V-Opcodes\7f267264
-Node: D30V-Dependent\7f267657
-Node: D30V-Opts\7f268010
-Node: D30V-Syntax\7f268685
-Node: D30V-Size\7f269217
-Node: D30V-Subs\7f270188
-Node: D30V-Chars\7f271223
-Node: D30V-Guarded\7f273521
-Node: D30V-Regs\7f274201
-Node: D30V-Addressing\7f275340
-Node: D30V-Float\7f276008
-Node: D30V-Opcodes\7f276319
-Node: H8/300-Dependent\7f276712
-Node: H8/300 Options\7f277124
-Node: H8/300 Syntax\7f277335
-Node: H8/300-Chars\7f277636
-Node: H8/300-Regs\7f277935
-Node: H8/300-Addressing\7f278854
-Node: H8/300 Floating Point\7f279895
-Node: H8/300 Directives\7f280222
-Node: H8/300 Opcodes\7f281350
-Node: HPPA-Dependent\7f289672
-Node: HPPA Notes\7f290107
-Node: HPPA Options\7f290865
-Node: HPPA Syntax\7f291060
-Node: HPPA Floating Point\7f292330
-Node: HPPA Directives\7f292536
-Node: HPPA Opcodes\7f301222
-Node: ESA/390-Dependent\7f301481
-Node: ESA/390 Notes\7f301941
-Node: ESA/390 Options\7f302732
-Node: ESA/390 Syntax\7f302942
-Node: ESA/390 Floating Point\7f305115
-Node: ESA/390 Directives\7f305394
-Node: ESA/390 Opcodes\7f308683
-Node: i386-Dependent\7f308945
-Node: i386-Options\7f310013
-Node: i386-Syntax\7f312018
-Node: i386-Mnemonics\7f314432
-Node: i386-Regs\7f316897
-Node: i386-Prefixes\7f318942
-Node: i386-Memory\7f321702
-Node: i386-Jumps\7f324639
-Node: i386-Float\7f325760
-Node: i386-SIMD\7f327589
-Node: i386-16bit\7f328698
-Node: i386-Bugs\7f330738
-Node: i386-Arch\7f331492
-Node: i386-Notes\7f333754
-Node: i860-Dependent\7f334612
-Node: Notes-i860\7f335008
-Node: Options-i860\7f335913
-Node: Directives-i860\7f337276
-Node: Opcodes for i860\7f338345
-Node: i960-Dependent\7f340512
-Node: Options-i960\7f340915
-Node: Floating Point-i960\7f344800
-Node: Directives-i960\7f345068
-Node: Opcodes for i960\7f347102
-Node: callj-i960\7f347719
-Node: Compare-and-branch-i960\7f348208
-Node: IA-64-Dependent\7f350112
-Node: IA-64 Options\7f350413
-Node: IA-64 Syntax\7f353573
-Node: IA-64-Chars\7f353936
-Node: IA-64-Regs\7f354166
-Node: IA-64-Bits\7f355092
-Node: IA-64 Opcodes\7f355601
-Node: IP2K-Dependent\7f355873
-Node: IP2K-Opts\7f356101
-Node: M32C-Dependent\7f356581
-Node: M32C-Opts\7f357105
-Node: M32C-Modifiers\7f357389
-Node: M32R-Dependent\7f359176
-Node: M32R-Opts\7f359497
-Node: M32R-Directives\7f363664
-Node: M32R-Warnings\7f367639
-Node: M68K-Dependent\7f370645
-Node: M68K-Opts\7f371112
-Node: M68K-Syntax\7f378504
-Node: M68K-Moto-Syntax\7f380344
-Node: M68K-Float\7f382934
-Node: M68K-Directives\7f383454
-Node: M68K-opcodes\7f384782
-Node: M68K-Branch\7f385008
-Node: M68K-Chars\7f389206
-Node: M68HC11-Dependent\7f389619
-Node: M68HC11-Opts\7f390150
-Node: M68HC11-Syntax\7f393971
-Node: M68HC11-Modifiers\7f396185
-Node: M68HC11-Directives\7f398013
-Node: M68HC11-Float\7f399389
-Node: M68HC11-opcodes\7f399917
-Node: M68HC11-Branch\7f400099
-Node: MIPS-Dependent\7f402548
-Node: MIPS Opts\7f403638
-Node: MIPS Object\7f412681
-Node: MIPS Stabs\7f414247
-Node: MIPS symbol sizes\7f414969
-Node: MIPS ISA\7f416638
-Node: MIPS autoextend\7f418112
-Node: MIPS insn\7f418842
-Node: MIPS option stack\7f419339
-Node: MIPS ASE instruction generation overrides\7f420113
-Node: MMIX-Dependent\7f421899
-Node: MMIX-Opts\7f422279
-Node: MMIX-Expand\7f425883
-Node: MMIX-Syntax\7f427198
-Ref: mmixsite\7f427555
-Node: MMIX-Chars\7f428396
-Node: MMIX-Symbols\7f429050
-Node: MMIX-Regs\7f431118
-Node: MMIX-Pseudos\7f432143
-Ref: MMIX-loc\7f432284
-Ref: MMIX-local\7f433364
-Ref: MMIX-is\7f433896
-Ref: MMIX-greg\7f434167
-Ref: GREG-base\7f435086
-Ref: MMIX-byte\7f436403
-Ref: MMIX-constants\7f436874
-Ref: MMIX-prefix\7f437520
-Ref: MMIX-spec\7f437894
-Node: MMIX-mmixal\7f438228
-Node: MSP430-Dependent\7f441726
-Node: MSP430 Options\7f442192
-Node: MSP430 Syntax\7f442478
-Node: MSP430-Macros\7f442794
-Node: MSP430-Chars\7f443525
-Node: MSP430-Regs\7f443838
-Node: MSP430-Ext\7f444398
-Node: MSP430 Floating Point\7f446219
-Node: MSP430 Directives\7f446443
-Node: MSP430 Opcodes\7f447234
-Node: MSP430 Profiling Capability\7f447629
-Node: PDP-11-Dependent\7f449958
-Node: PDP-11-Options\7f450347
-Node: PDP-11-Pseudos\7f455418
-Node: PDP-11-Syntax\7f455763
-Node: PDP-11-Mnemonics\7f456515
-Node: PDP-11-Synthetic\7f456817
-Node: PJ-Dependent\7f457035
-Node: PJ Options\7f457260
-Node: PPC-Dependent\7f457537
-Node: PowerPC-Opts\7f457824
-Node: PowerPC-Pseudo\7f460156
-Node: SH-Dependent\7f460755
-Node: SH Options\7f461167
-Node: SH Syntax\7f462095
-Node: SH-Chars\7f462368
-Node: SH-Regs\7f462662
-Node: SH-Addressing\7f463276
-Node: SH Floating Point\7f464185
-Node: SH Directives\7f465279
-Node: SH Opcodes\7f465649
-Node: SH64-Dependent\7f469971
-Node: SH64 Options\7f470334
-Node: SH64 Syntax\7f472051
-Node: SH64-Chars\7f472334
-Node: SH64-Regs\7f472634
-Node: SH64-Addressing\7f473730
-Node: SH64 Directives\7f474913
-Node: SH64 Opcodes\7f476023
-Node: Sparc-Dependent\7f476739
-Node: Sparc-Opts\7f477124
-Node: Sparc-Aligned-Data\7f479381
-Node: Sparc-Float\7f480236
-Node: Sparc-Directives\7f480437
-Node: TIC54X-Dependent\7f482397
-Node: TIC54X-Opts\7f483123
-Node: TIC54X-Block\7f484166
-Node: TIC54X-Env\7f484526
-Node: TIC54X-Constants\7f484874
-Node: TIC54X-Subsyms\7f485276
-Node: TIC54X-Locals\7f487185
-Node: TIC54X-Builtins\7f487929
-Node: TIC54X-Ext\7f490400
-Node: TIC54X-Directives\7f490971
-Node: TIC54X-Macros\7f501873
-Node: TIC54X-MMRegs\7f503984
-Node: Z80-Dependent\7f504200
-Node: Z80 Options\7f504588
-Node: Z80 Syntax\7f506011
-Node: Z80-Chars\7f506683
-Node: Z80-Regs\7f507217
-Node: Z80-Case\7f507569
-Node: Z80 Floating Point\7f508014
-Node: Z80 Directives\7f508208
-Node: Z80 Opcodes\7f509833
-Node: Z8000-Dependent\7f511177
-Node: Z8000 Options\7f512138
-Node: Z8000 Syntax\7f512355
-Node: Z8000-Chars\7f512645
-Node: Z8000-Regs\7f512878
-Node: Z8000-Addressing\7f513668
-Node: Z8000 Directives\7f514785
-Node: Z8000 Opcodes\7f516394
-Node: Vax-Dependent\7f526336
-Node: VAX-Opts\7f526853
-Node: VAX-float\7f530588
-Node: VAX-directives\7f531220
-Node: VAX-opcodes\7f532081
-Node: VAX-branch\7f532470
-Node: VAX-operands\7f534977
-Node: VAX-no\7f535740
-Node: V850-Dependent\7f535977
-Node: V850 Options\7f536375
-Node: V850 Syntax\7f538764
-Node: V850-Chars\7f539004
-Node: V850-Regs\7f539169
-Node: V850 Floating Point\7f540737
-Node: V850 Directives\7f540943
-Node: V850 Opcodes\7f542086
-Node: Xtensa-Dependent\7f547978
-Node: Xtensa Options\7f548707
-Node: Xtensa Syntax\7f551517
-Node: Xtensa Opcodes\7f553406
-Node: Xtensa Registers\7f555200
-Node: Xtensa Optimizations\7f555833
-Node: Density Instructions\7f556285
-Node: Xtensa Automatic Alignment\7f557387
-Node: Xtensa Relaxation\7f560008
-Node: Xtensa Branch Relaxation\7f560916
-Node: Xtensa Call Relaxation\7f562288
-Node: Xtensa Immediate Relaxation\7f564074
-Node: Xtensa Directives\7f566649
-Node: Schedule Directive\7f568358
-Node: Longcalls Directive\7f568698
-Node: Transform Directive\7f569242
-Node: Literal Directive\7f569984
-Ref: Literal Directive-Footnote-1\7f573523
-Node: Literal Position Directive\7f573665
-Node: Literal Prefix Directive\7f575364
-Node: Absolute Literals Directive\7f576262
-Node: Reporting Bugs\7f577569
-Node: Bug Criteria\7f578293
-Node: Bug Reporting\7f579058
-Node: Acknowledgements\7f585705
-Ref: Acknowledgements-Footnote-1\7f590603
-Node: GNU Free Documentation License\7f590629
-Node: AS Index\7f610359
+Node: Top\7f770
+Node: Overview\7f1756
+Node: Manual\7f30673
+Node: GNU Assembler\7f31617
+Node: Object Formats\7f32788
+Node: Command Line\7f33240
+Node: Input Files\7f34327
+Node: Object\7f36308
+Node: Errors\7f37204
+Node: Invoking\7f38399
+Node: a\7f40354
+Node: alternate\7f42265
+Node: D\7f42437
+Node: f\7f42670
+Node: I\7f43178
+Node: K\7f43722
+Node: L\7f44026
+Node: listing\7f44765
+Node: M\7f46424
+Node: MD\7f50825
+Node: o\7f51251
+Node: R\7f51706
+Node: statistics\7f52736
+Node: traditional-format\7f53143
+Node: v\7f53616
+Node: W\7f53891
+Node: Z\7f54798
+Node: Syntax\7f55320
+Node: Preprocessing\7f55911
+Node: Whitespace\7f57474
+Node: Comments\7f57870
+Node: Symbol Intro\7f60069
+Node: Statements\7f60759
+Node: Constants\7f62680
+Node: Characters\7f63311
+Node: Strings\7f63813
+Node: Chars\7f65979
+Node: Numbers\7f66733
+Node: Integers\7f67273
+Node: Bignums\7f67929
+Node: Flonums\7f68285
+Node: Sections\7f70032
+Node: Secs Background\7f70410
+Node: Ld Sections\7f75449
+Node: As Sections\7f77833
+Node: Sub-Sections\7f78743
+Node: bss\7f81888
+Node: Symbols\7f82838
+Node: Labels\7f83486
+Node: Setting Symbols\7f84217
+Node: Symbol Names\7f84771
+Node: Dot\7f89812
+Node: Symbol Attributes\7f90259
+Node: Symbol Value\7f90996
+Node: Symbol Type\7f92041
+Node: a.out Symbols\7f92429
+Node: Symbol Desc\7f92691
+Node: Symbol Other\7f92986
+Node: COFF Symbols\7f93155
+Node: SOM Symbols\7f93828
+Node: Expressions\7f94270
+Node: Empty Exprs\7f95019
+Node: Integer Exprs\7f95366
+Node: Arguments\7f95761
+Node: Operators\7f96867
+Node: Prefix Ops\7f97202
+Node: Infix Ops\7f97530
+Node: Pseudo Ops\7f99920
+Node: Abort\7f105421
+Node: ABORT (COFF)\7f105833
+Node: Align\7f106041
+Node: Altmacro\7f108323
+Node: Ascii\7f109652
+Node: Asciz\7f109961
+Node: Balign\7f110206
+Node: Byte\7f112069
+Node: CFI directives\7f112317
+Node: Comm\7f117944
+Ref: Comm-Footnote-1\7f119545
+Node: Data\7f119907
+Node: Def\7f120224
+Node: Desc\7f120456
+Node: Dim\7f120956
+Node: Double\7f121213
+Node: Eject\7f121551
+Node: Else\7f121726
+Node: Elseif\7f122026
+Node: End\7f122320
+Node: Endef\7f122535
+Node: Endfunc\7f122712
+Node: Endif\7f122887
+Node: Equ\7f123148
+Node: Equiv\7f123662
+Node: Eqv\7f124218
+Node: Err\7f124582
+Node: Error\7f124893
+Node: Exitm\7f125338
+Node: Extern\7f125507
+Node: Fail\7f125768
+Node: File\7f126213
+Node: Fill\7f127542
+Node: Float\7f128506
+Node: Func\7f128848
+Node: Global\7f129438
+Node: Gnu_attribute\7f130195
+Node: Hidden\7f130420
+Node: hword\7f131006
+Node: Ident\7f131334
+Node: If\7f131908
+Node: Incbin\7f134967
+Node: Include\7f135662
+Node: Int\7f136213
+Node: Internal\7f136594
+Node: Irp\7f137242
+Node: Irpc\7f138121
+Node: Lcomm\7f139038
+Node: Lflags\7f139786
+Node: Line\7f139980
+Node: Linkonce\7f140893
+Node: List\7f142122
+Node: Ln\7f142730
+Node: Loc\7f142880
+Node: Loc_mark_labels\7f144266
+Node: Local\7f144750
+Node: Long\7f145362
+Node: Macro\7f145540
+Node: MRI\7f151462
+Node: Noaltmacro\7f151800
+Node: Nolist\7f151969
+Node: Octa\7f152399
+Node: Org\7f152733
+Node: P2align\7f154016
+Node: PopSection\7f155944
+Node: Previous\7f156452
+Node: Print\7f157865
+Node: Protected\7f158094
+Node: Psize\7f158741
+Node: Purgem\7f159425
+Node: PushSection\7f159646
+Node: Quad\7f160389
+Node: Reloc\7f160845
+Node: Rept\7f161606
+Node: Sbttl\7f162020
+Node: Scl\7f162385
+Node: Section\7f162726
+Node: Set\7f168163
+Node: Short\7f168800
+Node: Single\7f169121
+Node: Size\7f169466
+Node: Skip\7f170140
+Node: Sleb128\7f170464
+Node: Space\7f170788
+Node: Stab\7f171429
+Node: String\7f173433
+Node: Struct\7f174427
+Node: SubSection\7f175152
+Node: Symver\7f175715
+Node: Tag\7f178108
+Node: Text\7f178490
+Node: Title\7f178811
+Node: Type\7f179192
+Node: Uleb128\7f181486
+Node: Val\7f181810
+Node: Version\7f182060
+Node: VTableEntry\7f182335
+Node: VTableInherit\7f182625
+Node: Warning\7f183075
+Node: Weak\7f183309
+Node: Weakref\7f183978
+Node: Word\7f184943
+Node: Deprecated\7f186789
+Node: Object Attributes\7f187024
+Node: GNU Object Attributes\7f188744
+Node: Defining New Object Attributes\7f191297
+Node: Machine Dependencies\7f192094
+Node: Alpha-Dependent\7f195219
+Node: Alpha Notes\7f195633
+Node: Alpha Options\7f195914
+Node: Alpha Syntax\7f198390
+Node: Alpha-Chars\7f198859
+Node: Alpha-Regs\7f199090
+Node: Alpha-Relocs\7f199477
+Node: Alpha Floating Point\7f205735
+Node: Alpha Directives\7f205957
+Node: Alpha Opcodes\7f211480
+Node: ARC-Dependent\7f211775
+Node: ARC Options\7f212158
+Node: ARC Syntax\7f213227
+Node: ARC-Chars\7f213459
+Node: ARC-Regs\7f213591
+Node: ARC Floating Point\7f213715
+Node: ARC Directives\7f214026
+Node: ARC Opcodes\7f219998
+Node: ARM-Dependent\7f220224
+Node: ARM Options\7f220689
+Node: ARM Syntax\7f227822
+Node: ARM-Instruction-Set\7f228136
+Node: ARM-Chars\7f229368
+Node: ARM-Regs\7f229920
+Node: ARM Floating Point\7f230129
+Node: ARM-Relocations\7f230328
+Node: ARM Directives\7f231281
+Ref: arm_pad\7f232145
+Ref: arm_fnend\7f235217
+Ref: arm_fnstart\7f235541
+Ref: arm_save\7f238553
+Ref: arm_setfp\7f239254
+Node: ARM Opcodes\7f242335
+Node: ARM Mapping Symbols\7f244423
+Node: ARM Unwinding Tutorial\7f245233
+Node: AVR-Dependent\7f251435
+Node: AVR Options\7f251725
+Node: AVR Syntax\7f254929
+Node: AVR-Chars\7f255216
+Node: AVR-Regs\7f255622
+Node: AVR-Modifiers\7f256201
+Node: AVR Opcodes\7f258261
+Node: Blackfin-Dependent\7f263507
+Node: Blackfin Options\7f263819
+Node: Blackfin Syntax\7f264677
+Node: Blackfin Directives\7f270410
+Node: CR16-Dependent\7f270829
+Node: CR16 Operand Qualifiers\7f271077
+Node: CRIS-Dependent\7f273718
+Node: CRIS-Opts\7f274064
+Ref: march-option\7f275682
+Node: CRIS-Expand\7f277499
+Node: CRIS-Symbols\7f278682
+Node: CRIS-Syntax\7f279851
+Node: CRIS-Chars\7f280187
+Node: CRIS-Pic\7f280738
+Ref: crispic\7f280934
+Node: CRIS-Regs\7f284474
+Node: CRIS-Pseudos\7f284891
+Ref: crisnous\7f285667
+Node: D10V-Dependent\7f286949
+Node: D10V-Opts\7f287300
+Node: D10V-Syntax\7f288263
+Node: D10V-Size\7f288792
+Node: D10V-Subs\7f289765
+Node: D10V-Chars\7f290800
+Node: D10V-Regs\7f292404
+Node: D10V-Addressing\7f293449
+Node: D10V-Word\7f294135
+Node: D10V-Float\7f294650
+Node: D10V-Opcodes\7f294961
+Node: D30V-Dependent\7f295354
+Node: D30V-Opts\7f295707
+Node: D30V-Syntax\7f296382
+Node: D30V-Size\7f296914
+Node: D30V-Subs\7f297885
+Node: D30V-Chars\7f298920
+Node: D30V-Guarded\7f301218
+Node: D30V-Regs\7f301898
+Node: D30V-Addressing\7f303037
+Node: D30V-Float\7f303705
+Node: D30V-Opcodes\7f304016
+Node: H8/300-Dependent\7f304409
+Node: H8/300 Options\7f304821
+Node: H8/300 Syntax\7f305088
+Node: H8/300-Chars\7f305389
+Node: H8/300-Regs\7f305688
+Node: H8/300-Addressing\7f306607
+Node: H8/300 Floating Point\7f307648
+Node: H8/300 Directives\7f307975
+Node: H8/300 Opcodes\7f309103
+Node: HPPA-Dependent\7f317425
+Node: HPPA Notes\7f317860
+Node: HPPA Options\7f318618
+Node: HPPA Syntax\7f318813
+Node: HPPA Floating Point\7f320083
+Node: HPPA Directives\7f320289
+Node: HPPA Opcodes\7f328975
+Node: ESA/390-Dependent\7f329234
+Node: ESA/390 Notes\7f329694
+Node: ESA/390 Options\7f330485
+Node: ESA/390 Syntax\7f330695
+Node: ESA/390 Floating Point\7f332868
+Node: ESA/390 Directives\7f333147
+Node: ESA/390 Opcodes\7f336436
+Node: i386-Dependent\7f336698
+Node: i386-Options\7f337822
+Node: i386-Directives\7f341789
+Node: i386-Syntax\7f342527
+Node: i386-Mnemonics\7f344960
+Node: i386-Regs\7f348199
+Node: i386-Prefixes\7f350244
+Node: i386-Memory\7f353004
+Node: i386-Jumps\7f355941
+Node: i386-Float\7f357062
+Node: i386-SIMD\7f358893
+Node: i386-16bit\7f360004
+Node: i386-Bugs\7f362044
+Node: i386-Arch\7f362798
+Node: i386-Notes\7f365355
+Node: i860-Dependent\7f366213
+Node: Notes-i860\7f366609
+Node: Options-i860\7f367514
+Node: Directives-i860\7f368877
+Node: Opcodes for i860\7f369946
+Node: i960-Dependent\7f372113
+Node: Options-i960\7f372516
+Node: Floating Point-i960\7f376401
+Node: Directives-i960\7f376669
+Node: Opcodes for i960\7f378703
+Node: callj-i960\7f379320
+Node: Compare-and-branch-i960\7f379809
+Node: IA-64-Dependent\7f381713
+Node: IA-64 Options\7f382014
+Node: IA-64 Syntax\7f385174
+Node: IA-64-Chars\7f385537
+Node: IA-64-Regs\7f385767
+Node: IA-64-Bits\7f386693
+Node: IA-64 Opcodes\7f387202
+Node: IP2K-Dependent\7f387474
+Node: IP2K-Opts\7f387702
+Node: LM32-Dependent\7f388182
+Node: LM32 Options\7f388477
+Node: LM32 Syntax\7f389111
+Node: LM32-Regs\7f389358
+Node: LM32-Modifiers\7f390317
+Node: LM32 Opcodes\7f391673
+Node: M32C-Dependent\7f391977
+Node: M32C-Opts\7f392501
+Node: M32C-Modifiers\7f392924
+Node: M32R-Dependent\7f394711
+Node: M32R-Opts\7f395032
+Node: M32R-Directives\7f399199
+Node: M32R-Warnings\7f403174
+Node: M68K-Dependent\7f406180
+Node: M68K-Opts\7f406647
+Node: M68K-Syntax\7f414039
+Node: M68K-Moto-Syntax\7f415879
+Node: M68K-Float\7f418469
+Node: M68K-Directives\7f418989
+Node: M68K-opcodes\7f420317
+Node: M68K-Branch\7f420543
+Node: M68K-Chars\7f424741
+Node: M68HC11-Dependent\7f425154
+Node: M68HC11-Opts\7f425691
+Node: M68HC11-Syntax\7f429512
+Node: M68HC11-Modifiers\7f431726
+Node: M68HC11-Directives\7f433554
+Node: M68HC11-Float\7f434930
+Node: M68HC11-opcodes\7f435458
+Node: M68HC11-Branch\7f435640
+Node: MicroBlaze-Dependent\7f438089
+Node: MicroBlaze Directives\7f438719
+Node: MIPS-Dependent\7f440076
+Node: MIPS Opts\7f441239
+Node: MIPS Object\7f450983
+Node: MIPS Stabs\7f452549
+Node: MIPS symbol sizes\7f453271
+Node: MIPS ISA\7f454940
+Node: MIPS autoextend\7f456414
+Node: MIPS insn\7f457144
+Node: MIPS option stack\7f458414
+Node: MIPS ASE instruction generation overrides\7f459188
+Node: MIPS floating-point\7f461002
+Node: MMIX-Dependent\7f461888
+Node: MMIX-Opts\7f462268
+Node: MMIX-Expand\7f465872
+Node: MMIX-Syntax\7f467187
+Ref: mmixsite\7f467544
+Node: MMIX-Chars\7f468385
+Node: MMIX-Symbols\7f469039
+Node: MMIX-Regs\7f471107
+Node: MMIX-Pseudos\7f472132
+Ref: MMIX-loc\7f472273
+Ref: MMIX-local\7f473353
+Ref: MMIX-is\7f473885
+Ref: MMIX-greg\7f474156
+Ref: GREG-base\7f475075
+Ref: MMIX-byte\7f476392
+Ref: MMIX-constants\7f476863
+Ref: MMIX-prefix\7f477509
+Ref: MMIX-spec\7f477883
+Node: MMIX-mmixal\7f478217
+Node: MSP430-Dependent\7f481715
+Node: MSP430 Options\7f482181
+Node: MSP430 Syntax\7f482467
+Node: MSP430-Macros\7f482783
+Node: MSP430-Chars\7f483514
+Node: MSP430-Regs\7f483827
+Node: MSP430-Ext\7f484387
+Node: MSP430 Floating Point\7f486208
+Node: MSP430 Directives\7f486432
+Node: MSP430 Opcodes\7f487223
+Node: MSP430 Profiling Capability\7f487618
+Node: PDP-11-Dependent\7f489947
+Node: PDP-11-Options\7f490336
+Node: PDP-11-Pseudos\7f495407
+Node: PDP-11-Syntax\7f495752
+Node: PDP-11-Mnemonics\7f496504
+Node: PDP-11-Synthetic\7f496806
+Node: PJ-Dependent\7f497024
+Node: PJ Options\7f497249
+Node: PPC-Dependent\7f497526
+Node: PowerPC-Opts\7f497813
+Node: PowerPC-Pseudo\7f500365
+Node: S/390-Dependent\7f500964
+Node: s390 Options\7f501667
+Node: s390 Characters\7f503205
+Node: s390 Syntax\7f503398
+Node: s390 Register\7f504299
+Node: s390 Mnemonics\7f505112
+Node: s390 Operands\7f508132
+Node: s390 Formats\7f510751
+Node: s390 Aliases\7f518622
+Node: s390 Operand Modifier\7f522519
+Node: s390 Instruction Marker\7f526320
+Node: s390 Literal Pool Entries\7f527336
+Node: s390 Directives\7f529259
+Node: s390 Floating Point\7f533174
+Node: SCORE-Dependent\7f533620
+Node: SCORE-Opts\7f533894
+Node: SCORE-Pseudo\7f535182
+Node: SH-Dependent\7f537238
+Node: SH Options\7f537650
+Node: SH Syntax\7f538658
+Node: SH-Chars\7f538931
+Node: SH-Regs\7f539225
+Node: SH-Addressing\7f539839
+Node: SH Floating Point\7f540748
+Node: SH Directives\7f541842
+Node: SH Opcodes\7f542212
+Node: SH64-Dependent\7f546534
+Node: SH64 Options\7f546897
+Node: SH64 Syntax\7f548694
+Node: SH64-Chars\7f548977
+Node: SH64-Regs\7f549277
+Node: SH64-Addressing\7f550373
+Node: SH64 Directives\7f551556
+Node: SH64 Opcodes\7f552666
+Node: Sparc-Dependent\7f553382
+Node: Sparc-Opts\7f553794
+Node: Sparc-Aligned-Data\7f556051
+Node: Sparc-Syntax\7f556883
+Node: Sparc-Chars\7f557457
+Node: Sparc-Regs\7f557690
+Node: Sparc-Constants\7f562801
+Node: Sparc-Relocs\7f567561
+Node: Sparc-Size-Translations\7f572241
+Node: Sparc-Float\7f573890
+Node: Sparc-Directives\7f574085
+Node: TIC54X-Dependent\7f576045
+Node: TIC54X-Opts\7f576771
+Node: TIC54X-Block\7f577814
+Node: TIC54X-Env\7f578174
+Node: TIC54X-Constants\7f578522
+Node: TIC54X-Subsyms\7f578924
+Node: TIC54X-Locals\7f580833
+Node: TIC54X-Builtins\7f581577
+Node: TIC54X-Ext\7f584048
+Node: TIC54X-Directives\7f584619
+Node: TIC54X-Macros\7f595521
+Node: TIC54X-MMRegs\7f597632
+Node: Z80-Dependent\7f597848
+Node: Z80 Options\7f598236
+Node: Z80 Syntax\7f599659
+Node: Z80-Chars\7f600331
+Node: Z80-Regs\7f600865
+Node: Z80-Case\7f601217
+Node: Z80 Floating Point\7f601662
+Node: Z80 Directives\7f601856
+Node: Z80 Opcodes\7f603481
+Node: Z8000-Dependent\7f604825
+Node: Z8000 Options\7f605786
+Node: Z8000 Syntax\7f606003
+Node: Z8000-Chars\7f606293
+Node: Z8000-Regs\7f606526
+Node: Z8000-Addressing\7f607316
+Node: Z8000 Directives\7f608433
+Node: Z8000 Opcodes\7f610042
+Node: Vax-Dependent\7f619984
+Node: VAX-Opts\7f620501
+Node: VAX-float\7f624236
+Node: VAX-directives\7f624868
+Node: VAX-opcodes\7f625729
+Node: VAX-branch\7f626118
+Node: VAX-operands\7f628625
+Node: VAX-no\7f629388
+Node: V850-Dependent\7f629625
+Node: V850 Options\7f630023
+Node: V850 Syntax\7f632412
+Node: V850-Chars\7f632652
+Node: V850-Regs\7f632817
+Node: V850 Floating Point\7f634385
+Node: V850 Directives\7f634591
+Node: V850 Opcodes\7f635734
+Node: Xtensa-Dependent\7f641626
+Node: Xtensa Options\7f642355
+Node: Xtensa Syntax\7f645165
+Node: Xtensa Opcodes\7f647054
+Node: Xtensa Registers\7f648848
+Node: Xtensa Optimizations\7f649481
+Node: Density Instructions\7f649933
+Node: Xtensa Automatic Alignment\7f651035
+Node: Xtensa Relaxation\7f653482
+Node: Xtensa Branch Relaxation\7f654390
+Node: Xtensa Call Relaxation\7f655762
+Node: Xtensa Immediate Relaxation\7f657548
+Node: Xtensa Directives\7f660122
+Node: Schedule Directive\7f661831
+Node: Longcalls Directive\7f662171
+Node: Transform Directive\7f662715
+Node: Literal Directive\7f663457
+Ref: Literal Directive-Footnote-1\7f666996
+Node: Literal Position Directive\7f667138
+Node: Literal Prefix Directive\7f668837
+Node: Absolute Literals Directive\7f669735
+Node: Reporting Bugs\7f671042
+Node: Bug Criteria\7f671768
+Node: Bug Reporting\7f672535
+Node: Acknowledgements\7f679184
+Ref: Acknowledgements-Footnote-1\7f684150
+Node: GNU Free Documentation License\7f684176
+Node: AS Index\7f709345
 \1f
 End Tag Table