Merge branch 'vendor/GCC47'
[dragonfly.git] / contrib / binutils-2.24 / gas / doc / as.1
1 .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sp \" Vertical space (when we can't use .PP)
6 .if t .sp .5v
7 .if n .sp
8 ..
9 .de Vb \" Begin verbatim text
10 .ft CW
11 .nf
12 .ne \\$1
13 ..
14 .de Ve \" End verbatim text
15 .ft R
16 .fi
17 ..
18 .\" Set up some character translations and predefined strings.  \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
21 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
24 .tr \(*W-
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26 .ie n \{\
27 .    ds -- \(*W-
28 .    ds PI pi
29 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
31 .    ds L" ""
32 .    ds R" ""
33 .    ds C` ""
34 .    ds C' ""
35 'br\}
36 .el\{\
37 .    ds -- \|\(em\|
38 .    ds PI \(*p
39 .    ds L" ``
40 .    ds R" ''
41 'br\}
42 .\"
43 .\" Escape single quotes in literal strings from groff's Unicode transform.
44 .ie \n(.g .ds Aq \(aq
45 .el       .ds Aq '
46 .\"
47 .\" If the F register is turned on, we'll generate index entries on stderr for
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
49 .\" entries marked with X<> in POD.  Of course, you'll have to process the
50 .\" output yourself in some meaningful fashion.
51 .ie \nF \{\
52 .    de IX
53 .    tm Index:\\$1\t\\n%\t"\\$2"
54 ..
55 .    nr % 0
56 .    rr F
57 .\}
58 .el \{\
59 .    de IX
60 ..
61 .\}
62 .\"
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
65 .    \" fudge factors for nroff and troff
66 .if n \{\
67 .    ds #H 0
68 .    ds #V .8m
69 .    ds #F .3m
70 .    ds #[ \f1
71 .    ds #] \fP
72 .\}
73 .if t \{\
74 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
75 .    ds #V .6m
76 .    ds #F 0
77 .    ds #[ \&
78 .    ds #] \&
79 .\}
80 .    \" simple accents for nroff and troff
81 .if n \{\
82 .    ds ' \&
83 .    ds ` \&
84 .    ds ^ \&
85 .    ds , \&
86 .    ds ~ ~
87 .    ds /
88 .\}
89 .if t \{\
90 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
91 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
92 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
93 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
94 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
95 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
96 .\}
97 .    \" troff and (daisy-wheel) nroff accents
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
105 .ds ae a\h'-(\w'a'u*4/10)'e
106 .ds Ae A\h'-(\w'A'u*4/10)'E
107 .    \" corrections for vroff
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
110 .    \" for low resolution devices (crt and lpr)
111 .if \n(.H>23 .if \n(.V>19 \
112 \{\
113 .    ds : e
114 .    ds 8 ss
115 .    ds o a
116 .    ds d- d\h'-1'\(ga
117 .    ds D- D\h'-1'\(hy
118 .    ds th \o'bp'
119 .    ds Th \o'LP'
120 .    ds ae ae
121 .    ds Ae AE
122 .\}
123 .rm #[ #] #H #V #F C
124 .\" ========================================================================
125 .\"
126 .IX Title "AS 1"
127 .TH AS 1 "2013-11-26" "binutils-2.23.92" "GNU Development Tools"
128 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
129 .\" way too many mistakes in technical documents.
130 .if n .ad l
131 .nh
132 .SH "NAME"
133 AS \- the portable GNU assembler.
134 .SH "SYNOPSIS"
135 .IX Header "SYNOPSIS"
136 as [\fB\-a\fR[\fBcdghlns\fR][=\fIfile\fR]] [\fB\-\-alternate\fR] [\fB\-D\fR]
137  [\fB\-\-compress\-debug\-sections\fR]  [\fB\-\-nocompress\-debug\-sections\fR]
138  [\fB\-\-debug\-prefix\-map\fR \fIold\fR=\fInew\fR]
139  [\fB\-\-defsym\fR \fIsym\fR=\fIval\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-\-gstabs\fR]
140  [\fB\-\-gstabs+\fR] [\fB\-\-gdwarf\-2\fR] [\fB\-\-gdwarf\-sections\fR]
141  [\fB\-\-help\fR] [\fB\-I\fR \fIdir\fR] [\fB\-J\fR]
142  [\fB\-K\fR] [\fB\-L\fR] [\fB\-\-listing\-lhs\-width\fR=\fI\s-1NUM\s0\fR]
143  [\fB\-\-listing\-lhs\-width2\fR=\fI\s-1NUM\s0\fR] [\fB\-\-listing\-rhs\-width\fR=\fI\s-1NUM\s0\fR]
144  [\fB\-\-listing\-cont\-lines\fR=\fI\s-1NUM\s0\fR] [\fB\-\-keep\-locals\fR] [\fB\-o\fR
145  \fIobjfile\fR] [\fB\-R\fR] [\fB\-\-reduce\-memory\-overheads\fR] [\fB\-\-statistics\fR]
146  [\fB\-v\fR] [\fB\-version\fR] [\fB\-\-version\fR] [\fB\-W\fR] [\fB\-\-warn\fR]
147  [\fB\-\-fatal\-warnings\fR] [\fB\-w\fR] [\fB\-x\fR] [\fB\-Z\fR] [\fB@\fR\fI\s-1FILE\s0\fR]
148  [\fB\-\-size\-check=[error|warning]\fR]
149  [\fB\-\-target\-help\fR] [\fItarget-options\fR]
150  [\fB\-\-\fR|\fIfiles\fR ...]
151 .PP
152 \&\fITarget AArch64 options:\fR
153    [\fB\-EB\fR|\fB\-EL\fR]
154    [\fB\-mabi\fR=\fI\s-1ABI\s0\fR]
155 .PP
156 \&\fITarget Alpha options:\fR
157    [\fB\-m\fR\fIcpu\fR]
158    [\fB\-mdebug\fR | \fB\-no\-mdebug\fR]
159    [\fB\-replace\fR | \fB\-noreplace\fR]
160    [\fB\-relax\fR] [\fB\-g\fR] [\fB\-G\fR\fIsize\fR]
161    [\fB\-F\fR] [\fB\-32addr\fR]
162 .PP
163 \&\fITarget \s-1ARC\s0 options:\fR
164    [\fB\-marc[5|6|7|8]\fR]
165    [\fB\-EB\fR|\fB\-EL\fR]
166 .PP
167 \&\fITarget \s-1ARM\s0 options:\fR
168    [\fB\-mcpu\fR=\fIprocessor\fR[+\fIextension\fR...]]
169    [\fB\-march\fR=\fIarchitecture\fR[+\fIextension\fR...]]
170    [\fB\-mfpu\fR=\fIfloating-point-format\fR]
171    [\fB\-mfloat\-abi\fR=\fIabi\fR]
172    [\fB\-meabi\fR=\fIver\fR]
173    [\fB\-mthumb\fR]
174    [\fB\-EB\fR|\fB\-EL\fR]
175    [\fB\-mapcs\-32\fR|\fB\-mapcs\-26\fR|\fB\-mapcs\-float\fR|
176     \fB\-mapcs\-reentrant\fR]
177    [\fB\-mthumb\-interwork\fR] [\fB\-k\fR]
178 .PP
179 \&\fITarget Blackfin options:\fR
180    [\fB\-mcpu\fR=\fIprocessor\fR[\-\fIsirevision\fR]]
181    [\fB\-mfdpic\fR]
182    [\fB\-mno\-fdpic\fR]
183    [\fB\-mnopic\fR]
184 .PP
185 \&\fITarget \s-1CRIS\s0 options:\fR
186    [\fB\-\-underscore\fR | \fB\-\-no\-underscore\fR]
187    [\fB\-\-pic\fR] [\fB\-N\fR]
188    [\fB\-\-emulation=criself\fR | \fB\-\-emulation=crisaout\fR]
189    [\fB\-\-march=v0_v10\fR | \fB\-\-march=v10\fR | \fB\-\-march=v32\fR | \fB\-\-march=common_v10_v32\fR]
190 .PP
191 \&\fITarget D10V options:\fR
192    [\fB\-O\fR]
193 .PP
194 \&\fITarget D30V options:\fR
195    [\fB\-O\fR|\fB\-n\fR|\fB\-N\fR]
196 .PP
197 \&\fITarget \s-1EPIPHANY\s0 options:\fR
198    [\fB\-mepiphany\fR|\fB\-mepiphany16\fR]
199 .PP
200 \&\fITarget H8/300 options:\fR
201    [\-h\-tick\-hex]
202 .PP
203 \&\fITarget i386 options:\fR
204    [\fB\-\-32\fR|\fB\-\-x32\fR|\fB\-\-64\fR] [\fB\-n\fR]
205    [\fB\-march\fR=\fI\s-1CPU\s0\fR[+\fI\s-1EXTENSION\s0\fR...]] [\fB\-mtune\fR=\fI\s-1CPU\s0\fR]
206 .PP
207 \&\fITarget i960 options:\fR
208    [\fB\-ACA\fR|\fB\-ACA_A\fR|\fB\-ACB\fR|\fB\-ACC\fR|\fB\-AKA\fR|\fB\-AKB\fR|
209     \fB\-AKC\fR|\fB\-AMC\fR]
210    [\fB\-b\fR] [\fB\-no\-relax\fR]
211 .PP
212 \&\fITarget \s-1IA\-64\s0 options:\fR
213    [\fB\-mconstant\-gp\fR|\fB\-mauto\-pic\fR]
214    [\fB\-milp32\fR|\fB\-milp64\fR|\fB\-mlp64\fR|\fB\-mp64\fR]
215    [\fB\-mle\fR|\fBmbe\fR]
216    [\fB\-mtune=itanium1\fR|\fB\-mtune=itanium2\fR]
217    [\fB\-munwind\-check=warning\fR|\fB\-munwind\-check=error\fR]
218    [\fB\-mhint.b=ok\fR|\fB\-mhint.b=warning\fR|\fB\-mhint.b=error\fR]
219    [\fB\-x\fR|\fB\-xexplicit\fR] [\fB\-xauto\fR] [\fB\-xdebug\fR]
220 .PP
221 \&\fITarget \s-1IP2K\s0 options:\fR
222    [\fB\-mip2022\fR|\fB\-mip2022ext\fR]
223 .PP
224 \&\fITarget M32C options:\fR
225    [\fB\-m32c\fR|\fB\-m16c\fR] [\-relax] [\-h\-tick\-hex]
226 .PP
227 \&\fITarget M32R options:\fR
228    [\fB\-\-m32rx\fR|\fB\-\-[no\-]warn\-explicit\-parallel\-conflicts\fR|
229    \fB\-\-W[n]p\fR]
230 .PP
231 \&\fITarget M680X0 options:\fR
232    [\fB\-l\fR] [\fB\-m68000\fR|\fB\-m68010\fR|\fB\-m68020\fR|...]
233 .PP
234 \&\fITarget M68HC11 options:\fR
235    [\fB\-m68hc11\fR|\fB\-m68hc12\fR|\fB\-m68hcs12\fR|\fB\-mm9s12x\fR|\fB\-mm9s12xg\fR]
236    [\fB\-mshort\fR|\fB\-mlong\fR]
237    [\fB\-mshort\-double\fR|\fB\-mlong\-double\fR]
238    [\fB\-\-force\-long\-branches\fR] [\fB\-\-short\-branches\fR]
239    [\fB\-\-strict\-direct\-mode\fR] [\fB\-\-print\-insn\-syntax\fR]
240    [\fB\-\-print\-opcodes\fR] [\fB\-\-generate\-example\fR]
241 .PP
242 \&\fITarget \s-1MCORE\s0 options:\fR
243    [\fB\-jsri2bsr\fR] [\fB\-sifilter\fR] [\fB\-relax\fR]
244    [\fB\-mcpu=[210|340]\fR]
245 .PP
246 \&\fITarget Meta options:\fR
247    [\fB\-mcpu=\fR\fIcpu\fR] [\fB\-mfpu=\fR\fIcpu\fR] [\fB\-mdsp=\fR\fIcpu\fR]
248 \&\fITarget \s-1MICROBLAZE\s0 options:\fR
249 .PP
250 \&\fITarget \s-1MIPS\s0 options:\fR
251    [\fB\-nocpp\fR] [\fB\-EL\fR] [\fB\-EB\fR] [\fB\-O\fR[\fIoptimization level\fR]]
252    [\fB\-g\fR[\fIdebug level\fR]] [\fB\-G\fR \fInum\fR] [\fB\-KPIC\fR] [\fB\-call_shared\fR]
253    [\fB\-non_shared\fR] [\fB\-xgot\fR [\fB\-mvxworks\-pic\fR]
254    [\fB\-mabi\fR=\fI\s-1ABI\s0\fR] [\fB\-32\fR] [\fB\-n32\fR] [\fB\-64\fR] [\fB\-mfp32\fR] [\fB\-mgp32\fR]
255    [\fB\-march\fR=\fI\s-1CPU\s0\fR] [\fB\-mtune\fR=\fI\s-1CPU\s0\fR] [\fB\-mips1\fR] [\fB\-mips2\fR]
256    [\fB\-mips3\fR] [\fB\-mips4\fR] [\fB\-mips5\fR] [\fB\-mips32\fR] [\fB\-mips32r2\fR]
257    [\fB\-mips64\fR] [\fB\-mips64r2\fR]
258    [\fB\-construct\-floats\fR] [\fB\-no\-construct\-floats\fR]
259    [\fB\-mnan=\fR\fIencoding\fR]
260    [\fB\-trap\fR] [\fB\-no\-break\fR] [\fB\-break\fR] [\fB\-no\-trap\fR]
261    [\fB\-mips16\fR] [\fB\-no\-mips16\fR]
262    [\fB\-mmicromips\fR] [\fB\-mno\-micromips\fR]
263    [\fB\-msmartmips\fR] [\fB\-mno\-smartmips\fR]
264    [\fB\-mips3d\fR] [\fB\-no\-mips3d\fR]
265    [\fB\-mdmx\fR] [\fB\-no\-mdmx\fR]
266    [\fB\-mdsp\fR] [\fB\-mno\-dsp\fR]
267    [\fB\-mdspr2\fR] [\fB\-mno\-dspr2\fR]
268    [\fB\-mmt\fR] [\fB\-mno\-mt\fR]
269    [\fB\-mmcu\fR] [\fB\-mno\-mcu\fR]
270    [\fB\-minsn32\fR] [\fB\-mno\-insn32\fR]
271    [\fB\-mfix7000\fR] [\fB\-mno\-fix7000\fR]
272    [\fB\-mfix\-vr4120\fR] [\fB\-mno\-fix\-vr4120\fR]
273    [\fB\-mfix\-vr4130\fR] [\fB\-mno\-fix\-vr4130\fR]
274    [\fB\-mdebug\fR] [\fB\-no\-mdebug\fR]
275    [\fB\-mpdr\fR] [\fB\-mno\-pdr\fR]
276 .PP
277 \&\fITarget \s-1MMIX\s0 options:\fR
278    [\fB\-\-fixed\-special\-register\-names\fR] [\fB\-\-globalize\-symbols\fR]
279    [\fB\-\-gnu\-syntax\fR] [\fB\-\-relax\fR] [\fB\-\-no\-predefined\-symbols\fR]
280    [\fB\-\-no\-expand\fR] [\fB\-\-no\-merge\-gregs\fR] [\fB\-x\fR]
281    [\fB\-\-linker\-allocated\-gregs\fR]
282 .PP
283 \&\fITarget Nios \s-1II\s0 options:\fR
284    [\fB\-relax\-all\fR] [\fB\-relax\-section\fR] [\fB\-no\-relax\fR]
285    [\fB\-EB\fR] [\fB\-EL\fR]
286 .PP
287 \&\fITarget \s-1PDP11\s0 options:\fR
288    [\fB\-mpic\fR|\fB\-mno\-pic\fR] [\fB\-mall\fR] [\fB\-mno\-extensions\fR]
289    [\fB\-m\fR\fIextension\fR|\fB\-mno\-\fR\fIextension\fR]
290    [\fB\-m\fR\fIcpu\fR] [\fB\-m\fR\fImachine\fR]
291 .PP
292 \&\fITarget picoJava options:\fR
293    [\fB\-mb\fR|\fB\-me\fR]
294 .PP
295 \&\fITarget PowerPC options:\fR
296    [\fB\-a32\fR|\fB\-a64\fR]
297    [\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|
298     \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|
299     \fB\-m620\fR|\fB\-me500\fR|\fB\-e500x2\fR|\fB\-me500mc\fR|\fB\-me500mc64\fR|\fB\-me5500\fR|\fB\-me6500\fR|\fB\-mppc64bridge\fR|
300     \fB\-mbooke\fR|\fB\-mpower4\fR|\fB\-mpwr4\fR|\fB\-mpower5\fR|\fB\-mpwr5\fR|\fB\-mpwr5x\fR|\fB\-mpower6\fR|\fB\-mpwr6\fR|
301     \fB\-mpower7\fR|\fB\-mpwr7\fR|\fB\-mpower8\fR|\fB\-mpwr8\fR|\fB\-ma2\fR|\fB\-mcell\fR|\fB\-mspe\fR|\fB\-mtitan\fR|\fB\-me300\fR|\fB\-mcom\fR]
302    [\fB\-many\fR] [\fB\-maltivec\fR|\fB\-mvsx\fR|\fB\-mhtm\fR|\fB\-mvle\fR]
303    [\fB\-mregnames\fR|\fB\-mno\-regnames\fR]
304    [\fB\-mrelocatable\fR|\fB\-mrelocatable\-lib\fR|\fB\-K \s-1PIC\s0\fR] [\fB\-memb\fR]
305    [\fB\-mlittle\fR|\fB\-mlittle\-endian\fR|\fB\-le\fR|\fB\-mbig\fR|\fB\-mbig\-endian\fR|\fB\-be\fR]
306    [\fB\-msolaris\fR|\fB\-mno\-solaris\fR]
307    [\fB\-nops=\fR\fIcount\fR]
308 .PP
309 \&\fITarget \s-1RX\s0 options:\fR
310    [\fB\-mlittle\-endian\fR|\fB\-mbig\-endian\fR]
311    [\fB\-m32bit\-doubles\fR|\fB\-m64bit\-doubles\fR]
312    [\fB\-muse\-conventional\-section\-names\fR]
313    [\fB\-msmall\-data\-limit\fR]
314    [\fB\-mpid\fR]
315    [\fB\-mrelax\fR]
316    [\fB\-mint\-register=\fR\fInumber\fR]
317    [\fB\-mgcc\-abi\fR|\fB\-mrx\-abi\fR]
318 .PP
319 \&\fITarget s390 options:\fR
320    [\fB\-m31\fR|\fB\-m64\fR] [\fB\-mesa\fR|\fB\-mzarch\fR] [\fB\-march\fR=\fI\s-1CPU\s0\fR]
321    [\fB\-mregnames\fR|\fB\-mno\-regnames\fR]
322    [\fB\-mwarn\-areg\-zero\fR]
323 .PP
324 \&\fITarget \s-1SCORE\s0 options:\fR
325    [\fB\-EB\fR][\fB\-EL\fR][\fB\-FIXDD\fR][\fB\-NWARN\fR]
326    [\fB\-SCORE5\fR][\fB\-SCORE5U\fR][\fB\-SCORE7\fR][\fB\-SCORE3\fR]
327    [\fB\-march=score7\fR][\fB\-march=score3\fR]
328    [\fB\-USE_R1\fR][\fB\-KPIC\fR][\fB\-O0\fR][\fB\-G\fR \fInum\fR][\fB\-V\fR]
329 .PP
330 \&\fITarget \s-1SPARC\s0 options:\fR
331    [\fB\-Av6\fR|\fB\-Av7\fR|\fB\-Av8\fR|\fB\-Asparclet\fR|\fB\-Asparclite\fR
332     \fB\-Av8plus\fR|\fB\-Av8plusa\fR|\fB\-Av9\fR|\fB\-Av9a\fR]
333    [\fB\-xarch=v8plus\fR|\fB\-xarch=v8plusa\fR] [\fB\-bump\fR]
334    [\fB\-32\fR|\fB\-64\fR]
335 .PP
336 \&\fITarget \s-1TIC54X\s0 options:\fR
337  [\fB\-mcpu=54[123589]\fR|\fB\-mcpu=54[56]lp\fR] [\fB\-mfar\-mode\fR|\fB\-mf\fR]
338  [\fB\-merrors\-to\-file\fR \fI<filename>\fR|\fB\-me\fR \fI<filename>\fR]
339 .PP
340 \&\fITarget \s-1TIC6X\s0 options:\fR
341    [\fB\-march=\fR\fIarch\fR] [\fB\-mbig\-endian\fR|\fB\-mlittle\-endian\fR]
342    [\fB\-mdsbt\fR|\fB\-mno\-dsbt\fR] [\fB\-mpid=no\fR|\fB\-mpid=near\fR|\fB\-mpid=far\fR]
343    [\fB\-mpic\fR|\fB\-mno\-pic\fR]
344 .PP
345 \&\fITarget TILE-Gx options:\fR
346    [\fB\-m32\fR|\fB\-m64\fR][\fB\-EB\fR][\fB\-EL\fR]
347 .PP
348 \&\fITarget Xtensa options:\fR
349  [\fB\-\-[no\-]text\-section\-literals\fR] [\fB\-\-[no\-]absolute\-literals\fR]
350  [\fB\-\-[no\-]target\-align\fR] [\fB\-\-[no\-]longcalls\fR]
351  [\fB\-\-[no\-]transform\fR]
352  [\fB\-\-rename\-section\fR \fIoldname\fR=\fInewname\fR]
353 .PP
354 \&\fITarget Z80 options:\fR
355   [\fB\-z80\fR] [\fB\-r800\fR]
356   [ \fB\-ignore\-undocumented\-instructions\fR] [\fB\-Wnud\fR]
357   [ \fB\-ignore\-unportable\-instructions\fR] [\fB\-Wnup\fR]
358   [ \fB\-warn\-undocumented\-instructions\fR] [\fB\-Wud\fR]
359   [ \fB\-warn\-unportable\-instructions\fR] [\fB\-Wup\fR]
360   [ \fB\-forbid\-undocumented\-instructions\fR] [\fB\-Fud\fR]
361   [ \fB\-forbid\-unportable\-instructions\fR] [\fB\-Fup\fR]
362 .SH "DESCRIPTION"
363 .IX Header "DESCRIPTION"
364 \&\s-1GNU\s0 \fBas\fR is really a family of assemblers.
365 If you use (or have used) the \s-1GNU\s0 assembler on one architecture, you
366 should find a fairly similar environment when you use it on another
367 architecture.  Each version has much in common with the others,
368 including object file formats, most assembler directives (often called
369 \&\fIpseudo-ops\fR) and assembler syntax.
370 .PP
371 \&\fBas\fR is primarily intended to assemble the output of the
372 \&\s-1GNU\s0 C compiler \f(CW\*(C`gcc\*(C'\fR for use by the linker
373 \&\f(CW\*(C`ld\*(C'\fR.  Nevertheless, we've tried to make \fBas\fR
374 assemble correctly everything that other assemblers for the same
375 machine would assemble.
376 Any exceptions are documented explicitly.
377 This doesn't mean \fBas\fR always uses the same syntax as another
378 assembler for the same architecture; for example, we know of several
379 incompatible versions of 680x0 assembly language syntax.
380 .PP
381 Each time you run \fBas\fR it assembles exactly one source
382 program.  The source program is made up of one or more files.
383 (The standard input is also a file.)
384 .PP
385 You give \fBas\fR a command line that has zero or more input file
386 names.  The input files are read (from left file name to right).  A
387 command line argument (in any position) that has no special meaning
388 is taken to be an input file name.
389 .PP
390 If you give \fBas\fR no file names it attempts to read one input file
391 from the \fBas\fR standard input, which is normally your terminal.  You
392 may have to type \fBctl-D\fR to tell \fBas\fR there is no more program
393 to assemble.
394 .PP
395 Use \fB\-\-\fR if you need to explicitly name the standard input file
396 in your command line.
397 .PP
398 If the source is empty, \fBas\fR produces a small, empty object
399 file.
400 .PP
401 \&\fBas\fR may write warnings and error messages to the standard error
402 file (usually your terminal).  This should not happen when  a compiler
403 runs \fBas\fR automatically.  Warnings report an assumption made so
404 that \fBas\fR could keep assembling a flawed program; errors report a
405 grave problem that stops the assembly.
406 .PP
407 If you are invoking \fBas\fR via the \s-1GNU\s0 C compiler,
408 you can use the \fB\-Wa\fR option to pass arguments through to the assembler.
409 The assembler arguments must be separated from each other (and the \fB\-Wa\fR)
410 by commas.  For example:
411 .PP
412 .Vb 1
413 \&        gcc \-c \-g \-O \-Wa,\-alh,\-L file.c
414 .Ve
415 .PP
416 This passes two options to the assembler: \fB\-alh\fR (emit a listing to
417 standard output with high-level and assembly source) and \fB\-L\fR (retain
418 local symbols in the symbol table).
419 .PP
420 Usually you do not need to use this \fB\-Wa\fR mechanism, since many compiler
421 command-line options are automatically passed to the assembler by the compiler.
422 (You can call the \s-1GNU\s0 compiler driver with the \fB\-v\fR option to see
423 precisely what options it passes to each compilation pass, including the
424 assembler.)
425 .SH "OPTIONS"
426 .IX Header "OPTIONS"
427 .IP "\fB@\fR\fIfile\fR" 4
428 .IX Item "@file"
429 Read command-line options from \fIfile\fR.  The options read are
430 inserted in place of the original @\fIfile\fR option.  If \fIfile\fR
431 does not exist, or cannot be read, then the option will be treated
432 literally, and not removed.
433 .Sp
434 Options in \fIfile\fR are separated by whitespace.  A whitespace
435 character may be included in an option by surrounding the entire
436 option in either single or double quotes.  Any character (including a
437 backslash) may be included by prefixing the character to be included
438 with a backslash.  The \fIfile\fR may itself contain additional
439 @\fIfile\fR options; any such options will be processed recursively.
440 .IP "\fB\-a[cdghlmns]\fR" 4
441 .IX Item "-a[cdghlmns]"
442 Turn on listings, in any of a variety of ways:
443 .RS 4
444 .IP "\fB\-ac\fR" 4
445 .IX Item "-ac"
446 omit false conditionals
447 .IP "\fB\-ad\fR" 4
448 .IX Item "-ad"
449 omit debugging directives
450 .IP "\fB\-ag\fR" 4
451 .IX Item "-ag"
452 include general information, like as version and options passed
453 .IP "\fB\-ah\fR" 4
454 .IX Item "-ah"
455 include high-level source
456 .IP "\fB\-al\fR" 4
457 .IX Item "-al"
458 include assembly
459 .IP "\fB\-am\fR" 4
460 .IX Item "-am"
461 include macro expansions
462 .IP "\fB\-an\fR" 4
463 .IX Item "-an"
464 omit forms processing
465 .IP "\fB\-as\fR" 4
466 .IX Item "-as"
467 include symbols
468 .IP "\fB=file\fR" 4
469 .IX Item "=file"
470 set the name of the listing file
471 .RE
472 .RS 4
473 .Sp
474 You may combine these options; for example, use \fB\-aln\fR for assembly
475 listing without forms processing.  The \fB=file\fR option, if used, must be
476 the last one.  By itself, \fB\-a\fR defaults to \fB\-ahls\fR.
477 .RE
478 .IP "\fB\-\-alternate\fR" 4
479 .IX Item "--alternate"
480 Begin in alternate macro mode.
481 .IP "\fB\-\-compress\-debug\-sections\fR" 4
482 .IX Item "--compress-debug-sections"
483 Compress \s-1DWARF\s0 debug sections using zlib.  The debug sections are renamed
484 to begin with \fB.zdebug\fR, and the resulting object file may not be
485 compatible with older linkers and object file utilities.
486 .IP "\fB\-\-nocompress\-debug\-sections\fR" 4
487 .IX Item "--nocompress-debug-sections"
488 Do not compress \s-1DWARF\s0 debug sections.  This is the default.
489 .IP "\fB\-D\fR" 4
490 .IX Item "-D"
491 Ignored.  This option is accepted for script compatibility with calls to
492 other assemblers.
493 .IP "\fB\-\-debug\-prefix\-map\fR \fIold\fR\fB=\fR\fInew\fR" 4
494 .IX Item "--debug-prefix-map old=new"
495 When assembling files in directory \fI\fIold\fI\fR, record debugging
496 information describing them as in \fI\fInew\fI\fR instead.
497 .IP "\fB\-\-defsym\fR \fIsym\fR\fB=\fR\fIvalue\fR" 4
498 .IX Item "--defsym sym=value"
499 Define the symbol \fIsym\fR to be \fIvalue\fR before assembling the input file.
500 \&\fIvalue\fR must be an integer constant.  As in C, a leading \fB0x\fR
501 indicates a hexadecimal value, and a leading \fB0\fR indicates an octal
502 value.  The value of the symbol can be overridden inside a source file via the
503 use of a \f(CW\*(C`.set\*(C'\fR pseudo-op.
504 .IP "\fB\-f\fR" 4
505 .IX Item "-f"
506 \&\*(L"fast\*(R"\-\-\-skip whitespace and comment preprocessing (assume source is
507 compiler output).
508 .IP "\fB\-g\fR" 4
509 .IX Item "-g"
510 .PD 0
511 .IP "\fB\-\-gen\-debug\fR" 4
512 .IX Item "--gen-debug"
513 .PD
514 Generate debugging information for each assembler source line using whichever
515 debug format is preferred by the target.  This currently means either \s-1STABS\s0,
516 \&\s-1ECOFF\s0 or \s-1DWARF2\s0.
517 .IP "\fB\-\-gstabs\fR" 4
518 .IX Item "--gstabs"
519 Generate stabs debugging information for each assembler line.  This
520 may help debugging assembler code, if the debugger can handle it.
521 .IP "\fB\-\-gstabs+\fR" 4
522 .IX Item "--gstabs+"
523 Generate stabs debugging information for each assembler line, with \s-1GNU\s0
524 extensions that probably only gdb can handle, and that could make other
525 debuggers crash or refuse to read your program.  This
526 may help debugging assembler code.  Currently the only \s-1GNU\s0 extension is
527 the location of the current working directory at assembling time.
528 .IP "\fB\-\-gdwarf\-2\fR" 4
529 .IX Item "--gdwarf-2"
530 Generate \s-1DWARF2\s0 debugging information for each assembler line.  This
531 may help debugging assembler code, if the debugger can handle it.  Note\-\-\-this
532 option is only supported by some targets, not all of them.
533 .IP "\fB\-\-gdwarf\-sections\fR" 4
534 .IX Item "--gdwarf-sections"
535 Instead of creating a .debug_line section, create a series of
536 \&.debug_line.\fIfoo\fR sections where \fIfoo\fR is the name of the
537 corresponding code section.  For example a code section called \fI.text.func\fR
538 will have its dwarf line number information placed into a section called
539 \&\fI.debug_line.text.func\fR.  If the code section is just called \fI.text\fR
540 then debug line section will still be called just \fI.debug_line\fR without any
541 suffix.
542 .IP "\fB\-\-size\-check=error\fR" 4
543 .IX Item "--size-check=error"
544 .PD 0
545 .IP "\fB\-\-size\-check=warning\fR" 4
546 .IX Item "--size-check=warning"
547 .PD
548 Issue an error or warning for invalid \s-1ELF\s0 .size directive.
549 .IP "\fB\-\-help\fR" 4
550 .IX Item "--help"
551 Print a summary of the command line options and exit.
552 .IP "\fB\-\-target\-help\fR" 4
553 .IX Item "--target-help"
554 Print a summary of all target specific options and exit.
555 .IP "\fB\-I\fR \fIdir\fR" 4
556 .IX Item "-I dir"
557 Add directory \fIdir\fR to the search list for \f(CW\*(C`.include\*(C'\fR directives.
558 .IP "\fB\-J\fR" 4
559 .IX Item "-J"
560 Don't warn about signed overflow.
561 .IP "\fB\-K\fR" 4
562 .IX Item "-K"
563 Issue warnings when difference tables altered for long displacements.
564 .IP "\fB\-L\fR" 4
565 .IX Item "-L"
566 .PD 0
567 .IP "\fB\-\-keep\-locals\fR" 4
568 .IX Item "--keep-locals"
569 .PD
570 Keep (in the symbol table) local symbols.  These symbols start with
571 system-specific local label prefixes, typically \fB.L\fR for \s-1ELF\s0 systems
572 or \fBL\fR for traditional a.out systems.
573 .IP "\fB\-\-listing\-lhs\-width=\fR\fInumber\fR" 4
574 .IX Item "--listing-lhs-width=number"
575 Set the maximum width, in words, of the output data column for an assembler
576 listing to \fInumber\fR.
577 .IP "\fB\-\-listing\-lhs\-width2=\fR\fInumber\fR" 4
578 .IX Item "--listing-lhs-width2=number"
579 Set the maximum width, in words, of the output data column for continuation
580 lines in an assembler listing to \fInumber\fR.
581 .IP "\fB\-\-listing\-rhs\-width=\fR\fInumber\fR" 4
582 .IX Item "--listing-rhs-width=number"
583 Set the maximum width of an input source line, as displayed in a listing, to
584 \&\fInumber\fR bytes.
585 .IP "\fB\-\-listing\-cont\-lines=\fR\fInumber\fR" 4
586 .IX Item "--listing-cont-lines=number"
587 Set the maximum number of lines printed in a listing for a single line of input
588 to \fInumber\fR + 1.
589 .IP "\fB\-o\fR \fIobjfile\fR" 4
590 .IX Item "-o objfile"
591 Name the object-file output from \fBas\fR \fIobjfile\fR.
592 .IP "\fB\-R\fR" 4
593 .IX Item "-R"
594 Fold the data section into the text section.
595 .Sp
596 Set the default size of \s-1GAS\s0's hash tables to a prime number close to
597 \&\fInumber\fR.  Increasing this value can reduce the length of time it takes the
598 assembler to perform its tasks, at the expense of increasing the assembler's
599 memory requirements.  Similarly reducing this value can reduce the memory
600 requirements at the expense of speed.
601 .IP "\fB\-\-reduce\-memory\-overheads\fR" 4
602 .IX Item "--reduce-memory-overheads"
603 This option reduces \s-1GAS\s0's memory requirements, at the expense of making the
604 assembly processes slower.  Currently this switch is a synonym for
605 \&\fB\-\-hash\-size=4051\fR, but in the future it may have other effects as well.
606 .IP "\fB\-\-statistics\fR" 4
607 .IX Item "--statistics"
608 Print the maximum space (in bytes) and total time (in seconds) used by
609 assembly.
610 .IP "\fB\-\-strip\-local\-absolute\fR" 4
611 .IX Item "--strip-local-absolute"
612 Remove local absolute symbols from the outgoing symbol table.
613 .IP "\fB\-v\fR" 4
614 .IX Item "-v"
615 .PD 0
616 .IP "\fB\-version\fR" 4
617 .IX Item "-version"
618 .PD
619 Print the \fBas\fR version.
620 .IP "\fB\-\-version\fR" 4
621 .IX Item "--version"
622 Print the \fBas\fR version and exit.
623 .IP "\fB\-W\fR" 4
624 .IX Item "-W"
625 .PD 0
626 .IP "\fB\-\-no\-warn\fR" 4
627 .IX Item "--no-warn"
628 .PD
629 Suppress warning messages.
630 .IP "\fB\-\-fatal\-warnings\fR" 4
631 .IX Item "--fatal-warnings"
632 Treat warnings as errors.
633 .IP "\fB\-\-warn\fR" 4
634 .IX Item "--warn"
635 Don't suppress warning messages or treat them as errors.
636 .IP "\fB\-w\fR" 4
637 .IX Item "-w"
638 Ignored.
639 .IP "\fB\-x\fR" 4
640 .IX Item "-x"
641 Ignored.
642 .IP "\fB\-Z\fR" 4
643 .IX Item "-Z"
644 Generate an object file even after errors.
645 .IP "\fB\-\- |\fR \fIfiles\fR \fB...\fR" 4
646 .IX Item "-- | files ..."
647 Standard input, or source files to assemble.
648 .PP
649 The following options are available when as is configured for the
650 64\-bit mode of the \s-1ARM\s0 Architecture (AArch64).
651 .IP "\fB\-EB\fR" 4
652 .IX Item "-EB"
653 This option specifies that the output generated by the assembler should
654 be marked as being encoded for a big-endian processor.
655 .IP "\fB\-EL\fR" 4
656 .IX Item "-EL"
657 This option specifies that the output generated by the assembler should
658 be marked as being encoded for a little-endian processor.
659 .IP "\fB\-mabi=\fR\fIabi\fR" 4
660 .IX Item "-mabi=abi"
661 Specify which \s-1ABI\s0 the source code uses.  The recognized arguments
662 are: \f(CW\*(C`ilp32\*(C'\fR and \f(CW\*(C`lp64\*(C'\fR, which decides the generated object
663 file in \s-1ELF32\s0 and \s-1ELF64\s0 format respectively.  The default is \f(CW\*(C`lp64\*(C'\fR.
664 .PP
665 The following options are available when as is configured for an Alpha
666 processor.
667 .IP "\fB\-m\fR\fIcpu\fR" 4
668 .IX Item "-mcpu"
669 This option specifies the target processor.  If an attempt is made to
670 assemble an instruction which will not execute on the target processor,
671 the assembler may either expand the instruction as a macro or issue an
672 error message.  This option is equivalent to the \f(CW\*(C`.arch\*(C'\fR directive.
673 .Sp
674 The following processor names are recognized:
675 \&\f(CW21064\fR,
676 \&\f(CW\*(C`21064a\*(C'\fR,
677 \&\f(CW21066\fR,
678 \&\f(CW21068\fR,
679 \&\f(CW21164\fR,
680 \&\f(CW\*(C`21164a\*(C'\fR,
681 \&\f(CW\*(C`21164pc\*(C'\fR,
682 \&\f(CW21264\fR,
683 \&\f(CW\*(C`21264a\*(C'\fR,
684 \&\f(CW\*(C`21264b\*(C'\fR,
685 \&\f(CW\*(C`ev4\*(C'\fR,
686 \&\f(CW\*(C`ev5\*(C'\fR,
687 \&\f(CW\*(C`lca45\*(C'\fR,
688 \&\f(CW\*(C`ev5\*(C'\fR,
689 \&\f(CW\*(C`ev56\*(C'\fR,
690 \&\f(CW\*(C`pca56\*(C'\fR,
691 \&\f(CW\*(C`ev6\*(C'\fR,
692 \&\f(CW\*(C`ev67\*(C'\fR,
693 \&\f(CW\*(C`ev68\*(C'\fR.
694 The special name \f(CW\*(C`all\*(C'\fR may be used to allow the assembler to accept
695 instructions valid for any Alpha processor.
696 .Sp
697 In order to support existing practice in \s-1OSF/1\s0 with respect to \f(CW\*(C`.arch\*(C'\fR,
698 and existing practice within \fB\s-1MILO\s0\fR (the Linux \s-1ARC\s0 bootloader), the
699 numbered processor names (e.g. 21064) enable the processor-specific PALcode
700 instructions, while the \*(L"electro-vlasic\*(R" names (e.g. \f(CW\*(C`ev4\*(C'\fR) do not.
701 .IP "\fB\-mdebug\fR" 4
702 .IX Item "-mdebug"
703 .PD 0
704 .IP "\fB\-no\-mdebug\fR" 4
705 .IX Item "-no-mdebug"
706 .PD
707 Enables or disables the generation of \f(CW\*(C`.mdebug\*(C'\fR encapsulation for
708 stabs directives and procedure descriptors.  The default is to automatically
709 enable \f(CW\*(C`.mdebug\*(C'\fR when the first stabs directive is seen.
710 .IP "\fB\-relax\fR" 4
711 .IX Item "-relax"
712 This option forces all relocations to be put into the object file, instead
713 of saving space and resolving some relocations at assembly time.  Note that
714 this option does not propagate all symbol arithmetic into the object file,
715 because not all symbol arithmetic can be represented.  However, the option
716 can still be useful in specific applications.
717 .IP "\fB\-replace\fR" 4
718 .IX Item "-replace"
719 .PD 0
720 .IP "\fB\-noreplace\fR" 4
721 .IX Item "-noreplace"
722 .PD
723 Enables or disables the optimization of procedure calls, both at assemblage
724 and at link time.  These options are only available for \s-1VMS\s0 targets and
725 \&\f(CW\*(C`\-replace\*(C'\fR is the default.  See section 1.4.1 of the OpenVMS Linker
726 Utility Manual.
727 .IP "\fB\-g\fR" 4
728 .IX Item "-g"
729 This option is used when the compiler generates debug information.  When
730 \&\fBgcc\fR is using \fBmips-tfile\fR to generate debug
731 information for \s-1ECOFF\s0, local labels must be passed through to the object
732 file.  Otherwise this option has no effect.
733 .IP "\fB\-G\fR\fIsize\fR" 4
734 .IX Item "-Gsize"
735 A local common symbol larger than \fIsize\fR is placed in \f(CW\*(C`.bss\*(C'\fR,
736 while smaller symbols are placed in \f(CW\*(C`.sbss\*(C'\fR.
737 .IP "\fB\-F\fR" 4
738 .IX Item "-F"
739 .PD 0
740 .IP "\fB\-32addr\fR" 4
741 .IX Item "-32addr"
742 .PD
743 These options are ignored for backward compatibility.
744 .PP
745 The following options are available when as is configured for
746 an \s-1ARC\s0 processor.
747 .IP "\fB\-marc[5|6|7|8]\fR" 4
748 .IX Item "-marc[5|6|7|8]"
749 This option selects the core processor variant.
750 .IP "\fB\-EB | \-EL\fR" 4
751 .IX Item "-EB | -EL"
752 Select either big-endian (\-EB) or little-endian (\-EL) output.
753 .PP
754 The following options are available when as is configured for the \s-1ARM\s0
755 processor family.
756 .IP "\fB\-mcpu=\fR\fIprocessor\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
757 .IX Item "-mcpu=processor[+extension...]"
758 Specify which \s-1ARM\s0 processor variant is the target.
759 .IP "\fB\-march=\fR\fIarchitecture\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
760 .IX Item "-march=architecture[+extension...]"
761 Specify which \s-1ARM\s0 architecture variant is used by the target.
762 .IP "\fB\-mfpu=\fR\fIfloating-point-format\fR" 4
763 .IX Item "-mfpu=floating-point-format"
764 Select which Floating Point architecture is the target.
765 .IP "\fB\-mfloat\-abi=\fR\fIabi\fR" 4
766 .IX Item "-mfloat-abi=abi"
767 Select which floating point \s-1ABI\s0 is in use.
768 .IP "\fB\-mthumb\fR" 4
769 .IX Item "-mthumb"
770 Enable Thumb only instruction decoding.
771 .IP "\fB\-mapcs\-32 | \-mapcs\-26 | \-mapcs\-float | \-mapcs\-reentrant\fR" 4
772 .IX Item "-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant"
773 Select which procedure calling convention is in use.
774 .IP "\fB\-EB | \-EL\fR" 4
775 .IX Item "-EB | -EL"
776 Select either big-endian (\-EB) or little-endian (\-EL) output.
777 .IP "\fB\-mthumb\-interwork\fR" 4
778 .IX Item "-mthumb-interwork"
779 Specify that the code has been generated with interworking between Thumb and
780 \&\s-1ARM\s0 code in mind.
781 .IP "\fB\-k\fR" 4
782 .IX Item "-k"
783 Specify that \s-1PIC\s0 code has been generated.
784 .PP
785 The following options are available when as is configured for
786 the Blackfin processor family.
787 .IP "\fB\-mcpu=\fR\fIprocessor\fR[\fB\-\fR\fIsirevision\fR]" 4
788 .IX Item "-mcpu=processor[-sirevision]"
789 This option specifies the target processor.  The optional \fIsirevision\fR
790 is not used in assembler.  It's here such that \s-1GCC\s0 can easily pass down its
791 \&\f(CW\*(C`\-mcpu=\*(C'\fR option.  The assembler will issue an
792 error message if an attempt is made to assemble an instruction which
793 will not execute on the target processor.  The following processor names are
794 recognized:
795 \&\f(CW\*(C`bf504\*(C'\fR,
796 \&\f(CW\*(C`bf506\*(C'\fR,
797 \&\f(CW\*(C`bf512\*(C'\fR,
798 \&\f(CW\*(C`bf514\*(C'\fR,
799 \&\f(CW\*(C`bf516\*(C'\fR,
800 \&\f(CW\*(C`bf518\*(C'\fR,
801 \&\f(CW\*(C`bf522\*(C'\fR,
802 \&\f(CW\*(C`bf523\*(C'\fR,
803 \&\f(CW\*(C`bf524\*(C'\fR,
804 \&\f(CW\*(C`bf525\*(C'\fR,
805 \&\f(CW\*(C`bf526\*(C'\fR,
806 \&\f(CW\*(C`bf527\*(C'\fR,
807 \&\f(CW\*(C`bf531\*(C'\fR,
808 \&\f(CW\*(C`bf532\*(C'\fR,
809 \&\f(CW\*(C`bf533\*(C'\fR,
810 \&\f(CW\*(C`bf534\*(C'\fR,
811 \&\f(CW\*(C`bf535\*(C'\fR (not implemented yet),
812 \&\f(CW\*(C`bf536\*(C'\fR,
813 \&\f(CW\*(C`bf537\*(C'\fR,
814 \&\f(CW\*(C`bf538\*(C'\fR,
815 \&\f(CW\*(C`bf539\*(C'\fR,
816 \&\f(CW\*(C`bf542\*(C'\fR,
817 \&\f(CW\*(C`bf542m\*(C'\fR,
818 \&\f(CW\*(C`bf544\*(C'\fR,
819 \&\f(CW\*(C`bf544m\*(C'\fR,
820 \&\f(CW\*(C`bf547\*(C'\fR,
821 \&\f(CW\*(C`bf547m\*(C'\fR,
822 \&\f(CW\*(C`bf548\*(C'\fR,
823 \&\f(CW\*(C`bf548m\*(C'\fR,
824 \&\f(CW\*(C`bf549\*(C'\fR,
825 \&\f(CW\*(C`bf549m\*(C'\fR,
826 \&\f(CW\*(C`bf561\*(C'\fR,
827 and
828 \&\f(CW\*(C`bf592\*(C'\fR.
829 .IP "\fB\-mfdpic\fR" 4
830 .IX Item "-mfdpic"
831 Assemble for the \s-1FDPIC\s0 \s-1ABI\s0.
832 .IP "\fB\-mno\-fdpic\fR" 4
833 .IX Item "-mno-fdpic"
834 .PD 0
835 .IP "\fB\-mnopic\fR" 4
836 .IX Item "-mnopic"
837 .PD
838 Disable \-mfdpic.
839 .PP
840 See the info pages for documentation of the CRIS-specific options.
841 .PP
842 The following options are available when as is configured for
843 a D10V processor.
844 .IP "\fB\-O\fR" 4
845 .IX Item "-O"
846 Optimize output by parallelizing instructions.
847 .PP
848 The following options are available when as is configured for a D30V
849 processor.
850 .IP "\fB\-O\fR" 4
851 .IX Item "-O"
852 Optimize output by parallelizing instructions.
853 .IP "\fB\-n\fR" 4
854 .IX Item "-n"
855 Warn when nops are generated.
856 .IP "\fB\-N\fR" 4
857 .IX Item "-N"
858 Warn when a nop after a 32\-bit multiply instruction is generated.
859 .PP
860 The following options are available when as is configured for
861 an Epiphany processor.
862 .IP "\fB\-mepiphany\fR" 4
863 .IX Item "-mepiphany"
864 Specifies that the both 32 and 16 bit instructions are allowed.  This is the
865 default behavior.
866 .IP "\fB\-mepiphany16\fR" 4
867 .IX Item "-mepiphany16"
868 Restricts the permitted instructions to just the 16 bit set.
869 .PP
870 The following options are available when as is configured for an H8/300
871 processor.
872 \&\f(CW@chapter\fR H8/300 Dependent Features
873 .SS "Options"
874 .IX Subsection "Options"
875 The Renesas H8/300 version of \f(CW\*(C`as\*(C'\fR has one
876 machine-dependent option:
877 .IP "\fB\-h\-tick\-hex\fR" 4
878 .IX Item "-h-tick-hex"
879 Support H'00 style hex constants in addition to 0x00 style.
880 .PP
881 The following options are available when as is configured for
882 an i386 processor.
883 .IP "\fB\-\-32 | \-\-x32 | \-\-64\fR" 4
884 .IX Item "--32 | --x32 | --64"
885 Select the word size, either 32 bits or 64 bits.  \fB\-\-32\fR
886 implies Intel i386 architecture, while \fB\-\-x32\fR and \fB\-\-64\fR
887 imply \s-1AMD\s0 x86\-64 architecture with 32\-bit or 64\-bit word-size
888 respectively.
889 .Sp
890 These options are only available with the \s-1ELF\s0 object file format, and
891 require that the necessary \s-1BFD\s0 support has been included (on a 32\-bit
892 platform you have to add \-\-enable\-64\-bit\-bfd to configure enable 64\-bit
893 usage and use x86\-64 as target platform).
894 .IP "\fB\-n\fR" 4
895 .IX Item "-n"
896 By default, x86 \s-1GAS\s0 replaces multiple nop instructions used for
897 alignment within code sections with multi-byte nop instructions such
898 as leal 0(%esi,1),%esi.  This switch disables the optimization.
899 .IP "\fB\-\-divide\fR" 4
900 .IX Item "--divide"
901 On SVR4\-derived platforms, the character \fB/\fR is treated as a comment
902 character, which means that it cannot be used in expressions.  The
903 \&\fB\-\-divide\fR option turns \fB/\fR into a normal character.  This does
904 not disable \fB/\fR at the beginning of a line starting a comment, or
905 affect using \fB#\fR for starting a comment.
906 .IP "\fB\-march=\fR\fI\s-1CPU\s0\fR\fB[+\fR\fI\s-1EXTENSION\s0\fR\fB...]\fR" 4
907 .IX Item "-march=CPU[+EXTENSION...]"
908 This option specifies the target processor.  The assembler will
909 issue an error message if an attempt is made to assemble an instruction
910 which will not execute on the target processor.  The following
911 processor names are recognized:
912 \&\f(CW\*(C`i8086\*(C'\fR,
913 \&\f(CW\*(C`i186\*(C'\fR,
914 \&\f(CW\*(C`i286\*(C'\fR,
915 \&\f(CW\*(C`i386\*(C'\fR,
916 \&\f(CW\*(C`i486\*(C'\fR,
917 \&\f(CW\*(C`i586\*(C'\fR,
918 \&\f(CW\*(C`i686\*(C'\fR,
919 \&\f(CW\*(C`pentium\*(C'\fR,
920 \&\f(CW\*(C`pentiumpro\*(C'\fR,
921 \&\f(CW\*(C`pentiumii\*(C'\fR,
922 \&\f(CW\*(C`pentiumiii\*(C'\fR,
923 \&\f(CW\*(C`pentium4\*(C'\fR,
924 \&\f(CW\*(C`prescott\*(C'\fR,
925 \&\f(CW\*(C`nocona\*(C'\fR,
926 \&\f(CW\*(C`core\*(C'\fR,
927 \&\f(CW\*(C`core2\*(C'\fR,
928 \&\f(CW\*(C`corei7\*(C'\fR,
929 \&\f(CW\*(C`l1om\*(C'\fR,
930 \&\f(CW\*(C`k1om\*(C'\fR,
931 \&\f(CW\*(C`k6\*(C'\fR,
932 \&\f(CW\*(C`k6_2\*(C'\fR,
933 \&\f(CW\*(C`athlon\*(C'\fR,
934 \&\f(CW\*(C`opteron\*(C'\fR,
935 \&\f(CW\*(C`k8\*(C'\fR,
936 \&\f(CW\*(C`amdfam10\*(C'\fR,
937 \&\f(CW\*(C`bdver1\*(C'\fR,
938 \&\f(CW\*(C`bdver2\*(C'\fR,
939 \&\f(CW\*(C`bdver3\*(C'\fR,
940 \&\f(CW\*(C`btver1\*(C'\fR,
941 \&\f(CW\*(C`btver2\*(C'\fR,
942 \&\f(CW\*(C`generic32\*(C'\fR and
943 \&\f(CW\*(C`generic64\*(C'\fR.
944 .Sp
945 In addition to the basic instruction set, the assembler can be told to
946 accept various extension mnemonics.  For example,
947 \&\f(CW\*(C`\-march=i686+sse4+vmx\*(C'\fR extends \fIi686\fR with \fIsse4\fR and
948 \&\fIvmx\fR.  The following extensions are currently supported:
949 \&\f(CW8087\fR,
950 \&\f(CW287\fR,
951 \&\f(CW387\fR,
952 \&\f(CW\*(C`no87\*(C'\fR,
953 \&\f(CW\*(C`mmx\*(C'\fR,
954 \&\f(CW\*(C`nommx\*(C'\fR,
955 \&\f(CW\*(C`sse\*(C'\fR,
956 \&\f(CW\*(C`sse2\*(C'\fR,
957 \&\f(CW\*(C`sse3\*(C'\fR,
958 \&\f(CW\*(C`ssse3\*(C'\fR,
959 \&\f(CW\*(C`sse4.1\*(C'\fR,
960 \&\f(CW\*(C`sse4.2\*(C'\fR,
961 \&\f(CW\*(C`sse4\*(C'\fR,
962 \&\f(CW\*(C`nosse\*(C'\fR,
963 \&\f(CW\*(C`avx\*(C'\fR,
964 \&\f(CW\*(C`avx2\*(C'\fR,
965 \&\f(CW\*(C`adx\*(C'\fR,
966 \&\f(CW\*(C`rdseed\*(C'\fR,
967 \&\f(CW\*(C`prfchw\*(C'\fR,
968 \&\f(CW\*(C`smap\*(C'\fR,
969 \&\f(CW\*(C`mpx\*(C'\fR,
970 \&\f(CW\*(C`sha\*(C'\fR,
971 \&\f(CW\*(C`avx512f\*(C'\fR,
972 \&\f(CW\*(C`avx512cd\*(C'\fR,
973 \&\f(CW\*(C`avx512er\*(C'\fR,
974 \&\f(CW\*(C`avx512pf\*(C'\fR,
975 \&\f(CW\*(C`noavx\*(C'\fR,
976 \&\f(CW\*(C`vmx\*(C'\fR,
977 \&\f(CW\*(C`vmfunc\*(C'\fR,
978 \&\f(CW\*(C`smx\*(C'\fR,
979 \&\f(CW\*(C`xsave\*(C'\fR,
980 \&\f(CW\*(C`xsaveopt\*(C'\fR,
981 \&\f(CW\*(C`aes\*(C'\fR,
982 \&\f(CW\*(C`pclmul\*(C'\fR,
983 \&\f(CW\*(C`fsgsbase\*(C'\fR,
984 \&\f(CW\*(C`rdrnd\*(C'\fR,
985 \&\f(CW\*(C`f16c\*(C'\fR,
986 \&\f(CW\*(C`bmi2\*(C'\fR,
987 \&\f(CW\*(C`fma\*(C'\fR,
988 \&\f(CW\*(C`movbe\*(C'\fR,
989 \&\f(CW\*(C`ept\*(C'\fR,
990 \&\f(CW\*(C`lzcnt\*(C'\fR,
991 \&\f(CW\*(C`hle\*(C'\fR,
992 \&\f(CW\*(C`rtm\*(C'\fR,
993 \&\f(CW\*(C`invpcid\*(C'\fR,
994 \&\f(CW\*(C`clflush\*(C'\fR,
995 \&\f(CW\*(C`lwp\*(C'\fR,
996 \&\f(CW\*(C`fma4\*(C'\fR,
997 \&\f(CW\*(C`xop\*(C'\fR,
998 \&\f(CW\*(C`cx16\*(C'\fR,
999 \&\f(CW\*(C`syscall\*(C'\fR,
1000 \&\f(CW\*(C`rdtscp\*(C'\fR,
1001 \&\f(CW\*(C`3dnow\*(C'\fR,
1002 \&\f(CW\*(C`3dnowa\*(C'\fR,
1003 \&\f(CW\*(C`sse4a\*(C'\fR,
1004 \&\f(CW\*(C`sse5\*(C'\fR,
1005 \&\f(CW\*(C`svme\*(C'\fR,
1006 \&\f(CW\*(C`abm\*(C'\fR and
1007 \&\f(CW\*(C`padlock\*(C'\fR.
1008 Note that rather than extending a basic instruction set, the extension
1009 mnemonics starting with \f(CW\*(C`no\*(C'\fR revoke the respective functionality.
1010 .Sp
1011 When the \f(CW\*(C`.arch\*(C'\fR directive is used with \fB\-march\fR, the
1012 \&\f(CW\*(C`.arch\*(C'\fR directive will take precedent.
1013 .IP "\fB\-mtune=\fR\fI\s-1CPU\s0\fR" 4
1014 .IX Item "-mtune=CPU"
1015 This option specifies a processor to optimize for. When used in
1016 conjunction with the \fB\-march\fR option, only instructions
1017 of the processor specified by the \fB\-march\fR option will be
1018 generated.
1019 .Sp
1020 Valid \fI\s-1CPU\s0\fR values are identical to the processor list of
1021 \&\fB\-march=\fR\fI\s-1CPU\s0\fR.
1022 .IP "\fB\-msse2avx\fR" 4
1023 .IX Item "-msse2avx"
1024 This option specifies that the assembler should encode \s-1SSE\s0 instructions
1025 with \s-1VEX\s0 prefix.
1026 .IP "\fB\-msse\-check=\fR\fInone\fR" 4
1027 .IX Item "-msse-check=none"
1028 .PD 0
1029 .IP "\fB\-msse\-check=\fR\fIwarning\fR" 4
1030 .IX Item "-msse-check=warning"
1031 .IP "\fB\-msse\-check=\fR\fIerror\fR" 4
1032 .IX Item "-msse-check=error"
1033 .PD
1034 These options control if the assembler should check \s-1SSE\s0 instructions.
1035 \&\fB\-msse\-check=\fR\fInone\fR will make the assembler not to check \s-1SSE\s0
1036 instructions,  which is the default.  \fB\-msse\-check=\fR\fIwarning\fR
1037 will make the assembler issue a warning for any \s-1SSE\s0 instruction.
1038 \&\fB\-msse\-check=\fR\fIerror\fR will make the assembler issue an error
1039 for any \s-1SSE\s0 instruction.
1040 .IP "\fB\-mavxscalar=\fR\fI128\fR" 4
1041 .IX Item "-mavxscalar=128"
1042 .PD 0
1043 .IP "\fB\-mavxscalar=\fR\fI256\fR" 4
1044 .IX Item "-mavxscalar=256"
1045 .PD
1046 These options control how the assembler should encode scalar \s-1AVX\s0
1047 instructions.  \fB\-mavxscalar=\fR\fI128\fR will encode scalar
1048 \&\s-1AVX\s0 instructions with 128bit vector length, which is the default.
1049 \&\fB\-mavxscalar=\fR\fI256\fR will encode scalar \s-1AVX\s0 instructions
1050 with 256bit vector length.
1051 .IP "\fB\-mevexlig=\fR\fI128\fR" 4
1052 .IX Item "-mevexlig=128"
1053 .PD 0
1054 .IP "\fB\-mevexlig=\fR\fI256\fR" 4
1055 .IX Item "-mevexlig=256"
1056 .IP "\fB\-mevexlig=\fR\fI512\fR" 4
1057 .IX Item "-mevexlig=512"
1058 .PD
1059 These options control how the assembler should encode length-ignored
1060 (\s-1LIG\s0) \s-1EVEX\s0 instructions.  \fB\-mevexlig=\fR\fI128\fR will encode \s-1LIG\s0
1061 \&\s-1EVEX\s0 instructions with 128bit vector length, which is the default.
1062 \&\fB\-mevexlig=\fR\fI256\fR and \fB\-mevexlig=\fR\fI512\fR will
1063 encode \s-1LIG\s0 \s-1EVEX\s0 instructions with 256bit and 512bit vector length,
1064 respectively.
1065 .IP "\fB\-mevexwig=\fR\fI0\fR" 4
1066 .IX Item "-mevexwig=0"
1067 .PD 0
1068 .IP "\fB\-mevexwig=\fR\fI1\fR" 4
1069 .IX Item "-mevexwig=1"
1070 .PD
1071 These options control how the assembler should encode w\-ignored (\s-1WIG\s0)
1072 \&\s-1EVEX\s0 instructions.  \fB\-mevexwig=\fR\fI0\fR will encode \s-1WIG\s0
1073 \&\s-1EVEX\s0 instructions with evex.w = 0, which is the default.
1074 \&\fB\-mevexwig=\fR\fI1\fR will encode \s-1WIG\s0 \s-1EVEX\s0 instructions with
1075 evex.w = 1.
1076 .IP "\fB\-mmnemonic=\fR\fIatt\fR" 4
1077 .IX Item "-mmnemonic=att"
1078 .PD 0
1079 .IP "\fB\-mmnemonic=\fR\fIintel\fR" 4
1080 .IX Item "-mmnemonic=intel"
1081 .PD
1082 This option specifies instruction mnemonic for matching instructions.
1083 The \f(CW\*(C`.att_mnemonic\*(C'\fR and \f(CW\*(C`.intel_mnemonic\*(C'\fR directives will
1084 take precedent.
1085 .IP "\fB\-msyntax=\fR\fIatt\fR" 4
1086 .IX Item "-msyntax=att"
1087 .PD 0
1088 .IP "\fB\-msyntax=\fR\fIintel\fR" 4
1089 .IX Item "-msyntax=intel"
1090 .PD
1091 This option specifies instruction syntax when processing instructions.
1092 The \f(CW\*(C`.att_syntax\*(C'\fR and \f(CW\*(C`.intel_syntax\*(C'\fR directives will
1093 take precedent.
1094 .IP "\fB\-mnaked\-reg\fR" 4
1095 .IX Item "-mnaked-reg"
1096 This opetion specifies that registers don't require a \fB%\fR prefix.
1097 The \f(CW\*(C`.att_syntax\*(C'\fR and \f(CW\*(C`.intel_syntax\*(C'\fR directives will take precedent.
1098 .IP "\fB\-madd\-bnd\-prefix\fR" 4
1099 .IX Item "-madd-bnd-prefix"
1100 This option forces the assembler to add \s-1BND\s0 prefix to all branches, even
1101 if such prefix was not explicitly specified in the source code.
1102 .PP
1103 The following options are available when as is configured for the
1104 Intel 80960 processor.
1105 .IP "\fB\-ACA | \-ACA_A | \-ACB | \-ACC | \-AKA | \-AKB | \-AKC | \-AMC\fR" 4
1106 .IX Item "-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC"
1107 Specify which variant of the 960 architecture is the target.
1108 .IP "\fB\-b\fR" 4
1109 .IX Item "-b"
1110 Add code to collect statistics about branches taken.
1111 .IP "\fB\-no\-relax\fR" 4
1112 .IX Item "-no-relax"
1113 Do not alter compare-and-branch instructions for long displacements;
1114 error if necessary.
1115 .PP
1116 The following options are available when as is configured for the
1117 Ubicom \s-1IP2K\s0 series.
1118 .IP "\fB\-mip2022ext\fR" 4
1119 .IX Item "-mip2022ext"
1120 Specifies that the extended \s-1IP2022\s0 instructions are allowed.
1121 .IP "\fB\-mip2022\fR" 4
1122 .IX Item "-mip2022"
1123 Restores the default behaviour, which restricts the permitted instructions to
1124 just the basic \s-1IP2022\s0 ones.
1125 .PP
1126 The following options are available when as is configured for the
1127 Renesas M32C and M16C processors.
1128 .IP "\fB\-m32c\fR" 4
1129 .IX Item "-m32c"
1130 Assemble M32C instructions.
1131 .IP "\fB\-m16c\fR" 4
1132 .IX Item "-m16c"
1133 Assemble M16C instructions (the default).
1134 .IP "\fB\-relax\fR" 4
1135 .IX Item "-relax"
1136 Enable support for link-time relaxations.
1137 .IP "\fB\-h\-tick\-hex\fR" 4
1138 .IX Item "-h-tick-hex"
1139 Support H'00 style hex constants in addition to 0x00 style.
1140 .PP
1141 The following options are available when as is configured for the
1142 Renesas M32R (formerly Mitsubishi M32R) series.
1143 .IP "\fB\-\-m32rx\fR" 4
1144 .IX Item "--m32rx"
1145 Specify which processor in the M32R family is the target.  The default
1146 is normally the M32R, but this option changes it to the M32RX.
1147 .IP "\fB\-\-warn\-explicit\-parallel\-conflicts or \-\-Wp\fR" 4
1148 .IX Item "--warn-explicit-parallel-conflicts or --Wp"
1149 Produce warning messages when questionable parallel constructs are
1150 encountered.
1151 .IP "\fB\-\-no\-warn\-explicit\-parallel\-conflicts or \-\-Wnp\fR" 4
1152 .IX Item "--no-warn-explicit-parallel-conflicts or --Wnp"
1153 Do not produce warning messages when questionable parallel constructs are
1154 encountered.
1155 .PP
1156 The following options are available when as is configured for the
1157 Motorola 68000 series.
1158 .IP "\fB\-l\fR" 4
1159 .IX Item "-l"
1160 Shorten references to undefined symbols, to one word instead of two.
1161 .IP "\fB\-m68000 | \-m68008 | \-m68010 | \-m68020 | \-m68030\fR" 4
1162 .IX Item "-m68000 | -m68008 | -m68010 | -m68020 | -m68030"
1163 .PD 0
1164 .IP "\fB| \-m68040 | \-m68060 | \-m68302 | \-m68331 | \-m68332\fR" 4
1165 .IX Item "| -m68040 | -m68060 | -m68302 | -m68331 | -m68332"
1166 .IP "\fB| \-m68333 | \-m68340 | \-mcpu32 | \-m5200\fR" 4
1167 .IX Item "| -m68333 | -m68340 | -mcpu32 | -m5200"
1168 .PD
1169 Specify what processor in the 68000 family is the target.  The default
1170 is normally the 68020, but this can be changed at configuration time.
1171 .IP "\fB\-m68881 | \-m68882 | \-mno\-68881 | \-mno\-68882\fR" 4
1172 .IX Item "-m68881 | -m68882 | -mno-68881 | -mno-68882"
1173 The target machine does (or does not) have a floating-point coprocessor.
1174 The default is to assume a coprocessor for 68020, 68030, and cpu32.  Although
1175 the basic 68000 is not compatible with the 68881, a combination of the
1176 two can be specified, since it's possible to do emulation of the
1177 coprocessor instructions with the main processor.
1178 .IP "\fB\-m68851 | \-mno\-68851\fR" 4
1179 .IX Item "-m68851 | -mno-68851"
1180 The target machine does (or does not) have a memory-management
1181 unit coprocessor.  The default is to assume an \s-1MMU\s0 for 68020 and up.
1182 .PP
1183 The following options are available when as is configured for an
1184 Altera Nios \s-1II\s0 processor.
1185 .IP "\fB\-relax\-section\fR" 4
1186 .IX Item "-relax-section"
1187 Replace identified out-of-range branches with PC-relative \f(CW\*(C`jmp\*(C'\fR
1188 sequences when possible.  The generated code sequences are suitable
1189 for use in position-independent code, but there is a practical limit
1190 on the extended branch range because of the length of the sequences.
1191 This option is the default.
1192 .IP "\fB\-relax\-all\fR" 4
1193 .IX Item "-relax-all"
1194 Replace branch instructions not determinable to be in range
1195 and all call instructions with \f(CW\*(C`jmp\*(C'\fR and \f(CW\*(C`callr\*(C'\fR sequences
1196 (respectively).  This option generates absolute relocations against the
1197 target symbols and is not appropriate for position-independent code.
1198 .IP "\fB\-no\-relax\fR" 4
1199 .IX Item "-no-relax"
1200 Do not replace any branches or calls.
1201 .IP "\fB\-EB\fR" 4
1202 .IX Item "-EB"
1203 Generate big-endian output.
1204 .IP "\fB\-EL\fR" 4
1205 .IX Item "-EL"
1206 Generate little-endian output.  This is the default.
1207 .PP
1208 The following options are available when as is configured for a
1209 Meta processor.
1210 .ie n .IP """\-mcpu=metac11""" 4
1211 .el .IP "\f(CW\-mcpu=metac11\fR" 4
1212 .IX Item "-mcpu=metac11"
1213 Generate code for Meta 1.1.
1214 .ie n .IP """\-mcpu=metac12""" 4
1215 .el .IP "\f(CW\-mcpu=metac12\fR" 4
1216 .IX Item "-mcpu=metac12"
1217 Generate code for Meta 1.2.
1218 .ie n .IP """\-mcpu=metac21""" 4
1219 .el .IP "\f(CW\-mcpu=metac21\fR" 4
1220 .IX Item "-mcpu=metac21"
1221 Generate code for Meta 2.1.
1222 .ie n .IP """\-mfpu=metac21""" 4
1223 .el .IP "\f(CW\-mfpu=metac21\fR" 4
1224 .IX Item "-mfpu=metac21"
1225 Allow code to use \s-1FPU\s0 hardware of Meta 2.1.
1226 .PP
1227 See the info pages for documentation of the MMIX-specific options.
1228 .PP
1229 The following options are available when as is configured for a
1230 PowerPC processor.
1231 .IP "\fB\-a32\fR" 4
1232 .IX Item "-a32"
1233 Generate \s-1ELF32\s0 or \s-1XCOFF32\s0.
1234 .IP "\fB\-a64\fR" 4
1235 .IX Item "-a64"
1236 Generate \s-1ELF64\s0 or \s-1XCOFF64\s0.
1237 .IP "\fB\-K \s-1PIC\s0\fR" 4
1238 .IX Item "-K PIC"
1239 Set \s-1EF_PPC_RELOCATABLE_LIB\s0 in \s-1ELF\s0 flags.
1240 .IP "\fB\-mpwrx | \-mpwr2\fR" 4
1241 .IX Item "-mpwrx | -mpwr2"
1242 Generate code for \s-1POWER/2\s0 (\s-1RIOS2\s0).
1243 .IP "\fB\-mpwr\fR" 4
1244 .IX Item "-mpwr"
1245 Generate code for \s-1POWER\s0 (\s-1RIOS1\s0)
1246 .IP "\fB\-m601\fR" 4
1247 .IX Item "-m601"
1248 Generate code for PowerPC 601.
1249 .IP "\fB\-mppc, \-mppc32, \-m603, \-m604\fR" 4
1250 .IX Item "-mppc, -mppc32, -m603, -m604"
1251 Generate code for PowerPC 603/604.
1252 .IP "\fB\-m403, \-m405\fR" 4
1253 .IX Item "-m403, -m405"
1254 Generate code for PowerPC 403/405.
1255 .IP "\fB\-m440\fR" 4
1256 .IX Item "-m440"
1257 Generate code for PowerPC 440.  BookE and some 405 instructions.
1258 .IP "\fB\-m464\fR" 4
1259 .IX Item "-m464"
1260 Generate code for PowerPC 464.
1261 .IP "\fB\-m476\fR" 4
1262 .IX Item "-m476"
1263 Generate code for PowerPC 476.
1264 .IP "\fB\-m7400, \-m7410, \-m7450, \-m7455\fR" 4
1265 .IX Item "-m7400, -m7410, -m7450, -m7455"
1266 Generate code for PowerPC 7400/7410/7450/7455.
1267 .IP "\fB\-m750cl\fR" 4
1268 .IX Item "-m750cl"
1269 Generate code for PowerPC 750CL.
1270 .IP "\fB\-mppc64, \-m620\fR" 4
1271 .IX Item "-mppc64, -m620"
1272 Generate code for PowerPC 620/625/630.
1273 .IP "\fB\-me500, \-me500x2\fR" 4
1274 .IX Item "-me500, -me500x2"
1275 Generate code for Motorola e500 core complex.
1276 .IP "\fB\-me500mc\fR" 4
1277 .IX Item "-me500mc"
1278 Generate code for Freescale e500mc core complex.
1279 .IP "\fB\-me500mc64\fR" 4
1280 .IX Item "-me500mc64"
1281 Generate code for Freescale e500mc64 core complex.
1282 .IP "\fB\-me5500\fR" 4
1283 .IX Item "-me5500"
1284 Generate code for Freescale e5500 core complex.
1285 .IP "\fB\-me6500\fR" 4
1286 .IX Item "-me6500"
1287 Generate code for Freescale e6500 core complex.
1288 .IP "\fB\-mspe\fR" 4
1289 .IX Item "-mspe"
1290 Generate code for Motorola \s-1SPE\s0 instructions.
1291 .IP "\fB\-mtitan\fR" 4
1292 .IX Item "-mtitan"
1293 Generate code for AppliedMicro Titan core complex.
1294 .IP "\fB\-mppc64bridge\fR" 4
1295 .IX Item "-mppc64bridge"
1296 Generate code for PowerPC 64, including bridge insns.
1297 .IP "\fB\-mbooke\fR" 4
1298 .IX Item "-mbooke"
1299 Generate code for 32\-bit BookE.
1300 .IP "\fB\-ma2\fR" 4
1301 .IX Item "-ma2"
1302 Generate code for A2 architecture.
1303 .IP "\fB\-me300\fR" 4
1304 .IX Item "-me300"
1305 Generate code for PowerPC e300 family.
1306 .IP "\fB\-maltivec\fR" 4
1307 .IX Item "-maltivec"
1308 Generate code for processors with AltiVec instructions.
1309 .IP "\fB\-mvle\fR" 4
1310 .IX Item "-mvle"
1311 Generate code for Freescale PowerPC \s-1VLE\s0 instructions.
1312 .IP "\fB\-mvsx\fR" 4
1313 .IX Item "-mvsx"
1314 Generate code for processors with Vector-Scalar (\s-1VSX\s0) instructions.
1315 .IP "\fB\-mhtm\fR" 4
1316 .IX Item "-mhtm"
1317 Generate code for processors with Hardware Transactional Memory instructions.
1318 .IP "\fB\-mpower4, \-mpwr4\fR" 4
1319 .IX Item "-mpower4, -mpwr4"
1320 Generate code for Power4 architecture.
1321 .IP "\fB\-mpower5, \-mpwr5, \-mpwr5x\fR" 4
1322 .IX Item "-mpower5, -mpwr5, -mpwr5x"
1323 Generate code for Power5 architecture.
1324 .IP "\fB\-mpower6, \-mpwr6\fR" 4
1325 .IX Item "-mpower6, -mpwr6"
1326 Generate code for Power6 architecture.
1327 .IP "\fB\-mpower7, \-mpwr7\fR" 4
1328 .IX Item "-mpower7, -mpwr7"
1329 Generate code for Power7 architecture.
1330 .IP "\fB\-mpower8, \-mpwr8\fR" 4
1331 .IX Item "-mpower8, -mpwr8"
1332 Generate code for Power8 architecture.
1333 .IP "\fB\-mcell\fR" 4
1334 .IX Item "-mcell"
1335 .PD 0
1336 .IP "\fB\-mcell\fR" 4
1337 .IX Item "-mcell"
1338 .PD
1339 Generate code for Cell Broadband Engine architecture.
1340 .IP "\fB\-mcom\fR" 4
1341 .IX Item "-mcom"
1342 Generate code Power/PowerPC common instructions.
1343 .IP "\fB\-many\fR" 4
1344 .IX Item "-many"
1345 Generate code for any architecture (\s-1PWR/PWRX/PPC\s0).
1346 .IP "\fB\-mregnames\fR" 4
1347 .IX Item "-mregnames"
1348 Allow symbolic names for registers.
1349 .IP "\fB\-mno\-regnames\fR" 4
1350 .IX Item "-mno-regnames"
1351 Do not allow symbolic names for registers.
1352 .IP "\fB\-mrelocatable\fR" 4
1353 .IX Item "-mrelocatable"
1354 Support for \s-1GCC\s0's \-mrelocatable option.
1355 .IP "\fB\-mrelocatable\-lib\fR" 4
1356 .IX Item "-mrelocatable-lib"
1357 Support for \s-1GCC\s0's \-mrelocatable\-lib option.
1358 .IP "\fB\-memb\fR" 4
1359 .IX Item "-memb"
1360 Set \s-1PPC_EMB\s0 bit in \s-1ELF\s0 flags.
1361 .IP "\fB\-mlittle, \-mlittle\-endian, \-le\fR" 4
1362 .IX Item "-mlittle, -mlittle-endian, -le"
1363 Generate code for a little endian machine.
1364 .IP "\fB\-mbig, \-mbig\-endian, \-be\fR" 4
1365 .IX Item "-mbig, -mbig-endian, -be"
1366 Generate code for a big endian machine.
1367 .IP "\fB\-msolaris\fR" 4
1368 .IX Item "-msolaris"
1369 Generate code for Solaris.
1370 .IP "\fB\-mno\-solaris\fR" 4
1371 .IX Item "-mno-solaris"
1372 Do not generate code for Solaris.
1373 .IP "\fB\-nops=\fR\fIcount\fR" 4
1374 .IX Item "-nops=count"
1375 If an alignment directive inserts more than \fIcount\fR nops, put a
1376 branch at the beginning to skip execution of the nops.
1377 .PP
1378 See the info pages for documentation of the RX-specific options.
1379 .PP
1380 The following options are available when as is configured for the s390
1381 processor family.
1382 .IP "\fB\-m31\fR" 4
1383 .IX Item "-m31"
1384 .PD 0
1385 .IP "\fB\-m64\fR" 4
1386 .IX Item "-m64"
1387 .PD
1388 Select the word size, either 31/32 bits or 64 bits.
1389 .IP "\fB\-mesa\fR" 4
1390 .IX Item "-mesa"
1391 .PD 0
1392 .IP "\fB\-mzarch\fR" 4
1393 .IX Item "-mzarch"
1394 .PD
1395 Select the architecture mode, either the Enterprise System
1396 Architecture (esa) or the z/Architecture mode (zarch).
1397 .IP "\fB\-march=\fR\fIprocessor\fR" 4
1398 .IX Item "-march=processor"
1399 Specify which s390 processor variant is the target, \fBg6\fR, \fBg6\fR,
1400 \&\fBz900\fR, \fBz990\fR, \fBz9\-109\fR, \fBz9\-ec\fR, \fBz10\fR,
1401 \&\fBz196\fR, or \fBzEC12\fR.
1402 .IP "\fB\-mregnames\fR" 4
1403 .IX Item "-mregnames"
1404 .PD 0
1405 .IP "\fB\-mno\-regnames\fR" 4
1406 .IX Item "-mno-regnames"
1407 .PD
1408 Allow or disallow symbolic names for registers.
1409 .IP "\fB\-mwarn\-areg\-zero\fR" 4
1410 .IX Item "-mwarn-areg-zero"
1411 Warn whenever the operand for a base or index register has been specified
1412 but evaluates to zero.
1413 .PP
1414 The following options are available when as is configured for a
1415 \&\s-1TMS320C6000\s0 processor.
1416 .IP "\fB\-march=\fR\fIarch\fR" 4
1417 .IX Item "-march=arch"
1418 Enable (only) instructions from architecture \fIarch\fR.  By default,
1419 all instructions are permitted.
1420 .Sp
1421 The following values of \fIarch\fR are accepted: \f(CW\*(C`c62x\*(C'\fR,
1422 \&\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.
1423 .IP "\fB\-mdsbt\fR" 4
1424 .IX Item "-mdsbt"
1425 .PD 0
1426 .IP "\fB\-mno\-dsbt\fR" 4
1427 .IX Item "-mno-dsbt"
1428 .PD
1429 The \fB\-mdsbt\fR option causes the assembler to generate the
1430 \&\f(CW\*(C`Tag_ABI_DSBT\*(C'\fR attribute with a value of 1, indicating that the
1431 code is using \s-1DSBT\s0 addressing.  The \fB\-mno\-dsbt\fR option, the
1432 default, causes the tag to have a value of 0, indicating that the code
1433 does not use \s-1DSBT\s0 addressing.  The linker will emit a warning if
1434 objects of different type (\s-1DSBT\s0 and non-DSBT) are linked together.
1435 .IP "\fB\-mpid=no\fR" 4
1436 .IX Item "-mpid=no"
1437 .PD 0
1438 .IP "\fB\-mpid=near\fR" 4
1439 .IX Item "-mpid=near"
1440 .IP "\fB\-mpid=far\fR" 4
1441 .IX Item "-mpid=far"
1442 .PD
1443 The \fB\-mpid=\fR option causes the assembler to generate the
1444 \&\f(CW\*(C`Tag_ABI_PID\*(C'\fR attribute with a value indicating the form of data
1445 addressing used by the code.  \fB\-mpid=no\fR, the default,
1446 indicates position-dependent data addressing, \fB\-mpid=near\fR
1447 indicates position-independent addressing with \s-1GOT\s0 accesses using near
1448 \&\s-1DP\s0 addressing, and \fB\-mpid=far\fR indicates position-independent
1449 addressing with \s-1GOT\s0 accesses using far \s-1DP\s0 addressing.  The linker will
1450 emit a warning if objects built with different settings of this option
1451 are linked together.
1452 .IP "\fB\-mpic\fR" 4
1453 .IX Item "-mpic"
1454 .PD 0
1455 .IP "\fB\-mno\-pic\fR" 4
1456 .IX Item "-mno-pic"
1457 .PD
1458 The \fB\-mpic\fR option causes the assembler to generate the
1459 \&\f(CW\*(C`Tag_ABI_PIC\*(C'\fR attribute with a value of 1, indicating that the
1460 code is using position-independent code addressing,  The
1461 \&\f(CW\*(C`\-mno\-pic\*(C'\fR option, the default, causes the tag to have a value of
1462 0, indicating position-dependent code addressing.  The linker will
1463 emit a warning if objects of different type (position-dependent and
1464 position-independent) are linked together.
1465 .IP "\fB\-mbig\-endian\fR" 4
1466 .IX Item "-mbig-endian"
1467 .PD 0
1468 .IP "\fB\-mlittle\-endian\fR" 4
1469 .IX Item "-mlittle-endian"
1470 .PD
1471 Generate code for the specified endianness.  The default is
1472 little-endian.
1473 .PP
1474 The following options are available when as is configured for a TILE-Gx
1475 processor.
1476 .IP "\fB\-m32 | \-m64\fR" 4
1477 .IX Item "-m32 | -m64"
1478 Select the word size, either 32 bits or 64 bits.
1479 .IP "\fB\-EB | \-EL\fR" 4
1480 .IX Item "-EB | -EL"
1481 Select the endianness, either big-endian (\-EB) or little-endian (\-EL).
1482 .PP
1483 The following options are available when as is configured for an
1484 Xtensa processor.
1485 .IP "\fB\-\-text\-section\-literals | \-\-no\-text\-section\-literals\fR" 4
1486 .IX Item "--text-section-literals | --no-text-section-literals"
1487 Control the treatment of literal pools.  The default is
1488 \&\fB\-\-no\-text\-section\-literals\fR, which places literals in
1489 separate sections in the output file.  This allows the literal pool to be
1490 placed in a data \s-1RAM/ROM\s0.  With \fB\-\-text\-section\-literals\fR, the
1491 literals are interspersed in the text section in order to keep them as
1492 close as possible to their references.  This may be necessary for large
1493 assembly files, where the literals would otherwise be out of range of the
1494 \&\f(CW\*(C`L32R\*(C'\fR instructions in the text section.  These options only affect
1495 literals referenced via PC-relative \f(CW\*(C`L32R\*(C'\fR instructions; literals
1496 for absolute mode \f(CW\*(C`L32R\*(C'\fR instructions are handled separately.
1497 .IP "\fB\-\-absolute\-literals | \-\-no\-absolute\-literals\fR" 4
1498 .IX Item "--absolute-literals | --no-absolute-literals"
1499 Indicate to the assembler whether \f(CW\*(C`L32R\*(C'\fR instructions use absolute
1500 or PC-relative addressing.  If the processor includes the absolute
1501 addressing option, the default is to use absolute \f(CW\*(C`L32R\*(C'\fR
1502 relocations.  Otherwise, only the PC-relative \f(CW\*(C`L32R\*(C'\fR relocations
1503 can be used.
1504 .IP "\fB\-\-target\-align | \-\-no\-target\-align\fR" 4
1505 .IX Item "--target-align | --no-target-align"
1506 Enable or disable automatic alignment to reduce branch penalties at some
1507 expense in code size.    This optimization is enabled by default.  Note
1508 that the assembler will always align instructions like \f(CW\*(C`LOOP\*(C'\fR that
1509 have fixed alignment requirements.
1510 .IP "\fB\-\-longcalls | \-\-no\-longcalls\fR" 4
1511 .IX Item "--longcalls | --no-longcalls"
1512 Enable or disable transformation of call instructions to allow calls
1513 across a greater range of addresses.    This option should be used when call
1514 targets can potentially be out of range.  It may degrade both code size
1515 and performance, but the linker can generally optimize away the
1516 unnecessary overhead when a call ends up within range.  The default is
1517 \&\fB\-\-no\-longcalls\fR.
1518 .IP "\fB\-\-transform | \-\-no\-transform\fR" 4
1519 .IX Item "--transform | --no-transform"
1520 Enable or disable all assembler transformations of Xtensa instructions,
1521 including both relaxation and optimization.  The default is
1522 \&\fB\-\-transform\fR; \fB\-\-no\-transform\fR should only be used in the
1523 rare cases when the instructions must be exactly as specified in the
1524 assembly source.  Using \fB\-\-no\-transform\fR causes out of range
1525 instruction operands to be errors.
1526 .IP "\fB\-\-rename\-section\fR \fIoldname\fR\fB=\fR\fInewname\fR" 4
1527 .IX Item "--rename-section oldname=newname"
1528 Rename the \fIoldname\fR section to \fInewname\fR.  This option can be used
1529 multiple times to rename multiple sections.
1530 .PP
1531 The following options are available when as is configured for
1532 a Z80 family processor.
1533 .IP "\fB\-z80\fR" 4
1534 .IX Item "-z80"
1535 Assemble for Z80 processor.
1536 .IP "\fB\-r800\fR" 4
1537 .IX Item "-r800"
1538 Assemble for R800 processor.
1539 .IP "\fB\-ignore\-undocumented\-instructions\fR" 4
1540 .IX Item "-ignore-undocumented-instructions"
1541 .PD 0
1542 .IP "\fB\-Wnud\fR" 4
1543 .IX Item "-Wnud"
1544 .PD
1545 Assemble undocumented Z80 instructions that also work on R800 without warning.
1546 .IP "\fB\-ignore\-unportable\-instructions\fR" 4
1547 .IX Item "-ignore-unportable-instructions"
1548 .PD 0
1549 .IP "\fB\-Wnup\fR" 4
1550 .IX Item "-Wnup"
1551 .PD
1552 Assemble all undocumented Z80 instructions without warning.
1553 .IP "\fB\-warn\-undocumented\-instructions\fR" 4
1554 .IX Item "-warn-undocumented-instructions"
1555 .PD 0
1556 .IP "\fB\-Wud\fR" 4
1557 .IX Item "-Wud"
1558 .PD
1559 Issue a warning for undocumented Z80 instructions that also work on R800.
1560 .IP "\fB\-warn\-unportable\-instructions\fR" 4
1561 .IX Item "-warn-unportable-instructions"
1562 .PD 0
1563 .IP "\fB\-Wup\fR" 4
1564 .IX Item "-Wup"
1565 .PD
1566 Issue a warning for undocumented Z80 instructions that do not work on R800.
1567 .IP "\fB\-forbid\-undocumented\-instructions\fR" 4
1568 .IX Item "-forbid-undocumented-instructions"
1569 .PD 0
1570 .IP "\fB\-Fud\fR" 4
1571 .IX Item "-Fud"
1572 .PD
1573 Treat all undocumented instructions as errors.
1574 .IP "\fB\-forbid\-unportable\-instructions\fR" 4
1575 .IX Item "-forbid-unportable-instructions"
1576 .PD 0
1577 .IP "\fB\-Fup\fR" 4
1578 .IX Item "-Fup"
1579 .PD
1580 Treat undocumented Z80 instructions that do not work on R800 as errors.
1581 .SH "SEE ALSO"
1582 .IX Header "SEE ALSO"
1583 \&\fIgcc\fR\|(1), \fIld\fR\|(1), and the Info entries for \fIbinutils\fR and \fIld\fR.
1584 .SH "COPYRIGHT"
1585 .IX Header "COPYRIGHT"
1586 Copyright (c) 1991\-2013 Free Software Foundation, Inc.
1587 .PP
1588 Permission is granted to copy, distribute and/or modify this document
1589 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
1590 or any later version published by the Free Software Foundation;
1591 with no Invariant Sections, with no Front-Cover Texts, and with no
1592 Back-Cover Texts.  A copy of the license is included in the
1593 section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".