123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- @c Copyright (C) 2001-2015 Free Software Foundation, Inc.
- @c This is part of the GAS manual.
- @c For copying conditions, see the file as.texinfo.
- @c man end
- @ifset GENERIC
- @page
- @node PPC-Dependent
- @chapter PowerPC Dependent Features
- @end ifset
- @ifclear GENERIC
- @node Machine Dependencies
- @chapter PowerPC Dependent Features
- @end ifclear
- @cindex PowerPC support
- @menu
- * PowerPC-Opts:: Options
- * PowerPC-Pseudo:: PowerPC Assembler Directives
- * PowerPC-Syntax:: PowerPC Syntax
- @end menu
- @node PowerPC-Opts
- @section Options
- @cindex options for PowerPC
- @cindex PowerPC options
- @cindex architectures, PowerPC
- @cindex PowerPC architectures
- The PowerPC chip family includes several successive levels, using the same
- core instruction set, but including a few additional instructions at
- each level. There are exceptions to this however. For details on what
- instructions each variant supports, please see the chip's architecture
- reference manual.
- The following table lists all available PowerPC options.
- @c man begin OPTIONS
- @table @gcctabopt
- @item -a32
- Generate ELF32 or XCOFF32.
- @item -a64
- Generate ELF64 or XCOFF64.
- @item -K PIC
- Set EF_PPC_RELOCATABLE_LIB in ELF flags.
- @item -mpwrx | -mpwr2
- Generate code for POWER/2 (RIOS2).
- @item -mpwr
- Generate code for POWER (RIOS1)
- @item -m601
- Generate code for PowerPC 601.
- @item -mppc, -mppc32, -m603, -m604
- Generate code for PowerPC 603/604.
- @item -m403, -m405
- Generate code for PowerPC 403/405.
- @item -m440
- Generate code for PowerPC 440. BookE and some 405 instructions.
- @item -m464
- Generate code for PowerPC 464.
- @item -m476
- Generate code for PowerPC 476.
- @item -m7400, -m7410, -m7450, -m7455
- Generate code for PowerPC 7400/7410/7450/7455.
- @item -m750cl
- Generate code for PowerPC 750CL.
- @item -m821, -m850, -m860
- Generate code for PowerPC 821/850/860.
- @item -mppc64, -m620
- Generate code for PowerPC 620/625/630.
- @item -me500, -me500x2
- Generate code for Motorola e500 core complex.
- @item -me500mc
- Generate code for Freescale e500mc core complex.
- @item -me500mc64
- Generate code for Freescale e500mc64 core complex.
- @item -me5500
- Generate code for Freescale e5500 core complex.
- @item -me6500
- Generate code for Freescale e6500 core complex.
- @item -mspe
- Generate code for Motorola SPE instructions.
- @item -mtitan
- Generate code for AppliedMicro Titan core complex.
- @item -mppc64bridge
- Generate code for PowerPC 64, including bridge insns.
- @item -mbooke
- Generate code for 32-bit BookE.
- @item -ma2
- Generate code for A2 architecture.
- @item -me300
- Generate code for PowerPC e300 family.
- @item -maltivec
- Generate code for processors with AltiVec instructions.
- @item -mvle
- Generate code for Freescale PowerPC VLE instructions.
- @item -mvsx
- Generate code for processors with Vector-Scalar (VSX) instructions.
- @item -mhtm
- Generate code for processors with Hardware Transactional Memory instructions.
- @item -mpower4, -mpwr4
- Generate code for Power4 architecture.
- @item -mpower5, -mpwr5, -mpwr5x
- Generate code for Power5 architecture.
- @item -mpower6, -mpwr6
- Generate code for Power6 architecture.
- @item -mpower7, -mpwr7
- Generate code for Power7 architecture.
- @item -mpower8, -mpwr8
- Generate code for Power8 architecture.
- @item -mcell
- @item -mcell
- Generate code for Cell Broadband Engine architecture.
- @item -mcom
- Generate code Power/PowerPC common instructions.
- @item -many
- Generate code for any architecture (PWR/PWRX/PPC).
- @item -mregnames
- Allow symbolic names for registers.
- @item -mno-regnames
- Do not allow symbolic names for registers.
- @item -mrelocatable
- Support for GCC's -mrelocatable option.
- @item -mrelocatable-lib
- Support for GCC's -mrelocatable-lib option.
- @item -memb
- Set PPC_EMB bit in ELF flags.
- @item -mlittle, -mlittle-endian, -le
- Generate code for a little endian machine.
- @item -mbig, -mbig-endian, -be
- Generate code for a big endian machine.
- @item -msolaris
- Generate code for Solaris.
- @item -mno-solaris
- Do not generate code for Solaris.
- @item -nops=@var{count}
- If an alignment directive inserts more than @var{count} nops, put a
- branch at the beginning to skip execution of the nops.
- @end table
- @c man end
- @node PowerPC-Pseudo
- @section PowerPC Assembler Directives
- @cindex directives for PowerPC
- @cindex PowerPC directives
- A number of assembler directives are available for PowerPC. The
- following table is far from complete.
- @table @code
- @item .machine "string"
- This directive allows you to change the machine for which code is
- generated. @code{"string"} may be any of the -m cpu selection options
- (without the -m) enclosed in double quotes, @code{"push"}, or
- @code{"pop"}. @code{.machine "push"} saves the currently selected
- cpu, which may be restored with @code{.machine "pop"}.
- @end table
- @node PowerPC-Syntax
- @section PowerPC Syntax
- @menu
- * PowerPC-Chars:: Special Characters
- @end menu
- @node PowerPC-Chars
- @subsection Special Characters
- @cindex line comment character, PowerPC
- @cindex PowerPC line comment character
- The presence of a @samp{#} on a line indicates the start of a comment
- that extends to the end of the current line.
- If a @samp{#} appears as the first character of a line then the whole
- line is treated as a comment, but in this case the line could also be
- a logical line number directive (@pxref{Comments}) or a preprocessor
- control command (@pxref{Preprocessing}).
- If the assembler has been configured for the ppc-*-solaris* target
- then the @samp{!} character also acts as a line comment character.
- This can be disabled via the @option{-mno-solaris} command line
- option.
- @cindex line separator, PowerPC
- @cindex statement separator, PowerPC
- @cindex PowerPC line separator
- The @samp{;} character can be used to separate statements on the same
- line.
|