Home | History | Annotate | Line # | Download | only in doc
c-ppc.texi revision 1.1.1.3
      1  1.1.1.3  christos @c Copyright 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011
      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.1.3  christos @item -a32
     38  1.1.1.3  christos Generate ELF32 or XCOFF32.
     39  1.1.1.3  christos 
     40  1.1.1.3  christos @item -a64
     41  1.1.1.3  christos Generate ELF64 or XCOFF64.
     42  1.1.1.3  christos 
     43  1.1.1.3  christos @item -K PIC
     44  1.1.1.3  christos Set EF_PPC_RELOCATABLE_LIB in ELF flags.
     45  1.1.1.3  christos 
     46      1.1     skrll @item -mpwrx | -mpwr2
     47      1.1     skrll Generate code for POWER/2 (RIOS2).
     48      1.1     skrll 
     49      1.1     skrll @item -mpwr
     50      1.1     skrll Generate code for POWER (RIOS1)
     51      1.1     skrll 
     52      1.1     skrll @item -m601
     53      1.1     skrll Generate code for PowerPC 601.
     54      1.1     skrll 
     55      1.1     skrll @item -mppc, -mppc32, -m603, -m604
     56      1.1     skrll Generate code for PowerPC 603/604.
     57      1.1     skrll 
     58      1.1     skrll @item -m403, -m405
     59      1.1     skrll Generate code for PowerPC 403/405.
     60      1.1     skrll 
     61      1.1     skrll @item -m440
     62      1.1     skrll Generate code for PowerPC 440.  BookE and some 405 instructions.
     63      1.1     skrll 
     64  1.1.1.3  christos @item -m464
     65  1.1.1.3  christos Generate code for PowerPC 464.
     66  1.1.1.3  christos 
     67  1.1.1.3  christos @item -m476
     68  1.1.1.3  christos Generate code for PowerPC 476.
     69  1.1.1.3  christos 
     70      1.1     skrll @item -m7400, -m7410, -m7450, -m7455
     71      1.1     skrll Generate code for PowerPC 7400/7410/7450/7455.
     72      1.1     skrll 
     73      1.1     skrll @item -m750cl
     74      1.1     skrll Generate code for PowerPC 750CL.
     75      1.1     skrll 
     76      1.1     skrll @item -mppc64, -m620
     77      1.1     skrll Generate code for PowerPC 620/625/630.
     78      1.1     skrll 
     79      1.1     skrll @item -me500, -me500x2
     80      1.1     skrll Generate code for Motorola e500 core complex.
     81      1.1     skrll 
     82  1.1.1.3  christos @item -me500mc
     83  1.1.1.3  christos Generate code for Freescale e500mc core complex.
     84  1.1.1.3  christos 
     85  1.1.1.3  christos @item -me500mc64
     86  1.1.1.3  christos Generate code for Freescale e500mc64 core complex.
     87  1.1.1.3  christos 
     88      1.1     skrll @item -mspe
     89      1.1     skrll Generate code for Motorola SPE instructions.
     90      1.1     skrll 
     91  1.1.1.3  christos @item -mtitan
     92  1.1.1.3  christos Generate code for AppliedMicro Titan core complex.
     93  1.1.1.3  christos 
     94      1.1     skrll @item -mppc64bridge
     95      1.1     skrll Generate code for PowerPC 64, including bridge insns.
     96      1.1     skrll 
     97  1.1.1.2     skrll @item -mbooke
     98      1.1     skrll Generate code for 32-bit BookE.
     99      1.1     skrll 
    100  1.1.1.3  christos @item -ma2
    101  1.1.1.3  christos Generate code for A2 architecture.
    102  1.1.1.3  christos 
    103      1.1     skrll @item -me300
    104      1.1     skrll Generate code for PowerPC e300 family.
    105      1.1     skrll 
    106      1.1     skrll @item -maltivec
    107      1.1     skrll Generate code for processors with AltiVec instructions.
    108      1.1     skrll 
    109      1.1     skrll @item -mvsx
    110      1.1     skrll Generate code for processors with Vector-Scalar (VSX) instructions.
    111      1.1     skrll 
    112  1.1.1.3  christos @item -mpower4, -mpwr4
    113      1.1     skrll Generate code for Power4 architecture.
    114      1.1     skrll 
    115  1.1.1.3  christos @item -mpower5, -mpwr5, -mpwr5x
    116      1.1     skrll Generate code for Power5 architecture.
    117      1.1     skrll 
    118  1.1.1.3  christos @item -mpower6, -mpwr6
    119      1.1     skrll Generate code for Power6 architecture.
    120      1.1     skrll 
    121  1.1.1.3  christos @item -mpower7, -mpwr7
    122      1.1     skrll Generate code for Power7 architecture.
    123      1.1     skrll 
    124      1.1     skrll @item -mcell
    125      1.1     skrll Generate code for Cell Broadband Engine architecture.
    126      1.1     skrll 
    127      1.1     skrll @item -mcom
    128      1.1     skrll Generate code Power/PowerPC common instructions.
    129      1.1     skrll 
    130      1.1     skrll @item -many
    131      1.1     skrll Generate code for any architecture (PWR/PWRX/PPC).
    132      1.1     skrll 
    133      1.1     skrll @item -mregnames
    134      1.1     skrll Allow symbolic names for registers.
    135      1.1     skrll 
    136      1.1     skrll @item -mno-regnames
    137      1.1     skrll Do not allow symbolic names for registers.
    138      1.1     skrll 
    139      1.1     skrll @item -mrelocatable
    140      1.1     skrll Support for GCC's -mrelocatable option.
    141      1.1     skrll 
    142      1.1     skrll @item -mrelocatable-lib
    143      1.1     skrll Support for GCC's -mrelocatable-lib option.
    144      1.1     skrll 
    145      1.1     skrll @item -memb
    146      1.1     skrll Set PPC_EMB bit in ELF flags.
    147      1.1     skrll 
    148  1.1.1.3  christos @item -mlittle, -mlittle-endian, -le
    149      1.1     skrll Generate code for a little endian machine.
    150      1.1     skrll 
    151  1.1.1.3  christos @item -mbig, -mbig-endian, -be
    152      1.1     skrll Generate code for a big endian machine.
    153      1.1     skrll 
    154      1.1     skrll @item -msolaris
    155      1.1     skrll Generate code for Solaris.
    156      1.1     skrll 
    157      1.1     skrll @item -mno-solaris
    158      1.1     skrll Do not generate code for Solaris.
    159  1.1.1.3  christos 
    160  1.1.1.3  christos @item -nops=@var{count}
    161  1.1.1.3  christos If an alignment directive inserts more than @var{count} nops, put a
    162  1.1.1.3  christos branch at the beginning to skip execution of the nops.
    163      1.1     skrll @end table
    164      1.1     skrll 
    165      1.1     skrll 
    166      1.1     skrll @node PowerPC-Pseudo
    167      1.1     skrll @section PowerPC Assembler Directives
    168      1.1     skrll 
    169      1.1     skrll @cindex directives for PowerPC
    170      1.1     skrll @cindex PowerPC directives
    171      1.1     skrll A number of assembler directives are available for PowerPC.  The
    172      1.1     skrll following table is far from complete.
    173      1.1     skrll 
    174      1.1     skrll @table @code
    175      1.1     skrll @item .machine "string"
    176      1.1     skrll This directive allows you to change the machine for which code is
    177      1.1     skrll generated.  @code{"string"} may be any of the -m cpu selection options
    178      1.1     skrll (without the -m) enclosed in double quotes, @code{"push"}, or
    179      1.1     skrll @code{"pop"}.  @code{.machine "push"} saves the currently selected
    180      1.1     skrll cpu, which may be restored with @code{.machine "pop"}.
    181      1.1     skrll @end table
    182