.\" Automatically generated by Pod::Man 4.06 (Pod::Simple 3.32)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.if !\nF .nr F 0
.if \nF>0 \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    if !\nF==2 \{\
.        nr % 0
.        nr F 2
.    \}
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "AS 1"
.TH AS 1 "2020-04-01" "binutils-2.27.0" "GNU Development Tools"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
AS \- the portable GNU assembler.
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
as [\fB\-a\fR[\fBcdghlns\fR][=\fIfile\fR]] [\fB\-\-alternate\fR] [\fB\-D\fR]
 [\fB\-\-compress\-debug\-sections\fR]  [\fB\-\-nocompress\-debug\-sections\fR]
 [\fB\-\-debug\-prefix\-map\fR \fIold\fR=\fInew\fR]
 [\fB\-\-defsym\fR \fIsym\fR=\fIval\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-\-gstabs\fR]
 [\fB\-\-gstabs+\fR] [\fB\-\-gdwarf\-2\fR] [\fB\-\-gdwarf\-sections\fR]
 [\fB\-\-help\fR] [\fB\-I\fR \fIdir\fR] [\fB\-J\fR]
 [\fB\-K\fR] [\fB\-L\fR] [\fB\-\-listing\-lhs\-width\fR=\fI\s-1NUM\s0\fR]
 [\fB\-\-listing\-lhs\-width2\fR=\fI\s-1NUM\s0\fR] [\fB\-\-listing\-rhs\-width\fR=\fI\s-1NUM\s0\fR]
 [\fB\-\-listing\-cont\-lines\fR=\fI\s-1NUM\s0\fR] [\fB\-\-keep\-locals\fR]
 [\fB\-\-no\-pad\-sections\fR]
 [\fB\-o\fR \fIobjfile\fR] [\fB\-R\fR]
 [\fB\-\-hash\-size\fR=\fI\s-1NUM\s0\fR] [\fB\-\-reduce\-memory\-overheads\fR]
 [\fB\-\-statistics\fR]
 [\fB\-v\fR] [\fB\-version\fR] [\fB\-\-version\fR]
 [\fB\-W\fR] [\fB\-\-warn\fR] [\fB\-\-fatal\-warnings\fR] [\fB\-w\fR] [\fB\-x\fR]
 [\fB\-Z\fR] [\fB@\fR\fI\s-1FILE\s0\fR]
 [\fB\-\-sectname\-subst\fR] [\fB\-\-size\-check=[error|warning]\fR]
 [\fB\-\-elf\-stt\-common=[no|yes]\fR]
 [\fB\-\-target\-help\fR] [\fItarget-options\fR]
 [\fB\-\-\fR|\fIfiles\fR ...]
.SH "TARGET"
.IX Header "TARGET"
\&\fITarget AArch64 options:\fR
   [\fB\-EB\fR|\fB\-EL\fR]
   [\fB\-mabi\fR=\fI\s-1ABI\s0\fR]
.PP
\&\fITarget Alpha options:\fR
   [\fB\-m\fR\fIcpu\fR]
   [\fB\-mdebug\fR | \fB\-no\-mdebug\fR]
   [\fB\-replace\fR | \fB\-noreplace\fR]
   [\fB\-relax\fR] [\fB\-g\fR] [\fB\-G\fR\fIsize\fR]
   [\fB\-F\fR] [\fB\-32addr\fR]
.PP
\&\fITarget \s-1ARC\s0 options:\fR
   [\fB\-mcpu=\fR\fIcpu\fR]
   [\fB\-mA6\fR|\fB\-mARC600\fR|\fB\-mARC601\fR|\fB\-mA7\fR|\fB\-mARC700\fR|\fB\-mEM\fR|\fB\-mHS\fR]
   [\fB\-mcode\-density\fR]
   [\fB\-mrelax\fR]
   [\fB\-EB\fR|\fB\-EL\fR]
.PP
\&\fITarget \s-1ARM\s0 options:\fR
   [\fB\-mcpu\fR=\fIprocessor\fR[+\fIextension\fR...]]
   [\fB\-march\fR=\fIarchitecture\fR[+\fIextension\fR...]]
   [\fB\-mfpu\fR=\fIfloating-point-format\fR]
   [\fB\-mfloat\-abi\fR=\fIabi\fR]
   [\fB\-meabi\fR=\fIver\fR]
   [\fB\-mthumb\fR]
   [\fB\-EB\fR|\fB\-EL\fR]
   [\fB\-mapcs\-32\fR|\fB\-mapcs\-26\fR|\fB\-mapcs\-float\fR|
    \fB\-mapcs\-reentrant\fR]
   [\fB\-mthumb\-interwork\fR] [\fB\-k\fR]
.PP
\&\fITarget Blackfin options:\fR
   [\fB\-mcpu\fR=\fIprocessor\fR[\-\fIsirevision\fR]]
   [\fB\-mfdpic\fR]
   [\fB\-mno\-fdpic\fR]
   [\fB\-mnopic\fR]
.PP
\&\fITarget \s-1CRIS\s0 options:\fR
   [\fB\-\-underscore\fR | \fB\-\-no\-underscore\fR]
   [\fB\-\-pic\fR] [\fB\-N\fR]
   [\fB\-\-emulation=criself\fR | \fB\-\-emulation=crisaout\fR]
   [\fB\-\-march=v0_v10\fR | \fB\-\-march=v10\fR | \fB\-\-march=v32\fR | \fB\-\-march=common_v10_v32\fR]
.PP
\&\fITarget D10V options:\fR
   [\fB\-O\fR]
.PP
\&\fITarget D30V options:\fR
   [\fB\-O\fR|\fB\-n\fR|\fB\-N\fR]
.PP
\&\fITarget \s-1EPIPHANY\s0 options:\fR
   [\fB\-mepiphany\fR|\fB\-mepiphany16\fR]
.PP
\&\fITarget H8/300 options:\fR
   [\-h\-tick\-hex]
.PP
\&\fITarget i386 options:\fR
   [\fB\-\-32\fR|\fB\-\-x32\fR|\fB\-\-64\fR] [\fB\-n\fR]
   [\fB\-march\fR=\fI\s-1CPU\s0\fR[+\fI\s-1EXTENSION\s0\fR...]] [\fB\-mtune\fR=\fI\s-1CPU\s0\fR]
.PP
\&\fITarget i960 options:\fR
   [\fB\-ACA\fR|\fB\-ACA_A\fR|\fB\-ACB\fR|\fB\-ACC\fR|\fB\-AKA\fR|\fB\-AKB\fR|
    \fB\-AKC\fR|\fB\-AMC\fR]
   [\fB\-b\fR] [\fB\-no\-relax\fR]
.PP
\&\fITarget \s-1IA\-64\s0 options:\fR
   [\fB\-mconstant\-gp\fR|\fB\-mauto\-pic\fR]
   [\fB\-milp32\fR|\fB\-milp64\fR|\fB\-mlp64\fR|\fB\-mp64\fR]
   [\fB\-mle\fR|\fBmbe\fR]
   [\fB\-mtune=itanium1\fR|\fB\-mtune=itanium2\fR]
   [\fB\-munwind\-check=warning\fR|\fB\-munwind\-check=error\fR]
   [\fB\-mhint.b=ok\fR|\fB\-mhint.b=warning\fR|\fB\-mhint.b=error\fR]
   [\fB\-x\fR|\fB\-xexplicit\fR] [\fB\-xauto\fR] [\fB\-xdebug\fR]
.PP
\&\fITarget \s-1IP2K\s0 options:\fR
   [\fB\-mip2022\fR|\fB\-mip2022ext\fR]
.PP
\&\fITarget M32C options:\fR
   [\fB\-m32c\fR|\fB\-m16c\fR] [\-relax] [\-h\-tick\-hex]
.PP
\&\fITarget M32R options:\fR
   [\fB\-\-m32rx\fR|\fB\-\-[no\-]warn\-explicit\-parallel\-conflicts\fR|
   \fB\-\-W[n]p\fR]
.PP
\&\fITarget M680X0 options:\fR
   [\fB\-l\fR] [\fB\-m68000\fR|\fB\-m68010\fR|\fB\-m68020\fR|...]
.PP
\&\fITarget M68HC11 options:\fR
   [\fB\-m68hc11\fR|\fB\-m68hc12\fR|\fB\-m68hcs12\fR|\fB\-mm9s12x\fR|\fB\-mm9s12xg\fR]
   [\fB\-mshort\fR|\fB\-mlong\fR]
   [\fB\-mshort\-double\fR|\fB\-mlong\-double\fR]
   [\fB\-\-force\-long\-branches\fR] [\fB\-\-short\-branches\fR]
   [\fB\-\-strict\-direct\-mode\fR] [\fB\-\-print\-insn\-syntax\fR]
   [\fB\-\-print\-opcodes\fR] [\fB\-\-generate\-example\fR]
.PP
\&\fITarget \s-1MCORE\s0 options:\fR
   [\fB\-jsri2bsr\fR] [\fB\-sifilter\fR] [\fB\-relax\fR]
   [\fB\-mcpu=[210|340]\fR]
.PP
\&\fITarget Meta options:\fR
   [\fB\-mcpu=\fR\fIcpu\fR] [\fB\-mfpu=\fR\fIcpu\fR] [\fB\-mdsp=\fR\fIcpu\fR]
