~ubuntu-branches/ubuntu/utopic/binutils-arm64-cross/utopic

« back to all changes in this revision

Viewing changes to binutils-2.23.52.20130611/gas/doc/c-ppc.texi

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2013-06-20 17:38:09 UTC
  • Revision ID: package-import@ubuntu.com-20130620173809-app8lzgvymy5fg6c
Tags: 0.7
Build-depend on binutils-source (>= 2.23.52.20130620-1~).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
@c Copyright 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 
2
@c 2012 Free Software Foundation, Inc.
 
3
@c This is part of the GAS manual.
 
4
@c For copying conditions, see the file as.texinfo.
 
5
@c man end
 
6
@ifset GENERIC
 
7
@page
 
8
@node PPC-Dependent
 
9
@chapter PowerPC Dependent Features
 
10
@end ifset
 
11
@ifclear GENERIC
 
12
@node Machine Dependencies
 
13
@chapter PowerPC Dependent Features
 
14
@end ifclear
 
15
 
 
16
@cindex PowerPC support
 
17
@menu
 
18
* PowerPC-Opts::                Options
 
19
* PowerPC-Pseudo::              PowerPC Assembler Directives
 
20
* PowerPC-Syntax::              PowerPC Syntax
 
21
@end menu
 
22
 
 
23
@node PowerPC-Opts
 
24
@section Options
 
25
 
 
26
@cindex options for PowerPC
 
27
@cindex PowerPC options
 
28
@cindex architectures, PowerPC
 
29
@cindex PowerPC architectures
 
30
The PowerPC chip family includes several successive levels, using the same
 
31
core instruction set, but including a few additional instructions at
 
32
each level.  There are exceptions to this however.  For details on what
 
33
instructions each variant supports, please see the chip's architecture
 
34
reference manual.
 
35
 
 
36
The following table lists all available PowerPC options.
 
37
 
 
38
@c man begin OPTIONS
 
39
@table @gcctabopt
 
40
@item -a32
 
41
Generate ELF32 or XCOFF32.
 
42
 
 
43
@item -a64
 
44
Generate ELF64 or XCOFF64.
 
45
 
 
46
@item -K PIC
 
47
Set EF_PPC_RELOCATABLE_LIB in ELF flags.
 
48
 
 
49
@item -mpwrx | -mpwr2
 
50
Generate code for POWER/2 (RIOS2).
 
51
 
 
52
@item -mpwr
 
53
Generate code for POWER (RIOS1)
 
54
 
 
55
@item -m601
 
56
Generate code for PowerPC 601.
 
57
 
 
58
@item -mppc, -mppc32, -m603, -m604
 
59
Generate code for PowerPC 603/604.
 
60
 
 
61
@item -m403, -m405
 
62
Generate code for PowerPC 403/405.
 
63
 
 
64
@item -m440
 
65
Generate code for PowerPC 440.  BookE and some 405 instructions.
 
66
 
 
67
@item -m464
 
68
Generate code for PowerPC 464.
 
69
 
 
70
@item -m476
 
71
Generate code for PowerPC 476.
 
72
 
 
73
@item -m7400, -m7410, -m7450, -m7455
 
74
Generate code for PowerPC 7400/7410/7450/7455.
 
75
 
 
76
@item -m750cl
 
77
Generate code for PowerPC 750CL.
 
78
 
 
79
@item -mppc64, -m620
 
80
Generate code for PowerPC 620/625/630.
 
81
 
 
82
@item -me500, -me500x2
 
83
Generate code for Motorola e500 core complex.
 
84
 
 
85
@item -me500mc
 
86
Generate code for Freescale e500mc core complex.
 
87
 
 
88
@item -me500mc64
 
89
Generate code for Freescale e500mc64 core complex.
 
90
 
 
91
@item -me5500
 
92
Generate code for Freescale e5500 core complex.
 
93
 
 
94
@item -me6500
 
95
Generate code for Freescale e6500 core complex.
 
96
 
 
97
@item -mspe
 
98
Generate code for Motorola SPE instructions.
 
99
 
 
100
@item -mtitan
 
101
Generate code for AppliedMicro Titan core complex.
 
102
 
 
103
@item -mppc64bridge
 
104
Generate code for PowerPC 64, including bridge insns.
 
105
 
 
106
@item -mbooke
 
107
Generate code for 32-bit BookE.
 
108
 
 
109
@item -ma2
 
110
Generate code for A2 architecture.
 
111
 
 
112
@item -me300
 
