* lib/ld-lib.exp (default_ld_link): Use ldflags from board description
[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
47527d7e
JL
118@item -mvle
119Generate code for Freescale PowerPC VLE instructions.
120
9b4e5766
PB
121@item -mvsx
122Generate code for processors with Vector-Scalar (VSX) instructions.
123
5817ffd1
PB
124@item -mhtm
125Generate code for processors with Hardware Transactional Memory instructions.
126
b8b738ac 127@item -mpower4, -mpwr4
23e1d84c 128Generate code for Power4 architecture.
418c1742 129
b8b738ac 130@item -mpower5, -mpwr5, -mpwr5x
b0648eec
AM
131Generate code for Power5 architecture.
132
b8b738ac 133@item -mpower6, -mpwr6
9622b051
AM
134Generate code for Power6 architecture.
135
b8b738ac 136@item -mpower7, -mpwr7
9b4e5766
PB
137Generate code for Power7 architecture.
138
5817ffd1
PB
139@item -mpower8, -mpwr8
140Generate code for Power8 architecture.
141
142@item -mcell
ede602d7
AM
143@item -mcell
144Generate code for Cell Broadband Engine architecture.
145
418c1742
MG
146@item -mcom
147Generate code Power/PowerPC common instructions.
148
149@item -many
150Generate code for any architecture (PWR/PWRX/PPC).
151
152@item -mregnames
153Allow symbolic names for registers.
154
155@item -mno-regnames
156Do not allow symbolic names for registers.
157
158@item -mrelocatable
b45619c0 159Support for GCC's -mrelocatable option.
418c1742
MG
160
161@item -mrelocatable-lib
b45619c0 162Support for GCC's -mrelocatable-lib option.
418c1742
MG
163
164@item -memb
165Set PPC_EMB bit in ELF flags.
166
b8b738ac 167@item -mlittle, -mlittle-endian, -le
418c1742
MG
168Generate code for a little endian machine.
169
b8b738ac 170@item -mbig, -mbig-endian, -be
418c1742
MG
171Generate code for a big endian machine.
172
173@item -msolaris
174Generate code for Solaris.
175
176@item -mno-solaris
177Do not generate code for Solaris.
b8b738ac
AM
178
179@item -nops=@var{count}
c0e524fe
AM
180If an alignment directive inserts more than @var{count} nops, put a
181branch at the beginning to skip execution of the nops.
418c1742 182@end table
b8b738ac 183@c man end
f22b3caf
AM
184
185
186@node PowerPC-Pseudo
187@section PowerPC Assembler Directives
188
189@cindex directives for PowerPC
190@cindex PowerPC directives
191A number of assembler directives are available for PowerPC. The
192following table is far from complete.
193
194@table @code
195@item .machine "string"
196This directive allows you to change the machine for which code is
197generated. @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
200cpu, which may be restored with @code{.machine "pop"}.
201@end table
7c31ae13
NC
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
214The presence of a @samp{#} on a line indicates the start of a comment
215that extends to the end of the current line.
216
217If a @samp{#} appears as the first character of a line then the whole
218line is treated as a comment, but in this case the line could also be
219a logical line number directive (@pxref{Comments}) or a preprocessor
220control command (@pxref{Preprocessing}).
221
222If the assembler has been configured for the ppc-*-solaris* target
223then the @samp{!} character also acts as a line comment character.
224This can be disabled via the @option{-mno-solaris} command line
225option.
226
227@cindex line separator, PowerPC
228@cindex statement separator, PowerPC
229@cindex PowerPC line separator
230The @samp{;} character can be used to separate statements on the same
231line.
This page took 0.501742 seconds and 4 git commands to generate.