[NDS32] Add -mcmodel= option to support different code model.
authorChung-Ju Wu <jasonwucj@gmail.com>
Tue, 13 Jan 2015 05:17:54 +0000 (05:17 +0000)
committerChung-Ju Wu <jasonwucj@gcc.gnu.org>
Tue, 13 Jan 2015 05:17:54 +0000 (05:17 +0000)
* 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

gcc/ChangeLog
gcc/config/nds32/nds32-opts.h
gcc/config/nds32/nds32.opt

index 8b86f54573de622cee096525915f33e3f352fe87..c585d0d518b2967a70e38d5d2a2faf088137a1d3 100644 (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
index 3f244874621ad43eaf3ea033888515a03ad28671..1aa0d31dff45c11f1362ddc5351981244b89e955 100644 (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
index 53928b57efc3531cebc9c40d441556b5bc0f0a4e..346c9c073f1b41cf771aaa4cb937168f4eadefc7 100644 (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.