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