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