[NDS32] Add -march=v3j.
authorChung-Ju Wu <jasonwucj@gmail.com>
Sun, 3 Jun 2018 03:26:56 +0000 (03:26 +0000)
committerChung-Ju Wu <jasonwucj@gcc.gnu.org>
Sun, 3 Jun 2018 03:26:56 +0000 (03:26 +0000)
gcc/
* config/nds32/nds32-opts.h (nds32_arch_type): Add ARCH_V3J.
* config/nds32/nds32.c (nds32_option_override): Consider ARCH_V3J.
* config/nds32/nds32.h (TARGET_ISA_V3): Add ARCH_V3J checking.
* config/nds32/nds32.opt (march): Add enum value Value(ARCH_V3J).

From-SVN: r261123

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

index 18f539dfa13a339fa2459996ce0ee24d9f8ade9f..1e80862db4b29f8a99531edadb92b0d89d91b43e 100644 (file)
@@ -1,3 +1,10 @@
+2018-06-03  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+       * config/nds32/nds32-opts.h (nds32_arch_type): Add ARCH_V3J.
+       * config/nds32/nds32.c (nds32_option_override): Consider ARCH_V3J.
+       * config/nds32/nds32.h (TARGET_ISA_V3): Add ARCH_V3J checking.
+       * config/nds32/nds32.opt (march): Add enum value Value(ARCH_V3J).
+
 2018-06-03  Chung-Ju Wu  <jasonwucj@gmail.com>
 
        * common/config/nds32/nds32-common.c (nds32_option_optimization_table):
index e75e75f433282d56263186692dc059aebf002542..8d761964439345dba68ee44bc05f526e2cdee3bb 100644 (file)
@@ -29,6 +29,7 @@ enum nds32_arch_type
 {
   ARCH_V2,
   ARCH_V3,
+  ARCH_V3J,
   ARCH_V3M,
   ARCH_V3F,
   ARCH_V3S
index a0b6443e5d21930874fd69f64511bce3a07b28eb..85a29865c7a31e29e6e0a56e69608ae9d83329c8 100644 (file)
@@ -4087,7 +4087,9 @@ nds32_option_override (void)
     }
   if (TARGET_ISA_V3)
     {
-      /* Under V3 ISA, currently nothing should be strictly set.  */
+      /* If this is ARCH_V3J, we need to enable TARGET_REDUCED_REGS.  */
+      if (nds32_arch_option == ARCH_V3J)
+       target_flags |= MASK_REDUCED_REGS;
     }
   if (TARGET_ISA_V3M)
     {
index 84fae7d09dfaf82f86741fa0d800abfb5c188796..9e36c8f2facfc4e8890412e731ed8aa0d99733ad 100644 (file)
@@ -853,6 +853,7 @@ enum nds32_builtins
 
 #define TARGET_ISA_V3 \
   (nds32_arch_option == ARCH_V3 \
+   || nds32_arch_option == ARCH_V3J \
    || nds32_arch_option == ARCH_V3F \
    || nds32_arch_option == ARCH_V3S)
 #define TARGET_ISA_V3M  (nds32_arch_option == ARCH_V3M)
index 871ae1e07ca84c6e991aae63eae71cccb3032686..a9ffae1ea6c794ca51579333bc0e779c4ebf5f8c 100644 (file)
@@ -176,6 +176,9 @@ Enum(nds32_arch_type) String(v2) Value(ARCH_V2)
 EnumValue
 Enum(nds32_arch_type) String(v3) Value(ARCH_V3)
 
+EnumValue
+Enum(nds32_arch_type) String(v3j) Value(ARCH_V3J)
+
 EnumValue
 Enum(nds32_arch_type) String(v3m) Value(ARCH_V3M)