summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCoby Tayree <coby.tayree@intel.com>2017-07-30 11:12:47 +0000
committerCoby Tayree <coby.tayree@intel.com>2017-07-30 11:12:47 +0000
commit48d67cdbb43c2a71d38ad32c7da0ab281de0727b (patch)
tree3b695c552d326942ea561e66ee3c70ed7c12ec1f
parent5ac75b5744e8feba92f1b7cd187b9c20f850c198 (diff)
downloadbcm5719-llvm-48d67cdbb43c2a71d38ad32c7da0ab281de0727b.tar.gz
bcm5719-llvm-48d67cdbb43c2a71d38ad32c7da0ab281de0727b.zip
[x86][inline-asm][ms-compat] legalize the use of "jc/jz short <op>"
MS ignores the keyword "short" when used after a jc/jz instruction, LLVM ought to do the same. Test: D35893 Differential Revision: https://reviews.llvm.org/D35892 llvm-svn: 309509
-rw-r--r--llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
index 3e2a64a2185..ea081fd546e 100644
--- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -2309,7 +2309,8 @@ bool X86AsmParser::ParseInstruction(ParseInstructionInfo &Info, StringRef Name,
InstInfo = &Info;
StringRef PatchedName = Name;
- if (Name == "jmp" && isParsingIntelSyntax() && isParsingInlineAsm()) {
+ if ((Name.equals("jmp") || Name.equals("jc") || Name.equals("jz")) &&
+ isParsingIntelSyntax() && isParsingInlineAsm()) {
StringRef NextTok = Parser.getTok().getString();
if (NextTok == "short") {
SMLoc NameEndLoc =
OpenPOWER on IntegriCloud