aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/config/frv/frv.opt
blob: 824d6ea1d648bb2ec1f013c55fdd5f2cdf34a8b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
; Options for the FR-V port of the compiler.

; Copyright (C) 2005-2014 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
; GCC is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License as published by the Free
; Software Foundation; either version 3, or (at your option) any later
; version.
;
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
; WARRANTY; without even the implied warranty of MERCHANTABILITY or
; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
; for more details.
;
; You should have received a copy of the GNU General Public License
; along with GCC; see the file COPYING3.  If not see
; <http://www.gnu.org/licenses/>.

HeaderInclude
config/frv/frv-opts.h

; Value of -mcpu=.
Variable
frv_cpu_t frv_cpu_type = CPU_TYPE

macc-4
Target Report RejectNegative Mask(ACC_4)
Use 4 media accumulators

macc-8
Target Report RejectNegative InverseMask(ACC_4, ACC_8)
Use 8 media accumulators

malign-labels
Target Report Mask(ALIGN_LABELS)
Enable label alignment optimizations

malloc-cc
Target Report RejectNegative Mask(ALLOC_CC)
Dynamically allocate cc registers

; We used to default the branch cost to 2, but it was changed it to 1 to avoid
; generating SCC instructions and or/and-ing them together, and then doing the
; branch on the result, which collectively generate much worse code.
mbranch-cost=
Target RejectNegative Joined UInteger Var(frv_branch_cost_int) Init(1)
Set the cost of branches

mcond-exec
Target Report Mask(COND_EXEC)
Enable conditional execution other than moves/scc

mcond-exec-insns=
Target RejectNegative Joined UInteger Var(frv_condexec_insns) Init(8)
Change the maximum length of conditionally-executed sequences

mcond-exec-temps=
Target RejectNegative Joined UInteger Var(frv_condexec_temps) Init(4)
Change the number of temporary registers that are available to conditionally-executed sequences

mcond-move
Target Report Mask(COND_MOVE)
Enable conditional moves

mcpu=
Target RejectNegative Joined Enum(frv_cpu) Var(frv_cpu_type)
Set the target CPU type

Enum
Name(frv_cpu) Type(frv_cpu_t)
Known FR-V CPUs (for use with the -mcpu= option):

EnumValue
Enum(frv_cpu) String(simple) Value(FRV_CPU_SIMPLE)

EnumValue
Enum(frv_cpu) String(tomcat) Value(FRV_CPU_TOMCAT)

EnumValue
Enum(frv_cpu) String(fr550) Value(FRV_CPU_FR550)

EnumValue
Enum(frv_cpu) String(fr500) Value(FRV_CPU_FR500)

EnumValue
Enum(frv_cpu) String(fr450) Value(FRV_CPU_FR450)

EnumValue
Enum(frv_cpu) String(fr405) Value(FRV_CPU_FR405)

EnumValue
Enum(frv_cpu) String(fr400) Value(FRV_CPU_FR400)

EnumValue
Enum(frv_cpu) String(fr300) Value(FRV_CPU_FR300)

EnumValue
Enum(frv_cpu) String(frv) Value(FRV_CPU_GENERIC)

mdebug
Target Undocumented Var(TARGET_DEBUG)

mdebug-arg
Target Undocumented Var(TARGET_DEBUG_ARG)

mdebug-addr
Target Undocumented Var(TARGET_DEBUG_ADDR)

mdebug-cond-exec
Target Undocumented Var(TARGET_DEBUG_COND_EXEC)

mdebug-loc
Target Undocumented Var(TARGET_DEBUG_LOC)

mdebug-stack
Target Undocumented Var(TARGET_DEBUG_STACK)

mdouble
Target Report Mask(DOUBLE)
Use fp double instructions

mdword
Target Report Mask(DWORD)
Change the ABI to allow double word insns

mfdpic
Target Report Mask(FDPIC)
Enable Function Descriptor PIC mode

mfixed-cc
Target Report RejectNegative InverseMask(ALLOC_CC, FIXED_CC)
Just use icc0/fcc0

mfpr-32
Target Report RejectNegative Mask(FPR_32)
Only use 32 FPRs

mfpr-64
Target Report RejectNegative InverseMask(FPR_32, FPR_64)
Use 64 FPRs

mgpr-32
Target Report RejectNegative Mask(GPR_32)
Only use 32 GPRs

mgpr-64
Target Report RejectNegative InverseMask(GPR_32, GPR_64)
Use 64 GPRs

mgprel-ro
Target Report Mask(GPREL_RO)
Enable use of GPREL for read-only data in FDPIC

mhard-float
Target Report RejectNegative InverseMask(SOFT_FLOAT, HARD_FLOAT)
Use hardware floating point

minline-plt
Target Report Mask(INLINE_PLT)
Enable inlining of PLT in function calls

mlibrary-pic
Target Report Mask(LIBPIC)
Enable PIC support for building libraries

mlinked-fp
Target Report Mask(LINKED_FP)
Follow the EABI linkage requirements

mlong-calls
Target Report Mask(LONG_CALLS)
Disallow direct calls to global functions

mmedia
Target Report Mask(MEDIA)
Use media instructions

mmuladd
Target Report Mask(MULADD)
Use multiply add/subtract instructions

mmulti-cond-exec
Target Report Mask(MULTI_CE)
Enable optimizing &&/|| in conditional execution

mnested-cond-exec
Target Report Mask(NESTED_CE)
Enable nested conditional execution optimizations

; Not used by the compiler proper.
mno-eflags
Target RejectNegative
Do not mark ABI switches in e_flags

moptimize-membar
Target Report Mask(OPTIMIZE_MEMBAR)
Remove redundant membars

mpack
Target Report Mask(PACK)
Pack VLIW instructions

mscc
Target Report Mask(SCC)
Enable setting GPRs to the result of comparisons

msched-lookahead=
Target RejectNegative Joined UInteger Var(frv_sched_lookahead) Init(4)
Change the amount of scheduler lookahead

msoft-float
Target Report RejectNegative Mask(SOFT_FLOAT)
Use software floating point

mTLS
Target Report RejectNegative Mask(BIG_TLS)
Assume a large TLS segment

mtls
Target Report RejectNegative InverseMask(BIG_TLS)
Do not assume a large TLS segment

; Not used by the compiler proper.
mtomcat-stats
Target
Cause gas to print tomcat statistics

; Not used by the compiler proper.
multilib-library-pic
Target RejectNegative
Link with the library-pic libraries

mvliw-branch
Target Report Mask(VLIW_BRANCH)
Allow branches to be packed with other instructions