1218822Sdim@c Copyright 2001, 2002, 2003, 2005, 2006
289857Sobrien@c Free Software Foundation, Inc.
389857Sobrien@c This is part of the GAS manual.
489857Sobrien@c For copying conditions, see the file as.texinfo.
589857Sobrien@ifset GENERIC
689857Sobrien@page
789857Sobrien@node PPC-Dependent
889857Sobrien@chapter PowerPC Dependent Features
989857Sobrien@end ifset
1089857Sobrien@ifclear GENERIC
1189857Sobrien@node Machine Dependencies
1289857Sobrien@chapter PowerPC Dependent Features
1389857Sobrien@end ifclear
1489857Sobrien
1589857Sobrien@cindex PowerPC support
1689857Sobrien@menu
1789857Sobrien* PowerPC-Opts::                Options
18130561Sobrien* PowerPC-Pseudo::              PowerPC Assembler Directives
1989857Sobrien@end menu
2089857Sobrien
2189857Sobrien@node PowerPC-Opts
2289857Sobrien@section Options
2389857Sobrien
2489857Sobrien@cindex options for PowerPC
2589857Sobrien@cindex PowerPC options
2689857Sobrien@cindex architectures, PowerPC
2789857Sobrien@cindex PowerPC architectures
2889857SobrienThe PowerPC chip family includes several successive levels, using the same
2989857Sobriencore instruction set, but including a few additional instructions at
3089857Sobrieneach level.  There are exceptions to this however.  For details on what
3189857Sobrieninstructions each variant supports, please see the chip's architecture
3289857Sobrienreference manual.
3389857Sobrien
3489857SobrienThe following table lists all available PowerPC options.
3589857Sobrien
3689857Sobrien@table @code
3789857Sobrien@item -mpwrx | -mpwr2
3892828SobrienGenerate code for POWER/2 (RIOS2).
3989857Sobrien
4089857Sobrien@item -mpwr
4192828SobrienGenerate code for POWER (RIOS1)
4289857Sobrien
4389857Sobrien@item -m601
4492828SobrienGenerate code for PowerPC 601.
4589857Sobrien
4689857Sobrien@item -mppc, -mppc32, -m603, -m604
4792828SobrienGenerate code for PowerPC 603/604.
4889857Sobrien
4989857Sobrien@item -m403, -m405
5092828SobrienGenerate code for PowerPC 403/405.
5189857Sobrien
52130561Sobrien@item -m440
53130561SobrienGenerate code for PowerPC 440.  BookE and some 405 instructions.
54130561Sobrien
5592828Sobrien@item -m7400, -m7410, -m7450, -m7455
5692828SobrienGenerate code for PowerPC 7400/7410/7450/7455.
5792828Sobrien
5889857Sobrien@item -mppc64, -m620
5992828SobrienGenerate code for PowerPC 620/625/630.
6089857Sobrien
61218822Sdim@item -me500, -me500x2
62218822SdimGenerate code for Motorola e500 core complex.
63218822Sdim
64218822Sdim@item -mspe
65218822SdimGenerate code for Motorola SPE instructions.
66218822Sdim
6789857Sobrien@item -mppc64bridge
6889857SobrienGenerate code for PowerPC 64, including bridge insns.
6989857Sobrien
7089857Sobrien@item -mbooke64
7192828SobrienGenerate code for 64-bit BookE.
7289857Sobrien
7389857Sobrien@item -mbooke, mbooke32
7492828SobrienGenerate code for 32-bit BookE.
7589857Sobrien
76218822Sdim@item -me300
77218822SdimGenerate code for PowerPC e300 family.
78218822Sdim
7992828Sobrien@item -maltivec
8092828SobrienGenerate code for processors with AltiVec instructions.
8192828Sobrien
8292828Sobrien@item -mpower4
8392828SobrienGenerate code for Power4 architecture.
8492828Sobrien
85218822Sdim@item -mpower5
86218822SdimGenerate code for Power5 architecture.
87218822Sdim
88218822Sdim@item -mpower6
89218822SdimGenerate code for Power6 architecture.
90218822Sdim
91218822Sdim@item -mcell
92218822SdimGenerate code for Cell Broadband Engine architecture.
93218822Sdim
9489857Sobrien@item -mcom
9589857SobrienGenerate code Power/PowerPC common instructions.
9689857Sobrien
9789857Sobrien@item -many
9889857SobrienGenerate code for any architecture (PWR/PWRX/PPC).
9989857Sobrien
10089857Sobrien@item -mregnames
10189857SobrienAllow symbolic names for registers.
10289857Sobrien
10389857Sobrien@item -mno-regnames
10489857SobrienDo not allow symbolic names for registers.
10589857Sobrien
10689857Sobrien@item -mrelocatable
107218822SdimSupport for GCC's -mrelocatable option.
10889857Sobrien
10989857Sobrien@item -mrelocatable-lib
110218822SdimSupport for GCC's -mrelocatable-lib option.
11189857Sobrien
11289857Sobrien@item -memb
11389857SobrienSet PPC_EMB bit in ELF flags.
11489857Sobrien
11589857Sobrien@item -mlittle, -mlittle-endian
11689857SobrienGenerate code for a little endian machine.
11789857Sobrien
11889857Sobrien@item -mbig, -mbig-endian
11989857SobrienGenerate code for a big endian machine.
12089857Sobrien
12189857Sobrien@item -msolaris
12289857SobrienGenerate code for Solaris.
12389857Sobrien
12489857Sobrien@item -mno-solaris
12589857SobrienDo not generate code for Solaris.
12689857Sobrien@end table
127130561Sobrien
128130561Sobrien
129130561Sobrien@node PowerPC-Pseudo
130130561Sobrien@section PowerPC Assembler Directives
131130561Sobrien
132130561Sobrien@cindex directives for PowerPC
133130561Sobrien@cindex PowerPC directives
134130561SobrienA number of assembler directives are available for PowerPC.  The
135130561Sobrienfollowing table is far from complete.
136130561Sobrien
137130561Sobrien@table @code
138130561Sobrien@item .machine "string"
139130561SobrienThis directive allows you to change the machine for which code is
140130561Sobriengenerated.  @code{"string"} may be any of the -m cpu selection options
141130561Sobrien(without the -m) enclosed in double quotes, @code{"push"}, or
142130561Sobrien@code{"pop"}.  @code{.machine "push"} saves the currently selected
143130561Sobriencpu, which may be restored with @code{.machine "pop"}.
144130561Sobrien@end table
145