aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorNick Clifton <nickc@gcc.gnu.org>2013-01-31 18:36:02 +0000
committerNick Clifton <nickc@gcc.gnu.org>2013-01-31 18:36:02 +0000
commitdbdbd982df2d044f3b43b2f41ef1ada5667160f9 (patch)
tree74fc8090f85709b8d53297f1a682f42daa03d155 /gcc/config.gcc
parent73861a4142c04fdeb77b72f8c534e2e967a69bae (diff)
downloadgcc-dbdbd982df2d044f3b43b2f41ef1ada5667160f9.zip
gcc-dbdbd982df2d044f3b43b2f41ef1ada5667160f9.tar.gz
gcc-dbdbd982df2d044f3b43b2f41ef1ada5667160f9.tar.bz2
lib1funcs.S: Add support for e3v5 architecture variant.
* config/v850/lib1funcs.S: Add support for e3v5 architecture variant. * config/v850/constraints.md (Q): Define as a memory constraint. * config/v850/predicates.md (label_ref_operand): New predicate. (e3v5_shift_operand): New predicate. (ior_operator): New predicate. * config/v850/t-v850: Add e3v5 multilib. * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype. (v850_gen_movdi): Prototype. * config/v850/v850.c: Add support for e3v5 architecture. Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to TARGET_V850E_UP. (construct_save_jarl): Add e3v5 long JARL support. (v850_adjust_insn_length): New function. Adjust length of call insns when using e3v5 instructions. (v850_gen_movdi): New function: Generate instructions to move a DImode value. * config/v850/v850.h (TARGET_CPU_v850e3v5): Define. (CPP_SPEC): Define __v850e3v5__ as appropriate. (TARGET_USE_FPU): Enable for e3v5. (CONST_OK_FOR_W): New macro. (ADJUST_INSN_LENGTH): Define. * config/v850/v850.md (UNSPEC_LOOP): Define. (attr cpu): Add v850e3v5. Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP. (movdi): New pattern. (movdi_internal): New pattern. (cbranchsf4): Conditionalize on TARGET_USE_FPU. (cbranchdf4): Conditionalize on TARGET_USE_FPU. (cstoresf4): Likewise. (cstoredf4): Likewise. (insv): New pattern. (rotlso3_a): New pattern. (rotlsi3_b): New pattern (rotlsi3_v850e3v5): New pattern. (doloop_begin): New pattern. (fix_loop_counter): New pattern. (doloop_end): New pattern. (branch_normal): Add e3v5 long branch support. (branch_invert): Likewise. (branch_z_normal): Likewise. (branch_z_invert): Likewise. (branch_nz_normal): Likewise. (branch_nz_invert): Likewise. (call_internal_short): Add e3v5 register-indirect JARL support. (call_internal_long): Likewise. (call_value_internal_short): Likewise. (call_value_internal_long): Likewise. * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options. (mloop): New option. * config.gcc: Add support for configuring v840e3v5 target. * doc/invoke.texi: Document new v850 specific command line options. From-SVN: r195623
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index ca76fc8..b6a6ad0 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2554,6 +2554,9 @@ v850-*-rtems*)
;;
v850*-*-*)
case ${target} in
+ v850e3v5-*-*)
+ target_cpu_default="TARGET_CPU_v850e3v5"
+ ;;
v850e2v3-*-*)
target_cpu_default="TARGET_CPU_v850e2v3"
;;
@@ -3614,7 +3617,7 @@ case "${target}" in
v850*-*-*)
supported_defaults=cpu
case ${with_cpu} in
- "" | v850e | v850e1 | v850e2 | v850es | v850e2v3)
+ "" | v850e | v850e1 | v850e2 | v850es | v850e2v3 | v850e3v5)
# OK
;;
*)
@@ -3741,7 +3744,7 @@ case ${target} in
case "x$with_cpu" in
x)
;;
- xv850e | xv850e1 | xv850e2 | xv850e2v3)
+ xv850e | xv850e1 | xv850e2 | xv850e2v3 | xv850e3v5)
target_cpu_default2="TARGET_CPU_$with_cpu"
;;
xv850es)