[llvm-commits] [llvm] r117822 - in /llvm/trunk/lib/Target/X86: AsmParser/X86AsmParser.cpp X86InstrInfo.td
Chris Lattner
sabre at nondot.org
Sat Oct 30 11:17:34 PDT 2010
Author: lattner
Date: Sat Oct 30 13:17:33 2010
New Revision: 117822
URL: http://llvm.org/viewvc/llvm-project?rev=117822&view=rev
Log:
move rep aliases to td file
Modified:
llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
llvm/trunk/lib/Target/X86/X86InstrInfo.td
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=117822&r1=117821&r2=117822&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp (original)
+++ llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp Sat Oct 30 13:17:33 2010
@@ -620,13 +620,10 @@
bool X86ATTAsmParser::
ParseInstruction(StringRef Name, SMLoc NameLoc,
SmallVectorImpl<MCParsedAsmOperand*> &Operands) {
- // FIXME: Hack to recognize "sal..." and "rep..." for now. We need a way to
- // represent alternative syntaxes in the .td file, without requiring
- // instruction duplication.
+ // FIXME: Hack to recognize some aliases.
StringRef PatchedName = StringSwitch<StringRef>(Name)
.Case("repe", "rep")
.Case("repz", "rep")
- .Case("repnz", "repne")
.Case("push", Is64Bit ? "pushq" : "pushl")
.Case("pop", Is64Bit ? "popq" : "popl")
.Case("pushf", Is64Bit ? "pushfq" : "pushfl")
@@ -721,7 +718,8 @@
// Determine whether this is an instruction prefix.
bool isPrefix =
PatchedName == "lock" || PatchedName == "rep" ||
- PatchedName == "repne";
+ PatchedName == "repe" || PatchedName == "repz" ||
+ PatchedName == "repne" || PatchedName == "repnz";
// This does the actual operand parsing. Don't parse any more if we have a
Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.td?rev=117822&r1=117821&r2=117822&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrInfo.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrInfo.td Sat Oct 30 13:17:33 2010
@@ -1269,6 +1269,10 @@
def : MnemonicAlias<"pushfd", "pushfl">;
def : MnemonicAlias<"popfd", "popfl">;
+def : MnemonicAlias<"repe", "rep">;
+def : MnemonicAlias<"repz", "rep">;
+def : MnemonicAlias<"repnz", "repne">;
+
def : MnemonicAlias<"salb", "shlb">;
def : MnemonicAlias<"salw", "shlw">;
def : MnemonicAlias<"sall", "shll">;
More information about the llvm-commits
mailing list