diff options
-rw-r--r-- | gcc/ChangeLog | 25 | ||||
-rw-r--r-- | gcc/config.gcc | 16 | ||||
-rw-r--r-- | gcc/config/visium/t-visium | 6 | ||||
-rw-r--r-- | gcc/config/visium/visium.h | 16 |
4 files changed, 55 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 587af497..5a8fa31 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +2015-09-13 Olivier Hainque <hainque@adacore.com> + Eric Botcazou <ebotcazou@adacore.com> + + * config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and + gr6 as possible values, defaulting to gr5. Set target_cpu_default2. + * config/visium/visium.h (OPTION_DEFAULT_SPECS): Define. + (TARGET_CPU_gr5): Likewise. + (TARGET_CPU_gr6): Likewise. + (MULTILIB_DEFAULTS): Likewise. + * config/visium/t-visium (MULTILIB_OPTIONS): Request distinct variants + for mcpu=gr5 and mcpu=gr6. + (MULTILIB_DIRNAMES): Adjust accordingly. + 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * tree-ssa-loop-im.c (mem_ref_loc_p): Remove typedef. @@ -158,12 +171,12 @@ (get_addr_from_local_cache): Likewise. (drop_overlapping_mem_locs): Likewise. (val_reset): Likewise. - (struct variable_union_info): Likewise. - (variable_union): Likewise. - (find_loc_in_1pdv): Likewise. - (insert_into_intersection): Likewise. - (intersect_loc_chains): Likewise. - (canonicalize_loc_order_check): Likewise. + (struct variable_union_info): Likewise. + (variable_union): Likewise. + (find_loc_in_1pdv): Likewise. + (insert_into_intersection): Likewise. + (intersect_loc_chains): Likewise. + (canonicalize_loc_order_check): Likewise. (canonicalize_values_mark): Likewise. (canonicalize_values_star): Likewise. (canonicalize_vars_star): Likewise. diff --git a/gcc/config.gcc b/gcc/config.gcc index 5712547e..75807f5 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -3346,6 +3346,9 @@ if test x$with_cpu = x ; then ;; esac ;; + visium-*-*) + with_cpu=gr5 + ;; esac # Avoid overriding --with-cpu-32 and --with-cpu-64 values. @@ -4295,6 +4298,16 @@ case "${target}" in ;; esac ;; + visium-*-*) + supported_defaults="cpu" + case $with_cpu in + "" | gr5 | gr6) + ;; + *) echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2 + exit 1 + ;; + esac + ;; esac # Set some miscellaneous flags for particular targets. @@ -4449,6 +4462,9 @@ case ${target} in ;; esac ;; + visium-*-*) + target_cpu_default2="TARGET_CPU_$with_cpu" + ;; esac t= diff --git a/gcc/config/visium/t-visium b/gcc/config/visium/t-visium index e06141c..46234f0 100644 --- a/gcc/config/visium/t-visium +++ b/gcc/config/visium/t-visium @@ -17,5 +17,7 @@ # along with GCC; see the file COPYING3. If not see # <http://www.gnu.org/licenses/>. -MULTILIB_OPTIONS = mcpu=gr6 -MULTILIB_DIRNAMES = gr6 +# The compiler defaults to -mcpu=gr5 but this may be overridden via --with-cpu +# at configure time so the -mcpu setting must be symmetrical. +MULTILIB_OPTIONS = mcpu=gr5/mcpu=gr6 +MULTILIB_DIRNAMES = gr5 gr6 diff --git a/gcc/config/visium/visium.h b/gcc/config/visium/visium.h index 71c960e..c5b65b4 100644 --- a/gcc/config/visium/visium.h +++ b/gcc/config/visium/visium.h @@ -1727,3 +1727,19 @@ extern int visium_indent_opcode; visium_indent_opcode = 0; \ } \ } while (0) + +/* Configure-time default values for common options. */ +#define OPTION_DEFAULT_SPECS { "cpu", "%{!mcpu=*:-mcpu=%(VALUE)}" } + +/* Values of TARGET_CPU_DEFAULT specified via --with-cpu. */ +#define TARGET_CPU_gr5 0 +#define TARGET_CPU_gr6 1 + +/* Default -mcpu multilib for above values. */ +#if TARGET_CPU_DEFAULT == TARGET_CPU_gr5 +#define MULTILIB_DEFAULTS { "mcpu=gr5" } +#elif TARGET_CPU_DEFAULT == TARGET_CPU_gr6 +#define MULTILIB_DEFAULTS { "mcpu=gr6" } +#else +#error Unrecognized value in TARGET_CPU_DEFAULT +#endif |