+struct mach_func
+{
+ const char *name;
+ void (*func) (void);
+};
+
+static void
+mach_h8300h (void)
+{
+ Hmode = 1;
+ Smode = 0;
+ Nmode = 0;
+ SXmode = 0;
+ default_mach = bfd_mach_h8300h;
+}
+
+static void
+mach_h8300hn (void)
+{
+ Hmode = 1;
+ Smode = 0;
+ Nmode = 1;
+ SXmode = 0;
+ default_mach = bfd_mach_h8300hn;
+}
+
+static void
+mach_h8300s (void)
+{
+ Hmode = 1;
+ Smode = 1;
+ Nmode = 0;
+ SXmode = 0;
+ default_mach = bfd_mach_h8300s;
+}
+
+static void
+mach_h8300sn (void)
+{
+ Hmode = 1;
+ Smode = 1;
+ Nmode = 1;
+ SXmode = 0;
+ default_mach = bfd_mach_h8300sn;
+}
+
+static void
+mach_h8300sx (void)
+{
+ Hmode = 1;
+ Smode = 1;
+ Nmode = 0;
+ SXmode = 1;
+ default_mach = bfd_mach_h8300sx;
+}
+
+static void
+mach_h8300sxn (void)
+{
+ Hmode = 1;
+ Smode = 1;
+ Nmode = 1;
+ SXmode = 1;
+ default_mach = bfd_mach_h8300sxn;
+}
+
+const struct mach_func mach_table[] =
+{
+ {"h8300h", mach_h8300h},
+ {"h8300hn", mach_h8300hn},
+ {"h8300s", mach_h8300s},
+ {"h8300sn", mach_h8300sn},
+ {"h8300sx", mach_h8300sx},
+ {"h8300sxn", mach_h8300sxn}
+};
+