diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-02-02 23:46:47 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-02-02 23:46:47 +0000 |
commit | bdbffbedf062fa257dd970ae9066e656ca943e10 (patch) | |
tree | 5d171b690398c6eecc12cd1e5e826a044435efcf /llvm/lib | |
parent | 3b8a4663b935ed01f352ac5e217c428312295ef4 (diff) | |
download | bcm5719-llvm-bdbffbedf062fa257dd970ae9066e656ca943e10.tar.gz bcm5719-llvm-bdbffbedf062fa257dd970ae9066e656ca943e10.zip |
AsmParser/X86: Add temporary hack to allow parsing "sal". Eventually we need
some mechanism for specifying alternative syntaxes, but I'm not sure what form
that should take yet.
llvm-svn: 95158
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp index 73e377086bb..3a8f5d55650 100644 --- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -456,8 +456,14 @@ X86Operand *X86ATTAsmParser::ParseMemOperand() { bool X86ATTAsmParser:: ParseInstruction(const StringRef &Name, SMLoc NameLoc, SmallVectorImpl<MCParsedAsmOperand*> &Operands) { - - Operands.push_back(X86Operand::CreateToken(Name, NameLoc)); + // FIXME: Hack to recognize "sal..." for now. We need a way to represent + // alternative syntaxes in the .td file, without requiring instruction + // duplication. + if (Name.startswith("sal")) { + std::string Tmp = "shl" + Name.substr(3).str(); + Operands.push_back(X86Operand::CreateToken(Tmp, NameLoc)); + } else + Operands.push_back(X86Operand::CreateToken(Name, NameLoc)); if (getLexer().isNot(AsmToken::EndOfStatement)) { |