OSDN Git Service

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