diff options
author | Jim Grosbach <grosbach@apple.com> | 2011-12-08 19:27:38 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2011-12-08 19:27:38 +0000 |
commit | 4edc7360c76b00a6215c6efa54d57064eb716e9d (patch) | |
tree | 97f6ce388fcfa5ceb0c2a6a635940afeacbdb988 /llvm/lib | |
parent | 34792a8250c1087287c9fe08dec692acdbb1af72 (diff) | |
download | bcm5719-llvm-4edc7360c76b00a6215c6efa54d57064eb716e9d.tar.gz bcm5719-llvm-4edc7360c76b00a6215c6efa54d57064eb716e9d.zip |
ARM assembler support for register name aliases.
rdar://10550084
llvm-svn: 146170
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index 7e1d6333fa6..9b50f582fb0 100644 --- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -2148,8 +2148,6 @@ int ARMAsmParser::tryParseRegister() { const AsmToken &Tok = Parser.getTok(); if (Tok.isNot(AsmToken::Identifier)) return -1; - // FIXME: Validate register for the current architecture; we have to do - // validation later, so maybe there is no need for this here. std::string lowerCase = Tok.getString().lower(); unsigned RegNum = MatchRegisterName(lowerCase); if (!RegNum) { @@ -2158,6 +2156,22 @@ int ARMAsmParser::tryParseRegister() { .Case("r14", ARM::LR) .Case("r15", ARM::PC) .Case("ip", ARM::R12) + // Additional register name aliases for 'gas' compatibility. + .Case("a1", ARM::R0) + .Case("a2", ARM::R1) + .Case("a3", ARM::R2) + .Case("a4", ARM::R3) + .Case("v1", ARM::R4) + .Case("v2", ARM::R5) + .Case("v3", ARM::R6) + .Case("v4", ARM::R7) + .Case("v5", ARM::R8) + .Case("v6", ARM::R9) + .Case("v7", ARM::R10) + .Case("v8", ARM::R11) + .Case("sb", ARM::R9) + .Case("sl", ARM::R10) + .Case("fp", ARM::R11) .Default(0); } if (!RegNum) return -1; |