move fcompi alias to .td file and zap some useless code.
authorChris Lattner <sabre@nondot.org>
Sat, 30 Oct 2010 18:22:53 +0000 (18:22 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 30 Oct 2010 18:22:53 +0000 (18:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117823 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/AsmParser/X86AsmParser.cpp
lib/Target/X86/X86InstrInfo.td

index 111afbf47a6f72100cb68dc2b541542cd661d7df..bd31ad4e28cb5179e3c682f840ef5cbd12d824a9 100644 (file)
@@ -622,8 +622,6 @@ ParseInstruction(StringRef Name, SMLoc NameLoc,
                  SmallVectorImpl<MCParsedAsmOperand*> &Operands) {
   // FIXME: Hack to recognize some aliases.
   StringRef PatchedName = StringSwitch<StringRef>(Name)
-    .Case("repe", "rep")
-    .Case("repz", "rep")
     .Case("push", Is64Bit ? "pushq" : "pushl")
     .Case("pop", Is64Bit ? "popq" : "popl")
     .Case("pushf", Is64Bit ? "pushfq" : "pushfl")
@@ -921,15 +919,6 @@ ParseInstruction(StringRef Name, SMLoc NameLoc,
                                              NameLoc, NameLoc));
   }
 
-  // The assembler accepts this instruction with no operand as a synonym for an
-  // instruction taking %st(1),%st(0). e.g. "fcompi" -> "fcompi %st(1),st(0)".
-  if (Name == "fcompi" && Operands.size() == 1) {
-    Operands.push_back(X86Operand::CreateReg(MatchRegisterName("st(1)"),
-                                             NameLoc, NameLoc));
-    Operands.push_back(X86Operand::CreateReg(MatchRegisterName("st(0)"),
-                                             NameLoc, NameLoc));
-  }
-
   // The assembler accepts these instructions with two few operands as a synonym
   // for taking %st(1),%st(0) or X, %st(0).
   if ((Name == "fcomi" || Name == "fucomi" || Name == "fucompi" ||
index 9df652938906f0ff99e7bf8458b1f4c2f4342f25..8dc360a5010153b00e127ca2663f2bc0032875c5 100644 (file)
@@ -1293,6 +1293,7 @@ def : MnemonicAlias<"fcmova",   "fcmovnbe">;
 def : MnemonicAlias<"fcmovnae", "fcmovb">;
 def : MnemonicAlias<"fcmovna",  "fcmovbe">;
 def : MnemonicAlias<"fcmovae",  "fcmovnb">;
+def : MnemonicAlias<"fcompi",   "fcomip">;
 def : MnemonicAlias<"fildq",    "fildll">;
 def : MnemonicAlias<"fldcww",   "fldcw">;
 def : MnemonicAlias<"fnstcww", "fnstcw">;