1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00

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
This commit is contained in:
Daniel Dunbar 2010-02-02 23:46:47 +00:00
parent 9b2879bd70
commit c6f8382263
2 changed files with 14 additions and 2 deletions

View File

@ -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)) {

View File

@ -64,3 +64,9 @@
// FIXME: Check that this matches the correct instruction.
// CHECK: shldl %cl, %eax, %ebx
shldl %cl, %eax, %ebx
// CHECK: shll $2, %eax
shll $2, %eax
// CHECK: shll $2, %eax
sall $2, %eax