diff options
author | Johnny Chen <johnny.chen@apple.com> | 2011-03-24 23:21:14 +0000 |
---|---|---|
committer | Johnny Chen <johnny.chen@apple.com> | 2011-03-24 23:21:14 +0000 |
commit | 73193f24753eee5131fbb7477b1761eb8dcac546 (patch) | |
tree | eeb966b764e23ca650f79a2f9805b49d3dfa8cc7 /llvm/utils/TableGen/ARMDecoderEmitter.cpp | |
parent | 71536de75239da1b5f1bcbdff3b849c7d9db3380 (diff) | |
download | bcm5719-llvm-73193f24753eee5131fbb7477b1761eb8dcac546.tar.gz bcm5719-llvm-73193f24753eee5131fbb7477b1761eb8dcac546.zip |
The ARM disassembler was confused with the 16-bit tSTMIA instruction.
According to A8.6.189 STM/STMIA/STMEA (Encoding T1), there's only tSTMIA_UPD available.
Ignore tSTMIA for the decoder emitter and add a test case for that.
llvm-svn: 128246
Diffstat (limited to 'llvm/utils/TableGen/ARMDecoderEmitter.cpp')
-rw-r--r-- | llvm/utils/TableGen/ARMDecoderEmitter.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/ARMDecoderEmitter.cpp b/llvm/utils/TableGen/ARMDecoderEmitter.cpp index b174fa961ad..728e6698159 100644 --- a/llvm/utils/TableGen/ARMDecoderEmitter.cpp +++ b/llvm/utils/TableGen/ARMDecoderEmitter.cpp @@ -1615,6 +1615,11 @@ ARMDEBackend::populateInstruction(const CodeGenInstruction &CGI, if (!thumbInstruction(Form)) return false; + // A8.6.189 STM / STMIA / STMEA -- Encoding T1 + // There's only STMIA_UPD for Thumb1. + if (Name == "tSTMIA") + return false; + // On Darwin R9 is call-clobbered. Ignore the non-Darwin counterparts. if (Name == "tBL" || Name == "tBLXi" || Name == "tBLXr") return false; |