summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohnny Chen <johnny.chen@apple.com>2011-01-24 22:25:48 +0000
committerJohnny Chen <johnny.chen@apple.com>2011-01-24 22:25:48 +0000
commit9397fba093f76d112d7b278c8831954610251e4a (patch)
treeb6579f395f7499e8cd3987d6ad0ea7726549f4c3
parent6e959a5687c5bcb4654ae9e2176df1081303c410 (diff)
downloadbcm5719-llvm-9397fba093f76d112d7b278c8831954610251e4a.tar.gz
bcm5719-llvm-9397fba093f76d112d7b278c8831954610251e4a.zip
Add comment about using Encoding A1 push instruction to emulate the "stmfd sp!, reg" case,
i.e., pushing one register onto the full descending stacks. llvm-svn: 124149
-rw-r--r--lldb/source/Plugins/Process/Utility/EmulateInstructionARM.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/Utility/EmulateInstructionARM.cpp b/lldb/source/Plugins/Process/Utility/EmulateInstructionARM.cpp
index 91eb0211e1e..cdb4f622d17 100644
--- a/lldb/source/Plugins/Process/Utility/EmulateInstructionARM.cpp
+++ b/lldb/source/Plugins/Process/Utility/EmulateInstructionARM.cpp
@@ -135,6 +135,9 @@ EmulateARMPushEncoding (EmulateInstructionARM *emulator, ARMEncoding encoding)
break;
case eEncodingA1:
registers = EmulateInstruction::UnsignedBits (opcode, 15, 0);
+ // Instead of return false, let's handle the following case as well,
+ // which amounts to pushing one reg onto the full descending stacks.
+ // if BitCount(register_list) < 2 then SEE STMDB / STMFD;
break;
case eEncodingA2:
t = EmulateInstruction::UnsignedBits (opcode, 15, 12);
OpenPOWER on IntegriCloud