ADR was added with the wrong encoding for inst{24-21}, and the ARM decoder was fooled.

Set the encoding bits to {0,?,?,0}, not 0.  Plus delegate the disassembly of ADR to
the more generic ADDri/SUBri instructions, and add a test case for that.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128234 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Johnny Chen
2011-03-24 20:42:48 +00:00
parent 23670e5b95
commit e6d69e7dbe
3 changed files with 8 additions and 1 deletions

View File

@ -1584,6 +1584,10 @@ ARMDEBackend::populateInstruction(const CodeGenInstruction &CGI,
Name == "MOVr_TC")
return false;
// Delegate ADR disassembly to the more generic ADDri/SUBri instructions.
if (Name == "ADR")
return false;
//
// The following special cases are for conflict resolutions.
//