c-ppc.texi revision 130561
1258945Sroberto@c Copyright 2001, 2002
2258945Sroberto@c Free Software Foundation, Inc.
3258945Sroberto@c This is part of the GAS manual.
4258945Sroberto@c For copying conditions, see the file as.texinfo.
5258945Sroberto@ifset GENERIC
6258945Sroberto@page
7258945Sroberto@node PPC-Dependent
8258945Sroberto@chapter PowerPC Dependent Features
9258945Sroberto@end ifset
10258945Sroberto@ifclear GENERIC
11258945Sroberto@node Machine Dependencies
12258945Sroberto@chapter PowerPC Dependent Features
13258945Sroberto@end ifclear
14258945Sroberto
15258945Sroberto@cindex PowerPC support
16258945Sroberto@menu
17258945Sroberto* PowerPC-Opts::                Options
18258945Sroberto* PowerPC-Pseudo::              PowerPC Assembler Directives
19258945Sroberto@end menu
20258945Sroberto
21258945Sroberto@node PowerPC-Opts
22258945Sroberto@section Options
23258945Sroberto
24258945Sroberto@cindex options for PowerPC
25258945Sroberto@cindex PowerPC options
26258945Sroberto@cindex architectures, PowerPC
27258945Sroberto@cindex PowerPC architectures
28258945SrobertoThe PowerPC chip family includes several successive levels, using the same
29258945Srobertocore instruction set, but including a few additional instructions at
30258945Srobertoeach level.  There are exceptions to this however.  For details on what
31258945Srobertoinstructions each variant supports, please see the chip's architecture
32258945Srobertoreference manual.
33258945Sroberto
34258945SrobertoThe following table lists all available PowerPC options.
35258945Sroberto
36280849Scy@table @code
37280849Scy@item -mpwrx | -mpwr2
38280849ScyGenerate code for POWER/2 (RIOS2).
39258945Sroberto
40258945Sroberto@item -mpwr
41280849ScyGenerate code for POWER (RIOS1)
42280849Scy
43280849Scy@item -m601
44280849ScyGenerate code for PowerPC 601.
45280849Scy
46280849Scy@item -mppc, -mppc32, -m603, -m604
47280849ScyGenerate code for PowerPC 603/604.
48280849Scy
49280849Scy@item -m403, -m405
50280849ScyGenerate code for PowerPC 403/405.
51280849Scy
52280849Scy@item -m440
53280849ScyGenerate code for PowerPC 440.  BookE and some 405 instructions.
54280849Scy
55280849Scy@item -m7400, -m7410, -m7450, -m7455
56280849ScyGenerate code for PowerPC 7400/7410/7450/7455.
57280849Scy
58280849Scy@item -mppc64, -m620
59280849ScyGenerate code for PowerPC 620/625/630.
60280849Scy
61280849Scy@item -mppc64bridge
62280849ScyGenerate code for PowerPC 64, including bridge insns.
63280849Scy
64280849Scy@item -mbooke64
65280849ScyGenerate code for 64-bit BookE.
66280849Scy
67280849Scy@item -mbooke, mbooke32
68280849ScyGenerate code for 32-bit BookE.
69280849Scy
70280849Scy@item -maltivec
71280849ScyGenerate code for processors with AltiVec instructions.
72280849Scy
73280849Scy@item -mpower4
74280849ScyGenerate code for Power4 architecture.
75280849Scy
76280849Scy@item -mcom
77280849ScyGenerate code Power/PowerPC common instructions.
78280849Scy
79280849Scy@item -many
80280849ScyGenerate code for any architecture (PWR/PWRX/PPC).
81280849Scy
82280849Scy@item -mregnames
83280849ScyAllow symbolic names for registers.
84280849Scy
85280849Scy@item -mno-regnames
86280849ScyDo not allow symbolic names for registers.
87280849Scy
88280849Scy@item -mrelocatable
89280849ScySupport for GCC's -mrelocatble option.
90280849Scy
91280849Scy@item -mrelocatable-lib
92280849ScySupport for GCC's -mrelocatble-lib option.
93280849Scy
94280849Scy@item -memb
95280849ScySet PPC_EMB bit in ELF flags.
96280849Scy
97280849Scy@item -mlittle, -mlittle-endian
98280849ScyGenerate code for a little endian machine.
99280849Scy
100280849Scy@item -mbig, -mbig-endian
101280849ScyGenerate code for a big endian machine.
102280849Scy
103280849Scy@item -msolaris
104280849ScyGenerate code for Solaris.
105280849Scy
106280849Scy@item -mno-solaris
107280849ScyDo not generate code for Solaris.
108280849Scy@end table
109280849Scy
110280849Scy
111280849Scy@node PowerPC-Pseudo
112280849Scy@section PowerPC Assembler Directives
113280849Scy
114280849Scy@cindex directives for PowerPC
115280849Scy@cindex PowerPC directives
116280849ScyA number of assembler directives are available for PowerPC.  The
117280849Scyfollowing table is far from complete.
118280849Scy
119280849Scy@table @code
120280849Scy@item .machine "string"
121280849ScyThis directive allows you to change the machine for which code is
122280849Scygenerated.  @code{"string"} may be any of the -m cpu selection options
123280849Scy(without the -m) enclosed in double quotes, @code{"push"}, or
124280849Scy@code{"pop"}.  @code{.machine "push"} saves the currently selected
125280849Scycpu, which may be restored with @code{.machine "pop"}.
126280849Scy@end table
127280849Scy