[NDS32] Remove -mgp-direct/-mno-gp-direct options.
authorChung-Ju Wu <jasonwucj@gmail.com>
Tue, 13 Jan 2015 05:22:25 +0000 (05:22 +0000)
committerChung-Ju Wu <jasonwucj@gcc.gnu.org>
Tue, 13 Jan 2015 05:22:25 +0000 (05:22 +0000)
gcc/
* common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
Remove MASK_GP_DIRECT flag.
* config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
one of the multilib default options.
* config/nds32/nds32.opt (mgp-direct): Remove.
* config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
-mgp-direct.  We also remove unnecessary -mlittle-endian/-mbig-endian.

From-SVN: r219510

gcc/ChangeLog
gcc/common/config/nds32/nds32-common.c
gcc/config/nds32/nds32.h
gcc/config/nds32/nds32.opt
gcc/config/nds32/t-mlibs

index c585d0d518b2967a70e38d5d2a2faf088137a1d3..cff776fb2cc6497c5ab3adf3f504865fe591a39a 100644 (file)
@@ -1,3 +1,13 @@
+2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+       * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
+       Remove MASK_GP_DIRECT flag.
+       * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
+       one of the multilib default options.
+       * config/nds32/nds32.opt (mgp-direct): Remove.
+       * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
+       -mgp-direct.  We also remove unnecessary -mlittle-endian/-mbig-endian.
+
 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
 
        * config/nds32/nds32.opt (mcmodel): Add new option.
index a478e6c0a84333f353eeb0240f79323759ed43f7..a633ed7972d533ffe159a7d3a2f5101cc018f47d 100644 (file)
@@ -95,14 +95,12 @@ static const struct default_options nds32_option_optimization_table[] =
 
    Other MASK_XXX flags are set individually.
    By default we enable
-     TARGET_GP_DIRECT: Generate gp-imply instruction.
      TARGET_16_BIT   : Generate 16/32 bit mixed length instruction.
      TARGET_PERF_EXT : Generate performance extention instrcution.
      TARGET_CMOV     : Generate conditional move instruction.  */
 #undef TARGET_DEFAULT_TARGET_FLAGS
 #define TARGET_DEFAULT_TARGET_FLAGS            \
   (TARGET_CPU_DEFAULT                          \
-   | MASK_GP_DIRECT                            \
    | MASK_16_BIT                               \
    | MASK_PERF_EXT                             \
    | MASK_CMOV)
index 7c38f7f7b35015f8032a08ccc1f20e0459f78800..d9a55adff480f420dbd22ba6229c3a1eec664b85 100644 (file)
@@ -391,17 +391,22 @@ enum nds32_builtins
 #define ENDFILE_SPEC \
   " %{!mno-ctor-dtor:crtend1.o%s}"
 
-/* The TARGET_BIG_ENDIAN_DEFAULT is defined if we configure gcc
-   with --target=nds32be-* setting.
-   Check gcc/config.gcc for more information.
-   In addition, currently we only have elf toolchain,
-   where mgp-direct is always the default.  */
+/* The TARGET_BIG_ENDIAN_DEFAULT is defined if we
+   configure gcc with --target=nds32be-* setting.
+   Check gcc/config.gcc for more information.  */
 #ifdef TARGET_BIG_ENDIAN_DEFAULT
-#define MULTILIB_DEFAULTS { "mbig-endian", "mgp-direct" }
+#  define NDS32_ENDIAN_DEFAULT "mbig-endian"
 #else
-#define MULTILIB_DEFAULTS { "mlittle-endian", "mgp-direct" }
+#  define NDS32_ENDIAN_DEFAULT "mlittle-endian"
 #endif
 
+/* Currently we only have elf toolchain,
+   where -mcmodel=medium is always the default.  */
+#define NDS32_CMODEL_DEFAULT "mcmodel=medium"
+
+#define MULTILIB_DEFAULTS \
+  { NDS32_ENDIAN_DEFAULT, NDS32_CMODEL_DEFAULT }
+
 \f
 /* Run-time Target Specification.  */
 
index 346c9c073f1b41cf771aaa4cb937168f4eadefc7..fa8a6cea6fa2ff8dbeead3bb2bb42b0930609eea 100644 (file)
@@ -53,10 +53,6 @@ m16-bit
 Target Report Mask(16_BIT)
 Generate 16-bit instructions.
 
-mgp-direct
-Target Report Mask(GP_DIRECT)
-Generate GP base instructions directly.
-
 misr-vector-size=
 Target RejectNegative Joined UInteger Var(nds32_isr_vector_size) Init(NDS32_DEFAULT_ISR_VECTOR_SIZE)
 Specify the size of each interrupt vector, which must be 4 or 16.
index dd70205e123c98a0e67257a5c3dc3829044ba461..d9e5ba4b952a1fbb265dda867d68e00549de7d17 100644 (file)
 # along with GCC; see the file COPYING3.  If not see
 # <http://www.gnu.org/licenses/>.
 
-# We need to build following multilibs combinations:
-#
-#   1. <None multilibs>
-#   2. -mlittle-endian
-#   3. -mbig-endian
-#   4. -mgp-direct
-#   5. -mno-gp-direct
-#   6. -mlittle-endian -mgp-direct
-#   7. -mlittle-endian -mno-gp-direct
-#   8. -mbig-endian -mgp-direct
-#   9. -mbig-endian -mno-gp-direct
-#
 # We also define a macro MULTILIB_DEFAULTS in nds32.h that tells the
 # driver program which options are defaults for this target and thus
 # do not need to be handled specially.
-MULTILIB_OPTIONS = mlittle-endian/mbig-endian mgp-direct/mno-gp-direct
+MULTILIB_OPTIONS = mcmodel=small/mcmodel=medium/mcmodel=large
 
 # ------------------------------------------------------------------------