diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 254548f..569c81f 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -9550,6 +9550,8 @@
 #define OPTION_OMIT_LOCK_PREFIX (OPTION_MD_BASE + 19)
 #define OPTION_MEVEXRCIG (OPTION_MD_BASE + 20)
 #define OPTION_MSHARED (OPTION_MD_BASE + 21)
+#define OPTION_MAMD64 (OPTION_MD_BASE + 22)
+#define OPTION_MINTEL64 (OPTION_MD_BASE + 23)
 
 struct option md_longopts[] =
 {
@@ -9582,6 +9584,8 @@
 #endif
   {"momit-lock-prefix", required_argument, NULL, OPTION_OMIT_LOCK_PREFIX},
   {"mevexrcig", required_argument, NULL, OPTION_MEVEXRCIG},
+  {"mamd64", no_argument, NULL, OPTION_MAMD64},
+  {"mintel64", no_argument, NULL, OPTION_MINTEL64},
   {NULL, no_argument, NULL, 0}
 };
 size_t md_longopts_size = sizeof (md_longopts);
@@ -9898,6 +9902,20 @@
         as_fatal (_("invalid -momit-lock-prefix= option: `%s'"), arg);
       break;
 
+    case OPTION_MAMD64:
+      cpu_arch_flags.bitfield.cpuamd64 = 1;
+      cpu_arch_flags.bitfield.cpuintel64 = 0;
+      cpu_arch_isa_flags.bitfield.cpuamd64 = 1;
+      cpu_arch_isa_flags.bitfield.cpuintel64 = 0;
+      break;
+
+    case OPTION_MINTEL64:
+      cpu_arch_flags.bitfield.cpuamd64 = 0;
+      cpu_arch_flags.bitfield.cpuintel64 = 1;
+      cpu_arch_isa_flags.bitfield.cpuamd64 = 0;
+      cpu_arch_isa_flags.bitfield.cpuintel64 = 1;
+      break;
+
     default:
       return 0;
     }
diff --git a/gas/testsuite/gas/i386/x86-64-branch.d b/gas/testsuite/gas/i386/x86-64-branch.d
index 49e17a4..9252ebd 100644
--- a/gas/testsuite/gas/i386/x86-64-branch.d
+++ b/gas/testsuite/gas/i386/x86-64-branch.d
@@ -1,5 +1,5 @@
 #as: -J
-#objdump: -dw
+#objdump: -dw -MIntel64
 #name: x86-64 branch
 
 .*: +file format .*
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 978a948..35cb1fe 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -12346,11 +12346,11 @@
 
 enum x86_64_isa
 {
-  amd64,
+  amd64 = 0,
   intel64
 };
 
-static enum x86_64_isa isa64 = amd64;
+static enum x86_64_isa isa64;
 
 /* Here for backwards compatibility.  When gdb stops using
    print_insn_i386_att and print_insn_i386_intel these functions can
@@ -12401,8 +12401,8 @@
   fprintf (stream, _("  data32      Assume 32bit data size\n"));
   fprintf (stream, _("  data16      Assume 16bit data size\n"));
   fprintf (stream, _("  suffix      Always display instruction suffix in AT&T syntax\n"));
-  fprintf (stream, _("  AMD64       Display instruction in AMD64 ISA\n"));
-  fprintf (stream, _("  Intel64     Display instruction in Intel64 ISA\n"));
+  fprintf (stream, _("  amd64       Display instruction in AMD64 ISA\n"));
+  fprintf (stream, _("  intel64     Display instruction in Intel64 ISA\n"));
 }
 
 /* Bad opcode.  */
@@ -12886,9 +12886,9 @@
 
   for (p = info->disassembler_options; p != NULL; )
     {
-      if (!strncasecmp (p, "amd64", sizeof "amd64"))
+      if (CONST_STRNEQ (p, "amd64"))
 	isa64 = amd64;
-      else if (!strncasecmp (p, "intel64", sizeof "intel64"))
+      else if (CONST_STRNEQ (p, "intel64"))
 	isa64 = intel64;
       else if (CONST_STRNEQ (p, "x86-64"))
 	{
