[NDS32] Add -mcmodel= option to support different code model.

* config/nds32/nds32.opt (mcmodel): Add new option.
	* config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
	to describe code model.

From-SVN: r219509
This commit is contained in:
Chung-Ju Wu 2015-01-13 05:17:54 +00:00 committed by Chung-Ju Wu
parent d9a5f0cc4f
commit fe4c07dc48
3 changed files with 31 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
* config/nds32/nds32.opt (mcmodel): Add new option.
* config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
to describe code model.
2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
PR target/64479

View File

@ -32,4 +32,12 @@ enum nds32_arch_type
ARCH_V3M
};
/* The code model defines the address generation strategy. */
enum nds32_cmodel_type
{
CMODEL_SMALL,
CMODEL_MEDIUM,
CMODEL_LARGE
};
#endif

View File

@ -82,6 +82,23 @@ Enum(nds32_arch_type) String(v3) Value(ARCH_V3)
EnumValue
Enum(nds32_arch_type) String(v3m) Value(ARCH_V3M)
mcmodel=
Target RejectNegative Joined Enum(nds32_cmodel_type) Var(nds32_cmodel_option) Init(CMODEL_MEDIUM)
Specify the address generation strategy for code model.
Enum
Name(nds32_cmodel_type) Type(enum nds32_cmodel_type)
Known cmodel types (for use with the -mcmodel= option):
EnumValue
Enum(nds32_cmodel_type) String(small) Value(CMODEL_SMALL)
EnumValue
Enum(nds32_cmodel_type) String(medium) Value(CMODEL_MEDIUM)
EnumValue
Enum(nds32_cmodel_type) String(large) Value(CMODEL_LARGE)
mforce-fp-as-gp
Target Report Mask(FORCE_FP_AS_GP)
Prevent $fp being allocated during register allocation so that compiler is able to force performing fp-as-gp optimization.