; Options for the CRIS port of the compiler.
-; Copyright (C) 2005 Free Software Foundation, Inc.
+; Copyright (C) 2005-2017 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
; GCC is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License as published by the Free
-; Software Foundation; either version 2, or (at your option) any later
+; Software Foundation; either version 3, or (at your option) any later
; version.
;
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
; for more details.
;
; You should have received a copy of the GNU General Public License
-; along with GCC; see the file COPYING. If not, write to the Free
-; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-; 02110-1301, USA.
+; along with GCC; see the file COPYING3. If not see
+; <http://www.gnu.org/licenses/>.
; TARGET_MUL_BUG: Whether or not to work around multiplication
; instruction hardware bug when generating code for models where
; it may be present. From the trouble report for Etrax 100 LX:
-; "A multiply operation may cause incorrect cache behaviour
+; "A multiply operation may cause incorrect cache behavior
; under some specific circumstances. The problem can occur if
; the instruction following the multiply instruction causes a
; cache miss, and multiply operand 1 (source operand) bits
; on the same page, including the TLB registers).
mmul-bug-workaround
Target Report Mask(MUL_BUG)
-Work around bug in multiplication instruction
+Work around bug in multiplication instruction.
; TARGET_ETRAX4_ADD: Instruction-set additions from Etrax 4 and up.
-; (Just "lz", which we don't really generate from GCC -- yet).
+; (Just "lz".)
metrax4
Target Report Mask(ETRAX4_ADD)
-Compile for ETRAX 4 (CRIS v3)
+Compile for ETRAX 4 (CRIS v3).
; See cris_handle_option.
metrax100
Target Report RejectNegative
-Compile for ETRAX 100 (CRIS v8)
+Compile for ETRAX 100 (CRIS v8).
; See cris_handle_option.
mno-etrax100
mpdebug
Target Report Mask(PDEBUG)
-Emit verbose debug information in assembly code
+Emit verbose debug information in assembly code.
; TARGET_CCINIT: Whether to use condition-codes generated by
; insns other than the immediately preceding compare/test insn.
; Used to check for errors in notice_update_cc.
mcc-init
Target Report Mask(CCINIT)
-Do not use condition codes from normal instructions
+Do not use condition codes from normal instructions.
; TARGET_SIDE_EFFECT_PREFIXES: Whether to use side-effect
; patterns. Used to debug the [rx=ry+i] type patterns.
mno-side-effects
Target Report RejectNegative InverseMask(SIDE_EFFECT_PREFIXES)
-Do not emit addressing modes with side-effect assignment
+Do not emit addressing modes with side-effect assignment.
; TARGET_STACK_ALIGN: Whether to *keep* (not force) alignment of
; stack at 16 (or 32, depending on TARGET_ALIGN_BY_32) bits.
mno-stack-align
Target Report RejectNegative InverseMask(STACK_ALIGN)
-Do not tune stack alignment
+Do not tune stack alignment.
; TARGET_DATA_ALIGN: Whether to do alignment on individual
; modifiable objects.
mno-data-align
Target Report RejectNegative InverseMask(DATA_ALIGN)
-Do not tune writable data alignment
+Do not tune writable data alignment.
; TARGET_CONST_ALIGN: Whether to do alignment on individual
; non-modifiable objects.
mno-const-align
Target Report RejectNegative InverseMask(CONST_ALIGN)
-Do not tune code and read-only data alignment
+Do not tune code and read-only data alignment.
; See cris_handle_option.
m32-bit
; See cris_handle_option.
m32bit
Target Report RejectNegative
-Align code and data to 32 bits
+Align code and data to 32 bits.
; See cris_handle_option.
m16-bit
; See cris_handle_option.
m8bit
Target Report RejectNegative
-Don't align items in code or data
+Don't align items in code or data.
; TARGET_PROLOGUE_EPILOGUE: Whether or not to omit function
; prologue and epilogue.
mno-prologue-epilogue
Target Report RejectNegative InverseMask(PROLOGUE_EPILOGUE)
-Do not emit function prologue or epilogue
+Do not emit function prologue or epilogue.
; We have to handle this m-option here since we can't wash it
; off in both CC1_SPEC and CC1PLUS_SPEC.
mbest-lib-options
Target Report RejectNegative
-Use the most feature-enabling options allowed by other options
+Use the most feature-enabling options allowed by other options.
; FIXME: The following comment relates to gcc before cris.opt.
-; Check it it's still valid:
+; Check if it's still valid:
; We must call it "override-" since calling it "no-" will cause
; gcc.c to forget it, if there's a "later" -mbest-lib-options.
; Kludgy, but needed for some multilibbed files.
moverride-best-lib-options
Target Report RejectNegative
-Override -mbest-lib-options
+Override -mbest-lib-options.
mcpu=
Target Report RejectNegative Joined Undocumented Var(cris_cpu_str)
march=
-Target Report RejectNegative Joined Var(cris_cpu_str) VarExists
--march=ARCH Generate code for the specified chip or CPU version
+Target Report RejectNegative Joined Var(cris_cpu_str)
+-march=ARCH Generate code for the specified chip or CPU version.
mtune=
Target Report RejectNegative Joined Var(cris_tune_str)
--mtune=ARCH Tune alignment for the specified chip or CPU version
+-mtune=ARCH Tune alignment for the specified chip or CPU version.
mmax-stackframe=
Target Report RejectNegative Joined Var(cris_max_stackframe_str)
--mmax-stackframe=SIZE Warn when a stackframe is larger than the specified size
+-mmax-stackframe=SIZE Warn when a stackframe is larger than the specified size.
max-stackframe=
-Target Report RejectNegative Joined Undocumented Var(cris_max_stackframe_str) VarExists
+Target Report RejectNegative Joined Undocumented Var(cris_max_stackframe_str)
+
+mtrap-using-break8
+Target Report Var(cris_trap_using_break8) Init(2)
+Emit traps as \"break 8\", default for CRIS v3 and up. If disabled, calls to abort() are used.
+
+mtrap-unaligned-atomic
+Target Report Var(cris_trap_unaligned_atomic) Init(2)
+Emit checks causing \"break 8\" instructions to execute when applying atomic builtins on misaligned memory.
+
+munaligned-atomic-may-use-library
+Target Report Var(cris_atomics_calling_libfunc) Init(2)
+Handle atomic builtins that may be applied to unaligned data by calling library functions. Overrides -mtrap-unaligned-atomic.
; TARGET_SVINTO: Currently this just affects alignment. FIXME:
; Redundant with TARGET_ALIGN_BY_32, or put machine stuff here?