aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@codesourcery.com>2011-07-15 09:36:40 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2011-07-15 09:36:40 +0000
commitbcead286bfebf2312981135b9c7d72eadc6d396c (patch)
treec4bd2120a6d9ab956422bfe82ffb27dcc91bc73b /gcc/config.gcc
parent9e36aa2367507a6700c4edbd693b530cb11c64fa (diff)
downloadgcc-bcead286bfebf2312981135b9c7d72eadc6d396c.zip
gcc-bcead286bfebf2312981135b9c7d72eadc6d396c.tar.gz
gcc-bcead286bfebf2312981135b9c7d72eadc6d396c.tar.bz2
invoke.texi (C6X Options): New section.
gcc/ * doc/invoke.texi (C6X Options): New section. * doc/md.texi (TI C6X family): New section. * config.gcc: Handle tic6x, in particular tic6x-*-elf and tic6x-*-uclinux. * longlong.h (add_ssaaaa, __umulsidi3, umul_ppmm, count_leading_zeros, count_trailing_zeros, UMUL_TIME, UDIV_TIME): Provide C6X definitions. * config/c6x/c6x.md: New file. * config/c6x/constraints.md: New file. * config/c6x/predicates.md: New file. * config/c6x/c6x-sched.md.in: New file. * config/c6x/c6x-sched.md: New file. * config/c6x/gensched.sh: New file. * config/c6x/c6x-mult.md.in: New file. * config/c6x/genmult.sh: New file. * config/c6x/c6x-mult.md: New file. * config/c6x/sync.md: New file. * config/c6x/c6x-protos.h: New file. * config/c6x/sfp-machine.h: New file. * config/c6x/c6x.c: New file. * config/c6x/c6x.h: New file. * config/c6x/crti.s: New file. * config/c6x/crtn.s: New file. * config/c6x/lib1funcs.asm: New file. * config/c6x/c6x-modes.def: New file. * config/c6x/genopt.sh: New file. * config/c6x/c6x.opt: New file. * config/c6x/c6x-tables.opt: New file. * config/c6x/c6x-opts.h: New file. * config/c6x/c6x-isas.def: New file. * config/c6x/elf.h: New file. * config/c6x/elf-common.h: New file. * config/c6x/uclinux-elf.h: New file. * config/c6x/t-c6x: New file. * config/c6x/t-c6x-elf: New file. * config/c6x/t-c6x-uclinux: New file. * config/c6x/t-c6x-softfp: New file. * config/c6x/gtd.c: New file. * config/c6x/gtf.c: New file. * config/c6x/ltd.c: New file. * config/c6x/ltf.c: New file. * config/c6x/ged.c: New file. * config/c6x/gef.c: New file. * config/c6x/led.c: New file. * config/c6x/lef.c: New file. * config/c6x/eqd.c: New file. * config/c6x/eqf.c: New file. * config/c6x/libgcc-c6xeabi.ver: New file. contrib/ * gcc_update: Add C6X generated files. * contrib/config-list.mk: Add c6x-elf and c6x-uclinux. libgcc/ * config.host: Handle tic6x-*-*. * config/c6x/c6x-abi.h: New file. From-SVN: r176308
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc38
1 files changed, 37 insertions, 1 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 2b9502b..0ca4f78 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -437,6 +437,11 @@ sh[123456789lbe]*-*-* | sh-*-*)
v850*-*-*)
cpu_type=v850
;;
+tic6x-*-*)
+ cpu_type=c6x
+ extra_headers="c6x_intrinsics.h"
+ extra_options="${extra_options} c6x/c6x-tables.opt"
+ ;;
xtensa*-*-*)
extra_options="${extra_options} fused-madd.opt"
;;
@@ -2561,7 +2566,24 @@ spu-*-elf*)
c_target_objs="${c_target_objs} spu-c.o"
cxx_target_objs="${cxx_target_objs} spu-c.o"
;;
-
+tic6x-*-elf)
+ tm_file="elfos.h ${tm_file} c6x/elf-common.h c6x/elf.h"
+ tm_file="${tm_file} dbxelf.h tm-dwarf2.h newlib-stdint.h"
+ libgcc_tm_file="${libgcc_tm_file} c6x/c6x-abi.h"
+ tmake_file="c6x/t-c6x c6x/t-c6x-elf"
+ tmake_file="${tmake_file} c6x/t-c6x-softfp soft-fp/t-softfp"
+ use_collect2=no
+ ;;
+tic6x-*-uclinux)
+ tm_file="elfos.h ${tm_file} gnu-user.h linux.h c6x/elf-common.h c6x/uclinux-elf.h"
+ tm_file="${tm_file} dbxelf.h tm-dwarf2.h glibc-stdint.h"
+ tm_file="${tm_file} ./sysroot-suffix.h"
+ libgcc_tm_file="${libgcc_tm_file} c6x/c6x-abi.h"
+ tmake_file="t-slibgcc-elf-ver t-sysroot-suffix"
+ tmake_file="${tmake_file} c6x/t-c6x c6x/t-c6x-elf c6x/t-c6x-uclinux"
+ tmake_file="${tmake_file} c6x/t-c6x-softfp soft-fp/t-softfp"
+ use_collect2=no
+ ;;
v850*-*-*)
case ${target} in
v850e2v3-*-*)
@@ -3500,6 +3522,20 @@ case "${target}" in
done
;;
+ tic6x-*-*)
+ supported_defaults="arch"
+
+ case ${with_arch} in
+ "" | c62x | c64x | c64x+ | c67x | c67x+ | c674x)
+ # OK
+ ;;
+ *)
+ echo "Unknown arch used in --with-arch=$with_arch." 1>&2
+ exit 1
+ ;;
+ esac
+ ;;
+
v850*-*-*)
supported_defaults=cpu
case ${with_cpu} in