diff options
author | Chung-Ju Wu <jasonwucj@gmail.com> | 2018-06-03 03:26:56 +0000 |
---|---|---|
committer | Chung-Ju Wu <jasonwucj@gcc.gnu.org> | 2018-06-03 03:26:56 +0000 |
commit | 37d8f61108e97d88d1422dd1e0efabef833b0f26 (patch) | |
tree | f6e118aaa69d8fb6176a6e49cda4f0aa4e43dc20 | |
parent | 1cc591084717fcabbdbddf79601fb8545ac111b6 (diff) | |
download | gcc-37d8f61108e97d88d1422dd1e0efabef833b0f26.tar.gz |
[NDS32] Add -march=v3j.
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
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/nds32/nds32-opts.h | 1 | ||||
-rw-r--r-- | gcc/config/nds32/nds32.c | 4 | ||||
-rw-r--r-- | gcc/config/nds32/nds32.h | 1 | ||||
-rw-r--r-- | gcc/config/nds32/nds32.opt | 3 |
5 files changed, 15 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 18f539dfa13..1e80862db4b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 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): Disable -fdelete-null-pointer-checks for ELF toolchain. diff --git a/gcc/config/nds32/nds32-opts.h b/gcc/config/nds32/nds32-opts.h index e75e75f4332..8d761964439 100644 --- a/gcc/config/nds32/nds32-opts.h +++ b/gcc/config/nds32/nds32-opts.h @@ -29,6 +29,7 @@ enum nds32_arch_type { ARCH_V2, ARCH_V3, + ARCH_V3J, ARCH_V3M, ARCH_V3F, ARCH_V3S diff --git a/gcc/config/nds32/nds32.c b/gcc/config/nds32/nds32.c index a0b6443e5d2..85a29865c7a 100644 --- a/gcc/config/nds32/nds32.c +++ b/gcc/config/nds32/nds32.c @@ -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) { diff --git a/gcc/config/nds32/nds32.h b/gcc/config/nds32/nds32.h index 84fae7d09df..9e36c8f2fac 100644 --- a/gcc/config/nds32/nds32.h +++ b/gcc/config/nds32/nds32.h @@ -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) diff --git a/gcc/config/nds32/nds32.opt b/gcc/config/nds32/nds32.opt index 871ae1e07ca..a9ffae1ea6c 100644 --- a/gcc/config/nds32/nds32.opt +++ b/gcc/config/nds32/nds32.opt @@ -177,6 +177,9 @@ 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) EnumValue |