c-ppc.texi revision 1.1 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 skrll @item -mbooke64
74 1.1 skrll Generate code for 64-bit BookE.
75 1.1 skrll
76 1.1 skrll @item -mbooke, mbooke32
77 1.1 skrll Generate code for 32-bit BookE.
78 1.1 skrll
79 1.1 skrll @item -me300
80 1.1 skrll Generate code for PowerPC e300 family.
81 1.1 skrll
82 1.1 skrll @item -maltivec
83 1.1 skrll Generate code for processors with AltiVec instructions.
84 1.1 skrll
85 1.1 skrll @item -mvsx
86 1.1 skrll Generate code for processors with Vector-Scalar (VSX) instructions.
87 1.1 skrll
88 1.1 skrll @item -mpower4
89 1.1 skrll Generate code for Power4 architecture.
90 1.1 skrll
91 1.1 skrll @item -mpower5
92 1.1 skrll Generate code for Power5 architecture.
93 1.1 skrll
94 1.1 skrll @item -mpower6
95 1.1 skrll Generate code for Power6 architecture.
96 1.1 skrll
97 1.1 skrll @item -mpower7
98 1.1 skrll Generate code for Power7 architecture.
99 1.1 skrll
100 1.1 skrll @item -mcell
101 1.1 skrll Generate code for Cell Broadband Engine architecture.
102 1.1 skrll
103 1.1 skrll @item -mcom
104 1.1 skrll Generate code Power/PowerPC common instructions.
105 1.1 skrll
106 1.1 skrll @item -many
107 1.1 skrll Generate code for any architecture (PWR/PWRX/PPC).
108 1.1 skrll
109 1.1 skrll @item -mregnames
110 1.1 skrll Allow symbolic names for registers.
111 1.1 skrll
112 1.1 skrll @item -mno-regnames
113 1.1 skrll Do not allow symbolic names for registers.
114 1.1 skrll
115 1.1 skrll @item -mrelocatable
116 1.1 skrll Support for GCC's -mrelocatable option.
117 1.1 skrll
118 1.1 skrll @item -mrelocatable-lib
119 1.1 skrll Support for GCC's -mrelocatable-lib option.
120 1.1 skrll
121 1.1 skrll @item -memb
122 1.1 skrll Set PPC_EMB bit in ELF flags.
123 1.1 skrll
124 1.1 skrll @item -mlittle, -mlittle-endian
125 1.1 skrll Generate code for a little endian machine.
126 1.1 skrll
127 1.1 skrll @item -mbig, -mbig-endian
128 1.1 skrll Generate code for a big endian machine.
129 1.1 skrll
130 1.1 skrll @item -msolaris
131 1.1 skrll Generate code for Solaris.
132 1.1 skrll
133 1.1 skrll @item -mno-solaris
134 1.1 skrll Do not generate code for Solaris.
135 1.1 skrll @end table
136 1.1 skrll
137 1.1 skrll
138 1.1 skrll @node PowerPC-Pseudo
139 1.1 skrll @section PowerPC Assembler Directives
140 1.1 skrll
141 1.1 skrll @cindex directives for PowerPC
142 1.1 skrll @cindex PowerPC directives
143 1.1 skrll A number of assembler directives are available for PowerPC. The
144 1.1 skrll following table is far from complete.
145 1.1 skrll
146 1.1 skrll @table @code
147 1.1 skrll @item .machine "string"
148 1.1 skrll This directive allows you to change the machine for which code is
149 1.1 skrll generated. @code{"string"} may be any of the -m cpu selection options
150 1.1 skrll (without the -m) enclosed in double quotes, @code{"push"}, or
151 1.1 skrll @code{"pop"}. @code{.machine "push"} saves the currently selected
152 1.1 skrll cpu, which may be restored with @code{.machine "pop"}.
153 1.1 skrll @end table
154