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