113
Generate code for PowerPC e300 family.
 
114
 
 
115
@item -maltivec
 
116
Generate code for processors with AltiVec instructions.
 
117
 
 
118
@item -mvle
 
119
Generate code for Freescale PowerPC VLE instructions.
 
120
 
 
121
@item -mvsx
 
122
Generate code for processors with Vector-Scalar (VSX) instructions.
 
123
 
 
124
@item -mhtm
 
125
Generate code for processors with Hardware Transactional Memory instructions.
 
126
 
 
127
@item -mpower4, -mpwr4
 
128
Generate code for Power4 architecture.
 
129
 
 
130
@item -mpower5, -mpwr5, -mpwr5x
 
131
Generate code for Power5 architecture.
 
132
 
 
133
@item -mpower6, -mpwr6
 
134
Generate code for Power6 architecture.
 
135
 
 
136
@item -mpower7, -mpwr7
 
137
Generate code for Power7 architecture.
 
138
 
 
139
@item -mpower8, -mpwr8
 
140
Generate code for Power8 architecture.
 
141
 
 
142
@item -mcell
 
143
@item -mcell
 
144
Generate code for Cell Broadband Engine architecture.
 
145
 
 
146
@item -mcom
 
147
Generate code Power/PowerPC common instructions.
 
148
 
 
149
@item -many
 
150
Generate code for any architecture (PWR/PWRX/PPC).
 
151
 
 
152
@item -mregnames
 
153
Allow symbolic names for registers.
 
154
 
 
155
@item -mno-regnames
 
156
Do not allow symbolic names for registers.
 
157
 
 
158
@item -mrelocatable
 
159
Support for GCC's -mrelocatable option.
 
160
 
 
161
@item -mrelocatable-lib
 
162
Support for GCC's -mrelocatable-lib option.
 
163
 
 
164
@item -memb
 
165
Set PPC_EMB bit in ELF flags.
 
166
 
 
167
@item -mlittle, -mlittle-endian, -le
 
168
Generate code for a little endian machine.
 
169
 
 
170
@item -mbig, -mbig-endian, -be
 
171
Generate code for a big endian machine.
 
172
 
 
173
@item -msolaris
 
174
Generate code for Solaris.
 
175
 
 
176
@item -mno-solaris
 
177
Do not generate code for Solaris.
 
178
 
 
179
@item -nops=@var{count}
 
180
If an alignment directive inserts more than @var{count} nops, put a
 
181
branch at the beginning to skip execution of the nops.
 
182
@end table
 
183
@c man end
 
184
 
 
185
 
 
186
@node PowerPC-Pseudo
 
187
@section PowerPC Assembler Directives
 
188
 
 
189
@cindex directives for PowerPC
 
190
@cindex PowerPC directives
 
191
A number of assembler directives are available for PowerPC.  The
 
192
following table is far from complete.
 
193
 
 
194
@table @code
 
195
@item .machine "string"
 
196
This directive allows you to change the machine for which code is
 
197
generated.  @code{"string"} may be any of the -m cpu selection options
 
198
(without the -m) enclosed in double quotes, @code{"push"}, or
 
199
@code{"pop"}.  @code{.machine "push"} saves the currently selected
 
200
cpu, which may be restored with @code{.machine "pop"}.
 
201
@end table
 
202
 
 
203
@node PowerPC-Syntax
 
204
@section PowerPC Syntax
 
205
@menu
 
206
* PowerPC-Chars::                Special Characters
 
207
@end menu
 
208
 
 
209
@node PowerPC-Chars
 
210
@subsection Special Characters
 
211
 
 
212
@cindex line comment character, PowerPC
 
213
@cindex PowerPC line comment character
 
214
The presence of a @samp{#} on a line indicates the start of a comment
 
215
that extends to the end of the current line.
 
216
 
 
217
If a @samp{#} appears as the first character of a line then the whole
 
218
line is treated as a comment, but in this case the line could also be
 
219
a logical line number directive (@pxref{Comments}) or a preprocessor
 
220
control command (@pxref{Preprocessing}).
 
221
 
 
222
If the assembler has been configured for the ppc-*-solaris* target
 
223
then the @samp{!} character also acts as a line comment character.
 
224
This can be disabled via the @option{-mno-solaris} command line
 
225
option.
 
226
 
 
227
@cindex line separator, PowerPC
 
228
@cindex statement separator, PowerPC
 
229
@cindex PowerPC line separator
 
230
The @samp{;} character can be used to separate statements on the same
 
231
line.