From 94ddbb4a04071c30e153da0b075b67829ff03959 Mon Sep 17 00:00:00 2001 From: Coby Tayree Date: Mon, 21 Nov 2016 15:50:56 +0000 Subject: [PATCH] small fixup which enables the issuing of the aforementioned instruction (w/o operands), on MS/Intel syntax. Differential Revision: https://reviews.llvm.org/D26913 llvm-svn: 287548 --- llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 2 +- llvm/test/MC/X86/intel-syntax.s | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp index 95661f0..d01e33f 100644 --- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -2536,7 +2536,7 @@ bool X86AsmParser::ParseInstruction(ParseInstructionInfo &Info, StringRef Name, (Name == "smov" || Name == "smovb" || Name == "smovw" || Name == "smovl" || Name == "smovd" || Name == "smovq"))) && (Operands.size() == 1 || Operands.size() == 3)) { - if (Name == "movsd" && Operands.size() == 1) + if (Name == "movsd" && Operands.size() == 1 && !isParsingIntelSyntax()) Operands.back() = X86Operand::CreateToken("movsl", NameLoc); AddDefaultSrcDestOperands(TmpOperands, DefaultMemSIOperand(NameLoc), DefaultMemDIOperand(NameLoc)); diff --git a/llvm/test/MC/X86/intel-syntax.s b/llvm/test/MC/X86/intel-syntax.s index 7958936..e5b1f9f 100644 --- a/llvm/test/MC/X86/intel-syntax.s +++ b/llvm/test/MC/X86/intel-syntax.s @@ -77,6 +77,8 @@ _main: vpgatherdd XMM10, XMMWORD PTR [R15 + 2*XMM9], XMM8 // CHECK: movsd -8, %xmm5 movsd XMM5, QWORD PTR [-8] +// CHECK: movsl (%rsi), %es:(%rdi) + movsd // CHECK: movl %ecx, (%eax) mov [eax], ecx // CHECK: movl %ecx, (,%ebx,4) -- 2.7.4