This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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)				\

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]