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.