aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/X86/AsmParser/X86AsmParser.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-11-06 18:58:32 +0000
committerChris Lattner <sabre@nondot.org>2010-11-06 18:58:32 +0000
commitdea546b62339578938a91f05a00a145baf921f6c (patch)
treea340ea138487493017e69c7e48552d8ea2d8181e /lib/Target/X86/AsmParser/X86AsmParser.cpp
parent7e925cc3c92b489709fb1fa501fb6270344a4628 (diff)
move fnstsw aliases to .td file, fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118349 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/AsmParser/X86AsmParser.cpp')
-rw-r--r--lib/Target/X86/AsmParser/X86AsmParser.cpp35
1 files changed, 0 insertions, 35 deletions
diff --git a/lib/Target/X86/AsmParser/X86AsmParser.cpp b/lib/Target/X86/AsmParser/X86AsmParser.cpp
index 69e6b5a78c..4ab25cf4bf 100644
--- a/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -781,22 +781,6 @@ ParseInstruction(StringRef Name, SMLoc NameLoc,
X86Operand::CreateImm(One, NameLoc, NameLoc));
}
-
- // FIXME: Hack to handle recognize "in[bwl] <op>". Canonicalize it to
- // "inb <op>, %al".
- if ((Name == "inb" || Name == "inw" || Name == "inl") &&
- Operands.size() == 2) {
- unsigned Reg;
- if (Name[2] == 'b')
- Reg = MatchRegisterName("al");
- else if (Name[2] == 'w')
- Reg = MatchRegisterName("ax");
- else
- Reg = MatchRegisterName("eax");
- SMLoc Loc = Operands.back()->getEndLoc();
- Operands.push_back(X86Operand::CreateReg(Reg, Loc, Loc));
- }
-
// FIXME: Hack to handle "out[bwl]? %al, (%dx)" -> "outb %al, %dx".
if ((Name == "outb" || Name == "outw" || Name == "outl" || Name == "out") &&
Operands.size() == 3) {
@@ -855,25 +839,6 @@ ParseInstruction(StringRef Name, SMLoc NameLoc,
NameLoc, NameLoc));
}
- // The assembler accepts various amounts of brokenness for fnstsw.
- if (Name == "fnstsw" || Name == "fnstsww") {
- if (Operands.size() == 2 &&
- static_cast<X86Operand*>(Operands[1])->isReg()) {
- // "fnstsw al" and "fnstsw eax" -> "fnstw"
- unsigned Reg = static_cast<X86Operand*>(Operands[1])->Reg.RegNo;
- if (Reg == MatchRegisterName("eax") ||
- Reg == MatchRegisterName("al")) {
- delete Operands[1];
- Operands.pop_back();
- }
- }
-
- // "fnstw" -> "fnstw %ax"
- if (Operands.size() == 1)
- Operands.push_back(X86Operand::CreateReg(MatchRegisterName("ax"),
- NameLoc, NameLoc));
- }
-
// FIXME: Hack to handle recognize "aa[dm]" -> "aa[dm] $0xA".
if ((Name.startswith("aad") || Name.startswith("aam")) &&
Operands.size() == 1) {