diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp --- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -3101,7 +3101,7 @@ // Hack to skip "short" following Jcc. if (isParsingIntelSyntax() && (PatchedName == "jmp" || PatchedName == "jc" || PatchedName == "jnc" || - PatchedName == "jcxz" || PatchedName == "jexcz" || + PatchedName == "jcxz" || PatchedName == "jecxz" || (PatchedName.startswith("j") && ParseConditionCode(PatchedName.substr(1)) != X86::COND_INVALID))) { StringRef NextTok = Parser.getTok().getString(); diff --git a/llvm/test/MC/X86/intel-syntax.s b/llvm/test/MC/X86/intel-syntax.s --- a/llvm/test/MC/X86/intel-syntax.s +++ b/llvm/test/MC/X86/intel-syntax.s @@ -66,6 +66,12 @@ ljmp [rax] // CHECK: jmp _foo jmp short _foo +// CHECK: jb _foo + jc short _foo +// CHECK: jae _foo + jnc short _foo +// CHECK: jecxz _foo + jecxz short _foo // CHECK: jp _foo jpe short _foo