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