This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Blackfin: More CPU types
- From: Bernd Schmidt <bernds_cb1 at t-online dot de>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 08 May 2007 14:33:09 +0200
- Subject: Blackfin: More CPU types
This is another one of Jie's patches; this one just completes the
previous -mcpu patch by adding more CPU types.
Bernd
--
This footer brought to you by insane German lawmakers.
Analog Devices GmbH Wilhelm-Wagenfeld-Str. 6 80807 Muenchen
Sitz der Gesellschaft Muenchen, Registergericht Muenchen HRB 40368
Geschaeftsfuehrer Thomas Wessel, William A. Martin, Margaret Seif
Index: doc/invoke.texi
===================================================================
--- doc/invoke.texi (revision 124543)
+++ doc/invoke.texi (working copy)
@@ -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
Index: ChangeLog
===================================================================
--- ChangeLog (revision 124542)
+++ ChangeLog (working copy)
@@ -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
Index: config/bfin/bfin-protos.h
===================================================================
--- config/bfin/bfin-protos.h (revision 124542)
+++ config/bfin/bfin-protos.h (working copy)
@@ -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= */
Index: config/bfin/bfin.c
===================================================================
--- config/bfin/bfin.c (revision 124542)
+++ config/bfin/bfin.c (working copy)
@@ -2119,8 +2119,17 @@ bfin_handle_option (size_t code, const c
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;
Index: config/bfin/bfin.h
===================================================================
--- config/bfin/bfin.h (revision 124499)
+++ config/bfin/bfin.h (working copy)
@@ -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) \