OSDN Git Service

* defaults.h (CONSTANT_ADDRESS_P): Provide a default definition.
[pf3gnuchains/gcc-fork.git] / gcc / config / bfin / bfin.h
index 53a7957..365680e 100644 (file)
 #define BRT 1
 #define BRF 0
 
+/* CPU type.  */
+typedef enum bfin_cpu_type
+{
+  BFIN_CPU_UNKNOWN,
+  BFIN_CPU_BF512,
+  BFIN_CPU_BF514,
+  BFIN_CPU_BF516,
+  BFIN_CPU_BF518,
+  BFIN_CPU_BF522,
+  BFIN_CPU_BF523,
+  BFIN_CPU_BF524,
+  BFIN_CPU_BF525,
+  BFIN_CPU_BF526,
+  BFIN_CPU_BF527,
+  BFIN_CPU_BF531,
+  BFIN_CPU_BF532,
+  BFIN_CPU_BF533,
+  BFIN_CPU_BF534,
+  BFIN_CPU_BF536,
+  BFIN_CPU_BF537,
+  BFIN_CPU_BF538,
+  BFIN_CPU_BF539,
+  BFIN_CPU_BF542,
+  BFIN_CPU_BF542M,
+  BFIN_CPU_BF544,
+  BFIN_CPU_BF544M,
+  BFIN_CPU_BF547,
+  BFIN_CPU_BF547M,
+  BFIN_CPU_BF548,
+  BFIN_CPU_BF548M,
+  BFIN_CPU_BF549,
+  BFIN_CPU_BF549M,
+  BFIN_CPU_BF561
+} bfin_cpu_t;
+
+/* Value of -mcpu= */
+extern bfin_cpu_t bfin_cpu_type;
+
+/* Value of -msi-revision= */
+extern int bfin_si_revision;
+
+extern unsigned int bfin_workarounds;
+
 /* Print subsidiary information on the compiler version in use.  */
 #define TARGET_VERSION fprintf (stderr, " (BlackFin bfin)")
 
@@ -109,22 +152,32 @@ extern int target_flags;
        case BFIN_CPU_BF539:                    \
          builtin_define ("__ADSPBF539__");     \
          break;                                \
+       case BFIN_CPU_BF542M:                   \
+         builtin_define ("__ADSPBF542M__");    \
        case BFIN_CPU_BF542:                    \
          builtin_define ("__ADSPBF542__");     \
          builtin_define ("__ADSPBF54x__");     \
          break;                                \
+       case BFIN_CPU_BF544M:                   \
+         builtin_define ("__ADSPBF544M__");    \
        case BFIN_CPU_BF544:                    \
          builtin_define ("__ADSPBF544__");     \
          builtin_define ("__ADSPBF54x__");     \
          break;                                \
-       case BFIN_CPU_BF548:                    \
-         builtin_define ("__ADSPBF548__");     \
-         builtin_define ("__ADSPBF54x__");     \
-         break;                                \
+       case BFIN_CPU_BF547M:                   \
+         builtin_define ("__ADSPBF547M__");    \
        case BFIN_CPU_BF547:                    \
          builtin_define ("__ADSPBF547__");     \
          builtin_define ("__ADSPBF54x__");     \
          break;                                \
+       case BFIN_CPU_BF548M:                   \
+         builtin_define ("__ADSPBF548M__");    \
+       case BFIN_CPU_BF548:                    \
+         builtin_define ("__ADSPBF548__");     \
+         builtin_define ("__ADSPBF54x__");     \
+         break;                                \
+       case BFIN_CPU_BF549M:                   \
+         builtin_define ("__ADSPBF549M__");    \
        case BFIN_CPU_BF549:                    \
          builtin_define ("__ADSPBF549__");     \
          builtin_define ("__ADSPBF54x__");     \
@@ -333,30 +386,6 @@ extern const char *bfin_library_id_string;
    && (ALIGN) < BITS_PER_WORD ? BITS_PER_WORD : (ALIGN))    
 
 #define TRAMPOLINE_SIZE (TARGET_FDPIC ? 30 : 18)
-#define TRAMPOLINE_TEMPLATE(FILE)                                       \
-  if (TARGET_FDPIC)                                                    \
-    {                                                                  \
-      fprintf(FILE, "\t.dd\t0x00000000\n"); /* 0 */                    \
-      fprintf(FILE, "\t.dd\t0x00000000\n"); /* 0 */                    \
-      fprintf(FILE, "\t.dd\t0x0000e109\n"); /* p1.l = fn low */                \
-      fprintf(FILE, "\t.dd\t0x0000e149\n"); /* p1.h = fn high */       \
-      fprintf(FILE, "\t.dd\t0x0000e10a\n"); /* p2.l = sc low */                \
-      fprintf(FILE, "\t.dd\t0x0000e14a\n"); /* p2.h = sc high */       \
-      fprintf(FILE, "\t.dw\t0xac4b\n"); /* p3 = [p1 + 4] */            \
-      fprintf(FILE, "\t.dw\t0x9149\n"); /* p1 = [p1] */                        \
-      fprintf(FILE, "\t.dw\t0x0051\n"); /* jump (p1)*/                 \
-    }                                                                  \
-  else                                                                 \
-    {                                                                  \
-      fprintf(FILE, "\t.dd\t0x0000e109\n"); /* p1.l = fn low */                \
-      fprintf(FILE, "\t.dd\t0x0000e149\n"); /* p1.h = fn high */       \
-      fprintf(FILE, "\t.dd\t0x0000e10a\n"); /* p2.l = sc low */                \
-      fprintf(FILE, "\t.dd\t0x0000e14a\n"); /* p2.h = sc high */       \
-      fprintf(FILE, "\t.dw\t0x0051\n"); /* jump (p1)*/                 \
-    }
-
-#define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \
-  initialize_trampoline (TRAMP, FNADDR, CXT)
 \f
 /* Definitions for register eliminations.
 
@@ -882,9 +911,6 @@ typedef struct {
 
 /* Addressing Modes */
 
-/* Recognize any constant value that is a valid address.  */
-#define CONSTANT_ADDRESS_P(X)  (CONSTANT_P (X))
-
 /* Nonzero if the constant value X is a legitimate general operand.
    symbol_ref are not legitimate and will be put into constant pool.
    See force_const_mem().