From b4657f8794b697fdf8d3f7ef0c1bdcc4f95d13e4 Mon Sep 17 00:00:00 2001
From: Nguyen Anh Quynh <aquynh@gmail.com>
Date: Fri, 13 May 2016 23:24:38 +0800
Subject: [PATCH] x86: fix 'call 5' in issue #56

---
 llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
index 16efca1..7d3dde7 100644
--- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -1873,8 +1873,8 @@ std::unique_ptr<X86Operand> X86AsmParser::ParseIntelOperand(StringRef Mnem)
         return X86Operand::CreateMem(getPointerWidth(), SM.getSym(), Start, End,
                                      Size);
 
-      if (Mnem.str().c_str()[0] == 'j') {
-          // JMP/Jxx <immediate> (Keystone)
+      if (Mnem.str() == "call" || Mnem.str().c_str()[0] == 'j') {
+          // CALL/JMP/Jxx <immediate> (Keystone)
           const MCExpr *Disp = MCConstantExpr::create(Imm, Parser.getContext());
           return X86Operand::CreateMem(0, 0, Disp, 0, 0, 1,
                   Start, End, 0);
-- 
GitLab