0
|
1 ; Options for the rs6000 port of the compiler
|
|
2 ;
|
|
3 ; Copyright (C) 2005, 2006, 2007, 2008, 2009 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 3, 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 COPYING3. If not see
|
|
20 ; <http://www.gnu.org/licenses/>.
|
|
21
|
|
22 mpower
|
|
23 Target Report RejectNegative Mask(POWER)
|
|
24 Use POWER instruction set
|
|
25
|
|
26 mno-power
|
|
27 Target Report RejectNegative
|
|
28 Do not use POWER instruction set
|
|
29
|
|
30 mpower2
|
|
31 Target Report Mask(POWER2)
|
|
32 Use POWER2 instruction set
|
|
33
|
|
34 mpowerpc
|
|
35 Target Report RejectNegative Mask(POWERPC)
|
|
36 Use PowerPC instruction set
|
|
37
|
|
38 mno-powerpc
|
|
39 Target Report RejectNegative
|
|
40 Do not use PowerPC instruction set
|
|
41
|
|
42 mpowerpc64
|
|
43 Target Report Mask(POWERPC64)
|
|
44 Use PowerPC-64 instruction set
|
|
45
|
|
46 mpowerpc-gpopt
|
|
47 Target Report Mask(PPC_GPOPT)
|
|
48 Use PowerPC General Purpose group optional instructions
|
|
49
|
|
50 mpowerpc-gfxopt
|
|
51 Target Report Mask(PPC_GFXOPT)
|
|
52 Use PowerPC Graphics group optional instructions
|
|
53
|
|
54 mmfcrf
|
|
55 Target Report Mask(MFCRF)
|
|
56 Use PowerPC V2.01 single field mfcr instruction
|
|
57
|
|
58 mpopcntb
|
|
59 Target Report Mask(POPCNTB)
|
|
60 Use PowerPC V2.02 popcntb instruction
|
|
61
|
|
62 mfprnd
|
|
63 Target Report Mask(FPRND)
|
|
64 Use PowerPC V2.02 floating point rounding instructions
|
|
65
|
|
66 mcmpb
|
|
67 Target Report Mask(CMPB)
|
|
68 Use PowerPC V2.05 compare bytes instruction
|
|
69
|
|
70 mmfpgpr
|
|
71 Target Report Mask(MFPGPR)
|
|
72 Use extended PowerPC V2.05 move floating point to/from GPR instructions
|
|
73
|
|
74 maltivec
|
|
75 Target Report Mask(ALTIVEC)
|
|
76 Use AltiVec instructions
|
|
77
|
|
78 mhard-dfp
|
|
79 Target Report Mask(DFP)
|
|
80 Use decimal floating point instructions
|
|
81
|
|
82 mmulhw
|
|
83 Target Report Mask(MULHW)
|
|
84 Use 4xx half-word multiply instructions
|
|
85
|
|
86 mdlmzb
|
|
87 Target Report Mask(DLMZB)
|
|
88 Use 4xx string-search dlmzb instruction
|
|
89
|
|
90 mmultiple
|
|
91 Target Report Mask(MULTIPLE)
|
|
92 Generate load/store multiple instructions
|
|
93
|
|
94 mstring
|
|
95 Target Report Mask(STRING)
|
|
96 Generate string instructions for block moves
|
|
97
|
|
98 mnew-mnemonics
|
|
99 Target Report RejectNegative Mask(NEW_MNEMONICS)
|
|
100 Use new mnemonics for PowerPC architecture
|
|
101
|
|
102 mold-mnemonics
|
|
103 Target Report RejectNegative InverseMask(NEW_MNEMONICS)
|
|
104 Use old mnemonics for PowerPC architecture
|
|
105
|
|
106 msoft-float
|
|
107 Target Report RejectNegative Mask(SOFT_FLOAT)
|
|
108 Do not use hardware floating point
|
|
109
|
|
110 mhard-float
|
|
111 Target Report RejectNegative InverseMask(SOFT_FLOAT, HARD_FLOAT)
|
|
112 Use hardware floating point
|
|
113
|
|
114 mno-update
|
|
115 Target Report RejectNegative Mask(NO_UPDATE)
|
|
116 Do not generate load/store with update instructions
|
|
117
|
|
118 mupdate
|
|
119 Target Report RejectNegative InverseMask(NO_UPDATE, UPDATE)
|
|
120 Generate load/store with update instructions
|
|
121
|
|
122 mavoid-indexed-addresses
|
|
123 Target Report Var(TARGET_AVOID_XFORM) Init(-1)
|
|
124 Avoid generation of indexed load/store instructions when possible
|
|
125
|
|
126 mno-fused-madd
|
|
127 Target Report RejectNegative Mask(NO_FUSED_MADD)
|
|
128 Do not generate fused multiply/add instructions
|
|
129
|
|
130 mfused-madd
|
|
131 Target Report RejectNegative InverseMask(NO_FUSED_MADD, FUSED_MADD)
|
|
132 Generate fused multiply/add instructions
|
|
133
|
|
134 msched-prolog
|
|
135 Target Report Var(TARGET_SCHED_PROLOG) Init(1)
|
|
136 Schedule the start and end of the procedure
|
|
137
|
|
138 msched-epilog
|
|
139 Target Undocumented Var(TARGET_SCHED_PROLOG) VarExists
|
|
140
|
|
141 maix-struct-return
|
|
142 Target Report RejectNegative Var(aix_struct_return)
|
|
143 Return all structures in memory (AIX default)
|
|
144
|
|
145 msvr4-struct-return
|
|
146 Target Report RejectNegative Var(aix_struct_return,0) VarExists
|
|
147 Return small structures in registers (SVR4 default)
|
|
148
|
|
149 mxl-compat
|
|
150 Target Report Var(TARGET_XL_COMPAT)
|
|
151 Conform more closely to IBM XLC semantics
|
|
152
|
|
153 mrecip
|
|
154 Target Report Var(TARGET_RECIP)
|
|
155 Generate software reciprocal sqrt for better throughput
|
|
156
|
|
157 mno-fp-in-toc
|
|
158 Target Report RejectNegative Var(TARGET_NO_FP_IN_TOC)
|
|
159 Do not place floating point constants in TOC
|
|
160
|
|
161 mfp-in-toc
|
|
162 Target Report RejectNegative Var(TARGET_NO_FP_IN_TOC,0)
|
|
163 Place floating point constants in TOC
|
|
164
|
|
165 mno-sum-in-toc
|
|
166 Target RejectNegative Var(TARGET_NO_SUM_IN_TOC)
|
|
167 Do not place symbol+offset constants in TOC
|
|
168
|
|
169 msum-in-toc
|
|
170 Target RejectNegative Var(TARGET_NO_SUM_IN_TOC,0) VarExists
|
|
171 Place symbol+offset constants in TOC
|
|
172
|
|
173 ; Output only one TOC entry per module. Normally linking fails if
|
|
174 ; there are more than 16K unique variables/constants in an executable. With
|
|
175 ; this option, linking fails only if there are more than 16K modules, or
|
|
176 ; if there are more than 16K unique variables/constant in a single module.
|
|
177 ;
|
|
178 ; This is at the cost of having 2 extra loads and one extra store per
|
|
179 ; function, and one less allocable register.
|
|
180 mminimal-toc
|
|
181 Target Report Mask(MINIMAL_TOC)
|
|
182 Use only one TOC entry per procedure
|
|
183
|
|
184 mfull-toc
|
|
185 Target Report
|
|
186 Put everything in the regular TOC
|
|
187
|
|
188 mvrsave
|
|
189 Target Report Var(TARGET_ALTIVEC_VRSAVE)
|
|
190 Generate VRSAVE instructions when generating AltiVec code
|
|
191
|
|
192 mvrsave=
|
|
193 Target RejectNegative Joined
|
|
194 -mvrsave=yes/no Deprecated option. Use -mvrsave/-mno-vrsave instead
|
|
195
|
|
196 misel
|
|
197 Target
|
|
198 Generate isel instructions
|
|
199
|
|
200 misel=
|
|
201 Target RejectNegative Joined
|
|
202 -misel=yes/no Deprecated option. Use -misel/-mno-isel instead
|
|
203
|
|
204 mspe
|
|
205 Target
|
|
206 Generate SPE SIMD instructions on E500
|
|
207
|
|
208 mpaired
|
|
209 Target Var(rs6000_paired_float)
|
|
210 Generate PPC750CL paired-single instructions
|
|
211
|
|
212 mspe=
|
|
213 Target RejectNegative Joined
|
|
214 -mspe=yes/no Deprecated option. Use -mspe/-mno-spe instead
|
|
215
|
|
216 mdebug=
|
|
217 Target RejectNegative Joined
|
|
218 -mdebug= Enable debug output
|
|
219
|
|
220 mabi=
|
|
221 Target RejectNegative Joined
|
|
222 -mabi= Specify ABI to use
|
|
223
|
|
224 mcpu=
|
|
225 Target RejectNegative Joined
|
|
226 -mcpu= Use features of and schedule code for given CPU
|
|
227
|
|
228 mtune=
|
|
229 Target RejectNegative Joined
|
|
230 -mtune= Schedule code for given CPU
|
|
231
|
|
232 mtraceback=
|
|
233 Target RejectNegative Joined
|
|
234 -mtraceback= Select full, part, or no traceback table
|
|
235
|
|
236 mlongcall
|
|
237 Target Report Var(rs6000_default_long_calls)
|
|
238 Avoid all range limits on call instructions
|
|
239
|
|
240 mgen-cell-microcode
|
|
241 Target Report Var(rs6000_gen_cell_microcode) Init(-1)
|
|
242 Generate Cell microcode
|
|
243
|
|
244 mwarn-cell-microcode
|
|
245 Target Var(rs6000_warn_cell_microcode) Init(0) Warning
|
|
246 Warn when a Cell microcoded instruction is emitted
|
|
247
|
|
248 mwarn-altivec-long
|
|
249 Target Var(rs6000_warn_altivec_long) Init(1)
|
|
250 Warn about deprecated 'vector long ...' AltiVec type usage
|
|
251
|
|
252 mfloat-gprs=
|
|
253 Target RejectNegative Joined
|
|
254 -mfloat-gprs= Select GPR floating point method
|
|
255
|
|
256 mlong-double-
|
|
257 Target RejectNegative Joined UInteger
|
|
258 -mlong-double-<n> Specify size of long double (64 or 128 bits)
|
|
259
|
|
260 msched-costly-dep=
|
|
261 Target RejectNegative Joined
|
|
262 Determine which dependences between insns are considered costly
|
|
263
|
|
264 minsert-sched-nops=
|
|
265 Target RejectNegative Joined
|
|
266 Specify which post scheduling nop insertion scheme to apply
|
|
267
|
|
268 malign-
|
|
269 Target RejectNegative Joined
|
|
270 Specify alignment of structure fields default/natural
|
|
271
|
|
272 mprioritize-restricted-insns=
|
|
273 Target RejectNegative Joined UInteger Var(rs6000_sched_restricted_insns_priority)
|
|
274 Specify scheduling priority for dispatch slot restricted insns
|
|
275
|
|
276 msingle-float
|
|
277 Target RejectNegative Var(rs6000_single_float)
|
|
278 Single-precision floating point unit
|
|
279
|
|
280 mdouble-float
|
|
281 Target RejectNegative Var(rs6000_double_float)
|
|
282 Double-precision floating point unit
|
|
283
|
|
284 msimple-fpu
|
|
285 Target RejectNegative Var(rs6000_simple_fpu)
|
|
286 Floating point unit does not support divide & sqrt
|
|
287
|
|
288 mfpu=
|
|
289 Target RejectNegative Joined
|
|
290 -mfpu= Specify FP (sp, dp, sp-lite, dp-lite) (implies -mxilinx-fpu)
|
|
291
|
|
292 mxilinx-fpu
|
|
293 Target Var(rs6000_xilinx_fpu)
|
|
294 Specify Xilinx FPU.
|
|
295
|
|
296
|