OSDN Git Service

* doc/invoke.texi: Add cpu_type power6x
[pf3gnuchains/gcc-fork.git] / gcc / config / rs6000 / rs6000.opt
1 ; Options for the rs6000 port of the compiler
2 ;
3 ; Copyright (C) 2005 Free Software Foundation, Inc.
4 ; Contributed by Aldy Hernandez <aldy@quesejoda.com>.
5 ;
6 ; This file is part of GCC.
7 ;
8 ; GCC is free software; you can redistribute it and/or modify it under
9 ; the terms of the GNU General Public License as published by the Free
10 ; Software Foundation; either version 2, or (at your option) any later
11 ; version.
12 ;
13 ; GCC is distributed in the hope that it will be useful, but WITHOUT
14 ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 ; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
16 ; License for more details.
17 ;
18 ; You should have received a copy of the GNU General Public License
19 ; along with GCC; see the file COPYING.  If not, write to the Free
20 ; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
21 ; 02110-1301, USA.
22
23 mpower
24 Target Report RejectNegative Mask(POWER)
25 Use POWER instruction set
26
27 mno-power
28 Target Report RejectNegative
29 Do not use POWER instruction set
30
31 mpower2
32 Target Report Mask(POWER2)
33 Use POWER2 instruction set
34
35 mpowerpc
36 Target Report RejectNegative Mask(POWERPC)
37 Use PowerPC instruction set
38
39 mno-powerpc
40 Target Report RejectNegative
41 Do not use PowerPC instruction set
42
43 mpowerpc64
44 Target Report Mask(POWERPC64)
45 Use PowerPC-64 instruction set
46
47 mpowerpc-gpopt
48 Target Report Mask(PPC_GPOPT)
49 Use PowerPC General Purpose group optional instructions
50
51 mpowerpc-gfxopt
52 Target Report Mask(PPC_GFXOPT)
53 Use PowerPC Graphics group optional instructions
54
55 mmfcrf
56 Target Report Mask(MFCRF)
57 Use PowerPC V2.01 single field mfcr instruction
58
59 mpopcntb
60 Target Report Mask(POPCNTB)
61 Use PowerPC V2.02 popcntb instruction
62
63 mfprnd
64 Target Report Mask(FPRND)
65 Use PowerPC V2.02 floating point rounding instructions
66
67 mmfpgpr
68 Target Report Mask(MFPGPR)
69 Use extended PowerPC V2.05 move floating point to/from GPR instructions
70
71 maltivec
72 Target Report Mask(ALTIVEC)
73 Use AltiVec instructions
74
75 mmulhw
76 Target Report Mask(MULHW)
77 Use 4xx half-word multiply instructions
78
79 mdlmzb
80 Target Report Mask(DLMZB)
81 Use 4xx string-search dlmzb instruction
82
83 mmultiple
84 Target Report Mask(MULTIPLE)
85 Generate load/store multiple instructions
86
87 mstring
88 Target Report Mask(STRING)
89 Generate string instructions for block moves
90
91 mnew-mnemonics
92 Target Report RejectNegative Mask(NEW_MNEMONICS)
93 Use new mnemonics for PowerPC architecture
94
95 mold-mnemonics
96 Target Report RejectNegative InverseMask(NEW_MNEMONICS)
97 Use old mnemonics for PowerPC architecture
98
99 msoft-float
100 Target Report RejectNegative Mask(SOFT_FLOAT)
101 Do not use hardware floating point
102
103 mhard-float
104 Target Report RejectNegative InverseMask(SOFT_FLOAT, HARD_FLOAT)
105 Use hardware floating point
106
107 mno-update
108 Target Report RejectNegative Mask(NO_UPDATE)
109 Do not generate load/store with update instructions
110
111 mupdate
112 Target Report RejectNegative InverseMask(NO_UPDATE, UPDATE)
113 Generate load/store with update instructions
114
115 mno-fused-madd
116 Target Report RejectNegative Mask(NO_FUSED_MADD)
117 Do not generate fused multiply/add instructions
118
119 mfused-madd
120 Target Report RejectNegative InverseMask(NO_FUSED_MADD, FUSED_MADD)
121 Generate fused multiply/add instructions
122
123 msched-prolog
124 Target Report Var(TARGET_SCHED_PROLOG) Init(1)
125 Schedule the start and end of the procedure
126
127 msched-epilog
128 Target Undocumented Var(TARGET_SCHED_PROLOG) VarExists
129
130 maix-struct-return
131 Target Report RejectNegative Var(aix_struct_return)
132 Return all structures in memory (AIX default)
133
134 msvr4-struct-return
135 Target Report RejectNegative Var(aix_struct_return,0) VarExists
136 Return small structures in registers (SVR4 default)
137
138 mxl-compat
139 Target Report Var(TARGET_XL_COMPAT)
140 Conform more closely to IBM XLC semantics
141
142 mswdiv
143 Target Report Var(swdiv)
144 Generate software floating point divide for better throughput
145
146 mno-fp-in-toc
147 Target Report RejectNegative Var(TARGET_NO_FP_IN_TOC)
148 Do not place floating point constants in TOC
149
150 mfp-in-toc
151 Target Report RejectNegative Var(TARGET_NO_FP_IN_TOC,0)
152 Place floating point constants in TOC
153
154 mno-sum-in-toc
155 Target RejectNegative Var(TARGET_NO_SUM_IN_TOC)
156 Do not place symbol+offset constants in TOC
157
158 msum-in-toc
159 Target RejectNegative Var(TARGET_NO_SUM_IN_TOC,0) VarExists
160 Place symbol+offset constants in TOC
161
162 ;  Output only one TOC entry per module.  Normally linking fails if
163 ;   there are more than 16K unique variables/constants in an executable.  With
164 ;   this option, linking fails only if there are more than 16K modules, or
165 ;   if there are more than 16K unique variables/constant in a single module.
166 ;
167 ;   This is at the cost of having 2 extra loads and one extra store per
168 ;   function, and one less allocable register.
169 mminimal-toc
170 Target Report Mask(MINIMAL_TOC)
171 Use only one TOC entry per procedure
172
173 mfull-toc
174 Target Report
175 Put everything in the regular TOC
176
177 mvrsave
178 Target Report Var(TARGET_ALTIVEC_VRSAVE)
179 Generate VRSAVE instructions when generating AltiVec code
180
181 mvrsave=
182 Target RejectNegative Joined
183 -mvrsave=yes/no Deprecated option.  Use -mvrsave/-mno-vrsave instead
184
185 misel
186 Target Var(rs6000_isel)
187 Generate isel instructions
188
189 misel=
190 Target RejectNegative Joined
191 -misel=yes/no   Deprecated option.  Use -misel/-mno-isel instead
192
193 mspe
194 Target Var(rs6000_spe)
195 Generate SPE SIMD instructions on E500
196
197 mspe=
198 Target RejectNegative Joined
199 -mspe=yes/no    Deprecated option.  Use -mspe/-mno-spe instead
200
201 mdebug=
202 Target RejectNegative Joined
203 -mdebug=        Enable debug output
204
205 mabi=
206 Target RejectNegative Joined
207 -mabi=  Specify ABI to use
208
209 mcpu=
210 Target RejectNegative Joined
211 -mcpu=  Use features of and schedule code for given CPU
212
213 mtune=
214 Target RejectNegative Joined
215 -mtune= Schedule code for given CPU
216
217 mtraceback=
218 Target RejectNegative Joined
219 -mtraceback=    Select full, part, or no traceback table
220
221 mlongcall
222 Target Report Var(rs6000_default_long_calls)
223 Avoid all range limits on call instructions
224
225 mwarn-altivec-long
226 Target Var(rs6000_warn_altivec_long) Init(1)
227 Warn about deprecated 'vector long ...' AltiVec type usage
228
229 mfloat-gprs=
230 Target RejectNegative Joined
231 -mfloat-gprs=   Select GPR floating point method
232
233 mlong-double-
234 Target RejectNegative Joined UInteger
235 -mlong-double-<n>       Specify size of long double (64 or 128 bits)
236
237 msched-costly-dep=
238 Target RejectNegative Joined 
239 Determine which dependences between insns are considered costly
240
241 minsert-sched-nops=
242 Target RejectNegative Joined
243 Specify which post scheduling nop insertion scheme to apply
244
245 malign-
246 Target RejectNegative Joined
247 Specify alignment of structure fields default/natural
248
249 mprioritize-restricted-insns=
250 Target RejectNegative Joined UInteger Var(rs6000_sched_restricted_insns_priority)
251 Specify scheduling priority for dispatch slot restricted insns