]> rtime.felk.cvut.cz Git - fpga/lx-cpu1/binutils-tumbl.git/blob - gas/doc/as.1
bfd/
[fpga/lx-cpu1/binutils-tumbl.git] / gas / doc / as.1
1 .\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
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-03-25" "binutils-2.23.2" "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\-\-help\fR] [\fB\-I\fR \fIdir\fR] [\fB\-J\fR]
141  [\fB\-K\fR] [\fB\-L\fR] [\fB\-\-listing\-lhs\-width\fR=\fI\s-1NUM\s0\fR]
142  [\fB\-\-listing\-lhs\-width2\fR=\fI\s-1NUM\s0\fR] [\fB\-\-listing\-rhs\-width\fR=\fI\s-1NUM\s0\fR]
143  [\fB\-\-listing\-cont\-lines\fR=\fI\s-1NUM\s0\fR] [\fB\-\-keep\-locals\fR] [\fB\-o\fR
144  \fIobjfile\fR] [\fB\-R\fR] [\fB\-\-reduce\-memory\-overheads\fR] [\fB\-\-statistics\fR]
145  [\fB\-v\fR] [\fB\-version\fR] [\fB\-\-version\fR] [\fB\-W\fR] [\fB\-\-warn\fR]
146  [\fB\-\-fatal\-warnings\fR] [\fB\-w\fR] [\fB\-x\fR] [\fB\-Z\fR] [\fB@\fR\fI\s-1FILE\s0\fR]
147  [\fB\-\-size\-check=[error|warning]\fR]
148  [\fB\-\-target\-help\fR] [\fItarget-options\fR]
149  [\fB\-\-\fR|\fIfiles\fR ...]
150 .PP
151 \&\fITarget AArch64 options:\fR
152    [\fB\-EB\fR|\fB\-EL\fR]
153 .PP
154 \&\fITarget Alpha options:\fR
155    [\fB\-m\fR\fIcpu\fR]
156    [\fB\-mdebug\fR | \fB\-no\-mdebug\fR]
157    [\fB\-replace\fR | \fB\-noreplace\fR]
158    [\fB\-relax\fR] [\fB\-g\fR] [\fB\-G\fR\fIsize\fR]
159    [\fB\-F\fR] [\fB\-32addr\fR]
160 .PP
161 \&\fITarget \s-1ARC\s0 options:\fR
162    [\fB\-marc[5|6|7|8]\fR]
163    [\fB\-EB\fR|\fB\-EL\fR]
164 .PP
165 \&\fITarget \s-1ARM\s0 options:\fR
166    [\fB\-mcpu\fR=\fIprocessor\fR[+\fIextension\fR...]]
167    [\fB\-march\fR=\fIarchitecture\fR[+\fIextension\fR...]]
168    [\fB\-mfpu\fR=\fIfloating-point-format\fR]
169    [\fB\-mfloat\-abi\fR=\fIabi\fR]
170    [\fB\-meabi\fR=\fIver\fR]
171    [\fB\-mthumb\fR]
172    [\fB\-EB\fR|\fB\-EL\fR]
173    [\fB\-mapcs\-32\fR|\fB\-mapcs\-26\fR|\fB\-mapcs\-float\fR|
174     \fB\-mapcs\-reentrant\fR]
175    [\fB\-mthumb\-interwork\fR] [\fB\-k\fR]
176 .PP
177 \&\fITarget Blackfin options:\fR
178    [\fB\-mcpu\fR=\fIprocessor\fR[\-\fIsirevision\fR]]
179    [\fB\-mfdpic\fR]
180    [\fB\-mno\-fdpic\fR]
181    [\fB\-mnopic\fR]
182 .PP
183 \&\fITarget \s-1CRIS\s0 options:\fR
184    [\fB\-\-underscore\fR | \fB\-\-no\-underscore\fR]
185    [\fB\-\-pic\fR] [\fB\-N\fR]
186    [\fB\-\-emulation=criself\fR | \fB\-\-emulation=crisaout\fR]
187    [\fB\-\-march=v0_v10\fR | \fB\-\-march=v10\fR | \fB\-\-march=v32\fR | \fB\-\-march=common_v10_v32\fR]
188 .PP
189 \&\fITarget D10V options:\fR
190    [\fB\-O\fR]
191 .PP
192 \&\fITarget D30V options:\fR
193    [\fB\-O\fR|\fB\-n\fR|\fB\-N\fR]
194 .PP
195 \&\fITarget \s-1EPIPHANY\s0 options:\fR
196    [\fB\-mepiphany\fR|\fB\-mepiphany16\fR]
197 .PP
198 \&\fITarget H8/300 options:\fR
199    [\-h\-tick\-hex]
200 .PP
201 \&\fITarget i386 options:\fR
202    [\fB\-\-32\fR|\fB\-\-n32\fR|\fB\-\-64\fR] [\fB\-n\fR]
203    [\fB\-march\fR=\fI\s-1CPU\s0\fR[+\fI\s-1EXTENSION\s0\fR...]] [\fB\-mtune\fR=\fI\s-1CPU\s0\fR]
204 .PP
205 \&\fITarget i960 options:\fR
206    [\fB\-ACA\fR|\fB\-ACA_A\fR|\fB\-ACB\fR|\fB\-ACC\fR|\fB\-AKA\fR|\fB\-AKB\fR|
207     \fB\-AKC\fR|\fB\-AMC\fR]
208    [\fB\-b\fR] [\fB\-no\-relax\fR]
209 .PP
210 \&\fITarget \s-1IA\-64\s0 options:\fR
211    [\fB\-mconstant\-gp\fR|\fB\-mauto\-pic\fR]
212    [\fB\-milp32\fR|\fB\-milp64\fR|\fB\-mlp64\fR|\fB\-mp64\fR]
213    [\fB\-mle\fR|\fBmbe\fR]
214    [\fB\-mtune=itanium1\fR|\fB\-mtune=itanium2\fR]
215    [\fB\-munwind\-check=warning\fR|\fB\-munwind\-check=error\fR]
216    [\fB\-mhint.b=ok\fR|\fB\-mhint.b=warning\fR|\fB\-mhint.b=error\fR]
217    [\fB\-x\fR|\fB\-xexplicit\fR] [\fB\-xauto\fR] [\fB\-xdebug\fR]
218 .PP
219 \&\fITarget \s-1IP2K\s0 options:\fR
220    [\fB\-mip2022\fR|\fB\-mip2022ext\fR]
221 .PP
222 \&\fITarget M32C options:\fR
223    [\fB\-m32c\fR|\fB\-m16c\fR] [\-relax] [\-h\-tick\-hex]
224 .PP
225 \&\fITarget M32R options:\fR
226    [\fB\-\-m32rx\fR|\fB\-\-[no\-]warn\-explicit\-parallel\-conflicts\fR|
227    \fB\-\-W[n]p\fR]
228 .PP
229 \&\fITarget M680X0 options:\fR
230    [\fB\-l\fR] [\fB\-m68000\fR|\fB\-m68010\fR|\fB\-m68020\fR|...]
231 .PP
232 \&\fITarget M68HC11 options:\fR
233    [\fB\-m68hc11\fR|\fB\-m68hc12\fR|\fB\-m68hcs12\fR|\fB\-mm9s12x\fR|\fB\-mm9s12xg\fR]
234    [\fB\-mshort\fR|\fB\-mlong\fR]
235    [\fB\-mshort\-double\fR|\fB\-mlong\-double\fR]
236    [\fB\-\-force\-long\-branches\fR] [\fB\-\-short\-branches\fR]
237    [\fB\-\-strict\-direct\-mode\fR] [\fB\-\-print\-insn\-syntax\fR]
238    [\fB\-\-print\-opcodes\fR] [\fB\-\-generate\-example\fR]
239 .PP
240 \&\fITarget \s-1MCORE\s0 options:\fR
241    [\fB\-jsri2bsr\fR] [\fB\-sifilter\fR] [\fB\-relax\fR]
242    [\fB\-mcpu=[210|340]\fR]
243 \&\fITarget \s-1MICROBLAZE\s0 options:\fR
244 .PP
245 \&\fITarget \s-1MIPS\s0 options:\fR
246    [\fB\-nocpp\fR] [\fB\-EL\fR] [\fB\-EB\fR] [\fB\-O\fR[\fIoptimization level\fR]]
247    [\fB\-g\fR[\fIdebug level\fR]] [\fB\-G\fR \fInum\fR] [\fB\-KPIC\fR] [\fB\-call_shared\fR]
248    [\fB\-non_shared\fR] [\fB\-xgot\fR [\fB\-mvxworks\-pic\fR]
249    [\fB\-mabi\fR=\fI\s-1ABI\s0\fR] [\fB\-32\fR] [\fB\-n32\fR] [\fB\-64\fR] [\fB\-mfp32\fR] [\fB\-mgp32\fR]
250    [\fB\-march\fR=\fI\s-1CPU\s0\fR] [\fB\-mtune\fR=\fI\s-1CPU\s0\fR] [\fB\-mips1\fR] [\fB\-mips2\fR]
251    [\fB\-mips3\fR] [\fB\-mips4\fR] [\fB\-mips5\fR] [\fB\-mips32\fR] [\fB\-mips32r2\fR]
252    [\fB\-mips64\fR] [\fB\-mips64r2\fR]
253    [\fB\-construct\-floats\fR] [\fB\-no\-construct\-floats\fR]
254    [\fB\-trap\fR] [\fB\-no\-break\fR] [\fB\-break\fR] [\fB\-no\-trap\fR]
255    [\fB\-mips16\fR] [\fB\-no\-mips16\fR]
256    [\fB\-mmicromips\fR] [\fB\-mno\-micromips\fR]
257    [\fB\-msmartmips\fR] [\fB\-mno\-smartmips\fR]
258    [\fB\-mips3d\fR] [\fB\-no\-mips3d\fR]
259    [\fB\-mdmx\fR] [\fB\-no\-mdmx\fR]
260    [\fB\-mdsp\fR] [\fB\-mno\-dsp\fR]
261    [\fB\-mdspr2\fR] [\fB\-mno\-dspr2\fR]
262    [\fB\-mmt\fR] [\fB\-mno\-mt\fR]
263    [\fB\-mmcu\fR] [\fB\-mno\-mcu\fR]
264    [\fB\-mfix7000\fR] [\fB\-mno\-fix7000\fR]
265    [\fB\-mfix\-vr4120\fR] [\fB\-mno\-fix\-vr4120\fR]
266    [\fB\-mfix\-vr4130\fR] [\fB\-mno\-fix\-vr4130\fR]
267    [\fB\-mdebug\fR] [\fB\-no\-mdebug\fR]
268    [\fB\-mpdr\fR] [\fB\-mno\-pdr\fR]
269 .PP
270 \&\fITarget \s-1MMIX\s0 options:\fR
271    [\fB\-\-fixed\-special\-register\-names\fR] [\fB\-\-globalize\-symbols\fR]
272    [\fB\-\-gnu\-syntax\fR] [\fB\-\-relax\fR] [\fB\-\-no\-predefined\-symbols\fR]
273    [\fB\-\-no\-expand\fR] [\fB\-\-no\-merge\-gregs\fR] [\fB\-x\fR]
274    [\fB\-\-linker\-allocated\-gregs\fR]
275 .PP
276 \&\fITarget \s-1PDP11\s0 options:\fR
277    [\fB\-mpic\fR|\fB\-mno\-pic\fR] [\fB\-mall\fR] [\fB\-mno\-extensions\fR]
278    [\fB\-m\fR\fIextension\fR|\fB\-mno\-\fR\fIextension\fR]
279    [\fB\-m\fR\fIcpu\fR] [\fB\-m\fR\fImachine\fR]
280 .PP
281 \&\fITarget picoJava options:\fR
282    [\fB\-mb\fR|\fB\-me\fR]
283 .PP
284 \&\fITarget PowerPC options:\fR
285    [\fB\-a32\fR|\fB\-a64\fR]
286    [\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|
287     \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|
288     \fB\-m620\fR|\fB\-me500\fR|\fB\-e500x2\fR|\fB\-me500mc\fR|\fB\-me500mc64\fR|\fB\-me5500\fR|\fB\-me6500\fR|\fB\-mppc64bridge\fR|
289     \fB\-mbooke\fR|\fB\-mpower4\fR|\fB\-mpr4\fR|\fB\-mpower5\fR|\fB\-mpwr5\fR|\fB\-mpwr5x\fR|\fB\-mpower6\fR|\fB\-mpwr6\fR|
290     \fB\-mpower7\fR|\fB\-mpw7\fR|\fB\-ma2\fR|\fB\-mcell\fR|\fB\-mspe\fR|\fB\-mtitan\fR|\fB\-me300\fR|\fB\-mcom\fR]
291    [\fB\-many\fR] [\fB\-maltivec\fR|\fB\-mvsx\fR]
292    [\fB\-mregnames\fR|\fB\-mno\-regnames\fR]
293    [\fB\-mrelocatable\fR|\fB\-mrelocatable\-lib\fR|\fB\-K \s-1PIC\s0\fR] [\fB\-memb\fR]
294    [\fB\-mlittle\fR|\fB\-mlittle\-endian\fR|\fB\-le\fR|\fB\-mbig\fR|\fB\-mbig\-endian\fR|\fB\-be\fR]
295    [\fB\-msolaris\fR|\fB\-mno\-solaris\fR]
296    [\fB\-nops=\fR\fIcount\fR]
297 .PP
298 \&\fITarget \s-1RX\s0 options:\fR
299    [\fB\-mlittle\-endian\fR|\fB\-mbig\-endian\fR]
300    [\fB\-m32bit\-ints\fR|\fB\-m16bit\-ints\fR]
301    [\fB\-m32bit\-doubles\fR|\fB\-m64bit\-doubles\fR]
302 .PP
303 \&\fITarget s390 options:\fR
304    [\fB\-m31\fR|\fB\-m64\fR] [\fB\-mesa\fR|\fB\-mzarch\fR] [\fB\-march\fR=\fI\s-1CPU\s0\fR]
305    [\fB\-mregnames\fR|\fB\-mno\-regnames\fR]
306    [\fB\-mwarn\-areg\-zero\fR]
307 .PP
308 \&\fITarget \s-1SCORE\s0 options:\fR
309    [\fB\-EB\fR][\fB\-EL\fR][\fB\-FIXDD\fR][\fB\-NWARN\fR]
310    [\fB\-SCORE5\fR][\fB\-SCORE5U\fR][\fB\-SCORE7\fR][\fB\-SCORE3\fR]
311    [\fB\-march=score7\fR][\fB\-march=score3\fR]
312    [\fB\-USE_R1\fR][\fB\-KPIC\fR][\fB\-O0\fR][\fB\-G\fR \fInum\fR][\fB\-V\fR]
313 .PP
314 \&\fITarget \s-1SPARC\s0 options:\fR
315    [\fB\-Av6\fR|\fB\-Av7\fR|\fB\-Av8\fR|\fB\-Asparclet\fR|\fB\-Asparclite\fR
316     \fB\-Av8plus\fR|\fB\-Av8plusa\fR|\fB\-Av9\fR|\fB\-Av9a\fR]
317    [\fB\-xarch=v8plus\fR|\fB\-xarch=v8plusa\fR] [\fB\-bump\fR]
318    [\fB\-32\fR|\fB\-64\fR]
319 .PP
320 \&\fITarget \s-1TIC54X\s0 options:\fR
321  [\fB\-mcpu=54[123589]\fR|\fB\-mcpu=54[56]lp\fR] [\fB\-mfar\-mode\fR|\fB\-mf\fR]
322  [\fB\-merrors\-to\-file\fR \fI<filename>\fR|\fB\-me\fR \fI<filename>\fR]
323 .PP
324 \&\fITarget \s-1TIC6X\s0 options:\fR
325    [\fB\-march=\fR\fIarch\fR] [\fB\-mbig\-endian\fR|\fB\-mlittle\-endian\fR]
326    [\fB\-mdsbt\fR|\fB\-mno\-dsbt\fR] [\fB\-mpid=no\fR|\fB\-mpid=near\fR|\fB\-mpid=far\fR]
327    [\fB\-mpic\fR|\fB\-mno\-pic\fR]
328 .PP
329 \&\fITarget TILE-Gx options:\fR
330    [\fB\-m32\fR|\fB\-m64\fR][\fB\-EB\fR][\fB\-EL\fR]
331 .PP
332 \&\fITarget Xtensa options:\fR
333  [\fB\-\-[no\-]text\-section\-literals\fR] [\fB\-\-[no\-]absolute\-literals\fR]
334  [\fB\-\-[no\-]target\-align\fR] [\fB\-\-[no\-]longcalls\fR]
335  [\fB\-\-[no\-]transform\fR]
336  [\fB\-\-rename\-section\fR \fIoldname\fR=\fInewname\fR]
337 .PP
338 \&\fITarget Z80 options:\fR
339   [\fB\-z80\fR] [\fB\-r800\fR]
340   [ \fB\-ignore\-undocumented\-instructions\fR] [\fB\-Wnud\fR]
341   [ \fB\-ignore\-unportable\-instructions\fR] [\fB\-Wnup\fR]
342   [ \fB\-warn\-undocumented\-instructions\fR] [\fB\-Wud\fR]
343   [ \fB\-warn\-unportable\-instructions\fR] [\fB\-Wup\fR]
344   [ \fB\-forbid\-undocumented\-instructions\fR] [\fB\-Fud\fR]
345   [ \fB\-forbid\-unportable\-instructions\fR] [\fB\-Fup\fR]
346 .SH "DESCRIPTION"
347 .IX Header "DESCRIPTION"
348 \&\s-1GNU\s0 \fBas\fR is really a family of assemblers.
349 If you use (or have used) the \s-1GNU\s0 assembler on one architecture, you
350 should find a fairly similar environment when you use it on another
351 architecture.  Each version has much in common with the others,
352 including object file formats, most assembler directives (often called
353 \&\fIpseudo-ops\fR) and assembler syntax.
354 .PP
355 \&\fBas\fR is primarily intended to assemble the output of the
356 \&\s-1GNU\s0 C compiler \f(CW\*(C`gcc\*(C'\fR for use by the linker
357 \&\f(CW\*(C`ld\*(C'\fR.  Nevertheless, we've tried to make \fBas\fR
358 assemble correctly everything that other assemblers for the same
359 machine would assemble.
360 Any exceptions are documented explicitly.
361 This doesn't mean \fBas\fR always uses the same syntax as another
362 assembler for the same architecture; for example, we know of several
363 incompatible versions of 680x0 assembly language syntax.
364 .PP
365 Each time you run \fBas\fR it assembles exactly one source
366 program.  The source program is made up of one or more files.
367 (The standard input is also a file.)
368 .PP
369 You give \fBas\fR a command line that has zero or more input file
370 names.  The input files are read (from left file name to right).  A
371 command line argument (in any position) that has no special meaning
372 is taken to be an input file name.
373 .PP
374 If you give \fBas\fR no file names it attempts to read one input file
375 from the \fBas\fR standard input, which is normally your terminal.  You
376 may have to type \fBctl-D\fR to tell \fBas\fR there is no more program
377 to assemble.
378 .PP
379 Use \fB\-\-\fR if you need to explicitly name the standard input file
380 in your command line.
381 .PP
382 If the source is empty, \fBas\fR produces a small, empty object
383 file.
384 .PP
385 \&\fBas\fR may write warnings and error messages to the standard error
386 file (usually your terminal).  This should not happen when  a compiler
387 runs \fBas\fR automatically.  Warnings report an assumption made so
388 that \fBas\fR could keep assembling a flawed program; errors report a
389 grave problem that stops the assembly.
390 .PP
391 If you are invoking \fBas\fR via the \s-1GNU\s0 C compiler,
392 you can use the \fB\-Wa\fR option to pass arguments through to the assembler.
393 The assembler arguments must be separated from each other (and the \fB\-Wa\fR)
394 by commas.  For example:
395 .PP
396 .Vb 1
397 \&        gcc \-c \-g \-O \-Wa,\-alh,\-L file.c
398 .Ve
399 .PP
400 This passes two options to the assembler: \fB\-alh\fR (emit a listing to
401 standard output with high-level and assembly source) and \fB\-L\fR (retain
402 local symbols in the symbol table).
403 .PP
404 Usually you do not need to use this \fB\-Wa\fR mechanism, since many compiler
405 command-line options are automatically passed to the assembler by the compiler.
406 (You can call the \s-1GNU\s0 compiler driver with the \fB\-v\fR option to see
407 precisely what options it passes to each compilation pass, including the
408 assembler.)
409 .SH "OPTIONS"
410 .IX Header "OPTIONS"
411 .IP "\fB@\fR\fIfile\fR" 4
412 .IX Item "@file"
413 Read command-line options from \fIfile\fR.  The options read are
414 inserted in place of the original @\fIfile\fR option.  If \fIfile\fR
415 does not exist, or cannot be read, then the option will be treated
416 literally, and not removed.
417 .Sp
418 Options in \fIfile\fR are separated by whitespace.  A whitespace
419 character may be included in an option by surrounding the entire
420 option in either single or double quotes.  Any character (including a
421 backslash) may be included by prefixing the character to be included
422 with a backslash.  The \fIfile\fR may itself contain additional
423 @\fIfile\fR options; any such options will be processed recursively.
424 .IP "\fB\-a[cdghlmns]\fR" 4
425 .IX Item "-a[cdghlmns]"
426 Turn on listings, in any of a variety of ways:
427 .RS 4
428 .IP "\fB\-ac\fR" 4
429 .IX Item "-ac"
430 omit false conditionals
431 .IP "\fB\-ad\fR" 4
432 .IX Item "-ad"
433 omit debugging directives
434 .IP "\fB\-ag\fR" 4
435 .IX Item "-ag"
436 include general information, like as version and options passed
437 .IP "\fB\-ah\fR" 4
438 .IX Item "-ah"
439 include high-level source
440 .IP "\fB\-al\fR" 4
441 .IX Item "-al"
442 include assembly
443 .IP "\fB\-am\fR" 4
444 .IX Item "-am"
445 include macro expansions
446 .IP "\fB\-an\fR" 4
447 .IX Item "-an"
448 omit forms processing
449 .IP "\fB\-as\fR" 4
450 .IX Item "-as"
451 include symbols
452 .IP "\fB=file\fR" 4
453 .IX Item "=file"
454 set the name of the listing file
455 .RE
456 .RS 4
457 .Sp
458 You may combine these options; for example, use \fB\-aln\fR for assembly
459 listing without forms processing.  The \fB=file\fR option, if used, must be
460 the last one.  By itself, \fB\-a\fR defaults to \fB\-ahls\fR.
461 .RE
462 .IP "\fB\-\-alternate\fR" 4
463 .IX Item "--alternate"
464 Begin in alternate macro mode.
465 .IP "\fB\-\-compress\-debug\-sections\fR" 4
466 .IX Item "--compress-debug-sections"
467 Compress \s-1DWARF\s0 debug sections using zlib.  The debug sections are renamed
468 to begin with \fB.zdebug\fR, and the resulting object file may not be
469 compatible with older linkers and object file utilities.
470 .IP "\fB\-\-nocompress\-debug\-sections\fR" 4
471 .IX Item "--nocompress-debug-sections"
472 Do not compress \s-1DWARF\s0 debug sections.  This is the default.
473 .IP "\fB\-D\fR" 4
474 .IX Item "-D"
475 Ignored.  This option is accepted for script compatibility with calls to
476 other assemblers.
477 .IP "\fB\-\-debug\-prefix\-map\fR \fIold\fR\fB=\fR\fInew\fR" 4
478 .IX Item "--debug-prefix-map old=new"
479 When assembling files in directory \fI\fIold\fI\fR, record debugging
480 information describing them as in \fI\fInew\fI\fR instead.
481 .IP "\fB\-\-defsym\fR \fIsym\fR\fB=\fR\fIvalue\fR" 4
482 .IX Item "--defsym sym=value"
483 Define the symbol \fIsym\fR to be \fIvalue\fR before assembling the input file.
484 \&\fIvalue\fR must be an integer constant.  As in C, a leading \fB0x\fR
485 indicates a hexadecimal value, and a leading \fB0\fR indicates an octal
486 value.  The value of the symbol can be overridden inside a source file via the
487 use of a \f(CW\*(C`.set\*(C'\fR pseudo-op.
488 .IP "\fB\-f\fR" 4
489 .IX Item "-f"
490 \&\*(L"fast\*(R"\-\-\-skip whitespace and comment preprocessing (assume source is
491 compiler output).
492 .IP "\fB\-g\fR" 4
493 .IX Item "-g"
494 .PD 0
495 .IP "\fB\-\-gen\-debug\fR" 4
496 .IX Item "--gen-debug"
497 .PD
498 Generate debugging information for each assembler source line using whichever
499 debug format is preferred by the target.  This currently means either \s-1STABS\s0,
500 \&\s-1ECOFF\s0 or \s-1DWARF2\s0.
501 .IP "\fB\-\-gstabs\fR" 4
502 .IX Item "--gstabs"
503 Generate stabs debugging information for each assembler line.  This
504 may help debugging assembler code, if the debugger can handle it.
505 .IP "\fB\-\-gstabs+\fR" 4
506 .IX Item "--gstabs+"
507 Generate stabs debugging information for each assembler line, with \s-1GNU\s0
508 extensions that probably only gdb can handle, and that could make other
509 debuggers crash or refuse to read your program.  This
510 may help debugging assembler code.  Currently the only \s-1GNU\s0 extension is
511 the location of the current working directory at assembling time.
512 .IP "\fB\-\-gdwarf\-2\fR" 4
513 .IX Item "--gdwarf-2"
514 Generate \s-1DWARF2\s0 debugging information for each assembler line.  This
515 may help debugging assembler code, if the debugger can handle it.  Note\-\-\-this
516 option is only supported by some targets, not all of them.
517 .IP "\fB\-\-size\-check=error\fR" 4
518 .IX Item "--size-check=error"
519 .PD 0
520 .IP "\fB\-\-size\-check=warning\fR" 4
521 .IX Item "--size-check=warning"
522 .PD
523 Issue an error or warning for invalid \s-1ELF\s0 .size directive.
524 .IP "\fB\-\-help\fR" 4
525 .IX Item "--help"
526 Print a summary of the command line options and exit.
527 .IP "\fB\-\-target\-help\fR" 4
528 .IX Item "--target-help"
529 Print a summary of all target specific options and exit.
530 .IP "\fB\-I\fR \fIdir\fR" 4
531 .IX Item "-I dir"
532 Add directory \fIdir\fR to the search list for \f(CW\*(C`.include\*(C'\fR directives.
533 .IP "\fB\-J\fR" 4
534 .IX Item "-J"
535 Don't warn about signed overflow.
536 .IP "\fB\-K\fR" 4
537 .IX Item "-K"
538 Issue warnings when difference tables altered for long displacements.
539 .IP "\fB\-L\fR" 4
540 .IX Item "-L"
541 .PD 0
542 .IP "\fB\-\-keep\-locals\fR" 4
543 .IX Item "--keep-locals"
544 .PD
545 Keep (in the symbol table) local symbols.  These symbols start with
546 system-specific local label prefixes, typically \fB.L\fR for \s-1ELF\s0 systems
547 or \fBL\fR for traditional a.out systems.
548 .IP "\fB\-\-listing\-lhs\-width=\fR\fInumber\fR" 4
549 .IX Item "--listing-lhs-width=number"
550 Set the maximum width, in words, of the output data column for an assembler
551 listing to \fInumber\fR.
552 .IP "\fB\-\-listing\-lhs\-width2=\fR\fInumber\fR" 4
553 .IX Item "--listing-lhs-width2=number"
554 Set the maximum width, in words, of the output data column for continuation
555 lines in an assembler listing to \fInumber\fR.
556 .IP "\fB\-\-listing\-rhs\-width=\fR\fInumber\fR" 4
557 .IX Item "--listing-rhs-width=number"
558 Set the maximum width of an input source line, as displayed in a listing, to
559 \&\fInumber\fR bytes.
560 .IP "\fB\-\-listing\-cont\-lines=\fR\fInumber\fR" 4
561 .IX Item "--listing-cont-lines=number"
562 Set the maximum number of lines printed in a listing for a single line of input
563 to \fInumber\fR + 1.
564 .IP "\fB\-o\fR \fIobjfile\fR" 4
565 .IX Item "-o objfile"
566 Name the object-file output from \fBas\fR \fIobjfile\fR.
567 .IP "\fB\-R\fR" 4
568 .IX Item "-R"
569 Fold the data section into the text section.
570 .Sp
571 Set the default size of \s-1GAS\s0's hash tables to a prime number close to
572 \&\fInumber\fR.  Increasing this value can reduce the length of time it takes the
573 assembler to perform its tasks, at the expense of increasing the assembler's
574 memory requirements.  Similarly reducing this value can reduce the memory
575 requirements at the expense of speed.
576 .IP "\fB\-\-reduce\-memory\-overheads\fR" 4
577 .IX Item "--reduce-memory-overheads"
578 This option reduces \s-1GAS\s0's memory requirements, at the expense of making the
579 assembly processes slower.  Currently this switch is a synonym for
580 \&\fB\-\-hash\-size=4051\fR, but in the future it may have other effects as well.
581 .IP "\fB\-\-statistics\fR" 4
582 .IX Item "--statistics"
583 Print the maximum space (in bytes) and total time (in seconds) used by
584 assembly.
585 .IP "\fB\-\-strip\-local\-absolute\fR" 4
586 .IX Item "--strip-local-absolute"
587 Remove local absolute symbols from the outgoing symbol table.
588 .IP "\fB\-v\fR" 4
589 .IX Item "-v"
590 .PD 0
591 .IP "\fB\-version\fR" 4
592 .IX Item "-version"
593 .PD
594 Print the \fBas\fR version.
595 .IP "\fB\-\-version\fR" 4
596 .IX Item "--version"
597 Print the \fBas\fR version and exit.
598 .IP "\fB\-W\fR" 4
599 .IX Item "-W"
600 .PD 0
601 .IP "\fB\-\-no\-warn\fR" 4
602 .IX Item "--no-warn"
603 .PD
604 Suppress warning messages.
605 .IP "\fB\-\-fatal\-warnings\fR" 4
606 .IX Item "--fatal-warnings"
607 Treat warnings as errors.
608 .IP "\fB\-\-warn\fR" 4
609 .IX Item "--warn"
610 Don't suppress warning messages or treat them as errors.
611 .IP "\fB\-w\fR" 4
612 .IX Item "-w"
613 Ignored.
614 .IP "\fB\-x\fR" 4
615 .IX Item "-x"
616 Ignored.
617 .IP "\fB\-Z\fR" 4
618 .IX Item "-Z"
619 Generate an object file even after errors.
620 .IP "\fB\-\- |\fR \fIfiles\fR \fB...\fR" 4
621 .IX Item "-- | files ..."
622 Standard input, or source files to assemble.
623 .PP
624 The following options are available when as is configured for the
625 64\-bit mode of the \s-1ARM\s0 Architecture (AArch64).
626 .IP "\fB\-EB\fR" 4
627 .IX Item "-EB"
628 This option specifies that the output generated by the assembler should
629 be marked as being encoded for a big-endian processor.
630 .IP "\fB\-EL\fR" 4
631 .IX Item "-EL"
632 This option specifies that the output generated by the assembler should
633 be marked as being encoded for a little-endian processor.
634 .PP
635 The following options are available when as is configured for an Alpha
636 processor.
637 .IP "\fB\-m\fR\fIcpu\fR" 4
638 .IX Item "-mcpu"
639 This option specifies the target processor.  If an attempt is made to
640 assemble an instruction which will not execute on the target processor,
641 the assembler may either expand the instruction as a macro or issue an
642 error message.  This option is equivalent to the \f(CW\*(C`.arch\*(C'\fR directive.
643 .Sp
644 The following processor names are recognized: 
645 \&\f(CW21064\fR,
646 \&\f(CW\*(C`21064a\*(C'\fR,
647 \&\f(CW21066\fR,
648 \&\f(CW21068\fR,
649 \&\f(CW21164\fR,
650 \&\f(CW\*(C`21164a\*(C'\fR,
651 \&\f(CW\*(C`21164pc\*(C'\fR,
652 \&\f(CW21264\fR,
653 \&\f(CW\*(C`21264a\*(C'\fR,
654 \&\f(CW\*(C`21264b\*(C'\fR,
655 \&\f(CW\*(C`ev4\*(C'\fR,
656 \&\f(CW\*(C`ev5\*(C'\fR,
657 \&\f(CW\*(C`lca45\*(C'\fR,
658 \&\f(CW\*(C`ev5\*(C'\fR,
659 \&\f(CW\*(C`ev56\*(C'\fR,
660 \&\f(CW\*(C`pca56\*(C'\fR,
661 \&\f(CW\*(C`ev6\*(C'\fR,
662 \&\f(CW\*(C`ev67\*(C'\fR,
663 \&\f(CW\*(C`ev68\*(C'\fR.
664 The special name \f(CW\*(C`all\*(C'\fR may be used to allow the assembler to accept
665 instructions valid for any Alpha processor.
666 .Sp
667 In order to support existing practice in \s-1OSF/1\s0 with respect to \f(CW\*(C`.arch\*(C'\fR,
668 and existing practice within \fB\s-1MILO\s0\fR (the Linux \s-1ARC\s0 bootloader), the
669 numbered processor names (e.g. 21064) enable the processor-specific PALcode
670 instructions, while the \*(L"electro-vlasic\*(R" names (e.g. \f(CW\*(C`ev4\*(C'\fR) do not.
671 .IP "\fB\-mdebug\fR" 4
672 .IX Item "-mdebug"
673 .PD 0
674 .IP "\fB\-no\-mdebug\fR" 4
675 .IX Item "-no-mdebug"
676 .PD
677 Enables or disables the generation of \f(CW\*(C`.mdebug\*(C'\fR encapsulation for
678 stabs directives and procedure descriptors.  The default is to automatically
679 enable \f(CW\*(C`.mdebug\*(C'\fR when the first stabs directive is seen.
680 .IP "\fB\-relax\fR" 4
681 .IX Item "-relax"
682 This option forces all relocations to be put into the object file, instead
683 of saving space and resolving some relocations at assembly time.  Note that
684 this option does not propagate all symbol arithmetic into the object file,
685 because not all symbol arithmetic can be represented.  However, the option
686 can still be useful in specific applications.
687 .IP "\fB\-replace\fR" 4
688 .IX Item "-replace"
689 .PD 0
690 .IP "\fB\-noreplace\fR" 4
691 .IX Item "-noreplace"
692 .PD
693 Enables or disables the optimization of procedure calls, both at assemblage
694 and at link time.  These options are only available for \s-1VMS\s0 targets and
695 \&\f(CW\*(C`\-replace\*(C'\fR is the default.  See section 1.4.1 of the OpenVMS Linker
696 Utility Manual.
697 .IP "\fB\-g\fR" 4
698 .IX Item "-g"
699 This option is used when the compiler generates debug information.  When
700 \&\fBgcc\fR is using \fBmips-tfile\fR to generate debug
701 information for \s-1ECOFF\s0, local labels must be passed through to the object
702 file.  Otherwise this option has no effect.
703 .IP "\fB\-G\fR\fIsize\fR" 4
704 .IX Item "-Gsize"
705 A local common symbol larger than \fIsize\fR is placed in \f(CW\*(C`.bss\*(C'\fR,
706 while smaller symbols are placed in \f(CW\*(C`.sbss\*(C'\fR.
707 .IP "\fB\-F\fR" 4
708 .IX Item "-F"
709 .PD 0
710 .IP "\fB\-32addr\fR" 4
711 .IX Item "-32addr"
712 .PD
713 These options are ignored for backward compatibility.
714 .PP
715 The following options are available when as is configured for
716 an \s-1ARC\s0 processor.
717 .IP "\fB\-marc[5|6|7|8]\fR" 4
718 .IX Item "-marc[5|6|7|8]"
719 This option selects the core processor variant.
720 .IP "\fB\-EB | \-EL\fR" 4
721 .IX Item "-EB | -EL"
722 Select either big-endian (\-EB) or little-endian (\-EL) output.
723 .PP
724 The following options are available when as is configured for the \s-1ARM\s0
725 processor family.
726 .IP "\fB\-mcpu=\fR\fIprocessor\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
727 .IX Item "-mcpu=processor[+extension...]"
728 Specify which \s-1ARM\s0 processor variant is the target.
729 .IP "\fB\-march=\fR\fIarchitecture\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
730 .IX Item "-march=architecture[+extension...]"
731 Specify which \s-1ARM\s0 architecture variant is used by the target.
732 .IP "\fB\-mfpu=\fR\fIfloating-point-format\fR" 4
733 .IX Item "-mfpu=floating-point-format"
734 Select which Floating Point architecture is the target.
735 .IP "\fB\-mfloat\-abi=\fR\fIabi\fR" 4
736 .IX Item "-mfloat-abi=abi"
737 Select which floating point \s-1ABI\s0 is in use.
738 .IP "\fB\-mthumb\fR" 4
739 .IX Item "-mthumb"
740 Enable Thumb only instruction decoding.
741 .IP "\fB\-mapcs\-32 | \-mapcs\-26 | \-mapcs\-float | \-mapcs\-reentrant\fR" 4
742 .IX Item "-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant"
743 Select which procedure calling convention is in use.
744 .IP "\fB\-EB | \-EL\fR" 4
745 .IX Item "-EB | -EL"
746 Select either big-endian (\-EB) or little-endian (\-EL) output.
747 .IP "\fB\-mthumb\-interwork\fR" 4
748 .IX Item "-mthumb-interwork"
749 Specify that the code has been generated with interworking between Thumb and
750 \&\s-1ARM\s0 code in mind.
751 .IP "\fB\-k\fR" 4
752 .IX Item "-k"
753 Specify that \s-1PIC\s0 code has been generated.
754 .PP
755 The following options are available when as is configured for
756 the Blackfin processor family.
757 .IP "\fB\-mcpu=\fR\fIprocessor\fR[\fB\-\fR\fIsirevision\fR]" 4
758 .IX Item "-mcpu=processor[-sirevision]"
759 This option specifies the target processor.  The optional \fIsirevision\fR
760 is not used in assembler.  It's here such that \s-1GCC\s0 can easily pass down its
761 \&\f(CW\*(C`\-mcpu=\*(C'\fR option.  The assembler will issue an
762 error message if an attempt is made to assemble an instruction which
763 will not execute on the target processor.  The following processor names are
764 recognized: 
765 \&\f(CW\*(C`bf504\*(C'\fR,
766 \&\f(CW\*(C`bf506\*(C'\fR,
767 \&\f(CW\*(C`bf512\*(C'\fR,
768 \&\f(CW\*(C`bf514\*(C'\fR,
769 \&\f(CW\*(C`bf516\*(C'\fR,
770 \&\f(CW\*(C`bf518\*(C'\fR,
771 \&\f(CW\*(C`bf522\*(C'\fR,
772 \&\f(CW\*(C`bf523\*(C'\fR,
773 \&\f(CW\*(C`bf524\*(C'\fR,
774 \&\f(CW\*(C`bf525\*(C'\fR,
775 \&\f(CW\*(C`bf526\*(C'\fR,
776 \&\f(CW\*(C`bf527\*(C'\fR,
777 \&\f(CW\*(C`bf531\*(C'\fR,
778 \&\f(CW\*(C`bf532\*(C'\fR,
779 \&\f(CW\*(C`bf533\*(C'\fR,
780 \&\f(CW\*(C`bf534\*(C'\fR,
781 \&\f(CW\*(C`bf535\*(C'\fR (not implemented yet),
782 \&\f(CW\*(C`bf536\*(C'\fR,
783 \&\f(CW\*(C`bf537\*(C'\fR,
784 \&\f(CW\*(C`bf538\*(C'\fR,
785 \&\f(CW\*(C`bf539\*(C'\fR,
786 \&\f(CW\*(C`bf542\*(C'\fR,
787 \&\f(CW\*(C`bf542m\*(C'\fR,
788 \&\f(CW\*(C`bf544\*(C'\fR,
789 \&\f(CW\*(C`bf544m\*(C'\fR,
790 \&\f(CW\*(C`bf547\*(C'\fR,
791 \&\f(CW\*(C`bf547m\*(C'\fR,
792 \&\f(CW\*(C`bf548\*(C'\fR,
793 \&\f(CW\*(C`bf548m\*(C'\fR,
794 \&\f(CW\*(C`bf549\*(C'\fR,
795 \&\f(CW\*(C`bf549m\*(C'\fR,
796 \&\f(CW\*(C`bf561\*(C'\fR,
797 and
798 \&\f(CW\*(C`bf592\*(C'\fR.
799 .IP "\fB\-mfdpic\fR" 4
800 .IX Item "-mfdpic"
801 Assemble for the \s-1FDPIC\s0 \s-1ABI\s0.
802 .IP "\fB\-mno\-fdpic\fR" 4
803 .IX Item "-mno-fdpic"
804 .PD 0
805 .IP "\fB\-mnopic\fR" 4
806 .IX Item "-mnopic"
807 .PD
808 Disable \-mfdpic.
809 .PP
810 See the info pages for documentation of the CRIS-specific options.
811 .PP
812 The following options are available when as is configured for
813 a D10V processor.
814 .IP "\fB\-O\fR" 4
815 .IX Item "-O"
816 Optimize output by parallelizing instructions.
817 .PP
818 The following options are available when as is configured for a D30V
819 processor.
820 .IP "\fB\-O\fR" 4
821 .IX Item "-O"
822 Optimize output by parallelizing instructions.
823 .IP "\fB\-n\fR" 4
824 .IX Item "-n"
825 Warn when nops are generated.
826 .IP "\fB\-N\fR" 4
827 .IX Item "-N"
828 Warn when a nop after a 32\-bit multiply instruction is generated.
829 .PP
830 The following options are available when as is configured for
831 an Epiphany processor.
832 .IP "\fB\-mepiphany\fR" 4
833 .IX Item "-mepiphany"
834 Specifies that the both 32 and 16 bit instructions are allowed.  This is the
835 default behavior.
836 .IP "\fB\-mepiphany16\fR" 4
837 .IX Item "-mepiphany16"
838 Restricts the permitted instructions to just the 16 bit set.
839 .PP
840 The following options are available when as is configured for
841 an i386 processor.
842 .IP "\fB\-\-32 | \-\-x32 | \-\-64\fR" 4
843 .IX Item "--32 | --x32 | --64"
844 Select the word size, either 32 bits or 64 bits.  \fB\-\-32\fR
845 implies Intel i386 architecture, while \fB\-\-x32\fR and \fB\-\-64\fR
846 imply \s-1AMD\s0 x86\-64 architecture with 32\-bit or 64\-bit word-size
847 respectively.
848 .Sp
849 These options are only available with the \s-1ELF\s0 object file format, and
850 require that the necessary \s-1BFD\s0 support has been included (on a 32\-bit
851 platform you have to add \-\-enable\-64\-bit\-bfd to configure enable 64\-bit
852 usage and use x86\-64 as target platform).
853 .IP "\fB\-n\fR" 4
854 .IX Item "-n"
855 By default, x86 \s-1GAS\s0 replaces multiple nop instructions used for
856 alignment within code sections with multi-byte nop instructions such
857 as leal 0(%esi,1),%esi.  This switch disables the optimization.
858 .IP "\fB\-\-divide\fR" 4
859 .IX Item "--divide"
860 On SVR4\-derived platforms, the character \fB/\fR is treated as a comment
861 character, which means that it cannot be used in expressions.  The
862 \&\fB\-\-divide\fR option turns \fB/\fR into a normal character.  This does
863 not disable \fB/\fR at the beginning of a line starting a comment, or
864 affect using \fB#\fR for starting a comment.
865 .IP "\fB\-march=\fR\fI\s-1CPU\s0\fR\fB[+\fR\fI\s-1EXTENSION\s0\fR\fB...]\fR" 4
866 .IX Item "-march=CPU[+EXTENSION...]"
867 This option specifies the target processor.  The assembler will
868 issue an error message if an attempt is made to assemble an instruction
869 which will not execute on the target processor.  The following
870 processor names are recognized: 
871 \&\f(CW\*(C`i8086\*(C'\fR,
872 \&\f(CW\*(C`i186\*(C'\fR,
873 \&\f(CW\*(C`i286\*(C'\fR,
874 \&\f(CW\*(C`i386\*(C'\fR,
875 \&\f(CW\*(C`i486\*(C'\fR,
876 \&\f(CW\*(C`i586\*(C'\fR,
877 \&\f(CW\*(C`i686\*(C'\fR,
878 \&\f(CW\*(C`pentium\*(C'\fR,
879 \&\f(CW\*(C`pentiumpro\*(C'\fR,
880 \&\f(CW\*(C`pentiumii\*(C'\fR,
881 \&\f(CW\*(C`pentiumiii\*(C'\fR,
882 \&\f(CW\*(C`pentium4\*(C'\fR,
883 \&\f(CW\*(C`prescott\*(C'\fR,
884 \&\f(CW\*(C`nocona\*(C'\fR,
885 \&\f(CW\*(C`core\*(C'\fR,
886 \&\f(CW\*(C`core2\*(C'\fR,
887 \&\f(CW\*(C`corei7\*(C'\fR,
888 \&\f(CW\*(C`l1om\*(C'\fR,
889 \&\f(CW\*(C`k1om\*(C'\fR,
890 \&\f(CW\*(C`k6\*(C'\fR,
891 \&\f(CW\*(C`k6_2\*(C'\fR,
892 \&\f(CW\*(C`athlon\*(C'\fR,
893 \&\f(CW\*(C`opteron\*(C'\fR,
894 \&\f(CW\*(C`k8\*(C'\fR,
895 \&\f(CW\*(C`amdfam10\*(C'\fR,
896 \&\f(CW\*(C`bdver1\*(C'\fR,
897 \&\f(CW\*(C`bdver2\*(C'\fR,
898 \&\f(CW\*(C`bdver3\*(C'\fR,
899 \&\f(CW\*(C`btver1\*(C'\fR,
900 \&\f(CW\*(C`btver2\*(C'\fR,
901 \&\f(CW\*(C`generic32\*(C'\fR and
902 \&\f(CW\*(C`generic64\*(C'\fR.
903 .Sp
904 In addition to the basic instruction set, the assembler can be told to 
905 accept various extension mnemonics.  For example,
906 \&\f(CW\*(C`\-march=i686+sse4+vmx\*(C'\fR extends \fIi686\fR with \fIsse4\fR and
907 \&\fIvmx\fR.  The following extensions are currently supported:
908 \&\f(CW8087\fR,
909 \&\f(CW287\fR,
910 \&\f(CW387\fR,
911 \&\f(CW\*(C`no87\*(C'\fR,
912 \&\f(CW\*(C`mmx\*(C'\fR,
913 \&\f(CW\*(C`nommx\*(C'\fR,
914 \&\f(CW\*(C`sse\*(C'\fR,
915 \&\f(CW\*(C`sse2\*(C'\fR,
916 \&\f(CW\*(C`sse3\*(C'\fR,
917 \&\f(CW\*(C`ssse3\*(C'\fR,
918 \&\f(CW\*(C`sse4.1\*(C'\fR,
919 \&\f(CW\*(C`sse4.2\*(C'\fR,
920 \&\f(CW\*(C`sse4\*(C'\fR,
921 \&\f(CW\*(C`nosse\*(C'\fR,
922 \&\f(CW\*(C`avx\*(C'\fR,
923 \&\f(CW\*(C`avx2\*(C'\fR,
924 \&\f(CW\*(C`adx\*(C'\fR,
925 \&\f(CW\*(C`rdseed\*(C'\fR,
926 \&\f(CW\*(C`prfchw\*(C'\fR,
927 \&\f(CW\*(C`noavx\*(C'\fR,
928 \&\f(CW\*(C`vmx\*(C'\fR,
929 \&\f(CW\*(C`vmfunc\*(C'\fR,
930 \&\f(CW\*(C`smx\*(C'\fR,
931 \&\f(CW\*(C`xsave\*(C'\fR,
932 \&\f(CW\*(C`xsaveopt\*(C'\fR,
933 \&\f(CW\*(C`aes\*(C'\fR,
934 \&\f(CW\*(C`pclmul\*(C'\fR,
935 \&\f(CW\*(C`fsgsbase\*(C'\fR,
936 \&\f(CW\*(C`rdrnd\*(C'\fR,
937 \&\f(CW\*(C`f16c\*(C'\fR,
938 \&\f(CW\*(C`bmi2\*(C'\fR,
939 \&\f(CW\*(C`fma\*(C'\fR,
940 \&\f(CW\*(C`movbe\*(C'\fR,
941 \&\f(CW\*(C`ept\*(C'\fR,
942 \&\f(CW\*(C`lzcnt\*(C'\fR,
943 \&\f(CW\*(C`hle\*(C'\fR,
944 \&\f(CW\*(C`rtm\*(C'\fR,
945 \&\f(CW\*(C`invpcid\*(C'\fR,
946 \&\f(CW\*(C`clflush\*(C'\fR,
947 \&\f(CW\*(C`lwp\*(C'\fR,
948 \&\f(CW\*(C`fma4\*(C'\fR,
949 \&\f(CW\*(C`xop\*(C'\fR,
950 \&\f(CW\*(C`syscall\*(C'\fR,
951 \&\f(CW\*(C`rdtscp\*(C'\fR,
952 \&\f(CW\*(C`3dnow\*(C'\fR,
953 \&\f(CW\*(C`3dnowa\*(C'\fR,
954 \&\f(CW\*(C`sse4a\*(C'\fR,
955 \&\f(CW\*(C`sse5\*(C'\fR,
956 \&\f(CW\*(C`svme\*(C'\fR,
957 \&\f(CW\*(C`abm\*(C'\fR and
958 \&\f(CW\*(C`padlock\*(C'\fR.
959 Note that rather than extending a basic instruction set, the extension
960 mnemonics starting with \f(CW\*(C`no\*(C'\fR revoke the respective functionality.
961 .Sp
962 When the \f(CW\*(C`.arch\*(C'\fR directive is used with \fB\-march\fR, the
963 \&\f(CW\*(C`.arch\*(C'\fR directive will take precedent.
964 .IP "\fB\-mtune=\fR\fI\s-1CPU\s0\fR" 4
965 .IX Item "-mtune=CPU"
966 This option specifies a processor to optimize for. When used in
967 conjunction with the \fB\-march\fR option, only instructions
968 of the processor specified by the \fB\-march\fR option will be
969 generated.
970 .Sp
971 Valid \fI\s-1CPU\s0\fR values are identical to the processor list of
972 \&\fB\-march=\fR\fI\s-1CPU\s0\fR.
973 .IP "\fB\-msse2avx\fR" 4
974 .IX Item "-msse2avx"
975 This option specifies that the assembler should encode \s-1SSE\s0 instructions
976 with \s-1VEX\s0 prefix.
977 .IP "\fB\-msse\-check=\fR\fInone\fR" 4
978 .IX Item "-msse-check=none"
979 .PD 0
980 .IP "\fB\-msse\-check=\fR\fIwarning\fR" 4
981 .IX Item "-msse-check=warning"
982 .IP "\fB\-msse\-check=\fR\fIerror\fR" 4
983 .IX Item "-msse-check=error"
984 .PD
985 These options control if the assembler should check \s-1SSE\s0 intructions.
986 \&\fB\-msse\-check=\fR\fInone\fR will make the assembler not to check \s-1SSE\s0
987 instructions,  which is the default.  \fB\-msse\-check=\fR\fIwarning\fR
988 will make the assembler issue a warning for any \s-1SSE\s0 intruction.
989 \&\fB\-msse\-check=\fR\fIerror\fR will make the assembler issue an error
990 for any \s-1SSE\s0 intruction.
991 .IP "\fB\-mavxscalar=\fR\fI128\fR" 4
992 .IX Item "-mavxscalar=128"
993 .PD 0
994 .IP "\fB\-mavxscalar=\fR\fI256\fR" 4
995 .IX Item "-mavxscalar=256"
996 .PD
997 These options control how the assembler should encode scalar \s-1AVX\s0
998 instructions.  \fB\-mavxscalar=\fR\fI128\fR will encode scalar
999 \&\s-1AVX\s0 instructions with 128bit vector length, which is the default.
1000 \&\fB\-mavxscalar=\fR\fI256\fR will encode scalar \s-1AVX\s0 instructions
1001 with 256bit vector length.
1002 .IP "\fB\-mmnemonic=\fR\fIatt\fR" 4
1003 .IX Item "-mmnemonic=att"
1004 .PD 0
1005 .IP "\fB\-mmnemonic=\fR\fIintel\fR" 4
1006 .IX Item "-mmnemonic=intel"
1007 .PD
1008 This option specifies instruction mnemonic for matching instructions. 
1009 The \f(CW\*(C`.att_mnemonic\*(C'\fR and \f(CW\*(C`.intel_mnemonic\*(C'\fR directives will
1010 take precedent.
1011 .IP "\fB\-msyntax=\fR\fIatt\fR" 4
1012 .IX Item "-msyntax=att"
1013 .PD 0
1014 .IP "\fB\-msyntax=\fR\fIintel\fR" 4
1015 .IX Item "-msyntax=intel"
1016 .PD
1017 This option specifies instruction syntax when processing instructions. 
1018 The \f(CW\*(C`.att_syntax\*(C'\fR and \f(CW\*(C`.intel_syntax\*(C'\fR directives will
1019 take precedent.
1020 .IP "\fB\-mnaked\-reg\fR" 4
1021 .IX Item "-mnaked-reg"
1022 This opetion specifies that registers don't require a \fB%\fR prefix.
1023 The \f(CW\*(C`.att_syntax\*(C'\fR and \f(CW\*(C`.intel_syntax\*(C'\fR directives will take precedent.
1024 .PP
1025 The following options are available when as is configured for the
1026 Intel 80960 processor.
1027 .IP "\fB\-ACA | \-ACA_A | \-ACB | \-ACC | \-AKA | \-AKB | \-AKC | \-AMC\fR" 4
1028 .IX Item "-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC"
1029 Specify which variant of the 960 architecture is the target.
1030 .IP "\fB\-b\fR" 4
1031 .IX Item "-b"
1032 Add code to collect statistics about branches taken.
1033 .IP "\fB\-no\-relax\fR" 4
1034 .IX Item "-no-relax"
1035 Do not alter compare-and-branch instructions for long displacements;
1036 error if necessary.
1037 .PP
1038 The following options are available when as is configured for the
1039 Ubicom \s-1IP2K\s0 series.
1040 .IP "\fB\-mip2022ext\fR" 4
1041 .IX Item "-mip2022ext"
1042 Specifies that the extended \s-1IP2022\s0 instructions are allowed.
1043 .IP "\fB\-mip2022\fR" 4
1044 .IX Item "-mip2022"
1045 Restores the default behaviour, which restricts the permitted instructions to
1046 just the basic \s-1IP2022\s0 ones.
1047 .PP
1048 The following options are available when as is configured for the
1049 Renesas M32C and M16C processors.
1050 .IP "\fB\-m32c\fR" 4
1051 .IX Item "-m32c"
1052 Assemble M32C instructions.
1053 .IP "\fB\-m16c\fR" 4
1054 .IX Item "-m16c"
1055 Assemble M16C instructions (the default).
1056 .IP "\fB\-relax\fR" 4
1057 .IX Item "-relax"
1058 Enable support for link-time relaxations.
1059 .IP "\fB\-h\-tick\-hex\fR" 4
1060 .IX Item "-h-tick-hex"
1061 Support H'00 style hex constants in addition to 0x00 style.
1062 .PP
1063 The following options are available when as is configured for the
1064 Renesas M32R (formerly Mitsubishi M32R) series.
1065 .IP "\fB\-\-m32rx\fR" 4
1066 .IX Item "--m32rx"
1067 Specify which processor in the M32R family is the target.  The default
1068 is normally the M32R, but this option changes it to the M32RX.
1069 .IP "\fB\-\-warn\-explicit\-parallel\-conflicts or \-\-Wp\fR" 4
1070 .IX Item "--warn-explicit-parallel-conflicts or --Wp"
1071 Produce warning messages when questionable parallel constructs are
1072 encountered.
1073 .IP "\fB\-\-no\-warn\-explicit\-parallel\-conflicts or \-\-Wnp\fR" 4
1074 .IX Item "--no-warn-explicit-parallel-conflicts or --Wnp"
1075 Do not produce warning messages when questionable parallel constructs are
1076 encountered.
1077 .PP
1078 The following options are available when as is configured for the
1079 Motorola 68000 series.
1080 .IP "\fB\-l\fR" 4
1081 .IX Item "-l"
1082 Shorten references to undefined symbols, to one word instead of two.
1083 .IP "\fB\-m68000 | \-m68008 | \-m68010 | \-m68020 | \-m68030\fR" 4
1084 .IX Item "-m68000 | -m68008 | -m68010 | -m68020 | -m68030"
1085 .PD 0
1086 .IP "\fB| \-m68040 | \-m68060 | \-m68302 | \-m68331 | \-m68332\fR" 4
1087 .IX Item "| -m68040 | -m68060 | -m68302 | -m68331 | -m68332"
1088 .IP "\fB| \-m68333 | \-m68340 | \-mcpu32 | \-m5200\fR" 4
1089 .IX Item "| -m68333 | -m68340 | -mcpu32 | -m5200"
1090 .PD
1091 Specify what processor in the 68000 family is the target.  The default
1092 is normally the 68020, but this can be changed at configuration time.
1093 .IP "\fB\-m68881 | \-m68882 | \-mno\-68881 | \-mno\-68882\fR" 4
1094 .IX Item "-m68881 | -m68882 | -mno-68881 | -mno-68882"
1095 The target machine does (or does not) have a floating-point coprocessor.
1096 The default is to assume a coprocessor for 68020, 68030, and cpu32.  Although
1097 the basic 68000 is not compatible with the 68881, a combination of the
1098 two can be specified, since it's possible to do emulation of the
1099 coprocessor instructions with the main processor.
1100 .IP "\fB\-m68851 | \-mno\-68851\fR" 4
1101 .IX Item "-m68851 | -mno-68851"
1102 The target machine does (or does not) have a memory-management
1103 unit coprocessor.  The default is to assume an \s-1MMU\s0 for 68020 and up.
1104 .PP
1105 For details about the \s-1PDP\-11\s0 machine dependent features options,
1106 see \fBPDP\-11\-Options\fR.
1107 .IP "\fB\-mpic | \-mno\-pic\fR" 4
1108 .IX Item "-mpic | -mno-pic"
1109 Generate position-independent (or position-dependent) code.  The
1110 default is \fB\-mpic\fR.
1111 .IP "\fB\-mall\fR" 4
1112 .IX Item "-mall"
1113 .PD 0
1114 .IP "\fB\-mall\-extensions\fR" 4
1115 .IX Item "-mall-extensions"
1116 .PD
1117 Enable all instruction set extensions.  This is the default.
1118 .IP "\fB\-mno\-extensions\fR" 4
1119 .IX Item "-mno-extensions"
1120 Disable all instruction set extensions.
1121 .IP "\fB\-m\fR\fIextension\fR \fB| \-mno\-\fR\fIextension\fR" 4
1122 .IX Item "-mextension | -mno-extension"
1123 Enable (or disable) a particular instruction set extension.
1124 .IP "\fB\-m\fR\fIcpu\fR" 4
1125 .IX Item "-mcpu"
1126 Enable the instruction set extensions supported by a particular \s-1CPU\s0, and
1127 disable all other extensions.
1128 .IP "\fB\-m\fR\fImachine\fR" 4
1129 .IX Item "-mmachine"
1130 Enable the instruction set extensions supported by a particular machine
1131 model, and disable all other extensions.
1132 .PP
1133 The following options are available when as is configured for
1134 a picoJava processor.
1135 .IP "\fB\-mb\fR" 4
1136 .IX Item "-mb"
1137 Generate \*(L"big endian\*(R" format output.
1138 .IP "\fB\-ml\fR" 4
1139 .IX Item "-ml"
1140 Generate \*(L"little endian\*(R" format output.
1141 .PP
1142 The following options are available when as is configured for the
1143 Motorola 68HC11 or 68HC12 series.
1144 .IP "\fB\-m68hc11 | \-m68hc12 | \-m68hcs12 | \-mm9s12x | \-mm9s12xg\fR" 4
1145 .IX Item "-m68hc11 | -m68hc12 | -m68hcs12 | -mm9s12x | -mm9s12xg"
1146 Specify what processor is the target.  The default is
1147 defined by the configuration option when building the assembler.
1148 .IP "\fB\-\-xgate\-ramoffset\fR" 4
1149 .IX Item "--xgate-ramoffset"
1150 Instruct the linker to offset \s-1RAM\s0 addresses from S12X address space into
1151 \&\s-1XGATE\s0 address space.
1152 .IP "\fB\-mshort\fR" 4
1153 .IX Item "-mshort"
1154 Specify to use the 16\-bit integer \s-1ABI\s0.
1155 .IP "\fB\-mlong\fR" 4
1156 .IX Item "-mlong"
1157 Specify to use the 32\-bit integer \s-1ABI\s0.
1158 .IP "\fB\-mshort\-double\fR" 4
1159 .IX Item "-mshort-double"
1160 Specify to use the 32\-bit double \s-1ABI\s0.
1161 .IP "\fB\-mlong\-double\fR" 4
1162 .IX Item "-mlong-double"
1163 Specify to use the 64\-bit double \s-1ABI\s0.
1164 .IP "\fB\-\-force\-long\-branches\fR" 4
1165 .IX Item "--force-long-branches"
1166 Relative branches are turned into absolute ones. This concerns
1167 conditional branches, unconditional branches and branches to a
1168 sub routine.
1169 .IP "\fB\-S | \-\-short\-branches\fR" 4
1170 .IX Item "-S | --short-branches"
1171 Do not turn relative branches into absolute ones
1172 when the offset is out of range.
1173 .IP "\fB\-\-strict\-direct\-mode\fR" 4
1174 .IX Item "--strict-direct-mode"
1175 Do not turn the direct addressing mode into extended addressing mode
1176 when the instruction does not support direct addressing mode.
1177 .IP "\fB\-\-print\-insn\-syntax\fR" 4
1178 .IX Item "--print-insn-syntax"
1179 Print the syntax of instruction in case of error.
1180 .IP "\fB\-\-print\-opcodes\fR" 4
1181 .IX Item "--print-opcodes"
1182 Print the list of instructions with syntax and then exit.
1183 .IP "\fB\-\-generate\-example\fR" 4
1184 .IX Item "--generate-example"
1185 Print an example of instruction for each possible instruction and then exit.
1186 This option is only useful for testing \fBas\fR.
1187 .PP
1188 The following options are available when \fBas\fR is configured
1189 for the \s-1SPARC\s0 architecture:
1190 .IP "\fB\-Av6 | \-Av7 | \-Av8 | \-Asparclet | \-Asparclite\fR" 4
1191 .IX Item "-Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite"
1192 .PD 0
1193 .IP "\fB\-Av8plus | \-Av8plusa | \-Av9 | \-Av9a\fR" 4
1194 .IX Item "-Av8plus | -Av8plusa | -Av9 | -Av9a"
1195 .PD
1196 Explicitly select a variant of the \s-1SPARC\s0 architecture.
1197 .Sp
1198 \&\fB\-Av8plus\fR and \fB\-Av8plusa\fR select a 32 bit environment.
1199 \&\fB\-Av9\fR and \fB\-Av9a\fR select a 64 bit environment.
1200 .Sp
1201 \&\fB\-Av8plusa\fR and \fB\-Av9a\fR enable the \s-1SPARC\s0 V9 instruction set with
1202 UltraSPARC extensions.
1203 .IP "\fB\-xarch=v8plus | \-xarch=v8plusa\fR" 4
1204 .IX Item "-xarch=v8plus | -xarch=v8plusa"
1205 For compatibility with the Solaris v9 assembler.  These options are
1206 equivalent to \-Av8plus and \-Av8plusa, respectively.
1207 .IP "\fB\-bump\fR" 4
1208 .IX Item "-bump"
1209 Warn when the assembler switches to another architecture.
1210 .PP
1211 The following options are available when as is configured for the 'c54x
1212 architecture.
1213 .IP "\fB\-mfar\-mode\fR" 4
1214 .IX Item "-mfar-mode"
1215 Enable extended addressing mode.  All addresses and relocations will assume
1216 extended addressing (usually 23 bits).
1217 .IP "\fB\-mcpu=\fR\fI\s-1CPU_VERSION\s0\fR" 4
1218 .IX Item "-mcpu=CPU_VERSION"
1219 Sets the \s-1CPU\s0 version being compiled for.
1220 .IP "\fB\-merrors\-to\-file\fR \fI\s-1FILENAME\s0\fR" 4
1221 .IX Item "-merrors-to-file FILENAME"
1222 Redirect error output to a file, for broken systems which don't support such
1223 behaviour in the shell.
1224 .PP
1225 The following options are available when as is configured for
1226 a \s-1MIPS\s0 processor.
1227 .IP "\fB\-G\fR \fInum\fR" 4
1228 .IX Item "-G num"
1229 This option sets the largest size of an object that can be referenced
1230 implicitly with the \f(CW\*(C`gp\*(C'\fR register.  It is only accepted for targets that
1231 use \s-1ECOFF\s0 format, such as a DECstation running Ultrix.  The default value is 8.
1232 .IP "\fB\-EB\fR" 4
1233 .IX Item "-EB"
1234 Generate \*(L"big endian\*(R" format output.
1235 .IP "\fB\-EL\fR" 4
1236 .IX Item "-EL"
1237 Generate \*(L"little endian\*(R" format output.
1238 .IP "\fB\-mips1\fR" 4
1239 .IX Item "-mips1"
1240 .PD 0
1241 .IP "\fB\-mips2\fR" 4
1242 .IX Item "-mips2"
1243 .IP "\fB\-mips3\fR" 4
1244 .IX Item "-mips3"
1245 .IP "\fB\-mips4\fR" 4
1246 .IX Item "-mips4"
1247 .IP "\fB\-mips5\fR" 4
1248 .IX Item "-mips5"
1249 .IP "\fB\-mips32\fR" 4
1250 .IX Item "-mips32"
1251 .IP "\fB\-mips32r2\fR" 4
1252 .IX Item "-mips32r2"
1253 .IP "\fB\-mips64\fR" 4
1254 .IX Item "-mips64"
1255 .IP "\fB\-mips64r2\fR" 4
1256 .IX Item "-mips64r2"
1257 .PD
1258 Generate code for a particular \s-1MIPS\s0 Instruction Set Architecture level.
1259 \&\fB\-mips1\fR is an alias for \fB\-march=r3000\fR, \fB\-mips2\fR is an
1260 alias for \fB\-march=r6000\fR, \fB\-mips3\fR is an alias for
1261 \&\fB\-march=r4000\fR and \fB\-mips4\fR is an alias for \fB\-march=r8000\fR.
1262 \&\fB\-mips5\fR, \fB\-mips32\fR, \fB\-mips32r2\fR, \fB\-mips64\fR, and
1263 \&\fB\-mips64r2\fR
1264 correspond to generic
1265 \&\fB\s-1MIPS\s0 V\fR, \fB\s-1MIPS32\s0\fR, \fB\s-1MIPS32\s0 Release 2\fR, \fB\s-1MIPS64\s0\fR,
1266 and \fB\s-1MIPS64\s0 Release 2\fR
1267 \&\s-1ISA\s0 processors, respectively.
1268 .IP "\fB\-march=\fR\fI\s-1CPU\s0\fR" 4
1269 .IX Item "-march=CPU"
1270 Generate code for a particular \s-1MIPS\s0 cpu.
1271 .IP "\fB\-mtune=\fR\fIcpu\fR" 4
1272 .IX Item "-mtune=cpu"
1273 Schedule and tune for a particular \s-1MIPS\s0 cpu.
1274 .IP "\fB\-mfix7000\fR" 4
1275 .IX Item "-mfix7000"
1276 .PD 0
1277 .IP "\fB\-mno\-fix7000\fR" 4
1278 .IX Item "-mno-fix7000"
1279 .PD
1280 Cause nops to be inserted if the read of the destination register
1281 of an mfhi or mflo instruction occurs in the following two instructions.
1282 .IP "\fB\-mdebug\fR" 4
1283 .IX Item "-mdebug"
1284 .PD 0
1285 .IP "\fB\-no\-mdebug\fR" 4
1286 .IX Item "-no-mdebug"
1287 .PD
1288 Cause stabs-style debugging output to go into an ECOFF-style .mdebug
1289 section instead of the standard \s-1ELF\s0 .stabs sections.
1290 .IP "\fB\-mpdr\fR" 4
1291 .IX Item "-mpdr"
1292 .PD 0
1293 .IP "\fB\-mno\-pdr\fR" 4
1294 .IX Item "-mno-pdr"
1295 .PD
1296 Control generation of \f(CW\*(C`.pdr\*(C'\fR sections.
1297 .IP "\fB\-mgp32\fR" 4
1298 .IX Item "-mgp32"
1299 .PD 0
1300 .IP "\fB\-mfp32\fR" 4
1301 .IX Item "-mfp32"
1302 .PD
1303 The register sizes are normally inferred from the \s-1ISA\s0 and \s-1ABI\s0, but these
1304 flags force a certain group of registers to be treated as 32 bits wide at
1305 all times.  \fB\-mgp32\fR controls the size of general-purpose registers
1306 and \fB\-mfp32\fR controls the size of floating-point registers.
1307 .IP "\fB\-mips16\fR" 4
1308 .IX Item "-mips16"
1309 .PD 0
1310 .IP "\fB\-no\-mips16\fR" 4
1311 .IX Item "-no-mips16"
1312 .PD
1313 Generate code for the \s-1MIPS\s0 16 processor.  This is equivalent to putting
1314 \&\f(CW\*(C`.set mips16\*(C'\fR at the start of the assembly file.  \fB\-no\-mips16\fR
1315 turns off this option.
1316 .IP "\fB\-mmicromips\fR" 4
1317 .IX Item "-mmicromips"
1318 .PD 0
1319 .IP "\fB\-mno\-micromips\fR" 4
1320 .IX Item "-mno-micromips"
1321 .PD
1322 Generate code for the microMIPS processor.  This is equivalent to putting
1323 \&\f(CW\*(C`.set micromips\*(C'\fR at the start of the assembly file.  \fB\-mno\-micromips\fR
1324 turns off this option.  This is equivalent to putting \f(CW\*(C`.set nomicromips\*(C'\fR
1325 at the start of the assembly file.
1326 .IP "\fB\-msmartmips\fR" 4
1327 .IX Item "-msmartmips"
1328 .PD 0
1329 .IP "\fB\-mno\-smartmips\fR" 4
1330 .IX Item "-mno-smartmips"
1331 .PD
1332 Enables the SmartMIPS extension to the \s-1MIPS32\s0 instruction set. This is
1333 equivalent to putting \f(CW\*(C`.set smartmips\*(C'\fR at the start of the assembly file.
1334 \&\fB\-mno\-smartmips\fR turns off this option.
1335 .IP "\fB\-mips3d\fR" 4
1336 .IX Item "-mips3d"
1337 .PD 0
1338 .IP "\fB\-no\-mips3d\fR" 4
1339 .IX Item "-no-mips3d"
1340 .PD
1341 Generate code for the \s-1MIPS\-3D\s0 Application Specific Extension.
1342 This tells the assembler to accept \s-1MIPS\-3D\s0 instructions.
1343 \&\fB\-no\-mips3d\fR turns off this option.
1344 .IP "\fB\-mdmx\fR" 4
1345 .IX Item "-mdmx"
1346 .PD 0
1347 .IP "\fB\-no\-mdmx\fR" 4
1348 .IX Item "-no-mdmx"
1349 .PD
1350 Generate code for the \s-1MDMX\s0 Application Specific Extension.
1351 This tells the assembler to accept \s-1MDMX\s0 instructions.
1352 \&\fB\-no\-mdmx\fR turns off this option.
1353 .IP "\fB\-mdsp\fR" 4
1354 .IX Item "-mdsp"
1355 .PD 0
1356 .IP "\fB\-mno\-dsp\fR" 4
1357 .IX Item "-mno-dsp"
1358 .PD
1359 Generate code for the \s-1DSP\s0 Release 1 Application Specific Extension.
1360 This tells the assembler to accept \s-1DSP\s0 Release 1 instructions.
1361 \&\fB\-mno\-dsp\fR turns off this option.
1362 .IP "\fB\-mdspr2\fR" 4
1363 .IX Item "-mdspr2"
1364 .PD 0
1365 .IP "\fB\-mno\-dspr2\fR" 4
1366 .IX Item "-mno-dspr2"
1367 .PD
1368 Generate code for the \s-1DSP\s0 Release 2 Application Specific Extension.
1369 This option implies \-mdsp.
1370 This tells the assembler to accept \s-1DSP\s0 Release 2 instructions.
1371 \&\fB\-mno\-dspr2\fR turns off this option.
1372 .IP "\fB\-mmt\fR" 4
1373 .IX Item "-mmt"
1374 .PD 0
1375 .IP "\fB\-mno\-mt\fR" 4
1376 .IX Item "-mno-mt"
1377 .PD
1378 Generate code for the \s-1MT\s0 Application Specific Extension.
1379 This tells the assembler to accept \s-1MT\s0 instructions.
1380 \&\fB\-mno\-mt\fR turns off this option.
1381 .IP "\fB\-mmcu\fR" 4
1382 .IX Item "-mmcu"
1383 .PD 0
1384 .IP "\fB\-mno\-mcu\fR" 4
1385 .IX Item "-mno-mcu"
1386 .PD
1387 Generate code for the \s-1MCU\s0 Application Specific Extension.
1388 This tells the assembler to accept \s-1MCU\s0 instructions.
1389 \&\fB\-mno\-mcu\fR turns off this option.
1390 .IP "\fB\-\-construct\-floats\fR" 4
1391 .IX Item "--construct-floats"
1392 .PD 0
1393 .IP "\fB\-\-no\-construct\-floats\fR" 4
1394 .IX Item "--no-construct-floats"
1395 .PD
1396 The \fB\-\-no\-construct\-floats\fR option disables the construction of
1397 double width floating point constants by loading the two halves of the
1398 value into the two single width floating point registers that make up
1399 the double width register.  By default \fB\-\-construct\-floats\fR is
1400 selected, allowing construction of these floating point constants.
1401 .IP "\fB\-\-emulation=\fR\fIname\fR" 4
1402 .IX Item "--emulation=name"
1403 This option causes \fBas\fR to emulate \fBas\fR configured
1404 for some other target, in all respects, including output format (choosing
1405 between \s-1ELF\s0 and \s-1ECOFF\s0 only), handling of pseudo-opcodes which may generate
1406 debugging information or store symbol table information, and default
1407 endianness.  The available configuration names are: \fBmipsecoff\fR,
1408 \&\fBmipself\fR, \fBmipslecoff\fR, \fBmipsbecoff\fR, \fBmipslelf\fR,
1409 \&\fBmipsbelf\fR.  The first two do not alter the default endianness from that
1410 of the primary target for which the assembler was configured; the others change
1411 the default to little\- or big-endian as indicated by the \fBb\fR or \fBl\fR
1412 in the name.  Using \fB\-EB\fR or \fB\-EL\fR will override the endianness
1413 selection in any case.
1414 .Sp
1415 This option is currently supported only when the primary target
1416 \&\fBas\fR is configured for is a \s-1MIPS\s0 \s-1ELF\s0 or \s-1ECOFF\s0 target.
1417 Furthermore, the primary target or others specified with
1418 \&\fB\-\-enable\-targets=...\fR at configuration time must include support for
1419 the other format, if both are to be available.  For example, the Irix 5
1420 configuration includes support for both.
1421 .Sp
1422 Eventually, this option will support more configurations, with more
1423 fine-grained control over the assembler's behavior, and will be supported for
1424 more processors.
1425 .IP "\fB\-nocpp\fR" 4
1426 .IX Item "-nocpp"
1427 \&\fBas\fR ignores this option.  It is accepted for compatibility with
1428 the native tools.
1429 .IP "\fB\-\-trap\fR" 4
1430 .IX Item "--trap"
1431 .PD 0
1432 .IP "\fB\-\-no\-trap\fR" 4
1433 .IX Item "--no-trap"
1434 .IP "\fB\-\-break\fR" 4
1435 .IX Item "--break"
1436 .IP "\fB\-\-no\-break\fR" 4
1437 .IX Item "--no-break"
1438 .PD
1439 Control how to deal with multiplication overflow and division by zero.
1440 \&\fB\-\-trap\fR or \fB\-\-no\-break\fR (which are synonyms) take a trap exception
1441 (and only work for Instruction Set Architecture level 2 and higher);
1442 \&\fB\-\-break\fR or \fB\-\-no\-trap\fR (also synonyms, and the default) take a
1443 break exception.
1444 .IP "\fB\-n\fR" 4
1445 .IX Item "-n"
1446 When this option is used, \fBas\fR will issue a warning every
1447 time it generates a nop instruction from a macro.
1448 .PP
1449 The following options are available when as is configured for
1450 an MCore processor.
1451 .IP "\fB\-jsri2bsr\fR" 4
1452 .IX Item "-jsri2bsr"
1453 .PD 0
1454 .IP "\fB\-nojsri2bsr\fR" 4
1455 .IX Item "-nojsri2bsr"
1456 .PD
1457 Enable or disable the \s-1JSRI\s0 to \s-1BSR\s0 transformation.  By default this is enabled.
1458 The command line option \fB\-nojsri2bsr\fR can be used to disable it.
1459 .IP "\fB\-sifilter\fR" 4
1460 .IX Item "-sifilter"
1461 .PD 0
1462 .IP "\fB\-nosifilter\fR" 4
1463 .IX Item "-nosifilter"
1464 .PD
1465 Enable or disable the silicon filter behaviour.  By default this is disabled.
1466 The default can be overridden by the \fB\-sifilter\fR command line option.
1467 .IP "\fB\-relax\fR" 4
1468 .IX Item "-relax"
1469 Alter jump instructions for long displacements.
1470 .IP "\fB\-mcpu=[210|340]\fR" 4
1471 .IX Item "-mcpu=[210|340]"
1472 Select the cpu type on the target hardware.  This controls which instructions
1473 can be assembled.
1474 .IP "\fB\-EB\fR" 4
1475 .IX Item "-EB"
1476 Assemble for a big endian target.
1477 .IP "\fB\-EL\fR" 4
1478 .IX Item "-EL"
1479 Assemble for a little endian target.
1480 .PP
1481 See the info pages for documentation of the MMIX-specific options.
1482 .PP
1483 The following options are available when as is configured for a
1484 PowerPC processor.
1485 .IP "\fB\-a32\fR" 4
1486 .IX Item "-a32"
1487 Generate \s-1ELF32\s0 or \s-1XCOFF32\s0.
1488 .IP "\fB\-a64\fR" 4
1489 .IX Item "-a64"
1490 Generate \s-1ELF64\s0 or \s-1XCOFF64\s0.
1491 .IP "\fB\-K \s-1PIC\s0\fR" 4
1492 .IX Item "-K PIC"
1493 Set \s-1EF_PPC_RELOCATABLE_LIB\s0 in \s-1ELF\s0 flags.
1494 .IP "\fB\-mpwrx | \-mpwr2\fR" 4
1495 .IX Item "-mpwrx | -mpwr2"
1496 Generate code for \s-1POWER/2\s0 (\s-1RIOS2\s0).
1497 .IP "\fB\-mpwr\fR" 4
1498 .IX Item "-mpwr"
1499 Generate code for \s-1POWER\s0 (\s-1RIOS1\s0)
1500 .IP "\fB\-m601\fR" 4
1501 .IX Item "-m601"
1502 Generate code for PowerPC 601.
1503 .IP "\fB\-mppc, \-mppc32, \-m603, \-m604\fR" 4
1504 .IX Item "-mppc, -mppc32, -m603, -m604"
1505 Generate code for PowerPC 603/604.
1506 .IP "\fB\-m403, \-m405\fR" 4
1507 .IX Item "-m403, -m405"
1508 Generate code for PowerPC 403/405.
1509 .IP "\fB\-m440\fR" 4
1510 .IX Item "-m440"
1511 Generate code for PowerPC 440.  BookE and some 405 instructions.
1512 .IP "\fB\-m464\fR" 4
1513 .IX Item "-m464"
1514 Generate code for PowerPC 464.
1515 .IP "\fB\-m476\fR" 4
1516 .IX Item "-m476"
1517 Generate code for PowerPC 476.
1518 .IP "\fB\-m7400, \-m7410, \-m7450, \-m7455\fR" 4
1519 .IX Item "-m7400, -m7410, -m7450, -m7455"
1520 Generate code for PowerPC 7400/7410/7450/7455.
1521 .IP "\fB\-m750cl\fR" 4
1522 .IX Item "-m750cl"
1523 Generate code for PowerPC 750CL.
1524 .IP "\fB\-mppc64, \-m620\fR" 4
1525 .IX Item "-mppc64, -m620"
1526 Generate code for PowerPC 620/625/630.
1527 .IP "\fB\-me500, \-me500x2\fR" 4
1528 .IX Item "-me500, -me500x2"
1529 Generate code for Motorola e500 core complex.
1530 .IP "\fB\-me500mc\fR" 4
1531 .IX Item "-me500mc"
1532 Generate code for Freescale e500mc core complex.
1533 .IP "\fB\-me500mc64\fR" 4
1534 .IX Item "-me500mc64"
1535 Generate code for Freescale e500mc64 core complex.
1536 .IP "\fB\-me5500\fR" 4
1537 .IX Item "-me5500"
1538 Generate code for Freescale e5500 core complex.
1539 .IP "\fB\-me6500\fR" 4
1540 .IX Item "-me6500"
1541 Generate code for Freescale e6500 core complex.
1542 .IP "\fB\-mspe\fR" 4
1543 .IX Item "-mspe"
1544 Generate code for Motorola \s-1SPE\s0 instructions.
1545 .IP "\fB\-mtitan\fR" 4
1546 .IX Item "-mtitan"
1547 Generate code for AppliedMicro Titan core complex.
1548 .IP "\fB\-mppc64bridge\fR" 4
1549 .IX Item "-mppc64bridge"
1550 Generate code for PowerPC 64, including bridge insns.
1551 .IP "\fB\-mbooke\fR" 4
1552 .IX Item "-mbooke"
1553 Generate code for 32\-bit BookE.
1554 .IP "\fB\-ma2\fR" 4
1555 .IX Item "-ma2"
1556 Generate code for A2 architecture.
1557 .IP "\fB\-me300\fR" 4
1558 .IX Item "-me300"
1559 Generate code for PowerPC e300 family.
1560 .IP "\fB\-maltivec\fR" 4
1561 .IX Item "-maltivec"
1562 Generate code for processors with AltiVec instructions.
1563 .IP "\fB\-mvsx\fR" 4
1564 .IX Item "-mvsx"
1565 Generate code for processors with Vector-Scalar (\s-1VSX\s0) instructions.
1566 .IP "\fB\-mpower4, \-mpwr4\fR" 4
1567 .IX Item "-mpower4, -mpwr4"
1568 Generate code for Power4 architecture.
1569 .IP "\fB\-mpower5, \-mpwr5, \-mpwr5x\fR" 4
1570 .IX Item "-mpower5, -mpwr5, -mpwr5x"
1571 Generate code for Power5 architecture.
1572 .IP "\fB\-mpower6, \-mpwr6\fR" 4
1573 .IX Item "-mpower6, -mpwr6"
1574 Generate code for Power6 architecture.
1575 .IP "\fB\-mpower7, \-mpwr7\fR" 4
1576 .IX Item "-mpower7, -mpwr7"
1577 Generate code for Power7 architecture.
1578 .IP "\fB\-mcell\fR" 4
1579 .IX Item "-mcell"
1580 Generate code for Cell Broadband Engine architecture.
1581 .IP "\fB\-mcom\fR" 4
1582 .IX Item "-mcom"
1583 Generate code Power/PowerPC common instructions.
1584 .IP "\fB\-many\fR" 4
1585 .IX Item "-many"
1586 Generate code for any architecture (\s-1PWR/PWRX/PPC\s0).
1587 .IP "\fB\-mregnames\fR" 4
1588 .IX Item "-mregnames"
1589 Allow symbolic names for registers.
1590 .IP "\fB\-mno\-regnames\fR" 4
1591 .IX Item "-mno-regnames"
1592 Do not allow symbolic names for registers.
1593 .IP "\fB\-mrelocatable\fR" 4
1594 .IX Item "-mrelocatable"
1595 Support for \s-1GCC\s0's \-mrelocatable option.
1596 .IP "\fB\-mrelocatable\-lib\fR" 4
1597 .IX Item "-mrelocatable-lib"
1598 Support for \s-1GCC\s0's \-mrelocatable\-lib option.
1599 .IP "\fB\-memb\fR" 4
1600 .IX Item "-memb"
1601 Set \s-1PPC_EMB\s0 bit in \s-1ELF\s0 flags.
1602 .IP "\fB\-mlittle, \-mlittle\-endian, \-le\fR" 4
1603 .IX Item "-mlittle, -mlittle-endian, -le"
1604 Generate code for a little endian machine.
1605 .IP "\fB\-mbig, \-mbig\-endian, \-be\fR" 4
1606 .IX Item "-mbig, -mbig-endian, -be"
1607 Generate code for a big endian machine.
1608 .IP "\fB\-msolaris\fR" 4
1609 .IX Item "-msolaris"
1610 Generate code for Solaris.
1611 .IP "\fB\-mno\-solaris\fR" 4
1612 .IX Item "-mno-solaris"
1613 Do not generate code for Solaris.
1614 .IP "\fB\-nops=\fR\fIcount\fR" 4
1615 .IX Item "-nops=count"
1616 If an alignment directive inserts more than \fIcount\fR nops, put a
1617 branch at the beginning to skip execution of the nops.
1618 .PP
1619 See the info pages for documentation of the RX-specific options.
1620 .PP
1621 The following options are available when as is configured for the s390
1622 processor family.
1623 .IP "\fB\-m31\fR" 4
1624 .IX Item "-m31"
1625 .PD 0
1626 .IP "\fB\-m64\fR" 4
1627 .IX Item "-m64"
1628 .PD
1629 Select the word size, either 31/32 bits or 64 bits.
1630 .IP "\fB\-mesa\fR" 4
1631 .IX Item "-mesa"
1632 .PD 0
1633 .IP "\fB\-mzarch\fR" 4
1634 .IX Item "-mzarch"
1635 .PD
1636 Select the architecture mode, either the Enterprise System
1637 Architecture (esa) or the z/Architecture mode (zarch).
1638 .IP "\fB\-march=\fR\fIprocessor\fR" 4
1639 .IX Item "-march=processor"
1640 Specify which s390 processor variant is the target, \fBg6\fR, \fBg6\fR,
1641 \&\fBz900\fR, \fBz990\fR, \fBz9\-109\fR, \fBz9\-ec\fR, or \fBz10\fR.
1642 .IP "\fB\-mregnames\fR" 4
1643 .IX Item "-mregnames"
1644 .PD 0
1645 .IP "\fB\-mno\-regnames\fR" 4
1646 .IX Item "-mno-regnames"
1647 .PD
1648 Allow or disallow symbolic names for registers.
1649 .IP "\fB\-mwarn\-areg\-zero\fR" 4
1650 .IX Item "-mwarn-areg-zero"
1651 Warn whenever the operand for a base or index register has been specified
1652 but evaluates to zero.
1653 .PP
1654 The following options are available when as is configured for a
1655 \&\s-1TMS320C6000\s0 processor.
1656 .IP "\fB\-march=\fR\fIarch\fR" 4
1657 .IX Item "-march=arch"
1658 Enable (only) instructions from architecture \fIarch\fR.  By default,
1659 all instructions are permitted.
1660 .Sp
1661 The following values of \fIarch\fR are accepted: \f(CW\*(C`c62x\*(C'\fR,
1662 \&\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.
1663 .IP "\fB\-mdsbt\fR" 4
1664 .IX Item "-mdsbt"
1665 .PD 0
1666 .IP "\fB\-mno\-dsbt\fR" 4
1667 .IX Item "-mno-dsbt"
1668 .PD
1669 The \fB\-mdsbt\fR option causes the assembler to generate the
1670 \&\f(CW\*(C`Tag_ABI_DSBT\*(C'\fR attribute with a value of 1, indicating that the
1671 code is using \s-1DSBT\s0 addressing.  The \fB\-mno\-dsbt\fR option, the
1672 default, causes the tag to have a value of 0, indicating that the code
1673 does not use \s-1DSBT\s0 addressing.  The linker will emit a warning if
1674 objects of different type (\s-1DSBT\s0 and non-DSBT) are linked together.
1675 .IP "\fB\-mpid=no\fR" 4
1676 .IX Item "-mpid=no"
1677 .PD 0
1678 .IP "\fB\-mpid=near\fR" 4
1679 .IX Item "-mpid=near"
1680 .IP "\fB\-mpid=far\fR" 4
1681 .IX Item "-mpid=far"
1682 .PD
1683 The \fB\-mpid=\fR option causes the assembler to generate the
1684 \&\f(CW\*(C`Tag_ABI_PID\*(C'\fR attribute with a value indicating the form of data
1685 addressing used by the code.  \fB\-mpid=no\fR, the default,
1686 indicates position-dependent data addressing, \fB\-mpid=near\fR
1687 indicates position-independent addressing with \s-1GOT\s0 accesses using near
1688 \&\s-1DP\s0 addressing, and \fB\-mpid=far\fR indicates position-independent
1689 addressing with \s-1GOT\s0 accesses using far \s-1DP\s0 addressing.  The linker will
1690 emit a warning if objects built with different settings of this option
1691 are linked together.
1692 .IP "\fB\-mpic\fR" 4
1693 .IX Item "-mpic"
1694 .PD 0
1695 .IP "\fB\-mno\-pic\fR" 4
1696 .IX Item "-mno-pic"
1697 .PD
1698 The \fB\-mpic\fR option causes the assembler to generate the
1699 \&\f(CW\*(C`Tag_ABI_PIC\*(C'\fR attribute with a value of 1, indicating that the
1700 code is using position-independent code addressing,  The
1701 \&\f(CW\*(C`\-mno\-pic\*(C'\fR option, the default, causes the tag to have a value of
1702 0, indicating position-dependent code addressing.  The linker will
1703 emit a warning if objects of different type (position-dependent and
1704 position-independent) are linked together.
1705 .IP "\fB\-mbig\-endian\fR" 4
1706 .IX Item "-mbig-endian"
1707 .PD 0
1708 .IP "\fB\-mlittle\-endian\fR" 4
1709 .IX Item "-mlittle-endian"
1710 .PD
1711 Generate code for the specified endianness.  The default is
1712 little-endian.
1713 .PP
1714 The following options are available when as is configured for a TILE-Gx
1715 processor.
1716 .IP "\fB\-m32 | \-m64\fR" 4
1717 .IX Item "-m32 | -m64"
1718 Select the word size, either 32 bits or 64 bits.
1719 .IP "\fB\-EB | \-EL\fR" 4
1720 .IX Item "-EB | -EL"
1721 Select the endianness, either big-endian (\-EB) or little-endian (\-EL).
1722 .PP
1723 The following options are available when as is configured for an
1724 Xtensa processor.
1725 .IP "\fB\-\-text\-section\-literals | \-\-no\-text\-section\-literals\fR" 4
1726 .IX Item "--text-section-literals | --no-text-section-literals"
1727 Control the treatment of literal pools.  The default is
1728 \&\fB\-\-no\-text\-section\-literals\fR, which places literals in
1729 separate sections in the output file.  This allows the literal pool to be
1730 placed in a data \s-1RAM/ROM\s0.  With \fB\-\-text\-section\-literals\fR, the
1731 literals are interspersed in the text section in order to keep them as
1732 close as possible to their references.  This may be necessary for large
1733 assembly files, where the literals would otherwise be out of range of the
1734 \&\f(CW\*(C`L32R\*(C'\fR instructions in the text section.  These options only affect
1735 literals referenced via PC-relative \f(CW\*(C`L32R\*(C'\fR instructions; literals
1736 for absolute mode \f(CW\*(C`L32R\*(C'\fR instructions are handled separately.
1737 .IP "\fB\-\-absolute\-literals | \-\-no\-absolute\-literals\fR" 4
1738 .IX Item "--absolute-literals | --no-absolute-literals"
1739 Indicate to the assembler whether \f(CW\*(C`L32R\*(C'\fR instructions use absolute
1740 or PC-relative addressing.  If the processor includes the absolute
1741 addressing option, the default is to use absolute \f(CW\*(C`L32R\*(C'\fR
1742 relocations.  Otherwise, only the PC-relative \f(CW\*(C`L32R\*(C'\fR relocations
1743 can be used.
1744 .IP "\fB\-\-target\-align | \-\-no\-target\-align\fR" 4
1745 .IX Item "--target-align | --no-target-align"
1746 Enable or disable automatic alignment to reduce branch penalties at some
1747 expense in code size.    This optimization is enabled by default.  Note
1748 that the assembler will always align instructions like \f(CW\*(C`LOOP\*(C'\fR that
1749 have fixed alignment requirements.
1750 .IP "\fB\-\-longcalls | \-\-no\-longcalls\fR" 4
1751 .IX Item "--longcalls | --no-longcalls"
1752 Enable or disable transformation of call instructions to allow calls
1753 across a greater range of addresses.    This option should be used when call
1754 targets can potentially be out of range.  It may degrade both code size
1755 and performance, but the linker can generally optimize away the
1756 unnecessary overhead when a call ends up within range.  The default is
1757 \&\fB\-\-no\-longcalls\fR.
1758 .IP "\fB\-\-transform | \-\-no\-transform\fR" 4
1759 .IX Item "--transform | --no-transform"
1760 Enable or disable all assembler transformations of Xtensa instructions,
1761 including both relaxation and optimization.  The default is
1762 \&\fB\-\-transform\fR; \fB\-\-no\-transform\fR should only be used in the
1763 rare cases when the instructions must be exactly as specified in the
1764 assembly source.  Using \fB\-\-no\-transform\fR causes out of range
1765 instruction operands to be errors.
1766 .IP "\fB\-\-rename\-section\fR \fIoldname\fR\fB=\fR\fInewname\fR" 4
1767 .IX Item "--rename-section oldname=newname"
1768 Rename the \fIoldname\fR section to \fInewname\fR.  This option can be used
1769 multiple times to rename multiple sections.
1770 .PP
1771 The following options are available when as is configured for
1772 a Z80 family processor.
1773 .IP "\fB\-z80\fR" 4
1774 .IX Item "-z80"
1775 Assemble for Z80 processor.
1776 .IP "\fB\-r800\fR" 4
1777 .IX Item "-r800"
1778 Assemble for R800 processor.
1779 .IP "\fB\-ignore\-undocumented\-instructions\fR" 4
1780 .IX Item "-ignore-undocumented-instructions"
1781 .PD 0
1782 .IP "\fB\-Wnud\fR" 4
1783 .IX Item "-Wnud"
1784 .PD
1785 Assemble undocumented Z80 instructions that also work on R800 without warning.
1786 .IP "\fB\-ignore\-unportable\-instructions\fR" 4
1787 .IX Item "-ignore-unportable-instructions"
1788 .PD 0
1789 .IP "\fB\-Wnup\fR" 4
1790 .IX Item "-Wnup"
1791 .PD
1792 Assemble all undocumented Z80 instructions without warning.
1793 .IP "\fB\-warn\-undocumented\-instructions\fR" 4
1794 .IX Item "-warn-undocumented-instructions"
1795 .PD 0
1796 .IP "\fB\-Wud\fR" 4
1797 .IX Item "-Wud"
1798 .PD
1799 Issue a warning for undocumented Z80 instructions that also work on R800.
1800 .IP "\fB\-warn\-unportable\-instructions\fR" 4
1801 .IX Item "-warn-unportable-instructions"
1802 .PD 0
1803 .IP "\fB\-Wup\fR" 4
1804 .IX Item "-Wup"
1805 .PD
1806 Issue a warning for undocumented Z80 instructions that do not work on R800.
1807 .IP "\fB\-forbid\-undocumented\-instructions\fR" 4
1808 .IX Item "-forbid-undocumented-instructions"
1809 .PD 0
1810 .IP "\fB\-Fud\fR" 4
1811 .IX Item "-Fud"
1812 .PD
1813 Treat all undocumented instructions as errors.
1814 .IP "\fB\-forbid\-unportable\-instructions\fR" 4
1815 .IX Item "-forbid-unportable-instructions"
1816 .PD 0
1817 .IP "\fB\-Fup\fR" 4
1818 .IX Item "-Fup"
1819 .PD
1820 Treat undocumented Z80 instructions that do not work on R800 as errors.
1821 .SH "SEE ALSO"
1822 .IX Header "SEE ALSO"
1823 \&\fIgcc\fR\|(1), \fIld\fR\|(1), and the Info entries for \fIbinutils\fR and \fIld\fR.
1824 .SH "COPYRIGHT"
1825 .IX Header "COPYRIGHT"
1826 Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
1827 2000, 2001, 2002, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
1828 Inc.
1829 .PP
1830 Permission is granted to copy, distribute and/or modify this document
1831 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
1832 or any later version published by the Free Software Foundation;
1833 with no Invariant Sections, with no Front-Cover Texts, and with no
1834 Back-Cover Texts.  A copy of the license is included in the
1835 section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".