aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJie Zhang <jie.zhang@analog.com>2007-05-08 12:33:23 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2007-05-08 12:33:23 +0000
commit28f601ff8ae7fe32f4d11b5cb7489d399bbcc24c (patch)
tree5542bb0f2ccd3df59357aeb7fbc98b2c4facc3e8
parentfb8ffd109a098d6682e0687ee083fa1c3b80d0b4 (diff)
downloadgcc-28f601ff8ae7fe32f4d11b5cb7489d399bbcc24c.zip
gcc-28f601ff8ae7fe32f4d11b5cb7489d399bbcc24c.tar.gz
gcc-28f601ff8ae7fe32f4d11b5cb7489d399bbcc24c.tar.bz2
bfin-protos.h (enum bfin_cpu): Add BFIN_CPU_BF534, BFIN_CPU_BF536 and BFIN_CPU_BF561.
* config/bfin/bfin-protos.h (enum bfin_cpu): Add BFIN_CPU_BF534, BFIN_CPU_BF536 and BFIN_CPU_BF561. * config/bfin/bfin.c (bfin_handle_option): Handle -mcpu=bf534, -mcpu=bf536 and -mcpu=bf561. * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Support bf534, bf536 and bf561. * doc/invoke.texi (Blackfin Options): Document -mcpu and -msim. From-SVN: r124544
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/bfin/bfin-protos.h5
-rw-r--r--gcc/config/bfin/bfin.c9
-rw-r--r--gcc/config/bfin/bfin.h9
-rw-r--r--gcc/doc/invoke.texi30
5 files changed, 54 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1bddf0f..18a6965 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -15,6 +15,14 @@
(sibcall_epilogue): Likewise.
(eh_return_internal): Likewise.
+ * config/bfin/bfin-protos.h (enum bfin_cpu): Add
+ BFIN_CPU_BF534, BFIN_CPU_BF536 and BFIN_CPU_BF561.
+ * config/bfin/bfin.c (bfin_handle_option): Handle
+ -mcpu=bf534, -mcpu=bf536 and -mcpu=bf561.
+ * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS):
+ Support bf534, bf536 and bf561.
+ * doc/invoke.texi (Blackfin Options): Document -mcpu and -msim.
+
2007-05-08 Uros Bizjak <ubizjak@gmail.com>
PR target/31854
diff --git a/gcc/config/bfin/bfin-protos.h b/gcc/config/bfin/bfin-protos.h
index 2062f77d..9495530 100644
--- a/gcc/config/bfin/bfin-protos.h
+++ b/gcc/config/bfin/bfin-protos.h
@@ -29,7 +29,10 @@ typedef enum bfin_cpu
BFIN_CPU_BF531,
BFIN_CPU_BF532,
BFIN_CPU_BF533,
- BFIN_CPU_BF537
+ BFIN_CPU_BF534,
+ BFIN_CPU_BF536,
+ BFIN_CPU_BF537,
+ BFIN_CPU_BF561
} bfin_cpu_t;
/* Value of -mcpu= */
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index 89931df..a91e488 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -2119,8 +2119,17 @@ bfin_handle_option (size_t code, const char *arg, int value)
bfin_cpu_type = BFIN_CPU_BF532;
else if (strcmp (arg, "bf533") == 0)
bfin_cpu_type = BFIN_CPU_BF533;
+ else if (strcmp (arg, "bf534") == 0)
+ bfin_cpu_type = BFIN_CPU_BF534;
+ else if (strcmp (arg, "bf536") == 0)
+ bfin_cpu_type = BFIN_CPU_BF536;
else if (strcmp (arg, "bf537") == 0)
bfin_cpu_type = BFIN_CPU_BF537;
+ else if (strcmp (arg, "bf561") == 0)
+ {
+ warning (0, "bf561 support is incomplete yet.");
+ bfin_cpu_type = BFIN_CPU_BF561;
+ }
else
return false;
return true;
diff --git a/gcc/config/bfin/bfin.h b/gcc/config/bfin/bfin.h
index c600af3..c2e75b2 100644
--- a/gcc/config/bfin/bfin.h
+++ b/gcc/config/bfin/bfin.h
@@ -59,9 +59,18 @@ extern int target_flags;
case BFIN_CPU_BF533: \
builtin_define ("__ADSPBF533__"); \
break; \
+ case BFIN_CPU_BF534: \
+ builtin_define ("__ADSPBF534__"); \
+ break; \
+ case BFIN_CPU_BF536: \
+ builtin_define ("__ADSPBF536__"); \
+ break; \
case BFIN_CPU_BF537: \
builtin_define ("__ADSPBF537__"); \
break; \
+ case BFIN_CPU_BF561: \
+ builtin_define ("__ADSPBF561__"); \
+ break; \
} \
\
if (TARGET_FDPIC) \
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 552e3b7..9e76394 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -439,12 +439,13 @@ Objective-C and Objective-C++ Dialects}.
-mcall-prologues -mno-tablejump -mtiny-stack -mint8}
@emph{Blackfin Options}
-@gccoptlist{-momit-leaf-frame-pointer -mno-omit-leaf-frame-pointer @gol
--mspecld-anomaly -mno-specld-anomaly -mcsync-anomaly -mno-csync-anomaly @gol
--mlow-64k -mno-low64k -mstack-check-l1 -mid-shared-library @gol
--mno-id-shared-library -mshared-library-id=@var{n} @gol
--mleaf-id-shared-library -mno-leaf-id-shared-library @gol
--msep-data -mno-sep-data -mlong-calls -mno-long-calls}
+@gccoptlist{-mcpu=@var{cpu} -msim -momit-leaf-frame-pointer @gol
+-mno-omit-leaf-frame-pointer -mspecld-anomaly -mno-specld-anomaly @gol
+-mcsync-anomaly -mno-csync-anomaly -mlow-64k -mno-low64k @gol
+-mstack-check-l1 -mid-shared-library -mno-id-shared-library @gol
+-mshared-library-id=@var{n} -mleaf-id-shared-library @gol
+-mno-leaf-id-shared-library -msep-data -mno-sep-data -mlong-calls @gol
+-mno-long-calls}
@emph{CRIS Options}
@gccoptlist{-mcpu=@var{cpu} -march=@var{cpu} -mtune=@var{cpu} @gol
@@ -8349,6 +8350,23 @@ size.
@cindex Blackfin Options
@table @gcctabopt
+@item -mcpu=@var{cpu}
+@opindex mcpu=
+Specifies the name of the target Blackfin processor. Currently, @var{cpu}
+can be one of @samp{bf531}, @samp{bf532}, @samp{bf533},
+@samp{bf534}, @samp{bf536}, @samp{bf537}, @samp{bf561}.
+Without this option, @samp{bf532} is used as the processor by default.
+The corresponding predefined processor macros for @var{cpu} is to
+be defined. For the @samp{bfin-elf} toolchain, this causes the hardware
+BSP provided by libgloss to be linked in if @samp{-msim} is not given.
+Support for @samp{bf561} is incomplete; only the processor macro is defined.
+
+@item -msim
+@opindex msim
+Specifies that the program will be run on the simulator. This causes
+the simulator BSP provided by libgloss to be linked in. This option
+has effect only for @samp{bfin-elf} toolchain.
+
@item -momit-leaf-frame-pointer
@opindex momit-leaf-frame-pointer
Don't keep the frame pointer in a register for leaf functions. This