c-ppc.texi revision 1.1.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.1.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