aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/bfin
diff options
context:
space:
mode:
authorBernd Schmidt <bernd.schmidt@analog.com>2008-01-22 23:55:43 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2008-01-22 23:55:43 +0000
commit64882649cacef0748242d81bb8b74378c90cc8b8 (patch)
tree63d9fe384da0d491cd71336591373d61c6a6a4ad /gcc/config/bfin
parentdf1a98aecad77169b4c7dcad9b3bab7c5d9f1f24 (diff)
downloadgcc-64882649cacef0748242d81bb8b74378c90cc8b8.zip
gcc-64882649cacef0748242d81bb8b74378c90cc8b8.tar.gz
gcc-64882649cacef0748242d81bb8b74378c90cc8b8.tar.bz2
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. From-SVN: r131746
Diffstat (limited to 'gcc/config/bfin')
-rw-r--r--gcc/config/bfin/bfin-protos.h6
-rw-r--r--gcc/config/bfin/bfin.c14
-rw-r--r--gcc/config/bfin/bfin.h18
-rw-r--r--gcc/config/bfin/elf.h8
4 files changed, 40 insertions, 6 deletions
diff --git a/gcc/config/bfin/bfin-protos.h b/gcc/config/bfin/bfin-protos.h
index f7b1149..bb46c8e 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 ce67301..d20d5f9 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 446c74d..d9b2762 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 89f9130..52a3708 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}}"