Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/epiphany/epiphany.opt @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 ; Options for the Adapteva EPIPHANY port of the compiler | |
2 ; | |
3 ; Copyright (C) 2005-2017 Free Software Foundation, Inc. | |
4 ; Contributed by Embecosm on behalf of Adapteva, Inc. | |
5 ; | |
6 ; This file is part of GCC. | |
7 ; | |
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. | |
12 ; | |
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. | |
17 ; | |
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/>. | |
21 | |
22 mhalf-reg-file | |
23 Target Mask(HALF_REG_FILE) | |
24 Don't use any of r32..r63. | |
25 | |
26 mprefer-short-insn-regs | |
27 Target Mask(PREFER_SHORT_INSN_REGS) | |
28 preferentially allocate registers that allow short instruction generation. | |
29 | |
30 mbranch-cost= | |
31 Target RejectNegative Joined UInteger Var(epiphany_branch_cost) Init(3) | |
32 Set branch cost. | |
33 | |
34 mcmove | |
35 Target Mask(CMOVE) | |
36 enable conditional move instruction usage. | |
37 | |
38 mnops= | |
39 Target RejectNegative Joined UInteger Var(epiphany_n_nops) Init(0) | |
40 set number of nops to emit before each insn pattern. | |
41 | |
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. | |
53 | |
54 msplit-lohi | |
55 Target Mask(SPLIT_LOHI) | |
56 Enable split of 32 bit immediate loads into low / high part. | |
57 | |
58 mpost-inc | |
59 Target Mask(POST_INC) | |
60 Enable use of POST_INC / POST_DEC. | |
61 | |
62 mpost-modify | |
63 Target Mask(POST_MODIFY) | |
64 Enable use of POST_MODIFY. | |
65 | |
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. | |
69 | |
70 mround-nearest | |
71 target Mask(ROUND_NEAREST) | |
72 Assume round to nearest is selected for purposes of scheduling. | |
73 | |
74 mlong-calls | |
75 Target Mask(LONG_CALLS) | |
76 Generate call insns as indirect calls. | |
77 | |
78 mshort-calls | |
79 Target Mask(SHORT_CALLS) | |
80 Generate call insns as direct calls. | |
81 | |
82 msmall16 | |
83 Target Mask(SMALL16) | |
84 Assume labels and symbols can be addressed using 16 bit absolute addresses. | |
85 | |
86 mfp-mode= | |
87 Target RejectNegative Joined Var(epiphany_normal_fp_mode) Enum(attr_fp_mode) Init(FP_MODE_CALLER) | |
88 | |
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) | |
93 | |
94 EnumValue | |
95 Enum(attr_fp_mode) String(caller) Value(FP_MODE_CALLER) | |
96 | |
97 EnumValue | |
98 Enum(attr_fp_mode) String(round-nearest) Value(FP_MODE_ROUND_NEAREST) | |
99 | |
100 EnumValue | |
101 Enum(attr_fp_mode) String(truncate) Value(FP_MODE_ROUND_TRUNC) | |
102 | |
103 EnumValue | |
104 Enum(attr_fp_mode) String(int) Value(FP_MODE_INT) | |
105 | |
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. | |
109 | |
110 mvect-double | |
111 Target Mask(VECT_DOUBLE) | |
112 Vectorize for double-word operations. | |
113 | |
114 max-vect-align= | |
115 Target RejectNegative Joined Var(epiphany_vect_align) Enum(vect_align) Init(8) | |
116 | |
117 Enum | |
118 Name(vect_align) Type(int) | |
119 | |
120 EnumValue | |
121 Enum(vect_align) String(4) Value(4) | |
122 | |
123 EnumValue | |
124 Enum(vect_align) String(8) Value(8) | |
125 | |
126 msplit-vecmove-early | |
127 Target Mask(SPLIT_VECMOVE_EARLY) | |
128 Split unaligned 8 byte vector moves before post-modify address generation. | |
129 | |
130 mfp-iarith | |
131 Target Mask(FP_IARITH) | |
132 Use the floating point unit for integer add/subtract. | |
133 | |
134 m1reg- | |
135 Target RejectNegative Joined Var(epiphany_m1reg) Enum(m1reg) Init(-1) | |
136 Set register to hold -1. | |
137 | |
138 Enum | |
139 Name(m1reg) Type(int) | |
140 | |
141 EnumValue | |
142 Enum(m1reg) String(none) Value(-1) | |
143 | |
144 EnumValue | |
145 Enum(m1reg) String(r43) Value(43) | |
146 | |
147 EnumValue | |
148 Enum(m1reg) String(r63) Value(63) |