* gimplify.c (nonlocal_vlas): Delete.
[official-gcc.git] / gcc / config / epiphany / epiphany.opt
blob76d7701a762afba6de208c211ef72cc107189225
1 ; Options for the Adapteva EPIPHANY port of the compiler
3 ; Copyright (C) 2005-2018 Free Software Foundation, Inc.
4 ; Contributed by Embecosm on behalf of Adapteva, Inc.
6 ; This file is part of GCC.
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 3, or (at your option) any later
11 ; version.
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.
18 ; You should have received a copy of the GNU General Public License
19 ; along with GCC; see the file COPYING3.  If not see
20 ; <http://www.gnu.org/licenses/>.
22 mhalf-reg-file
23 Target Mask(HALF_REG_FILE)
24 Don't use any of r32..r63.
26 mprefer-short-insn-regs
27 Target Mask(PREFER_SHORT_INSN_REGS)
28 preferentially allocate registers that allow short instruction generation.
30 mbranch-cost=
31 Target RejectNegative Joined UInteger Var(epiphany_branch_cost) Init(3)
32 Set branch cost.
34 mcmove
35 Target Mask(CMOVE)
36 enable conditional move instruction usage.
38 mnops=
39 Target RejectNegative Joined UInteger Var(epiphany_n_nops) Init(0)
40 set number of nops to emit before each insn pattern.
42 ; Problems with using the flags from fsub for comparison are:
43 ; - Because of underflow (lack of subnormal numbers), different small numbers
44 ;   can compare as equal.
45 ; - the set of comparisons is limited, and reversing comparisons doesn't work
46 ;   in the presence of NaNs.
47 ; The latter problem might be tolerated with -ffinite-math-only , but nothing
48 ; in -funsafe-math-optimizations says different small numbers may be considered
49 ; equal.
50 msoft-cmpsf
51 Target Mask(SOFT_CMPSF)
52 Use software floating point comparisons.
54 msplit-lohi
55 Target Mask(SPLIT_LOHI)
56 Enable split of 32 bit immediate loads into low / high part.
58 mpost-inc
59 Target Mask(POST_INC)
60 Enable use of POST_INC / POST_DEC.
62 mpost-modify
63 Target Mask(POST_MODIFY)
64 Enable use of POST_MODIFY.
66 mstack-offset=
67 Target RejectNegative Joined UInteger Var(epiphany_stack_offset) Init(EPIPHANY_STACK_OFFSET)
68 Set number of bytes on the stack preallocated for use by the callee.
70 mround-nearest
71 target Mask(ROUND_NEAREST)
72 Assume round to nearest is selected for purposes of scheduling.
74 mlong-calls
75 Target Mask(LONG_CALLS)
76 Generate call insns as indirect calls.
78 mshort-calls
79 Target Mask(SHORT_CALLS)
80 Generate call insns as direct calls.
82 msmall16
83 Target Mask(SMALL16)
84 Assume labels and symbols can be addressed using 16 bit absolute addresses.
86 mfp-mode=
87 Target RejectNegative Joined Var(epiphany_normal_fp_mode) Enum(attr_fp_mode) Init(FP_MODE_CALLER)
89 ; The values are from enum attr_fp_mode, but using that enum would bring
90 ; problems with enum forward declarations.
91 Enum
92 Name(attr_fp_mode) Type(int)
94 EnumValue
95 Enum(attr_fp_mode) String(caller) Value(FP_MODE_CALLER)
97 EnumValue
98 Enum(attr_fp_mode) String(round-nearest) Value(FP_MODE_ROUND_NEAREST)
100 EnumValue
101 Enum(attr_fp_mode) String(truncate) Value(FP_MODE_ROUND_TRUNC)
103 EnumValue
104 Enum(attr_fp_mode) String(int) Value(FP_MODE_INT)
106 may-round-for-trunc
107 Target Mask(MAY_ROUND_FOR_TRUNC)
108 A floatig point to integer truncation may be replaced with rounding to save mode switching.
110 mvect-double
111 Target Mask(VECT_DOUBLE)
112 Vectorize for double-word operations.
114 max-vect-align=
115 Target RejectNegative Joined Var(epiphany_vect_align) Enum(vect_align) Init(8)
117 Enum
118 Name(vect_align) Type(int)
120 EnumValue
121 Enum(vect_align) String(4) Value(4)
123 EnumValue
124 Enum(vect_align) String(8) Value(8)
126 msplit-vecmove-early
127 Target Mask(SPLIT_VECMOVE_EARLY)
128 Split unaligned 8 byte vector moves before post-modify address generation.
130 mfp-iarith
131 Target Mask(FP_IARITH)
132 Use the floating point unit for integer add/subtract.
134 m1reg-
135 Target RejectNegative Joined Var(epiphany_m1reg) Enum(m1reg) Init(-1)
136 Set register to hold -1.
138 Enum
139 Name(m1reg) Type(int)
141 EnumValue
142 Enum(m1reg) String(none) Value(-1)
144 EnumValue
145 Enum(m1reg) String(r43) Value(43)
147 EnumValue
148 Enum(m1reg) String(r63) Value(63)