diff --git a/llvm/lib/CodeGen/MachineInstr.cpp b/llvm/lib/CodeGen/MachineInstr.cpp
index dad6840..362d99a 100644
--- a/llvm/lib/CodeGen/MachineInstr.cpp
+++ b/llvm/lib/CodeGen/MachineInstr.cpp
@@ -970,11 +970,7 @@
 InlineAsm::AsmDialect MachineInstr::getInlineAsmDialect() const {
   assert(isInlineAsm() && "getInlineAsmDialect() only works for inline asms!");
   unsigned ExtraInfo = getOperand(InlineAsm::MIOp_ExtraInfo).getImm();
-  if (ExtraInfo & InlineAsm::Extra_IntelDialect)
-    return InlineAsm::AD_Intel;
-
-  assert((ExtraInfo & InlineAsm::Extra_ATTDialect) && "Expected AT&T dialect!");
-  return InlineAsm::AD_ATT; // The default.
+  return InlineAsm::AsmDialect((ExtraInfo >> 2) & 1);
 }
 
 int MachineInstr::findInlineAsmFlagIdx(unsigned OpIdx,
@@ -1579,9 +1575,9 @@
       OS << " [sideeffect]";
     if (ExtraInfo & InlineAsm::Extra_IsAlignStack)
       OS << " [alignstack]";
-    if (ExtraInfo & InlineAsm::Extra_ATTDialect)
+    if (getInlineAsmDialect() == InlineAsm::AD_ATT)
       OS << " [attdialect]";
-    if (ExtraInfo & InlineAsm::Extra_IntelDialect)
+    if (getInlineAsmDialect() == InlineAsm::AD_Intel)
       OS << " [inteldialect]";
 
     StartOp = AsmDescOp = InlineAsm::MIOp_FirstOperand;
