summaryrefslogtreecommitdiff
path: root/gcc/config/frv/frv.opt
blob: c17a9945c8198ef4c2249f7aa7f56c5d1ba2e6d6 (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-2016 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.