Home | History | Annotate | Line # | Download | only in doc
c-ppc.texi revision 1.2
      1  1.1  skrll @c Copyright 2001, 2002, 2003, 2005, 2006
      2  1.1  skrll @c Free Software Foundation, Inc.
      3  1.1  skrll @c This is part of the GAS manual.
      4  1.1  skrll @c For copying conditions, see the file as.texinfo.
      5  1.1  skrll @ifset GENERIC
      6  1.1  skrll @page
      7  1.1  skrll @node PPC-Dependent
      8  1.1  skrll @chapter PowerPC Dependent Features
      9  1.1  skrll @end ifset
     10  1.1  skrll @ifclear GENERIC
     11  1.1  skrll @node Machine Dependencies
     12  1.1  skrll @chapter PowerPC Dependent Features
     13  1.1  skrll @end ifclear
     14  1.1  skrll 
     15  1.1  skrll @cindex PowerPC support
     16  1.1  skrll @menu
     17  1.1  skrll * PowerPC-Opts::                Options
     18  1.1  skrll * PowerPC-Pseudo::              PowerPC Assembler Directives
     19  1.1  skrll @end menu
     20  1.1  skrll 
     21  1.1  skrll @node PowerPC-Opts
     22  1.1  skrll @section Options
     23  1.1  skrll 
     24  1.1  skrll @cindex options for PowerPC
     25  1.1  skrll @cindex PowerPC options
     26  1.1  skrll @cindex architectures, PowerPC
     27  1.1  skrll @cindex PowerPC architectures
     28  1.1  skrll The PowerPC chip family includes several successive levels, using the same
     29  1.1  skrll core instruction set, but including a few additional instructions at
     30  1.1  skrll each level.  There are exceptions to this however.  For details on what
     31  1.1  skrll instructions each variant supports, please see the chip's architecture
     32  1.1  skrll reference manual.
     33  1.1  skrll 
     34  1.1  skrll The following table lists all available PowerPC options.
     35  1.1  skrll 
     36  1.1  skrll @table @code
     37  1.1  skrll @item -mpwrx | -mpwr2
     38  1.1  skrll Generate code for POWER/2 (RIOS2).
     39  1.1  skrll 
     40  1.1  skrll @item -mpwr
     41  1.1  skrll Generate code for POWER (RIOS1)
     42  1.1  skrll 
     43  1.1  skrll @item -m601
     44  1.1  skrll Generate code for PowerPC 601.
     45  1.1  skrll 
     46  1.1  skrll @item -mppc, -mppc32, -m603, -m604
     47  1.1  skrll Generate code for PowerPC 603/604.
     48  1.1  skrll 
     49  1.1  skrll @item -m403, -m405
     50  1.1  skrll Generate code for PowerPC 403/405.
     51  1.1  skrll 
     52  1.1  skrll @item -m440
     53  1.1  skrll Generate code for PowerPC 440.  BookE and some 405 instructions.
     54  1.1  skrll 
     55  1.1  skrll @item -m7400, -m7410, -m7450, -m7455
     56  1.1  skrll Generate code for PowerPC 7400/7410/7450/7455.
     57  1.1  skrll 
     58  1.1  skrll @item -m750cl
     59  1.1  skrll Generate code for PowerPC 750CL.
     60  1.1  skrll 
     61  1.1  skrll @item -mppc64, -m620
     62  1.1  skrll Generate code for PowerPC 620/625/630.
     63  1.1  skrll 
     64  1.1  skrll @item -me500, -me500x2
     65  1.1  skrll Generate code for Motorola e500 core complex.
     66  1.1  skrll 
     67  1.1  skrll @item -mspe
     68  1.1  skrll Generate code for Motorola SPE instructions.
     69  1.1  skrll 
     70  1.1  skrll @item -mppc64bridge
     71  1.1  skrll Generate code for PowerPC 64, including bridge insns.
     72  1.1  skrll 
     73  1.2  skrll @item -mbooke
     74  1.1  skrll Generate code for 32-bit BookE.
     75  1.1  skrll 
     76  1.1  skrll @item -me300
     77  1.1  skrll Generate code for PowerPC e300 family.
     78  1.1  skrll 
     79  1.1  skrll @item -maltivec
     80  1.1  skrll Generate code for processors with AltiVec instructions.
     81  1.1  skrll 
     82  1.1  skrll @item -mvsx
     83  1.1  skrll Generate code for processors with Vector-Scalar (VSX) instructions.
     84  1.1  skrll 
     85  1.1  skrll @item -mpower4
     86  1.1  skrll Generate code for Power4 architecture.
     87  1.1  skrll 
     88  1.1  skrll @item -mpower5
     89  1.1  skrll Generate code for Power5 architecture.
     90  1.1  skrll 
     91  1.1  skrll @item -mpower6
     92  1.1  skrll Generate code for Power6 architecture.
     93  1.1  skrll 
     94  1.1  skrll @item -mpower7
     95  1.1  skrll Generate code for Power7 architecture.
     96  1.1  skrll 
     97  1.1  skrll @item -mcell
     98  1.1  skrll Generate code for Cell Broadband Engine architecture.
     99  1.1  skrll 
    100  1.1  skrll @item -mcom
    101  1.1  skrll Generate code Power/PowerPC common instructions.
    102  1.1  skrll 
    103  1.1  skrll @item -many
    104  1.1  skrll Generate code for any architecture (PWR/PWRX/PPC).
    105  1.1  skrll 
    106  1.1  skrll @item -mregnames
    107  1.1  skrll Allow symbolic names for registers.
    108  1.1  skrll 
    109  1.1  skrll @item -mno-regnames
    110  1.1  skrll Do not allow symbolic names for registers.
    111  1.1  skrll 
    112  1.1  skrll @item -mrelocatable
    113  1.1  skrll Support for GCC's -mrelocatable option.
    114  1.1  skrll 
    115  1.1  skrll @item -mrelocatable-lib
    116  1.1  skrll Support for GCC's -mrelocatable-lib option.
    117  1.1  skrll 
    118  1.1  skrll @item -memb
    119  1.1  skrll Set PPC_EMB bit in ELF flags.
    120  1.1  skrll 
    121  1.1  skrll @item -mlittle, -mlittle-endian
    122  1.1  skrll Generate code for a little endian machine.
    123  1.1  skrll 
    124  1.1  skrll @item -mbig, -mbig-endian
    125  1.1  skrll Generate code for a big endian machine.
    126  1.1  skrll 
    127  1.1  skrll @item -msolaris
    128  1.1  skrll Generate code for Solaris.
    129  1.1  skrll 
    130  1.1  skrll @item -mno-solaris
    131  1.1  skrll Do not generate code for Solaris.
    132  1.1  skrll @end table
    133  1.1  skrll 
    134  1.1  skrll 
    135  1.1  skrll @node PowerPC-Pseudo
    136  1.1  skrll @section PowerPC Assembler Directives
    137  1.1  skrll 
    138  1.1  skrll @cindex directives for PowerPC
    139  1.1  skrll @cindex PowerPC directives
    140  1.1  skrll A number of assembler directives are available for PowerPC.  The
    141  1.1  skrll following table is far from complete.
    142  1.1  skrll 
    143  1.1  skrll @table @code
    144  1.1  skrll @item .machine "string"
    145  1.1  skrll This directive allows you to change the machine for which code is
    146  1.1  skrll generated.  @code{"string"} may be any of the -m cpu selection options
    147  1.1  skrll (without the -m) enclosed in double quotes, @code{"push"}, or
    148  1.1  skrll @code{"pop"}.  @code{.machine "push"} saves the currently selected
    149  1.1  skrll cpu, which may be restored with @code{.machine "pop"}.
    150  1.1  skrll @end table
    151