From 7f3101c0a87f5be1dcf1811e8e54fb4b32cd2397 Mon Sep 17 00:00:00 2001 From: Kito Cheng Date: Mon, 26 Feb 2018 06:47:32 +0000 Subject: [PATCH] [NDS32] Basic support for -mcpu= and --with-cpu= options. gcc/ * config.gcc: Add --with-cpu support for nds32 target. * config/nds32/nds32-opts.h(nds32_cpu_type): New. * config/nds32/nds32.opt: Add -mcpu= option. From-SVN: r257982 --- gcc/ChangeLog | 6 ++++++ gcc/config.gcc | 15 ++++++++++++++- gcc/config/nds32/nds32-opts.h | 6 ++++++ gcc/config/nds32/nds32.opt | 11 +++++++++++ 4 files changed, 37 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 724c4761418..8f1920f1af7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2018-02-26 Kito Cheng + + * config.gcc: Add --with-cpu support for nds32 target. + * config/nds32/nds32-opts.h(nds32_cpu_type): New. + * config/nds32/nds32.opt: Add -mcpu= option. + 2018-02-25 Segher Boessenkool * config/rs6000/rs6000.opt (mvrsave=no, mvrsave=yes, isel=no, diff --git a/gcc/config.gcc b/gcc/config.gcc index c52fecf4221..7df17669114 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -4265,7 +4265,7 @@ case "${target}" in ;; nds32*-*-*) - supported_defaults="arch nds32_lib" + supported_defaults="arch cpu nds32_lib" # process --with-arch case "${with_arch}" in @@ -4278,6 +4278,19 @@ case "${target}" in ;; esac + case "${with_cpu}" in + "") + with_cpu=n9 + ;; + n9) + # OK + ;; + *) + echo "Cannot accept --with-cpu=$with_cpu, available values are: n9" 1>&2 + exit 1 + ;; + esac + # process --with-nds32-lib case "${with_nds32_lib}" in "") diff --git a/gcc/config/nds32/nds32-opts.h b/gcc/config/nds32/nds32-opts.h index 88441f2924e..77429abeead 100644 --- a/gcc/config/nds32/nds32-opts.h +++ b/gcc/config/nds32/nds32-opts.h @@ -40,4 +40,10 @@ enum nds32_cmodel_type CMODEL_LARGE }; +/* The various ANDES CPU. */ +enum nds32_cpu_type +{ + CPU_N9 +}; + #endif diff --git a/gcc/config/nds32/nds32.opt b/gcc/config/nds32/nds32.opt index 4787a69e338..459759ca188 100644 --- a/gcc/config/nds32/nds32.opt +++ b/gcc/config/nds32/nds32.opt @@ -119,6 +119,17 @@ Enum(nds32_cmodel_type) String(medium) Value(CMODEL_MEDIUM) EnumValue Enum(nds32_cmodel_type) String(large) Value(CMODEL_LARGE) +mcpu= +Target RejectNegative Joined Enum(nds32_cpu_type) Var(nds32_cpu_option) Init(CPU_N9) +Specify the cpu for pipeline model. + +Enum +Name(nds32_cpu_type) Type(enum nds32_cpu_type) +Known cpu types (for use with the -mcpu= option): + +EnumValue +Enum(nds32_cpu_type) String(n9) Value(CPU_N9) + mctor-dtor Target Report Enable constructor/destructor feature.