diff options
author | Johnny Chen <johnny.chen@apple.com> | 2011-03-24 20:42:48 +0000 |
---|---|---|
committer | Johnny Chen <johnny.chen@apple.com> | 2011-03-24 20:42:48 +0000 |
commit | e6d69e7dbee88a0a88f252a3e1e3f5f81472cf4b (patch) | |
tree | 303555abce960ceb8f0aed03bc6d71c4a40d0a6e /utils/TableGen | |
parent | 23670e5b95fcaf88238239729457393b8cc831ff (diff) | |
download | external_llvm-e6d69e7dbee88a0a88f252a3e1e3f5f81472cf4b.zip external_llvm-e6d69e7dbee88a0a88f252a3e1e3f5f81472cf4b.tar.gz external_llvm-e6d69e7dbee88a0a88f252a3e1e3f5f81472cf4b.tar.bz2 |
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
Diffstat (limited to 'utils/TableGen')
-rw-r--r-- | utils/TableGen/ARMDecoderEmitter.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/utils/TableGen/ARMDecoderEmitter.cpp b/utils/TableGen/ARMDecoderEmitter.cpp index 09243e1..b174fa9 100644 --- a/utils/TableGen/ARMDecoderEmitter.cpp +++ b/utils/TableGen/ARMDecoderEmitter.cpp @@ -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. // |