[llvm] r360960 - [X86][AsmParser] Add mnemonics missed in r360954.

Eli Friedman via llvm-commits llvm-commits at lists.llvm.org
Mon May 20 18:00:02 PDT 2019


I don't think jexcz is an x86 instruction mnemonic.  Did you mean jecxz or jrcxz?

Also, not really a bug, but why doesn't ParseConditionCode handle c/nc?

-Eli

> -----Original Message-----
> From: llvm-commits <llvm-commits-bounces at lists.llvm.org> On Behalf Of David
> L. Jones via llvm-commits
> Sent: Thursday, May 16, 2019 5:19 PM
> To: llvm-commits at lists.llvm.org
> Subject: [EXT] [llvm] r360960 - [X86][AsmParser] Add mnemonics missed in
> r360954.
> 
> Author: dlj
> Date: Thu May 16 17:19:20 2019
> New Revision: 360960
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=360960&view=rev
> Log:
> [X86][AsmParser] Add mnemonics missed in r360954.
> 
> These are valid Jcc, but aren't based on the EFLAGS condition codes (Intel 64
> and IA-32 Architetcures Software Developer's Manual Vol. 1, Appendix B). These
> are covered in clang/test, but not llvm/test.
> 
> Modified:
>     llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
> 
> Modified: llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
> URL: http://llvm.org/viewvc/llvm-
> project/llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp?rev=360960&r
> 1=360959&r2=360960&view=diff
> =================================================================
> =============
> --- llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp (original)
> +++ llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp Thu May 16
> 17:19:20 2019
> @@ -2381,7 +2381,8 @@ bool X86AsmParser::ParseInstruction(Pars
> 
>    // Hack to skip "short" following Jcc.
>    if (isParsingIntelSyntax() &&
> -      (PatchedName == "jmp" ||
> +      (PatchedName == "jmp" || PatchedName == "jc" || PatchedName == "jnc"
> ||
> +       PatchedName == "jcxz" || PatchedName == "jexcz" ||
>         (PatchedName.startswith("j") &&
>          ParseConditionCode(PatchedName.substr(1)) != X86::COND_INVALID))) {
>      StringRef NextTok = Parser.getTok().getString();
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list