cris.opt
来自「linux下编程用 编译软件」· OPT 代码 · 共 192 行
OPT
192 行
; Options for the CRIS port of the compiler.; Copyright (C) 2005 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; version.;; GCC is distributed in the hope that it will be useful, but WITHOUT ANY; WARRANTY; without even the implied warranty of MERCHANTABILITY or; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License; 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.; 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; 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; [31:27] matches the logical mapping of the mode register; address (0xb0....), and bits [9:2] of operand 1 matches the; TLB register address (0x258-0x25f). There is such a mapping; in kernel mode or when the MMU is off. Normally there is no; such mapping in user mode, and the problem will therefore; probably not occur in Linux user mode programs.";; We have no sure-fire way to know from within GCC that we're; compiling a user program. For example, -fpic/PIC is used in; libgcc which is linked into the kernel. However, the; workaround option -mno-mul-bug can be safely used per-package; when compiling programs. The same goes for general user-only; libraries such as glibc, since there's no user-space; driver-like program that gets a mapping of I/O registers (all; on the same page, including the TLB registers).mmul-bug-workaroundTarget Report Mask(MUL_BUG)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).metrax4Target Report Mask(ETRAX4_ADD)Compile for ETRAX 4 (CRIS v3); See cris_handle_option.metrax100Target Report RejectNegativeCompile for ETRAX 100 (CRIS v8); See cris_handle_option.mno-etrax100Target Report RejectNegative UndocumentedmpdebugTarget Report Mask(PDEBUG)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-initTarget Report Mask(CCINIT)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.mside-effectsTarget Report RejectNegative Mask(SIDE_EFFECT_PREFIXES) Undocumentedmno-side-effectsTarget Report RejectNegative InverseMask(SIDE_EFFECT_PREFIXES)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.mstack-alignTarget Report RejectNegative Mask(STACK_ALIGN) Undocumentedmno-stack-alignTarget Report RejectNegative InverseMask(STACK_ALIGN)Do not tune stack alignment; TARGET_DATA_ALIGN: Whether to do alignment on individual; modifiable objects.mdata-alignTarget Report RejectNegative Mask(DATA_ALIGN) Undocumentedmno-data-alignTarget Report RejectNegative InverseMask(DATA_ALIGN)Do not tune writable data alignment; TARGET_CONST_ALIGN: Whether to do alignment on individual; non-modifiable objects.mconst-alignTarget Report RejectNegative Mask(CONST_ALIGN) Undocumentedmno-const-alignTarget Report RejectNegative InverseMask(CONST_ALIGN)Do not tune code and read-only data alignment; See cris_handle_option.m32-bitTarget Report RejectNegative Undocumented; See cris_handle_option.m32bitTarget Report RejectNegativeAlign code and data to 32 bits; See cris_handle_option.m16-bitTarget Report RejectNegative Undocumented; See cris_handle_option.m16bitTarget Report RejectNegative Undocumented; See cris_handle_option.m8-bitTarget Report RejectNegative Undocumented; See cris_handle_option.m8bitTarget Report RejectNegativeDon't align items in code or data; TARGET_PROLOGUE_EPILOGUE: Whether or not to omit function; prologue and epilogue.mprologue-epilogueTarget Report RejectNegative Mask(PROLOGUE_EPILOGUE) Undocumentedmno-prologue-epilogueTarget Report RejectNegative InverseMask(PROLOGUE_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-optionsTarget Report RejectNegativeUse 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:; 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-optionsTarget Report RejectNegativeOverride -mbest-lib-optionsmcpu=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 versionmtune=Target Report RejectNegative Joined Var(cris_tune_str)-mtune=ARCH Tune alignment for the specified chip or CPU versionmmax-stackframe=Target Report RejectNegative Joined Var(cris_max_stackframe_str)-mmax-stackframe=SIZE Warn when a stackframe is larger than the specified sizemax-stackframe=Target Report RejectNegative Joined Undocumented Var(cris_max_stackframe_str) VarExists; TARGET_SVINTO: Currently this just affects alignment. FIXME:; Redundant with TARGET_ALIGN_BY_32, or put machine stuff here?; This and the others below could just as well be variables and; TARGET_* defines in cris.h.Mask(SVINTO); TARGET_ALIGN_BY_32: Say that all alignment specifications say; to prefer 32 rather than 16 bits.Mask(ALIGN_BY_32); TARGET_AVOID_GOTPLT is referred to in the .c and the .md so we; need to allocate the flag and macros here.Mask(AVOID_GOTPLT)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?