URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [config/] [epiphany/] [epiphany.opt] - Rev 709
Compare with Previous | Blame | View Log
; Options for the Adapteva EPIPHANY port of the compiler;; Copyright (C) 2005, 2007, 2009, 2011 Free Software Foundation, Inc.; Contributed by Embecosm on behalf of Adapteva, 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 3, 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 COPYING3. If not see; <http://www.gnu.org/licenses/>.mhalf-reg-fileTarget Mask(HALF_REG_FILE)Don't use any of r32..r63.mprefer-short-insn-regsTarget Mask(PREFER_SHORT_INSN_REGS)preferentially allocate registers that allow short instruction generation.mbranch-cost=Target RejectNegative Joined UInteger Var(epiphany_branch_cost) Init(3)Set branch costmcmoveTarget Mask(CMOVE)enable conditional move instruction usage.mnops=Target RejectNegative Joined UInteger Var(epiphany_n_nops) Init(0)set number of nops to emit before each insn pattern; Problems with using the flags from fsub for comparison are:; - Because of underflow (lack of subnormal numbers), different small numbers; can compare as equal.; - the set of comparisons is limited, and reversing comparisons doesn't work; in the presence of NaNs.; The latter problem might be tolerated with -ffinite-math-only , but nothing; in -funsafe-math-optimizations says different small numbers may be considered; equal.msoft-cmpsfTarget Mask(SOFT_CMPSF)Use software floating point comparisonsmsplit-lohiTarget Mask(SPLIT_LOHI)Enable split of 32 bit immediate loads into low / high partmpost-incTarget Mask(POST_INC)Enable use of POST_INC / POST_DECmpost-modifyTarget Mask(POST_MODIFY)Enable use of POST_MODIFYmstack-offset=Target RejectNegative Joined UInteger Var(epiphany_stack_offset) Init(EPIPHANY_STACK_OFFSET)Set number of bytes on the stack preallocated for use by the callee.mround-nearesttarget Mask(ROUND_NEAREST)Assume round to nearest is selected for purposes of scheduling.mlong-callsTarget Mask(LONG_CALLS)Generate call insns as indirect callsmshort-callsTarget Mask(SHORT_CALLS)Generate call insns as direct callsmsmall16Target Mask(SMALL16)Assume labels and symbols can be addressed using 16 bit absolute addresses.mfp-mode=Target RejectNegative Joined Var(epiphany_normal_fp_mode) Enum(attr_fp_mode) Init(FP_MODE_CALLER); The values are from enum attr_fp_mode, but using that enum would bring; problems with enum forward declarations.EnumName(attr_fp_mode) Type(int)EnumValueEnum(attr_fp_mode) String(caller) Value(FP_MODE_CALLER)EnumValueEnum(attr_fp_mode) String(round-nearest) Value(FP_MODE_ROUND_NEAREST)EnumValueEnum(attr_fp_mode) String(truncate) Value(FP_MODE_ROUND_TRUNC)EnumValueEnum(attr_fp_mode) String(int) Value(FP_MODE_INT)mvect-doubleTarget Mask(VECT_DOUBLE)Vectorize for double-word operations.max-vect-align=Target RejectNegative Joined Var(epiphany_vect_align) Enum(vect_align) Init(8)EnumName(vect_align) Type(int)EnumValueEnum(vect_align) String(4) Value(4)EnumValueEnum(vect_align) String(8) Value(8)msplit-vecmove-earlyTarget Mask(SPLIT_VECMOVE_EARLY)Split unaligned 8 byte vector moves before post-modify address generation.m1reg-Target RejectNegative Joined Var(epiphany_m1reg) Enum(m1reg) Init(-1)Set register to hold -1.EnumName(m1reg) Type(int)EnumValueEnum(m1reg) String(none) Value(-1)EnumValueEnum(m1reg) String(r43) Value(43)EnumValueEnum(m1reg) String(r63) Value(63)
