Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/cris/cris.opt @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | a06113de4d67 |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 ; Options for the CRIS port of the compiler. | 1 ; Options for the CRIS port of the compiler. |
2 | 2 |
3 ; Copyright (C) 2005, 2007 Free Software Foundation, Inc. | 3 ; Copyright (C) 2005-2017 Free Software Foundation, Inc. |
4 ; | 4 ; |
5 ; This file is part of GCC. | 5 ; This file is part of GCC. |
6 ; | 6 ; |
7 ; GCC is free software; you can redistribute it and/or modify it under | 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 | 8 ; the terms of the GNU General Public License as published by the Free |
19 ; <http://www.gnu.org/licenses/>. | 19 ; <http://www.gnu.org/licenses/>. |
20 | 20 |
21 ; TARGET_MUL_BUG: Whether or not to work around multiplication | 21 ; TARGET_MUL_BUG: Whether or not to work around multiplication |
22 ; instruction hardware bug when generating code for models where | 22 ; instruction hardware bug when generating code for models where |
23 ; it may be present. From the trouble report for Etrax 100 LX: | 23 ; it may be present. From the trouble report for Etrax 100 LX: |
24 ; "A multiply operation may cause incorrect cache behaviour | 24 ; "A multiply operation may cause incorrect cache behavior |
25 ; under some specific circumstances. The problem can occur if | 25 ; under some specific circumstances. The problem can occur if |
26 ; the instruction following the multiply instruction causes a | 26 ; the instruction following the multiply instruction causes a |
27 ; cache miss, and multiply operand 1 (source operand) bits | 27 ; cache miss, and multiply operand 1 (source operand) bits |
28 ; [31:27] matches the logical mapping of the mode register | 28 ; [31:27] matches the logical mapping of the mode register |
29 ; address (0xb0....), and bits [9:2] of operand 1 matches the | 29 ; address (0xb0....), and bits [9:2] of operand 1 matches the |
40 ; libraries such as glibc, since there's no user-space | 40 ; libraries such as glibc, since there's no user-space |
41 ; driver-like program that gets a mapping of I/O registers (all | 41 ; driver-like program that gets a mapping of I/O registers (all |
42 ; on the same page, including the TLB registers). | 42 ; on the same page, including the TLB registers). |
43 mmul-bug-workaround | 43 mmul-bug-workaround |
44 Target Report Mask(MUL_BUG) | 44 Target Report Mask(MUL_BUG) |
45 Work around bug in multiplication instruction | 45 Work around bug in multiplication instruction. |
46 | 46 |
47 ; TARGET_ETRAX4_ADD: Instruction-set additions from Etrax 4 and up. | 47 ; TARGET_ETRAX4_ADD: Instruction-set additions from Etrax 4 and up. |
48 ; (Just "lz".) | 48 ; (Just "lz".) |
49 metrax4 | 49 metrax4 |
50 Target Report Mask(ETRAX4_ADD) | 50 Target Report Mask(ETRAX4_ADD) |
51 Compile for ETRAX 4 (CRIS v3) | 51 Compile for ETRAX 4 (CRIS v3). |
52 | 52 |
53 ; See cris_handle_option. | 53 ; See cris_handle_option. |
54 metrax100 | 54 metrax100 |
55 Target Report RejectNegative | 55 Target Report RejectNegative |
56 Compile for ETRAX 100 (CRIS v8) | 56 Compile for ETRAX 100 (CRIS v8). |
57 | 57 |
58 ; See cris_handle_option. | 58 ; See cris_handle_option. |
59 mno-etrax100 | 59 mno-etrax100 |
60 Target Report RejectNegative Undocumented | 60 Target Report RejectNegative Undocumented |
61 | 61 |
62 mpdebug | 62 mpdebug |
63 Target Report Mask(PDEBUG) | 63 Target Report Mask(PDEBUG) |
64 Emit verbose debug information in assembly code | 64 Emit verbose debug information in assembly code. |
65 | 65 |
66 ; TARGET_CCINIT: Whether to use condition-codes generated by | 66 ; TARGET_CCINIT: Whether to use condition-codes generated by |
67 ; insns other than the immediately preceding compare/test insn. | 67 ; insns other than the immediately preceding compare/test insn. |
68 ; Used to check for errors in notice_update_cc. | 68 ; Used to check for errors in notice_update_cc. |
69 mcc-init | 69 mcc-init |
70 Target Report Mask(CCINIT) | 70 Target Report Mask(CCINIT) |
71 Do not use condition codes from normal instructions | 71 Do not use condition codes from normal instructions. |
72 | 72 |
73 ; TARGET_SIDE_EFFECT_PREFIXES: Whether to use side-effect | 73 ; TARGET_SIDE_EFFECT_PREFIXES: Whether to use side-effect |
74 ; patterns. Used to debug the [rx=ry+i] type patterns. | 74 ; patterns. Used to debug the [rx=ry+i] type patterns. |
75 mside-effects | 75 mside-effects |
76 Target Report RejectNegative Mask(SIDE_EFFECT_PREFIXES) Undocumented | 76 Target Report RejectNegative Mask(SIDE_EFFECT_PREFIXES) Undocumented |
77 | 77 |
78 mno-side-effects | 78 mno-side-effects |
79 Target Report RejectNegative InverseMask(SIDE_EFFECT_PREFIXES) | 79 Target Report RejectNegative InverseMask(SIDE_EFFECT_PREFIXES) |
80 Do not emit addressing modes with side-effect assignment | 80 Do not emit addressing modes with side-effect assignment. |
81 | 81 |
82 ; TARGET_STACK_ALIGN: Whether to *keep* (not force) alignment of | 82 ; TARGET_STACK_ALIGN: Whether to *keep* (not force) alignment of |
83 ; stack at 16 (or 32, depending on TARGET_ALIGN_BY_32) bits. | 83 ; stack at 16 (or 32, depending on TARGET_ALIGN_BY_32) bits. |
84 mstack-align | 84 mstack-align |
85 Target Report RejectNegative Mask(STACK_ALIGN) Undocumented | 85 Target Report RejectNegative Mask(STACK_ALIGN) Undocumented |
86 | 86 |
87 mno-stack-align | 87 mno-stack-align |
88 Target Report RejectNegative InverseMask(STACK_ALIGN) | 88 Target Report RejectNegative InverseMask(STACK_ALIGN) |
89 Do not tune stack alignment | 89 Do not tune stack alignment. |
90 | 90 |
91 ; TARGET_DATA_ALIGN: Whether to do alignment on individual | 91 ; TARGET_DATA_ALIGN: Whether to do alignment on individual |
92 ; modifiable objects. | 92 ; modifiable objects. |
93 mdata-align | 93 mdata-align |
94 Target Report RejectNegative Mask(DATA_ALIGN) Undocumented | 94 Target Report RejectNegative Mask(DATA_ALIGN) Undocumented |
95 | 95 |
96 mno-data-align | 96 mno-data-align |
97 Target Report RejectNegative InverseMask(DATA_ALIGN) | 97 Target Report RejectNegative InverseMask(DATA_ALIGN) |
98 Do not tune writable data alignment | 98 Do not tune writable data alignment. |
99 | 99 |
100 ; TARGET_CONST_ALIGN: Whether to do alignment on individual | 100 ; TARGET_CONST_ALIGN: Whether to do alignment on individual |
101 ; non-modifiable objects. | 101 ; non-modifiable objects. |
102 mconst-align | 102 mconst-align |
103 Target Report RejectNegative Mask(CONST_ALIGN) Undocumented | 103 Target Report RejectNegative Mask(CONST_ALIGN) Undocumented |
104 | 104 |
105 mno-const-align | 105 mno-const-align |
106 Target Report RejectNegative InverseMask(CONST_ALIGN) | 106 Target Report RejectNegative InverseMask(CONST_ALIGN) |
107 Do not tune code and read-only data alignment | 107 Do not tune code and read-only data alignment. |
108 | 108 |
109 ; See cris_handle_option. | 109 ; See cris_handle_option. |
110 m32-bit | 110 m32-bit |
111 Target Report RejectNegative Undocumented | 111 Target Report RejectNegative Undocumented |
112 | 112 |
113 ; See cris_handle_option. | 113 ; See cris_handle_option. |
114 m32bit | 114 m32bit |
115 Target Report RejectNegative | 115 Target Report RejectNegative |
116 Align code and data to 32 bits | 116 Align code and data to 32 bits. |
117 | 117 |
118 ; See cris_handle_option. | 118 ; See cris_handle_option. |
119 m16-bit | 119 m16-bit |
120 Target Report RejectNegative Undocumented | 120 Target Report RejectNegative Undocumented |
121 | 121 |
128 Target Report RejectNegative Undocumented | 128 Target Report RejectNegative Undocumented |
129 | 129 |
130 ; See cris_handle_option. | 130 ; See cris_handle_option. |
131 m8bit | 131 m8bit |
132 Target Report RejectNegative | 132 Target Report RejectNegative |
133 Don't align items in code or data | 133 Don't align items in code or data. |
134 | 134 |
135 ; TARGET_PROLOGUE_EPILOGUE: Whether or not to omit function | 135 ; TARGET_PROLOGUE_EPILOGUE: Whether or not to omit function |
136 ; prologue and epilogue. | 136 ; prologue and epilogue. |
137 mprologue-epilogue | 137 mprologue-epilogue |
138 Target Report RejectNegative Mask(PROLOGUE_EPILOGUE) Undocumented | 138 Target Report RejectNegative Mask(PROLOGUE_EPILOGUE) Undocumented |
139 | 139 |
140 mno-prologue-epilogue | 140 mno-prologue-epilogue |
141 Target Report RejectNegative InverseMask(PROLOGUE_EPILOGUE) | 141 Target Report RejectNegative InverseMask(PROLOGUE_EPILOGUE) |
142 Do not emit function prologue or epilogue | 142 Do not emit function prologue or epilogue. |
143 | 143 |
144 ; We have to handle this m-option here since we can't wash it | 144 ; We have to handle this m-option here since we can't wash it |
145 ; off in both CC1_SPEC and CC1PLUS_SPEC. | 145 ; off in both CC1_SPEC and CC1PLUS_SPEC. |
146 | 146 |
147 mbest-lib-options | 147 mbest-lib-options |
148 Target Report RejectNegative | 148 Target Report RejectNegative |
149 Use the most feature-enabling options allowed by other options | 149 Use the most feature-enabling options allowed by other options. |
150 | 150 |
151 ; FIXME: The following comment relates to gcc before cris.opt. | 151 ; FIXME: The following comment relates to gcc before cris.opt. |
152 ; Check it it's still valid: | 152 ; Check if it's still valid: |
153 ; We must call it "override-" since calling it "no-" will cause | 153 ; We must call it "override-" since calling it "no-" will cause |
154 ; gcc.c to forget it, if there's a "later" -mbest-lib-options. | 154 ; gcc.c to forget it, if there's a "later" -mbest-lib-options. |
155 ; Kludgy, but needed for some multilibbed files. | 155 ; Kludgy, but needed for some multilibbed files. |
156 moverride-best-lib-options | 156 moverride-best-lib-options |
157 Target Report RejectNegative | 157 Target Report RejectNegative |
158 Override -mbest-lib-options | 158 Override -mbest-lib-options. |
159 | 159 |
160 mcpu= | 160 mcpu= |
161 Target Report RejectNegative Joined Undocumented Var(cris_cpu_str) | 161 Target Report RejectNegative Joined Undocumented Var(cris_cpu_str) |
162 | 162 |
163 march= | 163 march= |
164 Target Report RejectNegative Joined Var(cris_cpu_str) | 164 Target Report RejectNegative Joined Var(cris_cpu_str) |
165 -march=ARCH Generate code for the specified chip or CPU version | 165 -march=ARCH Generate code for the specified chip or CPU version. |
166 | 166 |
167 mtune= | 167 mtune= |
168 Target Report RejectNegative Joined Var(cris_tune_str) | 168 Target Report RejectNegative Joined Var(cris_tune_str) |
169 -mtune=ARCH Tune alignment for the specified chip or CPU version | 169 -mtune=ARCH Tune alignment for the specified chip or CPU version. |
170 | 170 |
171 mmax-stackframe= | 171 mmax-stackframe= |
172 Target Report RejectNegative Joined Var(cris_max_stackframe_str) | 172 Target Report RejectNegative Joined Var(cris_max_stackframe_str) |
173 -mmax-stackframe=SIZE Warn when a stackframe is larger than the specified size | 173 -mmax-stackframe=SIZE Warn when a stackframe is larger than the specified size. |
174 | 174 |
175 max-stackframe= | 175 max-stackframe= |
176 Target Report RejectNegative Joined Undocumented Var(cris_max_stackframe_str) | 176 Target Report RejectNegative Joined Undocumented Var(cris_max_stackframe_str) |
177 | |
178 mtrap-using-break8 | |
179 Target Report Var(cris_trap_using_break8) Init(2) | |
180 Emit traps as \"break 8\", default for CRIS v3 and up. If disabled, calls to abort() are used. | |
181 | |
182 mtrap-unaligned-atomic | |
183 Target Report Var(cris_trap_unaligned_atomic) Init(2) | |
184 Emit checks causing \"break 8\" instructions to execute when applying atomic builtins on misaligned memory. | |
185 | |
186 munaligned-atomic-may-use-library | |
187 Target Report Var(cris_atomics_calling_libfunc) Init(2) | |
188 Handle atomic builtins that may be applied to unaligned data by calling library functions. Overrides -mtrap-unaligned-atomic. | |
177 | 189 |
178 ; TARGET_SVINTO: Currently this just affects alignment. FIXME: | 190 ; TARGET_SVINTO: Currently this just affects alignment. FIXME: |
179 ; Redundant with TARGET_ALIGN_BY_32, or put machine stuff here? | 191 ; Redundant with TARGET_ALIGN_BY_32, or put machine stuff here? |
180 ; This and the others below could just as well be variables and | 192 ; This and the others below could just as well be variables and |
181 ; TARGET_* defines in cris.h. | 193 ; TARGET_* defines in cris.h. |