Sync usage with man page.
[netbsd-mini2440.git] / gnu / dist / gcc4 / gcc / config / rs6000 / rs6000.opt
blob05c6ce570f0dd9762c34f5d68a24088a7cbfcf1b
1 ; Options for the rs6000 port of the compiler
3 ; Copyright (C) 2005 Free Software Foundation, Inc.
4 ; Contributed by Aldy Hernandez <aldy@quesejoda.com>.
6 ; This file is part of GCC.
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.
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.
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.
23 mpower
24 Target Report RejectNegative Mask(POWER)
25 Use POWER instruction set
27 mno-power
28 Target Report RejectNegative
29 Do not use POWER instruction set
31 mpower2
32 Target Report Mask(POWER2)
33 Use POWER2 instruction set
35 mpowerpc
36 Target Report RejectNegative Mask(POWERPC)
37 Use PowerPC instruction set
39 mno-powerpc
40 Target Report RejectNegative
41 Do not use PowerPC instruction set
43 mpowerpc64
44 Target Report Mask(POWERPC64)
45 Use PowerPC-64 instruction set
47 mpowerpc-gpopt
48 Target Report Mask(PPC_GPOPT)
49 Use PowerPC General Purpose group optional instructions
51 mpowerpc-gfxopt
52 Target Report Mask(PPC_GFXOPT)
53 Use PowerPC Graphics group optional instructions
55 mmfcrf
56 Target Report Mask(MFCRF)
57 Use PowerPC V2.01 single field mfcr instruction
59 mpopcntb
60 Target Report Mask(POPCNTB)
61 Use PowerPC V2.02 popcntb instruction
63 mfprnd
64 Target Report Mask(FPRND)
65 Use PowerPC V2.02 floating point rounding instructions
67 maltivec
68 Target Report Mask(ALTIVEC)
69 Use AltiVec instructions
71 mmultiple
72 Target Report Mask(MULTIPLE)
73 Generate load/store multiple instructions
75 mstring
76 Target Report Mask(STRING)
77 Generate string instructions for block moves
79 mnew-mnemonics
80 Target Report RejectNegative Mask(NEW_MNEMONICS)
81 Use new mnemonics for PowerPC architecture
83 mold-mnemonics
84 Target Report RejectNegative InverseMask(NEW_MNEMONICS)
85 Use old mnemonics for PowerPC architecture
87 msoft-float
88 Target Report RejectNegative Mask(SOFT_FLOAT)
89 Do not use hardware floating point
91 mhard-float
92 Target Report RejectNegative InverseMask(SOFT_FLOAT, HARD_FLOAT)
93 Use hardware floating point
95 mno-update
96 Target Report RejectNegative Mask(NO_UPDATE)
97 Do not generate load/store with update instructions
99 mupdate
100 Target Report RejectNegative InverseMask(NO_UPDATE, UPDATE)
101 Generate load/store with update instructions
103 mno-fused-madd
104 Target Report RejectNegative Mask(NO_FUSED_MADD)
105 Do not generate fused multiply/add instructions
107 mfused-madd
108 Target Report RejectNegative InverseMask(NO_FUSED_MADD, FUSED_MADD)
109 Generate fused multiply/add instructions
111 msched-prolog
112 Target Report Mask(SCHED_PROLOG)
113 Schedule the start and end of the procedure
115 msched-epilog
116 Target Undocumented Mask(SCHED_PROLOG) MaskExists
118 maix-struct-return
119 Target Report RejectNegative Var(aix_struct_return)
120 Return all structures in memory (AIX default)
122 msvr4-struct-return
123 Target Report RejectNegative Var(aix_struct_return,0) VarExists
124 Return small structures in registers (SVR4 default)
126 mxl-compat
127 Target Report Var(TARGET_XL_COMPAT)
128 Conform more closely to IBM XLC semantics
130 mswdiv
131 Target Report Var(swdiv)
132 Generate software floating point divide for better throughput
134 mno-fp-in-toc
135 Target Report RejectNegative Mask(NO_FP_IN_TOC)
136 Do not place floating point constants in TOC
138 mfp-in-toc
139 Target Report RejectNegative InverseMask(NO_FP_IN_TOC)
140 Place floating point constants in TOC
142 mno-sum-in-toc
143 Target RejectNegative Mask(NO_SUM_IN_TOC)
144 Do not place symbol+offset constants in TOC
146 msum-in-toc
147 Target RejectNegative InverseMask(NO_SUM_IN_TOC)
148 Place symbol+offset constants in TOC
150 ;  Output only one TOC entry per module.  Normally linking fails if
151 ;   there are more than 16K unique variables/constants in an executable.  With
152 ;   this option, linking fails only if there are more than 16K modules, or
153 ;   if there are more than 16K unique variables/constant in a single module.
155 ;   This is at the cost of having 2 extra loads and one extra store per
156 ;   function, and one less allocable register.
157 mminimal-toc
158 Target Report Mask(MINIMAL_TOC)
159 Use only one TOC entry per procedure
161 mfull-toc
162 Target Report
163 Put everything in the regular TOC
165 mvrsave
166 Target Report Var(TARGET_ALTIVEC_VRSAVE)
167 Generate VRSAVE instructions when generating AltiVec code
169 mvrsave=
170 Target RejectNegative Joined
171 -mvrsave=yes/no Deprecated option.  Use -mvrsave/-mno-vrsave instead
173 misel
174 Target Var(rs6000_isel)
175 Generate isel instructions
177 misel=
178 Target RejectNegative Joined
179 -misel=yes/no   Deprecated option.  Use -misel/-mno-isel instead
181 mspe
182 Target Var(rs6000_spe)
183 Generate SPE SIMD instructions on E500
185 mspe=
186 Target RejectNegative Joined
187 -mspe=yes/no    Deprecated option.  Use -mspe/-mno-spe instead
189 mdebug=
190 Target RejectNegative Joined
191 -mdebug=        Enable debug output
193 mabi=
194 Target RejectNegative Joined
195 -mabi=  Specify ABI to use
197 mcpu=
198 Target RejectNegative Joined
199 -mcpu=  Use features of and schedule code for given CPU
201 mtune=
202 Target RejectNegative Joined
203 -mtune= Schedule code for given CPU
205 mtraceback=
206 Target RejectNegative Joined
207 -mtraceback=    Select full, part, or no traceback table
209 mlongcall
210 Target Report Var(rs6000_default_long_calls)
211 Avoid all range limits on call instructions
213 mwarn-altivec-long
214 Target Var(rs6000_warn_altivec_long) Init(1)
215 Warn about deprecated 'vector long ...' AltiVec type usage
217 mfloat-gprs=
218 Target RejectNegative Joined
219 -mfloat-gprs=   Select GPR floating point method
221 mlong-double-
222 Target RejectNegative Joined UInteger
223 -mlong-double-<n>       Specify size of long double (64 or 128 bits)
225 msched-costly-dep=
226 Target RejectNegative Joined 
227 Determine which dependences between insns are considered costly
229 minsert-sched-nops=
230 Target RejectNegative Joined
231 Specify which post scheduling nop insertion scheme to apply
233 malign-
234 Target RejectNegative Joined
235 Specify alignment of structure fields default/natural
237 mprioritize-restricted-insns=
238 Target RejectNegative Joined UInteger Var(rs6000_sched_restricted_insns_priority)
239 Specify scheduling priority for dispatch slot restricted insns