gas/testsuite/
[deliverable/binutils-gdb.git] / bfd / cpu-m68k.c
index 2e6f6c690508671038c1cc12a1cc80f93f9d6401..7e424a8f2ab27193d0e65e2bb3792da74e1d55d1 100644 (file)
@@ -76,19 +76,25 @@ static const bfd_arch_info_type arch_info_struct[] =
       FALSE, &arch_info_struct[24]),
     N(bfd_mach_mcf_isa_b_float_emac, "m68k:isa-b:float:emac",
       FALSE, &arch_info_struct[25]),
+    N(bfd_mach_mcf_isa_c, "m68k:isa-c",
+      FALSE, &arch_info_struct[26]),
+    N(bfd_mach_mcf_isa_c_mac, "m68k:isa-c:mac",
+      FALSE, &arch_info_struct[27]),
+    N(bfd_mach_mcf_isa_c_emac, "m68k:isa-c:emac",
+      FALSE, &arch_info_struct[28]),
 
     /* Legacy names for CF architectures */
-    N(bfd_mach_mcf_isa_a_nodiv, "m68k:5200", FALSE, &arch_info_struct[26]),
-    N(bfd_mach_mcf_isa_a_mac,"m68k:5206e", FALSE, &arch_info_struct[27]),
-    N(bfd_mach_mcf_isa_a_mac, "m68k:5307", FALSE, &arch_info_struct[28]),
-    N(bfd_mach_mcf_isa_b_nousp_mac, "m68k:5407", FALSE, &arch_info_struct[29]),
-    N(bfd_mach_mcf_isa_aplus_emac, "m68k:528x", FALSE, &arch_info_struct[30]),
-    N(bfd_mach_mcf_isa_aplus_emac, "m68k:521x", FALSE, &arch_info_struct[31]),
-    N(bfd_mach_mcf_isa_a_emac, "m68k:5249", FALSE, &arch_info_struct[32]),
+    N(bfd_mach_mcf_isa_a_nodiv, "m68k:5200", FALSE, &arch_info_struct[29]),
+    N(bfd_mach_mcf_isa_a_mac,"m68k:5206e", FALSE, &arch_info_struct[30]),
+    N(bfd_mach_mcf_isa_a_mac, "m68k:5307", FALSE, &arch_info_struct[31]),
+    N(bfd_mach_mcf_isa_b_nousp_mac, "m68k:5407", FALSE, &arch_info_struct[32]),
+    N(bfd_mach_mcf_isa_aplus_emac, "m68k:528x", FALSE, &arch_info_struct[33]),
+    N(bfd_mach_mcf_isa_aplus_emac, "m68k:521x", FALSE, &arch_info_struct[34]),
+    N(bfd_mach_mcf_isa_a_emac, "m68k:5249", FALSE, &arch_info_struct[35]),
     N(bfd_mach_mcf_isa_b_float_emac, "m68k:547x",
-      FALSE, &arch_info_struct[33]),
+      FALSE, &arch_info_struct[36]),
     N(bfd_mach_mcf_isa_b_float_emac, "m68k:548x",
-      FALSE, &arch_info_struct[34]),
+      FALSE, &arch_info_struct[37]),
     N(bfd_mach_mcf_isa_b_float_emac, "m68k:cfv4e", FALSE, 0),
   };
 
@@ -125,6 +131,9 @@ static const unsigned m68k_arch_features[] =
   mcfisa_a|mcfhwdiv|mcfisa_b|mcfusp|cfloat,
   mcfisa_a|mcfhwdiv|mcfisa_b|mcfusp|cfloat|mcfmac,
   mcfisa_a|mcfhwdiv|mcfisa_b|mcfusp|cfloat|mcfemac,
+  mcfisa_a|mcfhwdiv|mcfisa_c|mcfusp,
+  mcfisa_a|mcfhwdiv|mcfisa_c|mcfusp|mcfmac,
+  mcfisa_a|mcfhwdiv|mcfisa_c|mcfusp|mcfemac,
 };
 
 /* Return the count of bits set in MASK  */
@@ -222,6 +231,10 @@ bfd_m68k_compatible (const bfd_arch_info_type *a,
       if ((~features & (mcfisa_aa | mcfisa_b)) == 0)
        return NULL;
 
+      /* ISA B and ISA C are incompatible.  */
+      if ((~features & (mcfisa_b | mcfisa_c)) == 0)
+       return NULL;
+
       /* MAC and EMAC code cannot be merged.  */
       if ((~features & (mcfmac | mcfemac)) == 0)
        return NULL;
This page took 0.024216 seconds and 4 git commands to generate.