OpenCores
URL https://opencores.org/ocsvn/altor32/altor32/trunk

Subversion Repositories altor32

[/] [altor32/] [trunk/] [gcc-x64/] [or1knd-elf/] [share/] [man/] [man1/] [or1knd-elf-as.1] - Blame information for rev 35

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.