diff options
author | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-01-22 23:55:43 +0000 |
---|---|---|
committer | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-01-22 23:55:43 +0000 |
commit | 27bedcb4d58192be538ec5c654f1ed407f022e84 (patch) | |
tree | 63d9fe384da0d491cd71336591373d61c6a6a4ad /gcc/config/bfin | |
parent | 3888eedd894b7bfb3b3080e59ff66f6091a3fdc9 (diff) | |
download | gcc-27bedcb4d58192be538ec5c654f1ed407f022e84.tar.gz |
gcc/
From Michael Frysinger <michael.frysinger@analog.com>
* config/bfin/bfin-protos.h (enum bfin_cpu_type): Add
BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526.
* config/bfin/elf.h (LIB_SPEC): Use proper linker script
for bf547, bf523, bf524, and bf526.
* config/bfin/bfin.c (bfin_cpus[]): Add bf547, bf523, bf524, and
bf526.
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
__ADSPBF523__ for bf523, __ADSPBF524__ for bf524,
__ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as
__ADSPBF547__ and __ADSPBF54x__ for bf547.
* doc/invoke.texi (Blackfin Options): Document that
-mcpu now accept bf547, bf523, bf524, and bf526.
gcc/testsuite/
From Michael Frysinger <michael.frysinger@analog.com>
* gcc.target/bfin/mcpu-bf547.c: New test.
* gcc.target/bfin/mcpu-bf523.c: New test.
* gcc.target/bfin/mcpu-bf524.c: New test.
* gcc.target/bfin/mcpu-bf526.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131746 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/bfin')
-rw-r--r-- | gcc/config/bfin/bfin-protos.h | 6 | ||||
-rw-r--r-- | gcc/config/bfin/bfin.c | 14 | ||||
-rw-r--r-- | gcc/config/bfin/bfin.h | 18 | ||||
-rw-r--r-- | gcc/config/bfin/elf.h | 8 |
4 files changed, 40 insertions, 6 deletions
diff --git a/gcc/config/bfin/bfin-protos.h b/gcc/config/bfin/bfin-protos.h index f7b1149bdee..bb46c8e3611 100644 --- a/gcc/config/bfin/bfin-protos.h +++ b/gcc/config/bfin/bfin-protos.h @@ -1,5 +1,5 @@ /* Prototypes for Blackfin functions used in the md file & elsewhere. - Copyright (C) 2005, 2007 Free Software Foundation, Inc. + Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU CC. @@ -26,7 +26,10 @@ typedef enum bfin_cpu_type { BFIN_CPU_BF522, + BFIN_CPU_BF523, + BFIN_CPU_BF524, BFIN_CPU_BF525, + BFIN_CPU_BF526, BFIN_CPU_BF527, BFIN_CPU_BF531, BFIN_CPU_BF532, @@ -38,6 +41,7 @@ typedef enum bfin_cpu_type BFIN_CPU_BF539, BFIN_CPU_BF542, BFIN_CPU_BF544, + BFIN_CPU_BF547, BFIN_CPU_BF548, BFIN_CPU_BF549, BFIN_CPU_BF561 diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c index ce6730131d6..d20d5f934d6 100644 --- a/gcc/config/bfin/bfin.c +++ b/gcc/config/bfin/bfin.c @@ -1,5 +1,5 @@ /* The Blackfin code generation auxiliary output file. - Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Contributed by Analog Devices. This file is part of GCC. @@ -116,9 +116,18 @@ struct bfin_cpu bfin_cpus[] = {"bf522", BFIN_CPU_BF522, 0x0000, WA_SPECULATIVE_LOADS}, + {"bf523", BFIN_CPU_BF523, 0x0000, + WA_SPECULATIVE_LOADS}, + + {"bf524", BFIN_CPU_BF524, 0x0000, + WA_SPECULATIVE_LOADS}, + {"bf525", BFIN_CPU_BF525, 0x0000, WA_SPECULATIVE_LOADS}, + {"bf526", BFIN_CPU_BF526, 0x0000, + WA_SPECULATIVE_LOADS}, + {"bf527", BFIN_CPU_BF527, 0x0000, WA_SPECULATIVE_LOADS}, @@ -182,6 +191,9 @@ struct bfin_cpu bfin_cpus[] = {"bf544", BFIN_CPU_BF544, 0x0000, WA_SPECULATIVE_LOADS}, + {"bf547", BFIN_CPU_BF547, 0x0000, + WA_SPECULATIVE_LOADS}, + {"bf548", BFIN_CPU_BF548, 0x0000, WA_SPECULATIVE_LOADS}, diff --git a/gcc/config/bfin/bfin.h b/gcc/config/bfin/bfin.h index 446c74d1759..d9b2762b48f 100644 --- a/gcc/config/bfin/bfin.h +++ b/gcc/config/bfin/bfin.h @@ -1,5 +1,5 @@ /* Definitions for the Blackfin port. - Copyright (C) 2005, 2007 Free Software Foundation, Inc. + Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc. Contributed by Analog Devices. This file is part of GCC. @@ -53,10 +53,22 @@ extern int target_flags; builtin_define ("__ADSPBF522__"); \ builtin_define ("__ADSPBF52x__"); \ break; \ + case BFIN_CPU_BF523: \ + builtin_define ("__ADSPBF523__"); \ + builtin_define ("__ADSPBF52x__"); \ + break; \ + case BFIN_CPU_BF524: \ + builtin_define ("__ADSPBF524__"); \ + builtin_define ("__ADSPBF52x__"); \ + break; \ case BFIN_CPU_BF525: \ builtin_define ("__ADSPBF525__"); \ builtin_define ("__ADSPBF52x__"); \ break; \ + case BFIN_CPU_BF526: \ + builtin_define ("__ADSPBF526__"); \ + builtin_define ("__ADSPBF52x__"); \ + break; \ case BFIN_CPU_BF527: \ builtin_define ("__ADSPBF527__"); \ builtin_define ("__ADSPBF52x__"); \ @@ -97,6 +109,10 @@ extern int target_flags; builtin_define ("__ADSPBF548__"); \ builtin_define ("__ADSPBF54x__"); \ break; \ + case BFIN_CPU_BF547: \ + builtin_define ("__ADSPBF547__"); \ + builtin_define ("__ADSPBF54x__"); \ + break; \ case BFIN_CPU_BF549: \ builtin_define ("__ADSPBF549__"); \ builtin_define ("__ADSPBF54x__"); \ diff --git a/gcc/config/bfin/elf.h b/gcc/config/bfin/elf.h index 89f91308eda..52a37085190 100644 --- a/gcc/config/bfin/elf.h +++ b/gcc/config/bfin/elf.h @@ -9,14 +9,16 @@ crti%O%s crtbegin%O%s crtlibid%O%s" #undef LIB_SPEC #define LIB_SPEC "--start-group -lc %{msim:-lsim}%{!msim:-lnosys} --end-group \ -%{!T*:%{!msim:%{mcpu=bf522*:-T bf522.ld%s}%{mcpu=bf525*:-T bf525.ld%s} \ - %{mcpu=bf527*:-T bf527.ld%s} \ +%{!T*:%{!msim:%{mcpu=bf522*:-T bf522.ld%s}%{mcpu=bf523*:-T bf523.ld%s} \ + %{mcpu=bf524*:-T bf524.ld%s}%{mcpu=bf525*:-T bf525.ld%s} \ + %{mcpu=bf526*:-T bf526.ld%s}%{mcpu=bf527*:-T bf527.ld%s} \ %{mcpu=bf531*:-T bf531.ld%s}%{mcpu=bf532*:-T bf532.ld%s} \ %{mcpu=bf533*:-T bf533.ld%s}%{mcpu=bf534*:-T bf534.ld%s} \ %{mcpu=bf536*:-T bf536.ld%s}%{mcpu=bf537*:-T bf537.ld%s} \ %{mcpu=bf538*:-T bf538.ld%s}%{mcpu=bf539*:-T bf539.ld%s} \ %{mcpu=bf542*:-T bf542.ld%s}%{mcpu=bf544*:-T bf544.ld%s} \ - %{mcpu=bf548*:-T bf548.ld%s}%{mcpu=bf549*:-T bf549.ld%s} \ + %{mcpu=bf547*:-T bf547.ld%s}%{mcpu=bf548*:-T bf548.ld%s} \ + %{mcpu=bf549*:-T bf549.ld%s} \ %{!mcpu=*:-T bf532.ld%s} \ -T bfin-common-sc.ld%s}}" |