OSDN Git Service

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