PR target/56858
[official-gcc.git] / gcc / config / nds32 / nds32.opt
blob4974f3b867bfd05f537db70c5b87daf024f54d67
1 ; Options of Andes NDS32 cpu for GNU compiler
2 ; Copyright (C) 2012-2014 Free Software Foundation, Inc.
3 ; Contributed by Andes Technology Corporation.
5 ; This file is part of GCC.
7 ; GCC is free software; you can redistribute it and/or modify it
8 ; under the terms of the GNU General Public License as published
9 ; by the Free Software Foundation; either version 3, or (at your
10 ; option) any later version.
12 ; GCC is distributed in the hope that it will be useful, but WITHOUT
13 ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 ; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
15 ; License for more details.
17 ; You should have received a copy of the GNU General Public License
18 ; along with GCC; see the file COPYING3.  If not see
19 ; <http://www.gnu.org/licenses/>.
21 HeaderInclude
22 config/nds32/nds32-opts.h
24 mbig-endian
25 Target Report RejectNegative Negative(mlittle-endian) Mask(BIG_ENDIAN)
26 Generate code in big-endian mode.
28 mlittle-endian
29 Target Report RejectNegative Negative(mbig-endian) InverseMask(BIG_ENDIAN)
30 Generate code in little-endian mode.
32 mreduced-regs
33 Target Report RejectNegative Negative(mfull-regs) Mask(REDUCED_REGS)
34 Use reduced-set registers for register allocation.
36 mfull-regs
37 Target Report RejectNegative Negative(mreduced-regs) InverseMask(REDUCED_REGS)
38 Use full-set registers for register allocation.
40 mcmov
41 Target Report Mask(CMOV)
42 Generate conditional move instructions.
44 mperf-ext
45 Target Report Mask(PERF_EXT)
46 Generate performance extension instructions.
48 mv3push
49 Target Report Mask(V3PUSH)
50 Generate v3 push25/pop25 instructions.
52 m16-bit
53 Target Report Mask(16_BIT)
54 Generate 16-bit instructions.
56 mgp-direct
57 Target Report Mask(GP_DIRECT)
58 Generate GP base instructions directly.
60 misr-vector-size=
61 Target RejectNegative Joined UInteger Var(nds32_isr_vector_size) Init(NDS32_DEFAULT_ISR_VECTOR_SIZE)
62 Specify the size of each interrupt vector, which must be 4 or 16.
64 mcache-block-size=
65 Target RejectNegative Joined UInteger Var(nds32_cache_block_size) Init(NDS32_DEFAULT_CACHE_BLOCK_SIZE)
66 Specify the size of each cache block, which must be a power of 2 between 4 and 512.
68 march=
69 Target RejectNegative Joined Enum(nds32_arch_type) Var(nds32_arch_option) Init(ARCH_V3)
70 Specify the name of the target architecture.
72 Enum
73 Name(nds32_arch_type) Type(enum nds32_arch_type)
75 EnumValue
76 Enum(nds32_arch_type) String(v2) Value(ARCH_V2)
78 EnumValue
79 Enum(nds32_arch_type) String(v3) Value(ARCH_V3)
81 EnumValue
82 Enum(nds32_arch_type) String(v3m) Value(ARCH_V3M)
84 mforce-fp-as-gp
85 Target Report Mask(FORCE_FP_AS_GP)
86 Prevent $fp being allocated during register allocation so that compiler is able to force performing fp-as-gp optimization.
88 mforbid-fp-as-gp
89 Target Report Mask(FORBID_FP_AS_GP)
90 Forbid using $fp to access static and global variables.  This option strictly forbids fp-as-gp optimization regardless of '-mforce-fp-as-gp'.
92 mex9
93 Target Report Mask(EX9)
94 Use special directives to guide linker doing ex9 optimization.
96 mctor-dtor
97 Target Report
98 Enable constructor/destructor feature.
100 mrelax
101 Target Report
102 Guide linker to relax instructions.