1 ; Options for the FR-V port of the compiler.
3 ; Copyright (C) 2005, 2007, 2011 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
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
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/>.
26 frv_cpu_t frv_cpu_type = CPU_TYPE
29 Target Report RejectNegative Mask(ACC_4)
30 Use 4 media accumulators
33 Target Report RejectNegative InverseMask(ACC_4, ACC_8)
34 Use 8 media accumulators
37 Target Report Mask(ALIGN_LABELS)
38 Enable label alignment optimizations
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.
48 Target RejectNegative Joined UInteger Var(frv_branch_cost_int) Init(1)
49 Set the cost of branches
52 Target Report Mask(COND_EXEC)
53 Enable conditional execution other than moves/scc
56 Target RejectNegative Joined UInteger Var(frv_condexec_insns) Init(8)
57 Change the maximum length of conditionally-executed sequences
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
64 Target Report Mask(COND_MOVE)
65 Enable conditional moves
68 Target RejectNegative Joined Enum(frv_cpu) Var(frv_cpu_type)
69 Set the target CPU type
72 Name(frv_cpu) Type(frv_cpu_t)
73 Known FR-V CPUs (for use with the -mcpu= option):
76 Enum(frv_cpu) String(simple) Value(FRV_CPU_SIMPLE)
79 Enum(frv_cpu) String(tomcat) Value(FRV_CPU_TOMCAT)
82 Enum(frv_cpu) String(fr550) Value(FRV_CPU_FR550)
85 Enum(frv_cpu) String(fr500) Value(FRV_CPU_FR500)
88 Enum(frv_cpu) String(fr450) Value(FRV_CPU_FR450)
91 Enum(frv_cpu) String(fr405) Value(FRV_CPU_FR405)
94 Enum(frv_cpu) String(fr400) Value(FRV_CPU_FR400)
97 Enum(frv_cpu) String(fr300) Value(FRV_CPU_FR300)
100 Enum(frv_cpu) String(frv) Value(FRV_CPU_GENERIC)
103 Target Undocumented Var(TARGET_DEBUG)
106 Target Undocumented Var(TARGET_DEBUG_ARG)
109 Target Undocumented Var(TARGET_DEBUG_ADDR)
112 Target Undocumented Var(TARGET_DEBUG_COND_EXEC)
115 Target Undocumented Var(TARGET_DEBUG_LOC)
118 Target Undocumented Var(TARGET_DEBUG_STACK)
121 Target Report Mask(DOUBLE)
122 Use fp double instructions
125 Target Report Mask(DWORD)
126 Change the ABI to allow double word insns
129 Target Report Mask(FDPIC)
130 Enable Function Descriptor PIC mode
133 Target Report RejectNegative InverseMask(ALLOC_CC, FIXED_CC)
137 Target Report RejectNegative Mask(FPR_32)
141 Target Report RejectNegative InverseMask(FPR_32, FPR_64)
145 Target Report RejectNegative Mask(GPR_32)
149 Target Report RejectNegative InverseMask(GPR_32, GPR_64)
153 Target Report Mask(GPREL_RO)
154 Enable use of GPREL for read-only data in FDPIC
157 Target Report RejectNegative InverseMask(SOFT_FLOAT, HARD_FLOAT)
158 Use hardware floating point
161 Target Report Mask(INLINE_PLT)
162 Enable inlining of PLT in function calls
165 Target Report Mask(LIBPIC)
166 Enable PIC support for building libraries
169 Target Report Mask(LINKED_FP)
170 Follow the EABI linkage requirements
173 Target Report Mask(LONG_CALLS)
174 Disallow direct calls to global functions
177 Target Report Mask(MEDIA)
178 Use media instructions
181 Target Report Mask(MULADD)
182 Use multiply add/subtract instructions
185 Target Report Mask(MULTI_CE)
186 Enable optimizing &&/|| in conditional execution
189 Target Report Mask(NESTED_CE)
190 Enable nested conditional execution optimizations
192 ; Not used by the compiler proper.
194 Target RejectNegative
195 Do not mark ABI switches in e_flags
198 Target Report Mask(OPTIMIZE_MEMBAR)
199 Remove redundant membars
202 Target Report Mask(PACK)
203 Pack VLIW instructions
206 Target Report Mask(SCC)
207 Enable setting GPRs to the result of comparisons
210 Target RejectNegative Joined UInteger Var(frv_sched_lookahead) Init(4)
211 Change the amount of scheduler lookahead
214 Target Report RejectNegative Mask(SOFT_FLOAT)
215 Use software floating point
218 Target Report RejectNegative Mask(BIG_TLS)
219 Assume a large TLS segment
222 Target Report RejectNegative InverseMask(BIG_TLS)
223 Do not assume a large TLS segment
225 ; Not used by the compiler proper.
228 Cause gas to print tomcat statistics
230 ; Not used by the compiler proper.
232 Target RejectNegative
233 Link with the library-pic libraries
236 Target Report Mask(VLIW_BRANCH)
237 Allow branches to be packed with other instructions