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