\&\fITarget \s-1MICROBLAZE\s0 options:\fR
.PP
\&\fITarget \s-1MIPS\s0 options:\fR
   [\fB\-nocpp\fR] [\fB\-EL\fR] [\fB\-EB\fR] [\fB\-O\fR[\fIoptimization level\fR]]
   [\fB\-g\fR[\fIdebug level\fR]] [\fB\-G\fR \fInum\fR] [\fB\-KPIC\fR] [\fB\-call_shared\fR]
   [\fB\-non_shared\fR] [\fB\-xgot\fR [\fB\-mvxworks\-pic\fR]
   [\fB\-mabi\fR=\fI\s-1ABI\s0\fR] [\fB\-32\fR] [\fB\-n32\fR] [\fB\-64\fR] [\fB\-mfp32\fR] [\fB\-mgp32\fR]
   [\fB\-mfp64\fR] [\fB\-mgp64\fR] [\fB\-mfpxx\fR]
   [\fB\-modd\-spreg\fR] [\fB\-mno\-odd\-spreg\fR]
   [\fB\-march\fR=\fI\s-1CPU\s0\fR] [\fB\-mtune\fR=\fI\s-1CPU\s0\fR] [\fB\-mips1\fR] [\fB\-mips2\fR]
   [\fB\-mips3\fR] [\fB\-mips4\fR] [\fB\-mips5\fR] [\fB\-mips32\fR] [\fB\-mips32r2\fR]
   [\fB\-mips32r3\fR] [\fB\-mips32r5\fR] [\fB\-mips32r6\fR] [\fB\-mips64\fR] [\fB\-mips64r2\fR]
   [\fB\-mips64r3\fR] [\fB\-mips64r5\fR] [\fB\-mips64r6\fR]
   [\fB\-construct\-floats\fR] [\fB\-no\-construct\-floats\fR]
   [\fB\-mnan=\fR\fIencoding\fR]
   [\fB\-trap\fR] [\fB\-no\-break\fR] [\fB\-break\fR] [\fB\-no\-trap\fR]
   [\fB\-mips16\fR] [\fB\-no\-mips16\fR]
   [\fB\-mmicromips\fR] [\fB\-mno\-micromips\fR]
   [\fB\-msmartmips\fR] [\fB\-mno\-smartmips\fR]
   [\fB\-mips3d\fR] [\fB\-no\-mips3d\fR]
   [\fB\-mdmx\fR] [\fB\-no\-mdmx\fR]
   [\fB\-mdsp\fR] [\fB\-mno\-dsp\fR]
   [\fB\-mdspr2\fR] [\fB\-mno\-dspr2\fR]
   [\fB\-mdspr3\fR] [\fB\-mno\-dspr3\fR]
   [\fB\-mmsa\fR] [\fB\-mno\-msa\fR]
   [\fB\-mxpa\fR] [\fB\-mno\-xpa\fR]
   [\fB\-mmt\fR] [\fB\-mno\-mt\fR]
   [\fB\-mmcu\fR] [\fB\-mno\-mcu\fR]
   [\fB\-minsn32\fR] [\fB\-mno\-insn32\fR]
   [\fB\-mfix7000\fR] [\fB\-mno\-fix7000\fR]
   [\fB\-mfix\-rm7000\fR] [\fB\-mno\-fix\-rm7000\fR]
   [\fB\-mfix\-vr4120\fR] [\fB\-mno\-fix\-vr4120\fR]
   [\fB\-mfix\-vr4130\fR] [\fB\-mno\-fix\-vr4130\fR]
   [\fB\-mdebug\fR] [\fB\-no\-mdebug\fR]
   [\fB\-mpdr\fR] [\fB\-mno\-pdr\fR]
.PP
\&\fITarget \s-1MMIX\s0 options:\fR
   [\fB\-\-fixed\-special\-register\-names\fR] [\fB\-\-globalize\-symbols\fR]
   [\fB\-\-gnu\-syntax\fR] [\fB\-\-relax\fR] [\fB\-\-no\-predefined\-symbols\fR]
   [\fB\-\-no\-expand\fR] [\fB\-\-no\-merge\-gregs\fR] [\fB\-x\fR]
   [\fB\-\-linker\-allocated\-gregs\fR]
.PP
\&\fITarget Nios \s-1II\s0 options:\fR
   [\fB\-relax\-all\fR] [\fB\-relax\-section\fR] [\fB\-no\-relax\fR]
   [\fB\-EB\fR] [\fB\-EL\fR]
.PP
\&\fITarget \s-1NDS32\s0 options:\fR
    [\fB\-EL\fR] [\fB\-EB\fR] [\fB\-O\fR] [\fB\-Os\fR] [\fB\-mcpu=\fR\fIcpu\fR]
    [\fB\-misa=\fR\fIisa\fR] [\fB\-mabi=\fR\fIabi\fR] [\fB\-mall\-ext\fR]
    [\fB\-m[no\-]16\-bit\fR]  [\fB\-m[no\-]perf\-ext\fR] [\fB\-m[no\-]perf2\-ext\fR]
    [\fB\-m[no\-]string\-ext\fR] [\fB\-m[no\-]dsp\-ext\fR] [\fB\-m[no\-]mac\fR] [\fB\-m[no\-]div\fR]
    [\fB\-m[no\-]audio\-isa\-ext\fR] [\fB\-m[no\-]fpu\-sp\-ext\fR] [\fB\-m[no\-]fpu\-dp\-ext\fR]
    [\fB\-m[no\-]fpu\-fma\fR] [\fB\-mfpu\-freg=\fR\fI\s-1FREG\s0\fR] [\fB\-mreduced\-regs\fR]
    [\fB\-mfull\-regs\fR] [\fB\-m[no\-]dx\-regs\fR] [\fB\-mpic\fR] [\fB\-mno\-relax\fR]
    [\fB\-mb2bb\fR]
.PP
\&\fITarget \s-1PDP11\s0 options:\fR
   [\fB\-mpic\fR|\fB\-mno\-pic\fR] [\fB\-mall\fR] [\fB\-mno\-extensions\fR]
   [\fB\-m\fR\fIextension\fR|\fB\-mno\-\fR\fIextension\fR]
   [\fB\-m\fR\fIcpu\fR] [\fB\-m\fR\fImachine\fR]
.PP
\&\fITarget picoJava options:\fR
   [\fB\-mb\fR|\fB\-me\fR]
.PP
\&\fITarget PowerPC options:\fR
   [\fB\-a32\fR|\fB\-a64\fR]
   [\fB\-mpwrx\fR|\fB\-mpwr2\fR|\fB\-mpwr\fR|\fB\-m601\fR|\fB\-mppc\fR|\fB\-mppc32\fR|\fB\-m603\fR|\fB\-m604\fR|\fB\-m403\fR|\fB\-m405\fR|
    \fB\-m440\fR|\fB\-m464\fR|\fB\-m476\fR|\fB\-m7400\fR|\fB\-m7410\fR|\fB\-m7450\fR|\fB\-m7455\fR|\fB\-m750cl\fR|\fB\-mppc64\fR|
    \fB\-m620\fR|\fB\-me500\fR|\fB\-e500x2\fR|\fB\-me500mc\fR|\fB\-me500mc64\fR|\fB\-me5500\fR|\fB\-me6500\fR|\fB\-mppc64bridge\fR|
    \fB\-mbooke\fR|\fB\-mpower4\fR|\fB\-mpwr4\fR|\fB\-mpower5\fR|\fB\-mpwr5\fR|\fB\-mpwr5x\fR|\fB\-mpower6\fR|\fB\-mpwr6\fR|
    \fB\-mpower7\fR|\fB\-mpwr7\fR|\fB\-mpower8\fR|\fB\-mpwr8\fR|\fB\-mpower9\fR|\fB\-mpwr9\fR\fB\-ma2\fR|
    \fB\-mcell\fR|\fB\-mspe\fR|\fB\-mtitan\fR|\fB\-me300\fR|\fB\-mcom\fR]
   [\fB\-many\fR] [\fB\-maltivec\fR|\fB\-mvsx\fR|\fB\-mhtm\fR|\fB\-mvle\fR]
   [\fB\-mregnames\fR|\fB\-mno\-regnames\fR]
   [\fB\-mrelocatable\fR|\fB\-mrelocatable\-lib\fR|\fB\-K \s-1PIC\s0\fR] [\fB\-memb\fR]
   [\fB\-mlittle\fR|\fB\-mlittle\-endian\fR|\fB\-le\fR|\fB\-mbig\fR|\fB\-mbig\-endian\fR|\fB\-be\fR]
   [\fB\-msolaris\fR|\fB\-mno\-solaris\fR]
   [\fB\-nops=\fR\fIcount\fR]
.PP
\&\fITarget \s-1RL78\s0 options:\fR
   [\fB\-mg10\fR]
   [\fB\-m32bit\-doubles\fR|\fB\-m64bit\-doubles\fR]
.PP
\&\fITarget \s-1RX\s0 options:\fR
   [\fB\-mlittle\-endian\fR|\fB\-mbig\-endian\fR]
   [\fB\-m32bit\-doubles\fR|\fB\-m64bit\-doubles\fR]
   [\fB\-muse\-conventional\-section\-names\fR]
   [\fB\-msmall\-data\-limit\fR]
   [\fB\-mpid\fR]
   [\fB\-mrelax\fR]
   [\fB\-mint\-register=\fR\fInumber\fR]
   [\fB\-mgcc\-abi\fR|\fB\-mrx\-abi\fR]
.PP
\&\fITarget s390 options:\fR
   [\fB\-m31\fR|\fB\-m64\fR] [\fB\-mesa\fR|\fB\-mzarch\fR] [\fB\-march\fR=\fI\s-1CPU\s0\fR]
   [\fB\-mregnames\fR|\fB\-mno\-regnames\fR]
   [\fB\-mwarn\-areg\-zero\fR]
.PP
\&\fITarget \s-1SCORE\s0 options:\fR
   [\fB\-EB\fR][\fB\-EL\fR][\fB\-FIXDD\fR][\fB\-NWARN\fR]
   [\fB\-SCORE5\fR][\fB\-SCORE5U\fR][\fB\-SCORE7\fR][\fB\-SCORE3\fR]
   [\fB\-march=score7\fR][\fB\-march=score3\fR]
   [\fB\-USE_R1\fR][\fB\-KPIC\fR][\fB\-O0\fR][\fB\-G\fR \fInum\fR][\fB\-V\fR]
.PP
\&\fITarget \s-1SPARC\s0 options:\fR
   [\fB\-Av6\fR|\fB\-Av7\fR|\fB\-Av8\fR|\fB\-Asparclet\fR|\fB\-Asparclite\fR
    \fB\-Av8plus\fR|\fB\-Av8plusa\fR|\fB\-Av9\fR|\fB\-Av9a\fR]
   [\fB\-xarch=v8plus\fR|\fB\-xarch=v8plusa\fR] [\fB\-bump\fR]
   [\fB\-32\fR|\fB\-64\fR]
.PP
\&\fITarget \s-1TIC54X\s0 options:\fR
 [\fB\-mcpu=54[123589]\fR|\fB\-mcpu=54[56]lp\fR] [\fB\-mfar\-mode\fR|\fB\-mf\fR]
 [\fB\-merrors\-to\-file\fR \fI<filename>\fR|\fB\-me\fR \fI<filename>\fR]
.PP
\&\fITarget \s-1TIC6X\s0 options:\fR
   [\fB\-march=\fR\fIarch\fR] [\fB\-mbig\-endian\fR|\fB\-mlittle\-endian\fR]
   [\fB\-mdsbt\fR|\fB\-mno\-dsbt\fR] [\fB\-mpid=no\fR|\fB\-mpid=near\fR|\fB\-mpid=far\fR]
   [\fB\-mpic\fR|\fB\-mno\-pic\fR]
.PP
\&\fITarget TILE-Gx options:\fR
   [\fB\-m32\fR|\fB\-m64\fR][\fB\-EB\fR][\fB\-EL\fR]
.PP
\&\fITarget Visium options:\fR
   [\fB\-mtune=\fR\fIarch\fR]
.PP
\&\fITarget Xtensa options:\fR
 [\fB\-\-[no\-]text\-section\-literals\fR] [\fB\-\-[no\-]auto\-litpools\fR]
 [\fB\-\-[no\-]absolute\-literals\fR]
 [\fB\-\-[no\-]target\-align\fR] [\fB\-\-[no\-]longcalls\fR]
 [\fB\-\-[no\-]transform\fR]
 [\fB\-\-rename\-section\fR \fIoldname\fR=\fInewname\fR]
 [\fB\-\-[no\-]trampolines\fR]
.PP
\&\fITarget Z80 options:\fR
  [\fB\-z80\fR] [\fB\-r800\fR]
  [ \fB\-ignore\-undocumented\-instructions\fR] [\fB\-Wnud\fR]
  [ \fB\-ignore\-unportable\-instructions\fR] [\fB\-Wnup\fR]
  [ \fB\-warn\-undocumented\-instructions\fR] [\fB\-Wud\fR]
  [ \fB\-warn\-unportable\-instructions\fR] [\fB\-Wup\fR]
  [ \fB\-forbid\-undocumented\-instructions\fR] [\fB\-Fud\fR]
  [ \fB\-forbid\-unportable\-instructions\fR] [\fB\-Fup\fR]
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\s-1GNU \s0\fBas\fR is really a family of assemblers.
If you use (or have used) the \s-1GNU\s0 assembler on one architecture, you
should find a fairly similar environment when you use it on another
architecture.  Each version has much in common with the others,
including object file formats, most assembler directives (often called
\&\fIpseudo-ops\fR) and assembler syntax.
.PP
\&\fBas\fR is primarily intended to assemble the output of the
\&\s-1GNU C\s0 compiler \f(CW\*(C`gcc\*(C'\fR for use by the linker
\&\f(CW\*(C`ld\*(C'\fR.  Nevertheless, we've tried to make \fBas\fR
assemble correctly everything that other assemblers for the same
machine would assemble.
Any exceptions are documented explicitly.
This doesn't mean \fBas\fR always uses the same syntax as another
assembler for the same architecture; for example, we know of several
incompatible versions of 680x0 assembly language syntax.
.PP
Each time you run \fBas\fR it assembles exactly one source
program.  The source program is made up of one or more files.
(The standard input is also a file.)
.PP
You give \fBas\fR a command line that has zero or more input file
names.  The input files are read (from left file name to right).  A
command line argument (in any position) that has no special meaning
is taken to be an input file name.
.PP
If you give \fBas\fR no file names it attempts to read one input file
from the \fBas\fR standard input, which is normally your terminal.  You
may have to type \fBctl-D\fR to tell \fBas\fR there is no more program
to assemble.
.PP
Use \fB\-\-\fR if you need to explicitly name the standard input file
in your command line.
.PP
If the source is empty, \fBas\fR produces a small, empty object
file.
.PP
\&\fBas\fR may write warnings and error messages to the standard error
file (usually your terminal).  This should not happen when  a compiler
runs \fBas\fR automatically.  Warnings report an assumption made so
that \fBas\fR could keep assembling a flawed program; errors report a
grave problem that stops the assembly.
.PP
If you are invoking \fBas\fR via the \s-1GNU C\s0 compiler,
you can use the \fB\-Wa\fR option to pass arguments through to the assembler.
The assembler arguments must be separated from each other (and the \fB\-Wa\fR)
by commas.  For example:
.PP
.Vb 1
\&        gcc \-c \-g \-O \-Wa,\-alh,\-L file.c
.Ve
.PP
This passes two options to the assembler: \fB\-alh\fR (emit a listing to
standard output with high-level and assembly source) and \fB\-L\fR (retain
local symbols in the symbol table).
.PP
Usually you do not need to use this \fB\-Wa\fR mechanism, since many compiler
command-line options are automatically passed to the assembler by the compiler.
(You can call the \s-1GNU\s0 compiler driver with the \fB\-v\fR option to see
precisely what options it passes to each compilation pass, including the
assembler.)
.SH "OPTIONS"
.IX Header "OPTIONS"
.IP "\fB@\fR\fIfile\fR" 4
.IX Item "@file"
Read command-line options from \fIfile\fR.  The options read are
inserted in place of the original @\fIfile\fR option.  If \fIfile\fR
does not exist, or cannot be read, then the option will be treated
literally, and not removed.
.Sp
Options in \fIfile\fR are separated by whitespace.  A whitespace
character may be included in an option by surrounding the entire
option in either single or double quotes.  Any character (including a
backslash) may be included by prefixing the character to be included
with a backslash.  The \fIfile\fR may itself contain additional
@\fIfile\fR options; any such options will be processed recursively.
.IP "\fB\-a[cdghlmns]\fR" 4
.IX Item "-a[cdghlmns]"
Turn on listings, in any of a variety of ways:
.RS 4
.IP "\fB\-ac\fR" 4
.IX Item "-ac"
omit false conditionals
.IP "\fB\-ad\fR" 4
.IX Item "-ad"
omit debugging directives
.IP "\fB\-ag\fR" 4
.IX Item "-ag"
include general information, like as version and options passed
.IP "\fB\-ah\fR" 4
.IX Item "-ah"
include high-level source
.IP "\fB\-al\fR" 4
.IX Item "-al"
include assembly
.IP "\fB\-am\fR" 4
.IX Item "-am"
include macro expansions
.IP "\fB\-an\fR" 4
.IX Item "-an"
omit forms processing
.IP "\fB\-as\fR" 4
.IX Item "-as"
include symbols
.IP "\fB=file\fR" 4
.IX Item "=file"
set the name of the listing file
.RE
.RS 4
.Sp
You may combine these options; for example, use \fB\-aln\fR for assembly
listing without forms processing.  The \fB=file\fR option, if used, must be
the last one.  By itself, \fB\-a\fR defaults to \fB\-ahls\fR.
.RE
.IP "\fB\-\-alternate\fR" 4
.IX Item "--alternate"
Begin in alternate macro mode.
.IP "\fB\-\-compress\-debug\-sections\fR" 4
.IX Item "--compress-debug-sections"
Compress \s-1DWARF\s0 debug sections using zlib with \s-1SHF_COMPRESSED\s0 from the
\&\s-1ELF ABI. \s0 The resulting object file may not be compatible with older
linkers and object file utilities.  Note if compression would make a
given section \fIlarger\fR then it is not compressed.
.IP "\fB\-\-compress\-debug\-sections=none\fR" 4
.IX Item "--compress-debug-sections=none"
.PD 0
.IP "\fB\-\-compress\-debug\-sections=zlib\fR" 4
.IX Item "--compress-debug-sections=zlib"
.IP "\fB\-\-compress\-debug\-sections=zlib\-gnu\fR" 4
.IX Item "--compress-debug-sections=zlib-gnu"
.IP "\fB\-\-compress\-debug\-sections=zlib\-gabi\fR" 4
.IX Item "--compress-debug-sections=zlib-gabi"
.PD
These options control how \s-1DWARF\s0 debug sections are compressed.
\&\fB\-\-compress\-debug\-sections=none\fR is equivalent to
\&\fB\-\-nocompress\-debug\-sections\fR.
\&\fB\-\-compress\-debug\-sections=zlib\fR and
\&\fB\-\-compress\-debug\-sections=zlib\-gabi\fR are equivalent to
\&\fB\-\-compress\-debug\-sections\fR.
\&\fB\-\-compress\-debug\-sections=zlib\-gnu\fR compresses \s-1DWARF\s0 debug
sections using zlib.  The debug sections are renamed to begin with
\&\fB.zdebug\fR.  Note if compression would make a given section
\&\fIlarger\fR then it is not compressed nor renamed.
.IP "\fB\-\-nocompress\-debug\-sections\fR" 4
.IX Item "--nocompress-debug-sections"
Do not compress \s-1DWARF\s0 debug sections.  This is usually the default for all
targets except the x86/x86_64, but a configure time option can be used to
override this.
.IP "\fB\-D\fR" 4
.IX Item "-D"
Ignored.  This option is accepted for script compatibility with calls to
other assemblers.
.IP "\fB\-\-debug\-prefix\-map\fR \fIold\fR\fB=\fR\fInew\fR" 4
.IX Item "--debug-prefix-map old=new"
When assembling files in directory \fI\fIold\fI\fR, record debugging
information describing them as in \fI\fInew\fI\fR instead.
.IP "\fB\-\-defsym\fR \fIsym\fR\fB=\fR\fIvalue\fR" 4
.IX Item "--defsym sym=value"
Define the symbol \fIsym\fR to be \fIvalue\fR before assembling the input file.
\&\fIvalue\fR must be an integer constant.  As in C, a leading \fB0x\fR
indicates a hexadecimal value, and a leading \fB0\fR indicates an octal
value.  The value of the symbol can be overridden inside a source file via the
use of a \f(CW\*(C`.set\*(C'\fR pseudo-op.
.IP "\fB\-f\fR" 4
.IX Item "-f"
\&\*(L"fast\*(R"\-\-\-skip whitespace and comment preprocessing (assume source is
compiler output).
.IP "\fB\-g\fR" 4
.IX Item "-g"
.PD 0
.IP "\fB\-\-gen\-debug\fR" 4
.IX Item "--gen-debug"
.PD
Generate debugging information for each assembler source line using whichever
debug format is preferred by the target.  This currently means either \s-1STABS,
ECOFF\s0 or \s-1DWARF2.\s0
.IP "\fB\-\-gstabs\fR" 4
.IX Item "--gstabs"
Generate stabs debugging information for each assembler line.  This
may help debugging assembler code, if the debugger can handle it.
.IP "\fB\-\-gstabs+\fR" 4
.IX Item "--gstabs+"
Generate stabs debugging information for each assembler line, with \s-1GNU\s0
extensions that probably only gdb can handle, and that could make other
debuggers crash or refuse to read your program.  This
may help debugging assembler code.  Currently the only \s-1GNU\s0 extension is
the location of the current working directory at assembling time.
.IP "\fB\-\-gdwarf\-2\fR" 4
.IX Item "--gdwarf-2"
Generate \s-1DWARF2\s0 debugging information for each assembler line.  This
may help debugging assembler code, if the debugger can handle it.  Note\-\-\-this
option is only supported by some targets, not all of them.
.IP "\fB\-\-gdwarf\-sections\fR" 4
.IX Item "--gdwarf-sections"
Instead of creating a .debug_line section, create a series of
\&.debug_line.\fIfoo\fR sections where \fIfoo\fR is the name of the
corresponding code section.  For example a code section called \fI.text.func\fR
will have its dwarf line number information placed into a section called
\&\fI.debug_line.text.func\fR.  If the code section is just called \fI.text\fR
then debug line section will still be called just \fI.debug_line\fR without any
suffix.
.IP "\fB\-\-size\-check=error\fR" 4
.IX Item "--size-check=error"
.PD 0
.IP "\fB\-\-size\-check=warning\fR" 4
.IX Item "--size-check=warning"
.PD
Issue an error or warning for invalid \s-1ELF \s0.size directive.
.IP "\fB\-\-elf\-stt\-common=no\fR" 4
.IX Item "--elf-stt-common=no"
.PD 0
.IP "\fB\-\-elf\-stt\-common=yes\fR" 4
.IX Item "--elf-stt-common=yes"
.PD
These options control whether the \s-1ELF\s0 assembler should generate common
symbols with the \f(CW\*(C`STT_COMMON\*(C'\fR type.  The default can be controlled
by a configure option \fB\-\-enable\-elf\-stt\-common\fR.
.IP "\fB\-\-help\fR" 4
.IX Item "--help"
Print a summary of the command line options and exit.
.IP "\fB\-\-target\-help\fR" 4
.IX Item "--target-help"
Print a summary of all target specific options and exit.
.IP "\fB\-I\fR \fIdir\fR" 4
.IX Item "-I dir"
Add directory \fIdir\fR to the search list for \f(CW\*(C`.include\*(C'\fR directives.
.IP "\fB\-J\fR" 4
.IX Item "-J"
Don't warn about signed overflow.
.IP "\fB\-K\fR" 4
.IX Item "-K"
Issue warnings when difference tables altered for long displacements.
.IP "\fB\-L\fR" 4
.IX Item "-L"
.PD 0
.IP "\fB\-\-keep\-locals\fR" 4
.IX Item "--keep-locals"
.PD
Keep (in the symbol table) local symbols.  These symbols start with
system-specific local label prefixes, typically \fB.L\fR for \s-1ELF\s0 systems
or \fBL\fR for traditional a.out systems.
.IP "\fB\-\-listing\-lhs\-width=\fR\fInumber\fR" 4
.IX Item "--listing-lhs-width=number"
Set the maximum width, in words, of the output data column for an assembler
listing to \fInumber\fR.
.IP "\fB\-\-listing\-lhs\-width2=\fR\fInumber\fR" 4
.IX Item "--listing-lhs-width2=number"
Set the maximum width, in words, of the output data column for continuation
lines in an assembler listing to \fInumber\fR.
.IP "\fB\-\-listing\-rhs\-width=\fR\fInumber\fR" 4
.IX Item "--listing-rhs-width=number"
Set the maximum width of an input source line, as displayed in a listing, to
\&\fInumber\fR bytes.
.IP "\fB\-\-listing\-cont\-lines=\fR\fInumber\fR" 4
.IX Item "--listing-cont-lines=number"
Set the maximum number of lines printed in a listing for a single line of input
to \fInumber\fR + 1.
.IP "\fB\-\-no\-pad\-sections\fR" 4
.IX Item "--no-pad-sections"
Stop the assembler for padding the ends of output sections to the alignment
of that section.  The default is to pad the sections, but this can waste space
which might be needed on targets which have tight memory constraints.
.IP "\fB\-o\fR \fIobjfile\fR" 4
.IX Item "-o objfile"
Name the object-file output from \fBas\fR \fIobjfile\fR.
.IP "\fB\-R\fR" 4
.IX Item "-R"
Fold the data section into the text section.
.IP "\fB\-\-hash\-size=\fR\fInumber\fR" 4
.IX Item "--hash-size=number"
Set the default size of \s-1GAS\s0's hash tables to a prime number close to
\&\fInumber\fR.  Increasing this value can reduce the length of time it takes the
assembler to perform its tasks, at the expense of increasing the assembler's
memory requirements.  Similarly reducing this value can reduce the memory
requirements at the expense of speed.
.IP "\fB\-\-reduce\-memory\-overheads\fR" 4
.IX Item "--reduce-memory-overheads"
This option reduces \s-1GAS\s0's memory requirements, at the expense of making the
assembly processes slower.  Currently this switch is a synonym for
\&\fB\-\-hash\-size=4051\fR, but in the future it may have other effects as well.
.IP "\fB\-\-sectname\-subst\fR" 4
.IX Item "--sectname-subst"
Honor substitution sequences in section names.
.IP "\fB\-\-statistics\fR" 4
.IX Item "--statistics"
Print the maximum space (in bytes) and total time (in seconds) used by
assembly.
.IP "\fB\-\-strip\-local\-absolute\fR" 4
.IX Item "--strip-local-absolute"
Remove local absolute symbols from the outgoing symbol table.
.IP "\fB\-v\fR" 4
.IX Item "-v"
.PD 0
.IP "\fB\-version\fR" 4
.IX Item "-version"
.PD
Print the \fBas\fR version.
.IP "\fB\-\-version\fR" 4
.IX Item "--version"
Print the \fBas\fR version and exit.
.IP "\fB\-W\fR" 4
.IX Item "-W"
.PD 0
.IP "\fB\-\-no\-warn\fR" 4
.IX Item "--no-warn"
.PD
Suppress warning messages.
.IP "\fB\-\-fatal\-warnings\fR" 4
.IX Item "--fatal-warnings"
Treat warnings as errors.
.IP "\fB\-\-warn\fR" 4
.IX Item "--warn"
Don't suppress warning messages or treat them as errors.
.IP "\fB\-w\fR" 4
.IX Item "-w"
Ignored.
.IP "\fB\-x\fR" 4
.IX Item "-x"
Ignored.
.IP "\fB\-Z\fR" 4
.IX Item "-Z"
Generate an object file even after errors.
.IP "\fB\-\- |\fR \fIfiles\fR \fB...\fR" 4
.IX Item "-- | files ..."
Standard input, or source files to assemble.
.PP
The following options are available when as is configured for the
64\-bit mode of the \s-1ARM\s0 Architecture (AArch64).
.IP "\fB\-EB\fR" 4
.IX Item "-EB"
This option specifies that the output generated by the assembler should
be marked as being encoded for a big-endian processor.
.IP "\fB\-EL\fR" 4
.IX Item "-EL"
This option specifies that the output generated by the assembler should
be marked as being encoded for a little-endian processor.
.IP "\fB\-mabi=\fR\fIabi\fR" 4
.IX Item "-mabi=abi"
Specify which \s-1ABI\s0 the source code uses.  The recognized arguments
are: \f(CW\*(C`ilp32\*(C'\fR and \f(CW\*(C`lp64\*(C'\fR, which decides the generated object
file in \s-1ELF32\s0 and \s-1ELF64\s0 format respectively.  The default is \f(CW\*(C`lp64\*(C'\fR.
.IP "\fB\-mcpu=\fR\fIprocessor\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
.IX Item "-mcpu=processor[+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:
\&\f(CW\*(C`cortex\-a35\*(C'\fR,
\&\f(CW\*(C`cortex\-a53\*(C'\fR,
\&\f(CW\*(C`cortex\-a55\*(C'\fR,
\&\f(CW\*(C`cortex\-a57\*(C'\fR,
\&\f(CW\*(C`cortex\-a72\*(C'\fR,
\&\f(CW\*(C`cortex\-a73\*(C'\fR,
\&\f(CW\*(C`cortex\-a75\*(C'\fR,
\&\f(CW\*(C`exynos\-m1\*(C'\fR,
\&\f(CW\*(C`qdf24xx\*(C'\fR,
\&\f(CW\*(C`thunderx\*(C'\fR,
\&\f(CW\*(C`vulcan\*(C'\fR,
\&\f(CW\*(C`xgene1\*(C'\fR
and
\&\f(CW\*(C`xgene2\*(C'\fR.
The special name \f(CW\*(C`all\*(C'\fR may be used to allow the assembler to accept
instructions valid for any supported processor, including all optional
extensions.
.Sp
In addition to the basic instruction set, the assembler can be told to
accept, or restrict, various extension mnemonics that extend the
processor.
.Sp
If some implementations of a particular processor can have an
extension, then then those extensions are automatically enabled.
Consequently, you will not normally have to specify any additional
extensions.
.IP "\fB\-march=\fR\fIarchitecture\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
.IX Item "-march=architecture[+extension...]"
This option specifies the target architecture.  The assembler will
issue an error message if an attempt is made to assemble an
instruction which will not execute on the target architecture.  The
following architecture names are recognized: \f(CW\*(C`armv8\-a\*(C'\fR,
\&\f(CW\*(C`armv8.1\-a\*(C'\fR and \f(CW\*(C`armv8.2\-a\*(C'\fR.
.Sp
If both \fB\-mcpu\fR and \fB\-march\fR are specified, the
assembler will use the setting for \fB\-mcpu\fR.  If neither are
specified, the assembler will default to \fB\-mcpu=all\fR.
.Sp
The architecture option can be extended with the same instruction set
extension options as the \fB\-mcpu\fR option.  Unlike
\&\fB\-mcpu\fR, extensions are not always enabled by default,
.IP "\fB\-mverbose\-error\fR" 4
.IX Item "-mverbose-error"
This option enables verbose error messages for AArch64 gas.  This option
is enabled by default.
.IP "\fB\-mno\-verbose\-error\fR" 4
.IX Item "-mno-verbose-error"
This option disables verbose error messages in AArch64 gas.
.PP
The following options are available when as is configured for an Alpha
processor.
.IP "\fB\-m\fR\fIcpu\fR" 4
.IX Item "-mcpu"
This option specifies the target processor.  If an attempt is made to
assemble an instruction which will not execute on the target processor,
the assembler may either expand the instruction as a macro or issue an
error message.  This option is equivalent to the \f(CW\*(C`.arch\*(C'\fR directive.
.Sp
The following processor names are recognized:
\&\f(CW21064\fR,
\&\f(CW\*(C`21064a\*(C'\fR,
\&\f(CW21066\fR,
\&\f(CW21068\fR,
\&\f(CW21164\fR,
\&\f(CW\*(C`21164a\*(C'\fR,
\&\f(CW\*(C`21164pc\*(C'\fR,
\&\f(CW21264\fR,
\&\f(CW\*(C`21264a\*(C'\fR,
\&\f(CW\*(C`21264b\*(C'\fR,
\&\f(CW\*(C`ev4\*(C'\fR,
\&\f(CW\*(C`ev5\*(C'\fR,
\&\f(CW\*(C`lca45\*(C'\fR,
\&\f(CW\*(C`ev5\*(C'\fR,
\&\f(CW\*(C`ev56\*(C'\fR,
\&\f(CW\*(C`pca56\*(C'\fR,
\&\f(CW\*(C`ev6\*(C'\fR,
\&\f(CW\*(C`ev67\*(C'\fR,
\&\f(CW\*(C`ev68\*(C'\fR.
The special name \f(CW\*(C`all\*(C'\fR may be used to allow the assembler to accept
instructions valid for any Alpha processor.
.Sp
In order to support existing practice in \s-1OSF/1\s0 with respect to \f(CW\*(C`.arch\*(C'\fR,
and existing practice within \fB\s-1MILO\s0\fR (the Linux \s-1ARC\s0 bootloader), the
numbered processor names (e.g. 21064) enable the processor-specific PALcode
instructions, while the \*(L"electro-vlasic\*(R" names (e.g. \f(CW\*(C`ev4\*(C'\fR) do not.
.IP "\fB\-mdebug\fR" 4
.IX Item "-mdebug"
.PD 0
.IP "\fB\-no\-mdebug\fR" 4
.IX Item "-no-mdebug"
.PD
Enables or disables the generation of \f(CW\*(C`.mdebug\*(C'\fR encapsulation for
stabs directives and procedure descriptors.  The default is to automatically
enable \f(CW\*(C`.mdebug\*(C'\fR when the first stabs directive is seen.
.IP "\fB\-relax\fR" 4
.IX Item "-relax"
This option forces all relocations to be put into the object file, instead
of saving space and resolving some relocations at assembly time.  Note that
this option does not propagate all symbol arithmetic into the object file,
because not all symbol arithmetic can be represented.  However, the option
can still be useful in specific applications.
.IP "\fB\-replace\fR" 4
.IX Item "-replace"
.PD 0
.IP "\fB\-noreplace\fR" 4
.IX Item "-noreplace"
.PD
Enables or disables the optimization of procedure calls, both at assemblage
and at link time.  These options are only available for \s-1VMS\s0 targets and
\&\f(CW\*(C`\-replace\*(C'\fR is the default.  See section 1.4.1 of the OpenVMS Linker
Utility Manual.
.IP "\fB\-g\fR" 4
.IX Item "-g"
This option is used when the compiler generates debug information.  When
\&\fBgcc\fR is using \fBmips-tfile\fR to generate debug
information for \s-1ECOFF,\s0 local labels must be passed through to the object
file.  Otherwise this option has no effect.
.IP "\fB\-G\fR\fIsize\fR" 4
.IX Item "-Gsize"
A local common symbol larger than \fIsize\fR is placed in \f(CW\*(C`.bss\*(C'\fR,
while smaller symbols are placed in \f(CW\*(C`.sbss\*(C'\fR.
.IP "\fB\-F\fR" 4
.IX Item "-F"
.PD 0
.IP "\fB\-32addr\fR" 4
.IX Item "-32addr"
.PD
These options are ignored for backward compatibility.
.PP
The following options are available when as is configured for an \s-1ARC\s0
processor.
.IP "\fB\-mcpu=\fR\fIcpu\fR" 4
.IX Item "-mcpu=cpu"
This option selects the core processor variant.
.IP "\fB\-EB | \-EL\fR" 4
.IX Item "-EB | -EL"
Select either big-endian (\-EB) or little-endian (\-EL) output.
.IP "\fB\-mcode\-density\fR" 4
.IX Item "-mcode-density"
Enable Code Density extenssion instructions.
.PP
The following options are available when as is configured for the \s-1ARM\s0
processor family.
.IP "\fB\-mcpu=\fR\fIprocessor\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
.IX Item "-mcpu=processor[+extension...]"
Specify which \s-1ARM\s0 processor variant is the target.
.IP "\fB\-march=\fR\fIarchitecture\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
.IX Item "-march=architecture[+extension...]"
Specify which \s-1ARM\s0 architecture variant is used by the target.
.IP "\fB\-mfpu=\fR\fIfloating-point-format\fR" 4
.IX Item "-mfpu=floating-point-format"
Select which Floating Point architecture is the target.
.IP "\fB\-mfloat\-abi=\fR\fIabi\fR" 4
.IX Item "-mfloat-abi=abi"
Select which floating point \s-1ABI\s0 is in use.
.IP "\fB\-mthumb\fR" 4
.IX Item "-mthumb"
Enable Thumb only instruction decoding.
.IP "\fB\-mapcs\-32 | \-mapcs\-26 | \-mapcs\-float | \-mapcs\-reentrant\fR" 4
.IX Item "-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant"
Select which procedure calling convention is in use.
.IP "\fB\-EB | \-EL\fR" 4
.IX Item "-EB | -EL"
Select either big-endian (\-EB) or little-endian (\-EL) output.
.IP "\fB\-mthumb\-interwork\fR" 4
.IX Item "-mthumb-interwork"
Specify that the code has been generated with interworking between Thumb and
\&\s-1ARM\s0 code in mind.
.IP "\fB\-mccs\fR" 4
.IX Item "-mccs"
Turns on CodeComposer Studio assembly syntax compatibility mode.
.IP "\fB\-k\fR" 4
.IX Item "-k"
Specify that \s-1PIC\s0 code has been generated.
.PP
The following options are available when as is configured for
the Blackfin processor family.
.IP "\fB\-mcpu=\fR\fIprocessor\fR[\fB\-\fR\fIsirevision\fR]" 4
.IX Item "-mcpu=processor[-sirevision]"
This option specifies the target processor.  The optional \fIsirevision\fR
is not used in assembler.  It's here such that \s-1GCC\s0 can easily pass down its
\&\f(CW\*(C`\-mcpu=\*(C'\fR 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:
\&\f(CW\*(C`bf504\*(C'\fR,
\&\f(CW\*(C`bf506\*(C'\fR,
\&\f(CW\*(C`bf512\*(C'\fR,
\&\f(CW\*(C`bf514\*(C'\fR,
\&\f(CW\*(C`bf516\*(C'\fR,
\&\f(CW\*(C`bf518\*(C'\fR,
\&\f(CW\*(C`bf522\*(C'\fR,
\&\f(CW\*(C`bf523\*(C'\fR,
\&\f(CW\*(C`bf524\*(C'\fR,
\&\f(CW\*(C`bf525\*(C'\fR,
\&\f(CW\*(C`bf526\*(C'\fR,
\&\f(CW\*(C`bf527\*(C'\fR,
\&\f(CW\*(C`bf531\*(C'\fR,
\&\f(CW\*(C`bf532\*(C'\fR,
\&\f(CW\*(C`bf533\*(C'\fR,
\&\f(CW\*(C`bf534\*(C'\fR,
\&\f(CW\*(C`bf535\*(C'\fR (not implemented yet),
\&\f(CW\*(C`bf536\*(C'\fR,
\&\f(CW\*(C`bf537\*(C'\fR,
\&\f(CW\*(C`bf538\*(C'\fR,
\&\f(CW\*(C`bf539\*(C'\fR,
\&\f(CW\*(C`bf542\*(C'\fR,
\&\f(CW\*(C`bf542m\*(C'\fR,
\&\f(CW\*(C`bf544\*(C'\fR,
\&\f(CW\*(C`bf544m\*(C'\fR,
\&\f(CW\*(C`bf547\*(C'\fR,
\&\f(CW\*(C`bf547m\*(C'\fR,
\&\f(CW\*(C`bf548\*(C'\fR,
\&\f(CW\*(C`bf548m\*(C'\fR,
\&\f(CW\*(C`bf549\*(C'\fR,
\&\f(CW\*(C`bf549m\*(C'\fR,
\&\f(CW\*(C`bf561\*(C'\fR,
and
\&\f(CW\*(C`bf592\*(C'\fR.
.IP "\fB\-mfdpic\fR" 4
.IX Item "-mfdpic"
Assemble for the \s-1FDPIC ABI.\s0
.IP "\fB\-mno\-fdpic\fR" 4
.IX Item "-mno-fdpic"
.PD 0
.IP "\fB\-mnopic\fR" 4
.IX Item "-mnopic"
.PD
Disable \-mfdpic.
.PP
See the info pages for documentation of the CRIS-specific options.
.PP
The following options are available when as is configured for
a D10V processor.
.IP "\fB\-O\fR" 4
.IX Item "-O"
Optimize output by parallelizing instructions.
.PP
The following options are available when as is configured for a D30V
processor.
.IP "\fB\-O\fR" 4
.IX Item "-O"
Optimize output by parallelizing instructions.
.IP "\fB\-n\fR" 4
.IX Item "-n"
Warn when nops are generated.
.IP "\fB\-N\fR" 4
.IX Item "-N"
Warn when a nop after a 32\-bit multiply instruction is generated.
.PP
The following options are available when as is configured for
an Epiphany processor.
.IP "\fB\-mepiphany\fR" 4
.IX Item "-mepiphany"
Specifies that the both 32 and 16 bit instructions are allowed.  This is the
default behavior.
.IP "\fB\-mepiphany16\fR" 4
.IX Item "-mepiphany16"
Restricts the permitted instructions to just the 16 bit set.
.PP
The following options are available when as is configured for an H8/300
processor.
\&\f(CW@chapter\fR H8/300 Dependent Features
.SS "Options"
.IX Subsection "Options"
The Renesas H8/300 version of \f(CW\*(C`as\*(C'\fR has one
machine-dependent option:
.IP "\fB\-h\-tick\-hex\fR" 4
.IX Item "-h-tick-hex"
Support H'00 style hex constants in addition to 0x00 style.
.IP "\fB\-mach=\fR\fIname\fR" 4
.IX Item "-mach=name"
Sets the H8300 machine variant.  The following machine names
are recognised:
\&\f(CW\*(C`h8300h\*(C'\fR,
\&\f(CW\*(C`h8300hn\*(C'\fR,
\&\f(CW\*(C`h8300s\*(C'\fR,
\&\f(CW\*(C`h8300sn\*(C'\fR,
\&\f(CW\*(C`h8300sx\*(C'\fR and 
\&\f(CW\*(C`h8300sxn\*(C'\fR.
.PP
The following options are available when as is configured for
an i386 processor.
.IP "\fB\-\-32 | \-\-x32 | \-\-64\fR" 4
.IX Item "--32 | --x32 | --64"
Select the word size, either 32 bits or 64 bits.  \fB\-\-32\fR
implies Intel i386 architecture, while \fB\-\-x32\fR and \fB\-\-64\fR
imply \s-1AMD\s0 x86\-64 architecture with 32\-bit or 64\-bit word-size
respectively.
.Sp
These options are only available with the \s-1ELF\s0 object file format, and
require that the necessary \s-1BFD\s0 support has been included (on a 32\-bit
platform you have to add \-\-enable\-64\-bit\-bfd to configure enable 64\-bit
usage and use x86\-64 as target platform).
.IP "\fB\-n\fR" 4
.IX Item "-n"
By default, x86 \s-1GAS\s0 replaces multiple nop instructions used for
alignment within code sections with multi-byte nop instructions such
as leal 0(%esi,1),%esi.  This switch disables the optimization.
.IP "\fB\-\-divide\fR" 4
.IX Item "--divide"
On SVR4\-derived platforms, the character \fB/\fR is treated as a comment
character, which means that it cannot be used in expressions.  The
\&\fB\-\-divide\fR option turns \fB/\fR into a normal character.  This does
not disable \fB/\fR at the beginning of a line starting a comment, or
affect using \fB#\fR for starting a comment.
.IP "\fB\-march=\fR\fI\s-1CPU\s0\fR\fB[+\fR\fI\s-1EXTENSION\s0\fR\fB...]\fR" 4
.IX Item "-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:
\&\f(CW\*(C`i8086\*(C'\fR,
\&\f(CW\*(C`i186\*(C'\fR,
\&\f(CW\*(C`i286\*(C'\fR,
\&\f(CW\*(C`i386\*(C'\fR,
\&\f(CW\*(C`i486\*(C'\fR,
\&\f(CW\*(C`i586\*(C'\fR,
\&\f(CW\*(C`i686\*(C'\fR,
\&\f(CW\*(C`pentium\*(C'\fR,
\&\f(CW\*(C`pentiumpro\*(C'\fR,
\&\f(CW\*(C`pentiumii\*(C'\fR,
\&\f(CW\*(C`pentiumiii\*(C'\fR,
\&\f(CW\*(C`pentium4\*(C'\fR,
\&\f(CW\*(C`prescott\*(C'\fR,
\&\f(CW\*(C`nocona\*(C'\fR,
\&\f(CW\*(C`core\*(C'\fR,
\&\f(CW\*(C`core2\*(C'\fR,
\&\f(CW\*(C`corei7\*(C'\fR,
\&\f(CW\*(C`l1om\*(C'\fR,
\&\f(CW\*(C`k1om\*(C'\fR,
\&\f(CW\*(C`iamcu\*(C'\fR,
\&\f(CW\*(C`k6\*(C'\fR,
\&\f(CW\*(C`k6_2\*(C'\fR,
\&\f(CW\*(C`athlon\*(C'\fR,
\&\f(CW\*(C`opteron\*(C'\fR,
\&\f(CW\*(C`k8\*(C'\fR,
\&\f(CW\*(C`amdfam10\*(C'\fR,
\&\f(CW\*(C`bdver1\*(C'\fR,
\&\f(CW\*(C`bdver2\*(C'\fR,
\&\f(CW\*(C`bdver3\*(C'\fR,
\&\f(CW\*(C`bdver4\*(C'\fR,
\&\f(CW\*(C`znver1\*(C'\fR,
\&\f(CW\*(C`btver1\*(C'\fR,
\&\f(CW\*(C`btver2\*(C'\fR,
\&\f(CW\*(C`generic32\*(C'\fR and
\&\f(CW\*(C`generic64\*(C'\fR.
.Sp
In addition to the basic instruction set, the assembler can be told to
accept various extension mnemonics.  For example,
\&\f(CW\*(C`\-march=i686+sse4+vmx\*(C'\fR extends \fIi686\fR with \fIsse4\fR and
\&\fIvmx\fR.  The following extensions are currently supported:
\&\f(CW8087\fR,
\&\f(CW287\fR,
\&\f(CW387\fR,
\&\f(CW687\fR,
\&\f(CW\*(C`no87\*(C'\fR,
\&\f(CW\*(C`no287\*(C'\fR,
\&\f(CW\*(C`no387\*(C'\fR,
\&\f(CW\*(C`no687\*(C'\fR,
\&\f(CW\*(C`mmx\*(C'\fR,
\&\f(CW\*(C`nommx\*(C'\fR,
\&\f(CW\*(C`sse\*(C'\fR,
\&\f(CW\*(C`sse2\*(C'\fR,
\&\f(CW\*(C`sse3\*(C'\fR,
\&\f(CW\*(C`ssse3\*(C'\fR,
\&\f(CW\*(C`sse4.1\*(C'\fR,
\&\f(CW\*(C`sse4.2\*(C'\fR,
\&\f(CW\*(C`sse4\*(C'\fR,
\&\f(CW\*(C`nosse\*(C'\fR,
\&\f(CW\*(C`nosse2\*(C'\fR,
\&\f(CW\*(C`nosse3\*(C'\fR,
\&\f(CW\*(C`nossse3\*(C'\fR,
\&\f(CW\*(C`nosse4.1\*(C'\fR,
\&\f(CW\*(C`nosse4.2\*(C'\fR,
\&\f(CW\*(C`nosse4\*(C'\fR,
\&\f(CW\*(C`avx\*(C'\fR,
\&\f(CW\*(C`avx2\*(C'\fR,
\&\f(CW\*(C`noavx\*(C'\fR,
\&\f(CW\*(C`noavx2\*(C'\fR,
\&\f(CW\*(C`adx\*(C'\fR,
\&\f(CW\*(C`rdseed\*(C'\fR,
\&\f(CW\*(C`prfchw\*(C'\fR,
\&\f(CW\*(C`smap\*(C'\fR,
\&\f(CW\*(C`mpx\*(C'\fR,
\&\f(CW\*(C`sha\*(C'\fR,
\&\f(CW\*(C`rdpid\*(C'\fR,
\&\f(CW\*(C`prefetchwt1\*(C'\fR,
\&\f(CW\*(C`clflushopt\*(C'\fR,
\&\f(CW\*(C`se1\*(C'\fR,
\&\f(CW\*(C`clwb\*(C'\fR,
\&\f(CW\*(C`pcommit\*(C'\fR,
\&\f(CW\*(C`avx512f\*(C'\fR,
\&\f(CW\*(C`avx512cd\*(C'\fR,
\&\f(CW\*(C`avx512er\*(C'\fR,
\&\f(CW\*(C`avx512pf\*(C'\fR,
\&\f(CW\*(C`avx512vl\*(C'\fR,
\&\f(CW\*(C`avx512bw\*(C'\fR,
\&\f(CW\*(C`avx512dq\*(C'\fR,
\&\f(CW\*(C`avx512ifma\*(C'\fR,
\&\f(CW\*(C`avx512vbmi\*(C'\fR,
\&\f(CW\*(C`noavx512f\*(C'\fR,
\&\f(CW\*(C`noavx512cd\*(C'\fR,
\&\f(CW\*(C`noavx512er\*(C'\fR,
\&\f(CW\*(C`noavx512pf\*(C'\fR,
\&\f(CW\*(C`noavx512vl\*(C'\fR,
\&\f(CW\*(C`noavx512bw\*(C'\fR,
\&\f(CW\*(C`noavx512dq\*(C'\fR,
\&\f(CW\*(C`noavx512ifma\*(C'\fR,
\&\f(CW\*(C`noavx512vbmi\*(C'\fR,
\&\f(CW\*(C`vmx\*(C'\fR,
\&\f(CW\*(C`vmfunc\*(C'\fR,
\&\f(CW\*(C`smx\*(C'\fR,
\&\f(CW\*(C`xsave\*(C'\fR,
\&\f(CW\*(C`xsaveopt\*(C'\fR,
\&\f(CW\*(C`xsavec\*(C'\fR,
\&\f(CW\*(C`xsaves\*(C'\fR,
\&\f(CW\*(C`aes\*(C'\fR,
\&\f(CW\*(C`pclmul\*(C'\fR,
\&\f(CW\*(C`fsgsbase\*(C'\fR,
\&\f(CW\*(C`rdrnd\*(C'\fR,
\&\f(CW\*(C`f16c\*(C'\fR,
\&\f(CW\*(C`bmi2\*(C'\fR,
\&\f(CW\*(C`fma\*(C'\fR,
\&\f(CW\*(C`movbe\*(C'\fR,
\&\f(CW\*(C`ept\*(C'\fR,
\&\f(CW\*(C`lzcnt\*(C'\fR,
\&\f(CW\*(C`hle\*(C'\fR,
\&\f(CW\*(C`rtm\*(C'\fR,
\&\f(CW\*(C`invpcid\*(C'\fR,
\&\f(CW\*(C`clflush\*(C'\fR,
\&\f(CW\*(C`mwaitx\*(C'\fR,
\&\f(CW\*(C`clzero\*(C'\fR,
\&\f(CW\*(C`lwp\*(C'\fR,
\&\f(CW\*(C`fma4\*(C'\fR,
\&\f(CW\*(C`xop\*(C'\fR,
\&\f(CW\*(C`cx16\*(C'\fR,
\&\f(CW\*(C`syscall\*(C'\fR,
\&\f(CW\*(C`rdtscp\*(C'\fR,
\&\f(CW\*(C`3dnow\*(C'\fR,
\&\f(CW\*(C`3dnowa\*(C'\fR,
\&\f(CW\*(C`sse4a\*(C'\fR,
\&\f(CW\*(C`sse5\*(C'\fR,
\&\f(CW\*(C`svme\*(C'\fR,
\&\f(CW\*(C`abm\*(C'\fR and
\&\f(CW\*(C`padlock\*(C'\fR.
Note that rather than extending a basic instruction set, the extension
mnemonics starting with \f(CW\*(C`no\*(C'\fR revoke the respective functionality.
.Sp
When the \f(CW\*(C`.arch\*(C'\fR directive is used with \fB\-march\fR, the
\&\f(CW\*(C`.arch\*(C'\fR directive will take precedent.
.IP "\fB\-mtune=\fR\fI\s-1CPU\s0\fR" 4
.IX Item "-mtune=CPU"
This option specifies a processor to optimize for. When used in
conjunction with the \fB\-march\fR option, only instructions
of the processor specified by the \fB\-march\fR option will be
generated.
.Sp
Valid \fI\s-1CPU\s0\fR values are identical to the processor list of
\&\fB\-march=\fR\fI\s-1CPU\s0\fR.
.IP "\fB\-msse2avx\fR" 4
.IX Item "-msse2avx"
This option specifies that the assembler should encode \s-1SSE\s0 instructions
with \s-1VEX\s0 prefix.
.IP "\fB\-msse\-check=\fR\fInone\fR" 4
.IX Item "-msse-check=none"
.PD 0
.IP "\fB\-msse\-check=\fR\fIwarning\fR" 4
.IX Item "-msse-check=warning"
.IP "\fB\-msse\-check=\fR\fIerror\fR" 4
.IX Item "-msse-check=error"
.PD
These options control if the assembler should check \s-1SSE\s0 instructions.
\&\fB\-msse\-check=\fR\fInone\fR will make the assembler not to check \s-1SSE\s0
instructions,  which is the default.  \fB\-msse\-check=\fR\fIwarning\fR
will make the assembler issue a warning for any \s-1SSE\s0 instruction.
\&\fB\-msse\-check=\fR\fIerror\fR will make the assembler issue an error
for any \s-1SSE\s0 instruction.
.IP "\fB\-mavxscalar=\fR\fI128\fR" 4
.IX Item "-mavxscalar=128"
.PD 0
.IP "\fB\-mavxscalar=\fR\fI256\fR" 4
.IX Item "-mavxscalar=256"
.PD
These options control how the assembler should encode scalar \s-1AVX\s0
instructions.  \fB\-mavxscalar=\fR\fI128\fR will encode scalar
\&\s-1AVX\s0 instructions with 128bit vector length, which is the default.
\&\fB\-mavxscalar=\fR\fI256\fR will encode scalar \s-1AVX\s0 instructions
with 256bit vector length.
.IP "\fB\-mevexlig=\fR\fI128\fR" 4
.IX Item "-mevexlig=128"
.PD 0
.IP "\fB\-mevexlig=\fR\fI256\fR" 4
.IX Item "-mevexlig=256"
.IP "\fB\-mevexlig=\fR\fI512\fR" 4
.IX Item "-mevexlig=512"
.PD
These options control how the assembler should encode length-ignored
(\s-1LIG\s0) \s-1EVEX\s0 instructions.  \fB\-mevexlig=\fR\fI128\fR will encode \s-1LIG
EVEX\s0 instructions with 128bit vector length, which is the default.
\&\fB\-mevexlig=\fR\fI256\fR and \fB\-mevexlig=\fR\fI512\fR will
encode \s-1LIG EVEX\s0 instructions with 256bit and 512bit vector length,
respectively.
.IP "\fB\-mevexwig=\fR\fI0\fR" 4
.IX Item "-mevexwig=0"
.PD 0
.IP "\fB\-mevexwig=\fR\fI1\fR" 4
.IX Item "-mevexwig=1"
.PD
These options control how the assembler should encode w\-ignored (\s-1WIG\s0)
\&\s-1EVEX\s0 instructions.  \fB\-mevexwig=\fR\fI0\fR will encode \s-1WIG
EVEX\s0 instructions with evex.w = 0, which is the default.
\&\fB\-mevexwig=\fR\fI1\fR will encode \s-1WIG EVEX\s0 instructions with
evex.w = 1.
.IP "\fB\-mmnemonic=\fR\fIatt\fR" 4
.IX Item "-mmnemonic=att"
.PD 0
.IP "\fB\-mmnemonic=\fR\fIintel\fR" 4
.IX Item "-mmnemonic=intel"
.PD
This option specifies instruction mnemonic for matching instructions.
The \f(CW\*(C`.att_mnemonic\*(C'\fR and \f(CW\*(C`.intel_mnemonic\*(C'\fR directives will
take precedent.
.IP "\fB\-msyntax=\fR\fIatt\fR" 4
.IX Item "-msyntax=att"
.PD 0
.IP "\fB\-msyntax=\fR\fIintel\fR" 4
.IX Item "-msyntax=intel"
.PD
This option specifies instruction syntax when processing instructions.
The \f(CW\*(C`.att_syntax\*(C'\fR and \f(CW\*(C`.intel_syntax\*(C'\fR directives will
take precedent.
.IP "\fB\-mnaked\-reg\fR" 4
.IX Item "-mnaked-reg"
This opetion specifies that registers don't require a \fB%\fR prefix.
The \f(CW\*(C`.att_syntax\*(C'\fR and \f(CW\*(C`.intel_syntax\*(C'\fR directives will take precedent.
.IP "\fB\-madd\-bnd\-prefix\fR" 4
.IX Item "-madd-bnd-prefix"
This option forces the assembler to add \s-1BND\s0 prefix to all branches, even
if such prefix was not explicitly specified in the source code.
.IP "\fB\-mno\-shared\fR" 4
.IX Item "-mno-shared"
On \s-1ELF\s0 target, the assembler normally optimizes out non-PLT relocations
against defined non-weak global branch targets with default visibility.
The \fB\-mshared\fR option tells the assembler to generate code which
may go into a shared library where all non-weak global branch targets
with default visibility can be preempted.  The resulting code is
slightly bigger.  This option only affects the handling of branch
instructions.
.IP "\fB\-mbig\-obj\fR" 4
.IX Item "-mbig-obj"
On x86\-64 \s-1PE/COFF\s0 target this option forces the use of big object file
format, which allows more than 32768 sections.
.IP "\fB\-momit\-lock\-prefix=\fR\fIno\fR" 4
.IX Item "-momit-lock-prefix=no"
.PD 0
.IP "\fB\-momit\-lock\-prefix=\fR\fIyes\fR" 4
.IX Item "-momit-lock-prefix=yes"
.PD
These options control how the assembler should encode lock prefix.
This option is intended as a workaround for processors, that fail on
lock prefix. This option can only be safely used with single-core,
single-thread computers
\&\fB\-momit\-lock\-prefix=\fR\fIyes\fR will omit all lock prefixes.
\&\fB\-momit\-lock\-prefix=\fR\fIno\fR will encode lock prefix as usual,
which is the default.
.IP "\fB\-mfence\-as\-lock\-add=\fR\fIno\fR" 4
.IX Item "-mfence-as-lock-add=no"
.PD 0
.IP "\fB\-mfence\-as\-lock\-add=\fR\fIyes\fR" 4
.IX Item "-mfence-as-lock-add=yes"
.PD
These options control how the assembler should encode lfence, mfence and
sfence.
\&\fB\-mfence\-as\-lock\-add=\fR\fIyes\fR will encode lfence, mfence and
sfence as \fBlock addl \f(CB$0x0\fB, (%rsp)\fR in 64\-bit mode and
\&\fBlock addl \f(CB$0x0\fB, (%esp)\fR in 32\-bit mode.
\&\fB\-mfence\-as\-lock\-add=\fR\fIno\fR will encode lfence, mfence and
sfence as usual, which is the default.
.IP "\fB\-mrelax\-relocations=\fR\fIno\fR" 4
.IX Item "-mrelax-relocations=no"
.PD 0
.IP "\fB\-mrelax\-relocations=\fR\fIyes\fR" 4
.IX Item "-mrelax-relocations=yes"
.PD
These options control whether the assembler should generate relax
relocations, R_386_GOT32X, in 32\-bit mode, or R_X86_64_GOTPCRELX and
R_X86_64_REX_GOTPCRELX, in 64\-bit mode.
\&\fB\-mrelax\-relocations=\fR\fIyes\fR will generate relax relocations.
\&\fB\-mrelax\-relocations=\fR\fIno\fR will not generate relax
relocations.  The default can be controlled by a configure option
\&\fB\-\-enable\-x86\-relax\-relocations\fR.
.IP "\fB\-mevexrcig=\fR\fIrne\fR" 4
.IX Item "-mevexrcig=rne"
.PD 0
.IP "\fB\-mevexrcig=\fR\fIrd\fR" 4
.IX Item "-mevexrcig=rd"
.IP "\fB\-mevexrcig=\fR\fIru\fR" 4
.IX Item "-mevexrcig=ru"
.IP "\fB\-mevexrcig=\fR\fIrz\fR" 4
.IX Item "-mevexrcig=rz"
.PD
These options control how the assembler should encode SAE-only
\&\s-1EVEX\s0 instructions.  \fB\-mevexrcig=\fR\fIrne\fR will encode \s-1RC\s0 bits
of \s-1EVEX\s0 instruction with 00, which is the default.
\&\fB\-mevexrcig=\fR\fIrd\fR, \fB\-mevexrcig=\fR\fIru\fR
and \fB\-mevexrcig=\fR\fIrz\fR will encode SAE-only \s-1EVEX\s0 instructions
with 01, 10 and 11 \s-1RC\s0 bits, respectively.
.IP "\fB\-mamd64\fR" 4
.IX Item "-mamd64"
.PD 0
.IP "\fB\-mintel64\fR" 4
.IX Item "-mintel64"
.PD
This option specifies that the assembler should accept only \s-1AMD64\s0 or
Intel64 \s-1ISA\s0 in 64\-bit mode.  The default is to accept both.
.PP
The following options are available when as is configured for the
Intel 80960 processor.
.IP "\fB\-ACA | \-ACA_A | \-ACB | \-ACC | \-AKA | \-AKB | \-AKC | \-AMC\fR" 4
.IX Item "-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC"
Specify which variant of the 960 architecture is the target.
.IP "\fB\-b\fR" 4
.IX Item "-b"
Add code to collect statistics about branches taken.
.IP "\fB\-no\-relax\fR" 4
.IX Item "-no-relax"
Do not alter compare-and-branch instructions for long displacements;
error if necessary.
.PP
The following options are available when as is configured for the
Ubicom \s-1IP2K\s0 series.
.IP "\fB\-mip2022ext\fR" 4
.IX Item "-mip2022ext"
Specifies that the extended \s-1IP2022\s0 instructions are allowed.
.IP "\fB\-mip2022\fR" 4
.IX Item "-mip2022"
Restores the default behaviour, which restricts the permitted instructions to
just the basic \s-1IP2022\s0 ones.
.PP
The following options are available when as is configured for the
Renesas M32C and M16C processors.
.IP "\fB\-m32c\fR" 4
.IX Item "-m32c"
Assemble M32C instructions.
.IP "\fB\-m16c\fR" 4
.IX Item "-m16c"
Assemble M16C instructions (the default).
.IP "\fB\-relax\fR" 4
.IX Item "-relax"
Enable support for link-time relaxations.
.IP "\fB\-h\-tick\-hex\fR" 4
.IX Item "-h-tick-hex"
Support H'00 style hex constants in addition to 0x00 style.
.PP
The following options are available when as is configured for the
Renesas M32R (formerly Mitsubishi M32R) series.
.IP "\fB\-\-m32rx\fR" 4
.IX Item "--m32rx"
Specify which processor in the M32R family is the target.  The default
is normally the M32R, but this option changes it to the M32RX.
.IP "\fB\-\-warn\-explicit\-parallel\-conflicts or \-\-Wp\fR" 4
.IX Item "--warn-explicit-parallel-conflicts or --Wp"
Produce warning messages when questionable parallel constructs are
encountered.
.IP "\fB\-\-no\-warn\-explicit\-parallel\-conflicts or \-\-Wnp\fR" 4
.IX Item "--no-warn-explicit-parallel-conflicts or --Wnp"
Do not produce warning messages when questionable parallel constructs are
encountered.
.PP
The following options are available when as is configured for the
Motorola 68000 series.
.IP "\fB\-l\fR" 4
.IX Item "-l"
Shorten references to undefined symbols, to one word instead of two.
.IP "\fB\-m68000 | \-m68008 | \-m68010 | \-m68020 | \-m68030\fR" 4
.IX Item "-m68000 | -m68008 | -m68010 | -m68020 | -m68030"
.PD 0
.IP "\fB| \-m68040 | \-m68060 | \-m68302 | \-m68331 | \-m68332\fR" 4
.IX Item "| -m68040 | -m68060 | -m68302 | -m68331 | -m68332"
.IP "\fB| \-m68333 | \-m68340 | \-mcpu32 | \-m5200\fR" 4
.IX Item "| -m68333 | -m68340 | -mcpu32 | -m5200"
.PD
Specify what processor in the 68000 family is the target.  The default
is normally the 68020, but this can be changed at configuration time.
.IP "\fB\-m68881 | \-m68882 | \-mno\-68881 | \-mno\-68882\fR" 4
.IX Item "-m68881 | -m68882 | -mno-68881 | -mno-68882"
The target machine does (or does not) have a floating-point coprocessor.
The default is to assume a coprocessor for 68020, 68030, and cpu32.  Although
the basic 68000 is not compatible with the 68881, a combination of the
two can be specified, since it's possible to do emulation of the
coprocessor instructions with the main processor.
.IP "\fB\-m68851 | \-mno\-68851\fR" 4
.IX Item "-m68851 | -mno-68851"
The target machine does (or does not) have a memory-management
unit coprocessor.  The default is to assume an \s-1MMU\s0 for 68020 and up.
.PP
The following options are available when as is configured for an
Altera Nios \s-1II\s0 processor.
.IP "\fB\-relax\-section\fR" 4
.IX Item "-relax-section"
Replace identified out-of-range branches with PC-relative \f(CW\*(C`jmp\*(C'\fR
sequences when possible.  The generated code sequences are suitable
for use in position-independent code, but there is a practical limit
on the extended branch range because of the length of the sequences.
This option is the default.
.IP "\fB\-relax\-all\fR" 4
.IX Item "-relax-all"
Replace branch instructions not determinable to be in range
and all call instructions with \f(CW\*(C`jmp\*(C'\fR and \f(CW\*(C`callr\*(C'\fR sequences
(respectively).  This option generates absolute relocations against the
target symbols and is not appropriate for position-independent code.
.IP "\fB\-no\-relax\fR" 4
.IX Item "-no-relax"
Do not replace any branches or calls.
.IP "\fB\-EB\fR" 4
.IX Item "-EB"
Generate big-endian output.
.IP "\fB\-EL\fR" 4
.IX Item "-EL"
Generate little-endian output.  This is the default.
.IP "\fB\-march=\fR\fIarchitecture\fR" 4
.IX Item "-march=architecture"
This option specifies the target architecture.  The assembler issues
an error message if an attempt is made to assemble an instruction which
will not execute on the target architecture.  The following architecture
names are recognized:
\&\f(CW\*(C`r1\*(C'\fR,
\&\f(CW\*(C`r2\*(C'\fR.  
The default is \f(CW\*(C`r1\*(C'\fR.
.PP
The following options are available when as is configured for a
Meta processor.
.ie n .IP """\-mcpu=metac11""" 4
.el .IP "\f(CW\-mcpu=metac11\fR" 4
.IX Item "-mcpu=metac11"
Generate code for Meta 1.1.
.ie n .IP """\-mcpu=metac12""" 4
.el .IP "\f(CW\-mcpu=metac12\fR" 4
.IX Item "-mcpu=metac12"
Generate code for Meta 1.2.
.ie n .IP """\-mcpu=metac21""" 4
.el .IP "\f(CW\-mcpu=metac21\fR" 4
.IX Item "-mcpu=metac21"
Generate code for Meta 2.1.
.ie n .IP """\-mfpu=metac21""" 4
.el .IP "\f(CW\-mfpu=metac21\fR" 4
.IX Item "-mfpu=metac21"
Allow code to use \s-1FPU\s0 hardware of Meta 2.1.
.PP
See the info pages for documentation of the MMIX-specific options.
.PP
The following options are available when as is configured for a
\&\s-1NDS32\s0 processor.
.ie n .IP """\-O1""" 4
.el .IP "\f(CW\-O1\fR" 4
.IX Item "-O1"
Optimize for performance.
.ie n .IP """\-Os""" 4
.el .IP "\f(CW\-Os\fR" 4
.IX Item "-Os"
Optimize for space.
.ie n .IP """\-EL""" 4
.el .IP "\f(CW\-EL\fR" 4
.IX Item "-EL"
Produce little endian data output.
.ie n .IP """\-EB""" 4
.el .IP "\f(CW\-EB\fR" 4
.IX Item "-EB"
Produce little endian data output.
.ie n .IP """\-mpic""" 4
.el .IP "\f(CW\-mpic\fR" 4
.IX Item "-mpic"
Generate \s-1PIC.\s0
.ie n .IP """\-mno\-fp\-as\-gp\-relax""" 4
.el .IP "\f(CW\-mno\-fp\-as\-gp\-relax\fR" 4
.IX Item "-mno-fp-as-gp-relax"
Suppress fp-as-gp relaxation for this file.
.ie n .IP """\-mb2bb\-relax""" 4
.el .IP "\f(CW\-mb2bb\-relax\fR" 4
.IX Item "-mb2bb-relax"
Back-to-back branch optimization.
.ie n .IP """\-mno\-all\-relax""" 4
.el .IP "\f(CW\-mno\-all\-relax\fR" 4
.IX Item "-mno-all-relax"
Suppress all relaxation for this file.
.ie n .IP """\-march=<arch name>""" 4
.el .IP "\f(CW\-march=<arch name>\fR" 4
.IX Item "-march=<arch name>"
Assemble for architecture <arch name> which could be v3, v3j, v3m, v3f,
v3s, v2, v2j, v2f, v2s.
.ie n .IP """\-mbaseline=<baseline>""" 4
.el .IP "\f(CW\-mbaseline=<baseline>\fR" 4
.IX Item "-mbaseline=<baseline>"
Assemble for baseline <baseline> which could be v2, v3, v3m.
.ie n .IP """\-mfpu\-freg=\f(CIFREG\f(CW""" 4
.el .IP "\f(CW\-mfpu\-freg=\f(CIFREG\f(CW\fR" 4
.IX Item "-mfpu-freg=FREG"
Specify a \s-1FPU\s0 configuration.
.RS 4
.ie n .IP """0      8 SP /  4 DP registers""" 4
.el .IP "\f(CW0      8 SP /  4 DP registers\fR" 4
.IX Item "0 8 SP / 4 DP registers"
.PD 0
.ie n .IP """1     16 SP /  8 DP registers""" 4
.el .IP "\f(CW1     16 SP /  8 DP registers\fR" 4
.IX Item "1 16 SP / 8 DP registers"
.ie n .IP """2     32 SP / 16 DP registers""" 4
.el .IP "\f(CW2     32 SP / 16 DP registers\fR" 4
.IX Item "2 32 SP / 16 DP registers"
.ie n .IP """3     32 SP / 32 DP registers""" 4
.el .IP "\f(CW3     32 SP / 32 DP registers\fR" 4
.IX Item "3 32 SP / 32 DP registers"
.RE
.RS 4
.RE
.ie n .IP """\-mabi=\f(CIabi\f(CW""" 4
.el .IP "\f(CW\-mabi=\f(CIabi\f(CW\fR" 4
.IX Item "-mabi=abi"
.PD
Specify a abi version <abi> could be v1, v2, v2fp, v2fpp.
.ie n .IP """\-m[no\-]mac""" 4
.el .IP "\f(CW\-m[no\-]mac\fR" 4
.IX Item "-m[no-]mac"
Enable/Disable Multiply instructions support.
.ie n .IP """\-m[no\-]div""" 4
.el .IP "\f(CW\-m[no\-]div\fR" 4
.IX Item "-m[no-]div"
Enable/Disable Divide instructions support.
.ie n .IP """\-m[no\-]16bit\-ext""" 4
.el .IP "\f(CW\-m[no\-]16bit\-ext\fR" 4
.IX Item "-m[no-]16bit-ext"
Enable/Disable 16\-bit extension
.ie n .IP """\-m[no\-]dx\-regs""" 4
.el .IP "\f(CW\-m[no\-]dx\-regs\fR" 4
.IX Item "-m[no-]dx-regs"
Enable/Disable d0/d1 registers
.ie n .IP """\-m[no\-]perf\-ext""" 4
.el .IP "\f(CW\-m[no\-]perf\-ext\fR" 4
.IX Item "-m[no-]perf-ext"
Enable/Disable Performance extension
.ie n .IP """\-m[no\-]perf2\-ext""" 4
.el .IP "\f(CW\-m[no\-]perf2\-ext\fR" 4
.IX Item "-m[no-]perf2-ext"
Enable/Disable Performance extension 2
.ie n .IP """\-m[no\-]string\-ext""" 4
.el .IP "\f(CW\-m[no\-]string\-ext\fR" 4
.IX Item "-m[no-]string-ext"
Enable/Disable String extension
.ie n .IP """\-m[no\-]reduced\-regs""" 4
.el .IP "\f(CW\-m[no\-]reduced\-regs\fR" 4
.IX Item "-m[no-]reduced-regs"
Enable/Disable Reduced Register configuration (\s-1GPR16\s0) option
.ie n .IP """\-m[no\-]audio\-isa\-ext""" 4
.el .IP "\f(CW\-m[no\-]audio\-isa\-ext\fR" 4
.IX Item "-m[no-]audio-isa-ext"
Enable/Disable \s-1AUDIO ISA\s0 extension
.ie n .IP """\-m[no\-]fpu\-sp\-ext""" 4
.el .IP "\f(CW\-m[no\-]fpu\-sp\-ext\fR" 4
.IX Item "-m[no-]fpu-sp-ext"
Enable/Disable \s-1FPU SP\s0 extension
.ie n .IP """\-m[no\-]fpu\-dp\-ext""" 4
.el .IP "\f(CW\-m[no\-]fpu\-dp\-ext\fR" 4
.IX Item "-m[no-]fpu-dp-ext"
Enable/Disable \s-1FPU DP\s0 extension
.ie n .IP """\-m[no\-]fpu\-fma""" 4
.el .IP "\f(CW\-m[no\-]fpu\-fma\fR" 4
.IX Item "-m[no-]fpu-fma"
Enable/Disable \s-1FPU\s0 fused-multiply-add instructions
.ie n .IP """\-mall\-ext""" 4
.el .IP "\f(CW\-mall\-ext\fR" 4
.IX Item "-mall-ext"
Turn on all extensions and instructions support
.PP
The following options are available when as is configured for a
PowerPC processor.
.IP "\fB\-a32\fR" 4
.IX Item "-a32"
Generate \s-1ELF32\s0 or \s-1XCOFF32.\s0
.IP "\fB\-a64\fR" 4
.IX Item "-a64"
Generate \s-1ELF64\s0 or \s-1XCOFF64.\s0
.IP "\fB\-K \s-1PIC\s0\fR" 4
.IX Item "-K PIC"
Set \s-1EF_PPC_RELOCATABLE_LIB\s0 in \s-1ELF\s0 flags.
.IP "\fB\-mpwrx | \-mpwr2\fR" 4
.IX Item "-mpwrx | -mpwr2"
Generate code for \s-1POWER/2 \s0(\s-1RIOS2\s0).
.IP "\fB\-mpwr\fR" 4
.IX Item "-mpwr"
Generate code for \s-1POWER \s0(\s-1RIOS1\s0)
.IP "\fB\-m601\fR" 4
.IX Item "-m601"
Generate code for PowerPC 601.
.IP "\fB\-mppc, \-mppc32, \-m603, \-m604\fR" 4
.IX Item "-mppc, -mppc32, -m603, -m604"
Generate code for PowerPC 603/604.
.IP "\fB\-m403, \-m405\fR" 4
.IX Item "-m403, -m405"
Generate code for PowerPC 403/405.
.IP "\fB\-m440\fR" 4
.IX Item "-m440"
Generate code for PowerPC 440.  BookE and some 405 instructions.
.IP "\fB\-m464\fR" 4
.IX Item "-m464"
Generate code for PowerPC 464.
.IP "\fB\-m476\fR" 4
.IX Item "-m476"
Generate code for PowerPC 476.
.IP "\fB\-m7400, \-m7410, \-m7450, \-m7455\fR" 4
.IX Item "-m7400, -m7410, -m7450, -m7455"
Generate code for PowerPC 7400/7410/7450/7455.
.IP "\fB\-m750cl\fR" 4
.IX Item "-m750cl"
Generate code for PowerPC 750CL.
.IP "\fB\-m821, \-m850, \-m860\fR" 4
.IX Item "-m821, -m850, -m860"
Generate code for PowerPC 821/850/860.
.IP "\fB\-mppc64, \-m620\fR" 4
.IX Item "-mppc64, -m620"
Generate code for PowerPC 620/625/630.
.IP "\fB\-me500, \-me500x2\fR" 4
.IX Item "-me500, -me500x2"
Generate code for Motorola e500 core complex.
.IP "\fB\-me500mc\fR" 4
.IX Item "-me500mc"
Generate code for Freescale e500mc core complex.
.IP "\fB\-me500mc64\fR" 4
.IX Item "-me500mc64"
Generate code for Freescale e500mc64 core complex.
.IP "\fB\-me5500\fR" 4
.IX Item "-me5500"
Generate code for Freescale e5500 core complex.
.IP "\fB\-me6500\fR" 4
.IX Item "-me6500"
Generate code for Freescale e6500 core complex.
.IP "\fB\-mspe\fR" 4
.IX Item "-mspe"
Generate code for Motorola \s-1SPE\s0 instructions.
.IP "\fB\-mtitan\fR" 4
.IX Item "-mtitan"
Generate code for AppliedMicro Titan core complex.
.IP "\fB\-mppc64bridge\fR" 4
.IX Item "-mppc64bridge"
Generate code for PowerPC 64, including bridge insns.
.IP "\fB\-mbooke\fR" 4
.IX Item "-mbooke"
Generate code for 32\-bit BookE.
.IP "\fB\-ma2\fR" 4
.IX Item "-ma2"
Generate code for A2 architecture.
.IP "\fB\-me300\fR" 4
.IX Item "-me300"
Generate code for PowerPC e300 family.
.IP "\fB\-maltivec\fR" 4
.IX Item "-maltivec"
Generate code for processors with AltiVec instructions.
.IP "\fB\-mvle\fR" 4
.IX Item "-mvle"
Generate code for Freescale PowerPC \s-1VLE\s0 instructions.
.IP "\fB\-mvsx\fR" 4
.IX Item "-mvsx"
Generate code for processors with Vector-Scalar (\s-1VSX\s0) instructions.
.IP "\fB\-mhtm\fR" 4
.IX Item "-mhtm"
Generate code for processors with Hardware Transactional Memory instructions.
.IP "\fB\-mpower4, \-mpwr4\fR" 4
.IX Item "-mpower4, -mpwr4"
Generate code for Power4 architecture.
.IP "\fB\-mpower5, \-mpwr5, \-mpwr5x\fR" 4
.IX Item "-mpower5, -mpwr5, -mpwr5x"
Generate code for Power5 architecture.
.IP "\fB\-mpower6, \-mpwr6\fR" 4
.IX Item "-mpower6, -mpwr6"
Generate code for Power6 architecture.
.IP "\fB\-mpower7, \-mpwr7\fR" 4
.IX Item "-mpower7, -mpwr7"
Generate code for Power7 architecture.
.IP "\fB\-mpower8, \-mpwr8\fR" 4
.IX Item "-mpower8, -mpwr8"
Generate code for Power8 architecture.
.IP "\fB\-mpower9, \-mpwr9\fR" 4
.IX Item "-mpower9, -mpwr9"
Generate code for Power9 architecture.
.IP "\fB\-mcell\fR" 4
.IX Item "-mcell"
.PD 0
.IP "\fB\-mcell\fR" 4
.IX Item "-mcell"
.PD
Generate code for Cell Broadband Engine architecture.
.IP "\fB\-mcom\fR" 4
.IX Item "-mcom"
Generate code Power/PowerPC common instructions.
.IP "\fB\-many\fR" 4
.IX Item "-many"
Generate code for any architecture (\s-1PWR/PWRX/PPC\s0).
.IP "\fB\-mregnames\fR" 4
.IX Item "-mregnames"
Allow symbolic names for registers.
.IP "\fB\-mno\-regnames\fR" 4
.IX Item "-mno-regnames"
Do not allow symbolic names for registers.
.IP "\fB\-mrelocatable\fR" 4
.IX Item "-mrelocatable"
Support for \s-1GCC\s0's \-mrelocatable option.
.IP "\fB\-mrelocatable\-lib\fR" 4
.IX Item "-mrelocatable-lib"
Support for \s-1GCC\s0's \-mrelocatable\-lib option.
.IP "\fB\-memb\fR" 4
.IX Item "-memb"
Set \s-1PPC_EMB\s0 bit in \s-1ELF\s0 flags.
.IP "\fB\-mlittle, \-mlittle\-endian, \-le\fR" 4
.IX Item "-mlittle, -mlittle-endian, -le"
Generate code for a little endian machine.
.IP "\fB\-mbig, \-mbig\-endian, \-be\fR" 4
.IX Item "-mbig, -mbig-endian, -be"
Generate code for a big endian machine.
.IP "\fB\-msolaris\fR" 4
.IX Item "-msolaris"
Generate code for Solaris.
.IP "\fB\-mno\-solaris\fR" 4
.IX Item "-mno-solaris"
Do not generate code for Solaris.
.IP "\fB\-nops=\fR\fIcount\fR" 4
.IX Item "-nops=count"
If an alignment directive inserts more than \fIcount\fR nops, put a
branch at the beginning to skip execution of the nops.
.PP
See the info pages for documentation of the RX-specific options.
.PP
The following options are available when as is configured for the s390
processor family.
.IP "\fB\-m31\fR" 4
.IX Item "-m31"
.PD 0
.IP "\fB\-m64\fR" 4
.IX Item "-m64"
.PD
Select the word size, either 31/32 bits or 64 bits.
.IP "\fB\-mesa\fR" 4
.IX Item "-mesa"
.PD 0
.IP "\fB\-mzarch\fR" 4
.IX Item "-mzarch"
.PD
Select the architecture mode, either the Enterprise System
Architecture (esa) or the z/Architecture mode (zarch).
.IP "\fB\-march=\fR\fIprocessor\fR" 4
.IX Item "-march=processor"
Specify which s390 processor variant is the target, \fBg6\fR, \fBg6\fR,
\&\fBz900\fR, \fBz990\fR, \fBz9\-109\fR, \fBz9\-ec\fR, \fBz10\fR,
\&\fBz196\fR, \fBzEC12\fR, or \fBz13\fR.
.IP "\fB\-mregnames\fR" 4
.IX Item "-mregnames"
.PD 0
.IP "\fB\-mno\-regnames\fR" 4
.IX Item "-mno-regnames"
.PD
Allow or disallow symbolic names for registers.
.IP "\fB\-mwarn\-areg\-zero\fR" 4
.IX Item "-mwarn-areg-zero"
Warn whenever the operand for a base or index register has been specified
but evaluates to zero.
.PP
The following options are available when as is configured for a
\&\s-1TMS320C6000\s0 processor.
.IP "\fB\-march=\fR\fIarch\fR" 4
.IX Item "-march=arch"
Enable (only) instructions from architecture \fIarch\fR.  By default,
all instructions are permitted.
.Sp
The following values of \fIarch\fR are accepted: \f(CW\*(C`c62x\*(C'\fR,
\&\f(CW\*(C`c64x\*(C'\fR, \f(CW\*(C`c64x+\*(C'\fR, \f(CW\*(C`c67x\*(C'\fR, \f(CW\*(C`c67x+\*(C'\fR, \f(CW\*(C`c674x\*(C'\fR.
.IP "\fB\-mdsbt\fR" 4
.IX Item "-mdsbt"
.PD 0
.IP "\fB\-mno\-dsbt\fR" 4
.IX Item "-mno-dsbt"
.PD
The \fB\-mdsbt\fR option causes the assembler to generate the
\&\f(CW\*(C`Tag_ABI_DSBT\*(C'\fR attribute with a value of 1, indicating that the
code is using \s-1DSBT\s0 addressing.  The \fB\-mno\-dsbt\fR option, the
default, causes the tag to have a value of 0, indicating that the code
does not use \s-1DSBT\s0 addressing.  The linker will emit a warning if
objects of different type (\s-1DSBT\s0 and non-DSBT) are linked together.
.IP "\fB\-mpid=no\fR" 4
.IX Item "-mpid=no"
.PD 0
.IP "\fB\-mpid=near\fR" 4
.IX Item "-mpid=near"
.IP "\fB\-mpid=far\fR" 4
.IX Item "-mpid=far"
.PD
The \fB\-mpid=\fR option causes the assembler to generate the
\&\f(CW\*(C`Tag_ABI_PID\*(C'\fR attribute with a value indicating the form of data
addressing used by the code.  \fB\-mpid=no\fR, the default,
indicates position-dependent data addressing, \fB\-mpid=near\fR
indicates position-independent addressing with \s-1GOT\s0 accesses using near
\&\s-1DP\s0 addressing, and \fB\-mpid=far\fR indicates position-independent
addressing with \s-1GOT\s0 accesses using far \s-1DP\s0 addressing.  The linker will
emit a warning if objects built with different settings of this option
are linked together.
.IP "\fB\-mpic\fR" 4
.IX Item "-mpic"
.PD 0
.IP "\fB\-mno\-pic\fR" 4
.IX Item "-mno-pic"
.PD
The \fB\-mpic\fR option causes the assembler to generate the
\&\f(CW\*(C`Tag_ABI_PIC\*(C'\fR attribute with a value of 1, indicating that the
code is using position-independent code addressing,  The
\&\f(CW\*(C`\-mno\-pic\*(C'\fR option, the default, causes the tag to have a value of
0, indicating position-dependent code addressing.  The linker will
emit a warning if objects of different type (position-dependent and
position-independent) are linked together.
.IP "\fB\-mbig\-endian\fR" 4
.IX Item "-mbig-endian"
.PD 0
.IP "\fB\-mlittle\-endian\fR" 4
.IX Item "-mlittle-endian"
.PD
Generate code for the specified endianness.  The default is
little-endian.
.PP
The following options are available when as is configured for a TILE-Gx
processor.
.IP "\fB\-m32 | \-m64\fR" 4
.IX Item "-m32 | -m64"
Select the word size, either 32 bits or 64 bits.
.IP "\fB\-EB | \-EL\fR" 4
.IX Item "-EB | -EL"
Select the endianness, either big-endian (\-EB) or little-endian (\-EL).
.PP
The following option is available when as is configured for a Visium
processor.
.IP "\fB\-mtune=\fR\fIarch\fR" 4
.IX Item "-mtune=arch"
This option specifies the target architecture.  If an attempt is made to
assemble an instruction that will not execute on the target architecture,
the assembler will issue an error message.
.Sp
The following names are recognized:
\&\f(CW\*(C`mcm24\*(C'\fR
\&\f(CW\*(C`mcm\*(C'\fR
\&\f(CW\*(C`gr5\*(C'\fR
\&\f(CW\*(C`gr6\*(C'\fR
.PP
The following options are available when as is configured for an
Xtensa processor.
.IP "\fB\-\-text\-section\-literals | \-\-no\-text\-section\-literals\fR" 4
.IX Item "--text-section-literals | --no-text-section-literals"
Control the treatment of literal pools.  The default is
\&\fB\-\-no\-text\-section\-literals\fR, which places literals in
separate sections in the output file.  This allows the literal pool to be
placed in a data \s-1RAM/ROM. \s0 With \fB\-\-text\-section\-literals\fR, the
literals are interspersed in the text section in order to keep them as
close as possible to their references.  This may be necessary for large
assembly files, where the literals would otherwise be out of range of the
\&\f(CW\*(C`L32R\*(C'\fR instructions in the text section.  Literals are grouped into
pools following \f(CW\*(C`.literal_position\*(C'\fR directives or preceding
\&\f(CW\*(C`ENTRY\*(C'\fR instructions.  These options only affect literals referenced
via PC-relative \f(CW\*(C`L32R\*(C'\fR instructions; literals for absolute mode
\&\f(CW\*(C`L32R\*(C'\fR instructions are handled separately.
.IP "\fB\-\-auto\-litpools | \-\-no\-auto\-litpools\fR" 4
.IX Item "--auto-litpools | --no-auto-litpools"
Control the treatment of literal pools.  The default is
\&\fB\-\-no\-auto\-litpools\fR, which in the absence of
\&\fB\-\-text\-section\-literals\fR places literals in separate sections
in the output file.  This allows the literal pool to be placed in a data
\&\s-1RAM/ROM. \s0 With \fB\-\-auto\-litpools\fR, the literals are interspersed
in the text section in order to keep them as close as possible to their
references, explicit \f(CW\*(C`.literal_position\*(C'\fR directives are not
required.  This may be necessary for very large functions, where single
literal pool at the beginning of the function may not be reachable by
\&\f(CW\*(C`L32R\*(C'\fR instructions at the end.  These options only affect
literals referenced via PC-relative \f(CW\*(C`L32R\*(C'\fR instructions; literals
for absolute mode \f(CW\*(C`L32R\*(C'\fR instructions are handled separately.
When used together with \fB\-\-text\-section\-literals\fR,
\&\fB\-\-auto\-litpools\fR takes precedence.
.IP "\fB\-\-absolute\-literals | \-\-no\-absolute\-literals\fR" 4
.IX Item "--absolute-literals | --no-absolute-literals"
Indicate to the assembler whether \f(CW\*(C`L32R\*(C'\fR instructions use absolute
or PC-relative addressing.  If the processor includes the absolute
addressing option, the default is to use absolute \f(CW\*(C`L32R\*(C'\fR
relocations.  Otherwise, only the PC-relative \f(CW\*(C`L32R\*(C'\fR relocations
can be used.
.IP "\fB\-\-target\-align | \-\-no\-target\-align\fR" 4
.IX Item "--target-align | --no-target-align"
Enable or disable automatic alignment to reduce branch penalties at some
expense in code size.    This optimization is enabled by default.  Note
that the assembler will always align instructions like \f(CW\*(C`LOOP\*(C'\fR that
have fixed alignment requirements.
.IP "\fB\-\-longcalls | \-\-no\-longcalls\fR" 4
.IX Item "--longcalls | --no-longcalls"
Enable or disable transformation of call instructions to allow calls
across a greater range of addresses.    This option should be used when call
targets can potentially be out of range.  It may degrade both code size
and performance, but the linker can generally optimize away the
unnecessary overhead when a call ends up within range.  The default is
\&\fB\-\-no\-longcalls\fR.
.IP "\fB\-\-transform | \-\-no\-transform\fR" 4
.IX Item "--transform | --no-transform"
Enable or disable all assembler transformations of Xtensa instructions,
including both relaxation and optimization.  The default is
\&\fB\-\-transform\fR; \fB\-\-no\-transform\fR should only be used in the
rare cases when the instructions must be exactly as specified in the
assembly source.  Using \fB\-\-no\-transform\fR causes out of range
instruction operands to be errors.
.IP "\fB\-\-rename\-section\fR \fIoldname\fR\fB=\fR\fInewname\fR" 4
.IX Item "--rename-section oldname=newname"
Rename the \fIoldname\fR section to \fInewname\fR.  This option can be used
multiple times to rename multiple sections.
.IP "\fB\-\-trampolines | \-\-no\-trampolines\fR" 4
.IX Item "--trampolines | --no-trampolines"
Enable or disable transformation of jump instructions to allow jumps
across a greater range of addresses.    This option should be used when jump targets can
potentially be out of range.  In the absence of such jumps this option
does not affect code size or performance.  The default is
\&\fB\-\-trampolines\fR.
.PP
The following options are available when as is configured for
a Z80 family processor.
.IP "\fB\-z80\fR" 4
.IX Item "-z80"
Assemble for Z80 processor.
.IP "\fB\-r800\fR" 4
.IX Item "-r800"
Assemble for R800 processor.
.IP "\fB\-ignore\-undocumented\-instructions\fR" 4
.IX Item "-ignore-undocumented-instructions"
.PD 0
.IP "\fB\-Wnud\fR" 4
.IX Item "-Wnud"
.PD
Assemble undocumented Z80 instructions that also work on R800 without warning.
.IP "\fB\-ignore\-unportable\-instructions\fR" 4
.IX Item "-ignore-unportable-instructions"
.PD 0
.IP "\fB\-Wnup\fR" 4
.IX Item "-Wnup"
.PD
Assemble all undocumented Z80 instructions without warning.
.IP "\fB\-warn\-undocumented\-instructions\fR" 4
.IX Item "-warn-undocumented-instructions"
.PD 0
.IP "\fB\-Wud\fR" 4
.IX Item "-Wud"
.PD
Issue a warning for undocumented Z80 instructions that also work on R800.
.IP "\fB\-warn\-unportable\-instructions\fR" 4
.IX Item "-warn-unportable-instructions"
.PD 0
.IP "\fB\-Wup\fR" 4
.IX Item "-Wup"
.PD
Issue a warning for undocumented Z80 instructions that do not work on R800.
.IP "\fB\-forbid\-undocumented\-instructions\fR" 4
.IX Item "-forbid-undocumented-instructions"
.PD 0
.IP "\fB\-Fud\fR" 4
.IX Item "-Fud"
.PD
Treat all undocumented instructions as errors.
.IP "\fB\-forbid\-unportable\-instructions\fR" 4
.IX Item "-forbid-unportable-instructions"
.PD 0
.IP "\fB\-Fup\fR" 4
.IX Item "-Fup"
.PD
Treat undocumented Z80 instructions that do not work on R800 as errors.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fIgcc\fR\|(1), \fIld\fR\|(1), and the Info entries for \fIbinutils\fR and \fIld\fR.
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright (c) 1991\-2016 Free Software Foundation, Inc.
.PP
Permission is granted to copy, distribute and/or modify this document
under the terms of the \s-1GNU\s0 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 \*(L"\s-1GNU\s0 Free Documentation License\*(R".
