PR tree-optimization/84480 - bogus -Wstringop-truncation despite assignment with...
[official-gcc.git] / gcc / config / frv / frv.opt
blob84154f683adb325da57e3b851375bb7cb6f28865
1 ; Options for the FR-V port of the compiler.
3 ; Copyright (C) 2005-2018 Free Software Foundation, Inc.
5 ; This file is part of GCC.
7 ; GCC is free software; you can redistribute it and/or modify it under
8 ; the terms of the GNU General Public License as published by the Free
9 ; Software Foundation; either version 3, or (at your option) any later
10 ; version.
12 ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 ; WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 ; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 ; for more details.
17 ; You should have received a copy of the GNU General Public License
18 ; along with GCC; see the file COPYING3.  If not see
19 ; <http://www.gnu.org/licenses/>.
21 HeaderInclude
22 config/frv/frv-opts.h
24 ; Value of -mcpu=.
25 Variable
26 frv_cpu_t frv_cpu_type = CPU_TYPE
28 macc-4
29 Target Report RejectNegative Mask(ACC_4)
30 Use 4 media accumulators.
32 macc-8
33 Target Report RejectNegative InverseMask(ACC_4, ACC_8)
34 Use 8 media accumulators.
36 malign-labels
37 Target Report Mask(ALIGN_LABELS)
38 Enable label alignment optimizations.
40 malloc-cc
41 Target Report RejectNegative Mask(ALLOC_CC)
42 Dynamically allocate cc registers.
44 ; We used to default the branch cost to 2, but it was changed it to 1 to avoid
45 ; generating SCC instructions and or/and-ing them together, and then doing the
46 ; branch on the result, which collectively generate much worse code.
47 mbranch-cost=
48 Target RejectNegative Joined UInteger Var(frv_branch_cost_int) Init(1)
49 Set the cost of branches.
51 mcond-exec
52 Target Report Mask(COND_EXEC)
53 Enable conditional execution other than moves/scc.
55 mcond-exec-insns=
56 Target RejectNegative Joined UInteger Var(frv_condexec_insns) Init(8)
57 Change the maximum length of conditionally-executed sequences.
59 mcond-exec-temps=
60 Target RejectNegative Joined UInteger Var(frv_condexec_temps) Init(4)
61 Change the number of temporary registers that are available to conditionally-executed sequences.
63 mcond-move
64 Target Report Mask(COND_MOVE)
65 Enable conditional moves.
67 mcpu=
68 Target RejectNegative Joined Enum(frv_cpu) Var(frv_cpu_type)
69 Set the target CPU type.
71 Enum
72 Name(frv_cpu) Type(frv_cpu_t)
73 Known FR-V CPUs (for use with the -mcpu= option):
75 EnumValue
76 Enum(frv_cpu) String(simple) Value(FRV_CPU_SIMPLE)
78 EnumValue
79 Enum(frv_cpu) String(tomcat) Value(FRV_CPU_TOMCAT)
81 EnumValue
82 Enum(frv_cpu) String(fr550) Value(FRV_CPU_FR550)
84 EnumValue
85 Enum(frv_cpu) String(fr500) Value(FRV_CPU_FR500)
87 EnumValue
88 Enum(frv_cpu) String(fr450) Value(FRV_CPU_FR450)
90 EnumValue
91 Enum(frv_cpu) String(fr405) Value(FRV_CPU_FR405)
93 EnumValue
94 Enum(frv_cpu) String(fr400) Value(FRV_CPU_FR400)
96 EnumValue
97 Enum(frv_cpu) String(fr300) Value(FRV_CPU_FR300)
99 EnumValue
100 Enum(frv_cpu) String(frv) Value(FRV_CPU_GENERIC)
102 mdebug
103 Target Undocumented Var(TARGET_DEBUG)
105 mdebug-arg
106 Target Undocumented Var(TARGET_DEBUG_ARG)
108 mdebug-addr
109 Target Undocumented Var(TARGET_DEBUG_ADDR)
111 mdebug-cond-exec
112 Target Undocumented Var(TARGET_DEBUG_COND_EXEC)
114 mdebug-loc
115 Target Undocumented Var(TARGET_DEBUG_LOC)
117 mdebug-stack
118 Target Undocumented Var(TARGET_DEBUG_STACK)
120 mdouble
121 Target Report Mask(DOUBLE)
122 Use fp double instructions.
124 mdword
125 Target Report Mask(DWORD)
126 Change the ABI to allow double word insns.
128 mfdpic
129 Target Report Mask(FDPIC)
130 Enable Function Descriptor PIC mode.
132 mfixed-cc
133 Target Report RejectNegative InverseMask(ALLOC_CC, FIXED_CC)
134 Just use icc0/fcc0.
136 mfpr-32
137 Target Report RejectNegative Mask(FPR_32)
138 Only use 32 FPRs.
140 mfpr-64
141 Target Report RejectNegative InverseMask(FPR_32, FPR_64)
142 Use 64 FPRs.
144 mgpr-32
145 Target Report RejectNegative Mask(GPR_32)
146 Only use 32 GPRs.
148 mgpr-64
149 Target Report RejectNegative InverseMask(GPR_32, GPR_64)
150 Use 64 GPRs.
152 mgprel-ro
153 Target Report Mask(GPREL_RO)
154 Enable use of GPREL for read-only data in FDPIC.
156 mhard-float
157 Target Report RejectNegative InverseMask(SOFT_FLOAT, HARD_FLOAT)
158 Use hardware floating point.
160 minline-plt
161 Target Report Mask(INLINE_PLT)
162 Enable inlining of PLT in function calls.
164 mlibrary-pic
165 Target Report Mask(LIBPIC)
166 Enable PIC support for building libraries.
168 mlinked-fp
169 Target Report Mask(LINKED_FP)
170 Follow the EABI linkage requirements.
172 mlong-calls
173 Target Report Mask(LONG_CALLS)
174 Disallow direct calls to global functions.
176 mmedia
177 Target Report Mask(MEDIA)
178 Use media instructions.
180 mmuladd
181 Target Report Mask(MULADD)
182 Use multiply add/subtract instructions.
184 mmulti-cond-exec
185 Target Report Mask(MULTI_CE)
186 Enable optimizing &&/|| in conditional execution.
188 mnested-cond-exec
189 Target Report Mask(NESTED_CE)
190 Enable nested conditional execution optimizations.
192 ; Not used by the compiler proper.
193 mno-eflags
194 Target RejectNegative
195 Do not mark ABI switches in e_flags.
197 moptimize-membar
198 Target Report Mask(OPTIMIZE_MEMBAR)
199 Remove redundant membars.
201 mpack
202 Target Report Mask(PACK)
203 Pack VLIW instructions.
205 mscc
206 Target Report Mask(SCC)
207 Enable setting GPRs to the result of comparisons.
209 msched-lookahead=
210 Target RejectNegative Joined UInteger Var(frv_sched_lookahead) Init(4)
211 Change the amount of scheduler lookahead.
213 msoft-float
214 Target Report RejectNegative Mask(SOFT_FLOAT)
215 Use software floating point.
217 mTLS
218 Target Report RejectNegative Mask(BIG_TLS)
219 Assume a large TLS segment.
221 mtls
222 Target Report RejectNegative InverseMask(BIG_TLS)
223 Do not assume a large TLS segment.
225 ; Not used by the compiler proper.
226 mtomcat-stats
227 Target
228 Cause gas to print tomcat statistics.
230 ; Not used by the compiler proper.
231 multilib-library-pic
232 Target RejectNegative
233 Link with the library-pic libraries.
235 mvliw-branch
236 Target Report Mask(VLIW_BRANCH)
237 Allow branches to be packed with other instructions.