OSDN Git Service

* config/rs6000/rs6000.opt (mmulhw): New option.
[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 maltivec
68 Target Report Mask(ALTIVEC)
69 Use AltiVec instructions
70
71 mmulhw
72 Target Report Mask(MULHW)
73 Use 4xx half-word multiply instructions
74
75 mmultiple
76 Target Report Mask(MULTIPLE)
77 Generate load/store multiple instructions
78
79 mstring
80 Target Report Mask(STRING)
81 Generate string instructions for block moves
82
83 mnew-mnemonics
84 Target Report RejectNegative Mask(NEW_MNEMONICS)
85 Use new mnemonics for PowerPC architecture
86
87 mold-mnemonics
88 Target Report RejectNegative InverseMask(NEW_MNEMONICS)
89 Use old mnemonics for PowerPC architecture
90
91 msoft-float
92 Target Report RejectNegative Mask(SOFT_FLOAT)
93 Do not use hardware floating point
94
95 mhard-float
96 Target Report RejectNegative InverseMask(SOFT_FLOAT, HARD_FLOAT)
97 Use hardware floating point
98
99 mno-update
100 Target Report RejectNegative Mask(NO_UPDATE)
101 Do not generate load/store with update instructions
102
103 mupdate
104 Target Report RejectNegative InverseMask(NO_UPDATE, UPDATE)
105 Generate load/store with update instructions
106
107 mno-fused-madd
108 Target Report RejectNegative Mask(NO_FUSED_MADD)
109 Do not generate fused multiply/add instructions
110
111 mfused-madd
112 Target Report RejectNegative InverseMask(NO_FUSED_MADD, FUSED_MADD)
113 Generate fused multiply/add instructions
114
115 msched-prolog
116 Target Report Mask(SCHED_PROLOG)
117 Schedule the start and end of the procedure
118
119 msched-epilog
120 Target Undocumented Mask(SCHED_PROLOG) MaskExists
121
122 maix-struct-return
123 Target Report RejectNegative Var(aix_struct_return)
124 Return all structures in memory (AIX default)
125
126 msvr4-struct-return
127 Target Report RejectNegative Var(aix_struct_return,0) VarExists
128 Return small structures in registers (SVR4 default)
129
130 mxl-compat
131 Target Report Var(TARGET_XL_COMPAT)
132 Conform more closely to IBM XLC semantics
133
134 mswdiv
135 Target Report Var(swdiv)
136 Generate software floating point divide for better throughput
137
138 mno-fp-in-toc
139 Target Report RejectNegative Mask(NO_FP_IN_TOC)
140 Do not place floating point constants in TOC
141
142 mfp-in-toc
143 Target Report RejectNegative InverseMask(NO_FP_IN_TOC)
144 Place floating point constants in TOC
145
146 mno-sum-in-toc
147 Target RejectNegative Mask(NO_SUM_IN_TOC)
148 Do not place symbol+offset constants in TOC
149
150 msum-in-toc
151 Target RejectNegative InverseMask(NO_SUM_IN_TOC)
152 Place symbol+offset constants in TOC
153
154 ;  Output only one TOC entry per module.  Normally linking fails if
155 ;   there are more than 16K unique variables/constants in an executable.  With
156 ;   this option, linking fails only if there are more than 16K modules, or
157 ;   if there are more than 16K unique variables/constant in a single module.
158 ;
159 ;   This is at the cost of having 2 extra loads and one extra store per
160 ;   function, and one less allocable register.
161 mminimal-toc
162 Target Report Mask(MINIMAL_TOC)
163 Use only one TOC entry per procedure
164
165 mfull-toc
166 Target Report
167 Put everything in the regular TOC
168
169 mvrsave
170 Target Report Var(TARGET_ALTIVEC_VRSAVE)
171 Generate VRSAVE instructions when generating AltiVec code
172
173 mvrsave=
174 Target RejectNegative Joined
175 -mvrsave=yes/no Deprecated option.  Use -mvrsave/-mno-vrsave instead
176
177 misel
178 Target Var(rs6000_isel)
179 Generate isel instructions
180
181 misel=
182 Target RejectNegative Joined
183 -misel=yes/no   Deprecated option.  Use -misel/-mno-isel instead
184
185 mspe
186 Target Var(rs6000_spe)
187 Generate SPE SIMD instructions on E500
188
189 mspe=
190 Target RejectNegative Joined
191 -mspe=yes/no    Deprecated option.  Use -mspe/-mno-spe instead
192
193 mdebug=
194 Target RejectNegative Joined
195 -mdebug=        Enable debug output
196
197 mabi=
198 Target RejectNegative Joined
199 -mabi=  Specify ABI to use
200
201 mcpu=
202 Target RejectNegative Joined
203 -mcpu=  Use features of and schedule code for given CPU
204
205 mtune=
206 Target RejectNegative Joined
207 -mtune= Schedule code for given CPU
208
209 mtraceback=
210 Target RejectNegative Joined
211 -mtraceback=    Select full, part, or no traceback table
212
213 mlongcall
214 Target Report Var(rs6000_default_long_calls)
215 Avoid all range limits on call instructions
216
217 mwarn-altivec-long
218 Target Var(rs6000_warn_altivec_long) Init(1)
219 Warn about deprecated 'vector long ...' AltiVec type usage
220
221 mfloat-gprs=
222 Target RejectNegative Joined
223 -mfloat-gprs=   Select GPR floating point method
224
225 mlong-double-
226 Target RejectNegative Joined UInteger
227 -mlong-double-<n>       Specify size of long double (64 or 128 bits)
228
229 msched-costly-dep=
230 Target RejectNegative Joined 
231 Determine which dependences between insns are considered costly
232
233 minsert-sched-nops=
234 Target RejectNegative Joined
235 Specify which post scheduling nop insertion scheme to apply
236
237 malign-
238 Target RejectNegative Joined
239 Specify alignment of structure fields default/natural
240
241 mprioritize-restricted-insns=
242 Target RejectNegative Joined UInteger Var(rs6000_sched_restricted_insns_priority)
243 Specify scheduling priority for dispatch slot restricted insns