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